/* OUTMAXX v68 · The end of a cycle deserves its own moment. */
html,body,button,label,svg,img { -webkit-user-select:none;user-select:none;-webkit-touch-callout:none; }
* { -webkit-tap-highlight-color:transparent; }
input,textarea,[contenteditable="true"] { -webkit-user-select:text;user-select:text;-webkit-touch-callout:default; }
img { -webkit-user-drag:none; }

/* Numerals are positioned by their visible glyph bounds, not the typeface's line box. */
.level-badge #header-level[data-level-ink],.level-emblem > strong[data-level-ink],.xp-emblem > b[data-level-ink],.locked-dynamic-badge > strong[data-level-ink] {
 position:absolute!important;inset:0!important;width:100%!important;height:100%!important;margin:0!important;
 padding:0!important;transform:none!important;line-height:1!important;z-index:4;
}
.level-numeral-svg { position:absolute!important;inset:0!important;width:100%!important;height:100%!important;overflow:visible; }
.level-numeral-svg text { font-family:"Bebas Kai",sans-serif;font-weight:400;letter-spacing:0;fill:currentColor;stroke:none; }

/* Gold finale action, including its inactive state. */
.finish-zone.is-program-finale { --frame-solid:#e6b65b;--frame-flare:#fff0b3;--frame-gradient:var(--frame-gold);filter:none!important;border-color:#c59948!important;background:linear-gradient(120deg,#241b0e,#080d10 72%)!important;box-shadow:0 0 22px #ffc44d18,inset 0 0 0 1px #fff1b028!important; }
.finish-zone.is-program-finale::before,.finish-zone.is-program-finale .finish-action::before { background:radial-gradient(ellipse at 23% 50%,#e6af392c,#91711c10 34%,transparent 65%)!important; }
.finish-zone.is-program-finale .finish-texture { color:#e3bd69;opacity:.28; }
.finish-zone.is-program-finale.is-complete { border-color:#f6cb69!important;box-shadow:0 0 24px #ffc44d26,inset 0 0 0 1px #fff1b049!important; }
.is-program-finale .finish-action { color:#f7d478!important;background:linear-gradient(110deg,#291f0c80,transparent)!important; }
.is-program-finale .finish-action[aria-disabled="true"] { filter:none!important;opacity:.65; }
.is-program-finale .finish-copy { color:#f9dfa0; }
.is-program-finale .finish-title { color:#fff1c3!important; }
.is-program-finale .finish-kicker { color:#e0bd77!important; }
.is-program-finale .finish-hive { color:#a5823d;opacity:.28;background-image:none!important; }
.is-program-finale .finish-chevrons { filter:none!important;opacity:.32!important; }
.is-program-finale .finish-seal .conquest-seal { width:86%!important;height:86%!important;max-width:none;object-fit:contain;margin:0;filter:none!important; }
.is-program-finale .finish-arrows { filter:sepia(1) saturate(2.8); }

/* Titles retain full width. Program controls live below the progress rail. */
.program-card .program-copy { min-height:350px;height:100%; }
.program-card .program-copy h3 { max-width:100%;padding-right:0;overflow-wrap:anywhere;line-height:1.08; }
.program-card .program-actions { position:relative;inset:auto;display:flex;align-items:center;gap:6px;margin-top:18px;padding-top:12px;border-top:1px solid #60717b38; }
.program-card .program-actions button { width:42px;min-width:42px;height:42px;border-radius:6px;background:#041018d9; }
.program-card .program-actions button:last-child[data-action="delete-program"] { margin-left:auto; }
.program-card .program-actions .program-rerun { display:flex;flex:1;justify-content:center;gap:6px;width:auto;min-width:0;padding:0 6px;border-color:#d6a63f;color:#f5d177;background:linear-gradient(125deg,#51401c,#17130b);box-shadow:inset 0 1px #ffebac40,0 0 16px #fbc34812;font:400 18px var(--display-font);letter-spacing:.045em;text-transform:uppercase; }
.rerun-icon { display:block;flex-shrink:0;width:30px;height:30px; }
.program-rerun .rerun-icon { width:25px;height:25px; }
.program-rerun:active .rerun-icon { transform:rotate(-25deg);transition:transform .15s; }
.program-card.complete-program { border:1.5px solid #f2c05e!important;background:radial-gradient(ellipse at 85% 25%,#b4812633,transparent 55%),linear-gradient(135deg,#1c170c,#050b0d 78%)!important;box-shadow:inset 0 0 28px #ffbb2910,0 0 17px #ffbb2912!important; }
.program-card.complete-program::after { background:linear-gradient(90deg,#191308f0,#161109a8 45%,#060a0b0a)!important; }
.complete-program .program-art::after { background:linear-gradient(90deg,#151208,#15120866,transparent),linear-gradient(0deg,#0a0c08,transparent)!important; }
.complete-program .program-state { color:#ffe5a2!important;border-color:#b88e42!important;background:#2b220da6!important; }
.complete-program .program-progress-copy strong { color:#f6ca64!important; }
.complete-program .program-track i { background:linear-gradient(90deg,#896124,#ffe4a0)!important;box-shadow:0 0 10px #ffc75655!important; }

.program-complete-hero { border-color:#e9b956!important;box-shadow:0 0 28px #fbc34b1b!important; }
.program-complete-hero .frame { color:#e9b956; }
.program-complete-hero .percent-stat strong,.program-complete-hero .progress-stats em { color:#f7cb65!important; }
.program-complete-hero .progress-track i { background:linear-gradient(90deg,#a37625,#ffe5a7)!important;box-shadow:0 0 16px #ffcd5655!important; }
.program-complete-tag { display:inline-flex;align-items:center;gap:10px;align-self:flex-start;margin:0 0 18px;padding:8px 13px;border:1px solid #c39a4b;border-radius:4px;color:#ffe5a7;background:linear-gradient(110deg,#4e3a17b3,#120f0a);box-shadow:inset 0 1px #ffebaa33;font:400 18px/1 var(--display-font);letter-spacing:.12em; }
.program-complete-tag span { font-size:13px; }
.program-complete-hero .hero-actions { display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:20px; }
.program-complete-hero .hero-actions button { min-height:44px;padding:8px 12px;border:1px solid #8b723f;border-radius:4px;background:#15140d; }
.program-complete-hero .hero-actions .gold-rerun { display:flex;align-items:center;gap:8px;color:#ffdda0!important; }
.gold-rerun .rerun-icon { width:23px;height:23px; }

/* Full program celebration: a new hero, a program summary, then the familiar XP rail. */
.xp-dialog.program-conquered { --reward:#f4c663;--reward-bright:#fff3c6;border-color:#cba257;background:#060c0e;box-shadow:0 0 80px #000b,0 0 42px #fbc14720; }
.program-conquered .xp-content { padding:24px 22px 22px; }
.program-conquered .xp-content::before { background:radial-gradient(ellipse at 50% 17%,#ce941b24,transparent 35%),linear-gradient(135deg,#17140844,transparent 70%); }
.program-conquered .xp-mast { color:#c4ae7f;font-size:12px;letter-spacing:.14em;margin:0;padding-right:35px; }
.program-conquered .xp-close { width:36px;height:36px;border-color:#776136; }
.conquest-hero { text-align:center;padding:0 0 22px; }
.conquest-art { position:relative;isolation:isolate;width:178px;height:178px;margin:5px auto 8px; }
.conquest-art img { width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 21px #e9ad2528);animation:conquest-crest .9s cubic-bezier(.16,.8,.25,1) both; }
.conquest-art > span { position:absolute;inset:8%;z-index:-1;border-radius:50%;background:radial-gradient(#d4a63c24,transparent 70%);box-shadow:0 0 80px #f7c24414;animation:conquest-halo 2.5s ease-out both; }
.conquest-eyebrow { display:block;color:#bba675;font:400 11px var(--display-font);letter-spacing:.25em;margin-bottom:10px; }
.conquest-hero .xp-heading { color:#f4f1e8;font-size:clamp(42px,11vw,62px);line-height:.94;letter-spacing:.04em;text-shadow:0 0 40px #f6bd3422; }
.conquest-hero .xp-heading em { font-style:normal;color:#ffdc88; }
.conquest-program-name { margin:14px 0 8px;color:#e8d6ad;font:400 20px/1.15 var(--display-font);letter-spacing:.06em;overflow-wrap:anywhere; }
.conquest-message { margin:0;color:#a9b6b6;font:12px/1.65 var(--body-font); }
.conquest-summary { display:grid;grid-template-columns:1.35fr 1fr 1fr;margin:0 0 18px;border:1px solid #69542d;border-radius:5px;background:linear-gradient(135deg,#2b210d77,#090f11); }
.conquest-summary > div { text-align:center;padding:13px 4px;border-right:1px solid #5f4c2844; }
.conquest-summary > div:last-child { border:0; }
.conquest-summary strong { display:block;color:#fbe0a0;font:400 30px/1 var(--display-font); }
.conquest-summary strong small { font:400 16px var(--display-font);color:#ab9870; }
.conquest-summary span { display:block;font:400 10px var(--display-font);letter-spacing:.07em;color:#c0b494;margin-top:7px; }
.program-conquered .xp-stage { padding:14px 12px;background:linear-gradient(125deg,#2c220e88,#080f13 75%); }
.program-conquered .xp-level-main { padding:9px 0 13px; }
.program-conquered .xp-rail-fill { background:linear-gradient(90deg,#ae7c24,#f9d784 75%,#fff6d7); }
.program-conquered .conquest-final-session { display:none; }
.program-conquered .xp-section h3 { color:#e8d19d;background:linear-gradient(90deg,#6b4d182b,transparent);font-size:17px; }
.program-conquered .xp-section { border-color:#5a4a30; }
.program-conquered .xp-ledger strong { font-size:18px; }
.conquest-bonus strong { color:#ffdc86; }
.conquest-bonus b { text-shadow:0 0 18px #ffc94f40; }
.conquest-level-result { position:relative;margin:14px 0 0;padding:15px 14px;border:1px solid #5c6c7244;border-radius:5px;background:linear-gradient(110deg,#14323855,#10181988);animation:xp-line .55s var(--delay) both; }
.conquest-level-result.earned-level { border-color:#f1be5b88;background:linear-gradient(110deg,#5d431633,#16140c99); }
.conquest-level-result > span { display:block;color:#ceb780;font:400 12px var(--display-font);letter-spacing:.17em; }
.conquest-level-result > strong { display:block;color:#fff0cb;font:400 28px var(--display-font);margin:3px 0;letter-spacing:.035em; }
.conquest-level-result em { font-style:normal;color:#e3b558; }
.conquest-level-result small { color:#a7b7b9;font:11px/1.4 var(--body-font); }
.conquest-rerun-result { color:#d0bc89;font:400 17px var(--display-font);text-align:center; }
.program-conquered .xp-footer .xp-continue { color:#fff0c7;border-color:#d6aa54;background:linear-gradient(115deg,#584016,#211b0f); }
.program-conquered .xp-particles i { top:20%;width:4px;height:8px;animation-duration:2.3s; }

.rerun-confirm { text-align:center;max-width:520px;margin:auto; }
.rerun-crest { display:grid;place-items:center;width:82px;height:82px;border:1px solid #b78936;border-radius:50%;margin:0 auto 18px;color:#ffe2a0;background:radial-gradient(#4f391baa,#17180d);box-shadow:0 0 38px #dca72b1e,inset 0 0 0 5px #9d7b3122; }
.rerun-crest .rerun-icon { width:52px;height:52px; }
.rerun-confirm .eyebrow { font-size:11px;letter-spacing:.16em;color:#bda371;margin:0 0 12px; }
.rerun-confirm h3 { margin:0;font:400 clamp(40px,12vw,62px)/.95 var(--display-font);letter-spacing:.04em;color:#f1efe4; }
.rerun-confirm h3 em { font-style:normal;color:#f8d179; }
.rerun-program-name { margin:14px 0 20px;color:#d3bd8d;font:400 21px/1.2 var(--display-font);overflow-wrap:anywhere; }
.rerun-mission { display:flex;align-items:center;justify-content:center;gap:16px;text-align:left;border:1px solid #7c6230;border-radius:6px;padding:15px 8px;background:linear-gradient(125deg,#4d3b183b,#0b1114); }
.rerun-mission > strong { color:#f2cc70;font:400 58px/.9 var(--display-font); }
.rerun-mission > strong span { font-size:35px; }
.rerun-mission b { display:block;color:#f4e7cc;font:400 21px var(--display-font);letter-spacing:.04em; }
.rerun-mission div span { display:block;color:#9ba9ac;font:11px/1.5 var(--body-font); }
.rerun-confirm > p:not(.rerun-program-name) { font:13px/1.65 var(--body-font);color:#b6c1c3;margin:18px 0; }
.rerun-confirm > p b { color:#eee2c5;font-weight:500; }
.rerun-facts { display:flex;justify-content:space-evenly;gap:10px;padding:14px 0;border-top:1px solid #504327;border-bottom:1px solid #504327;color:#95a5ab;font:400 13px var(--display-font);text-transform:uppercase; }
.rerun-facts b { display:block;color:#e4d2a9;font:400 25px var(--display-font); }
.rerun-confirm .rerun-preserved { margin-bottom:0!important;font-size:11px!important;color:#adc3bd!important; }
.rerun-confirm .rerun-fine { font-size:10px!important;color:#7f969f!important;margin-bottom:0!important; }
.modal-actions .rerun-confirm-button { width:100%;min-height:54px;justify-content:center;border-color:#d4a445;background:linear-gradient(110deg,#694b16,#271f10);color:#ffe6a4; }
.rerun-goals { padding:22px!important;border-color:#91733a!important; }
.rerun-goals-head { display:flex;gap:14px;align-items:center;color:#e8bb5b; }
.rerun-goals .eyebrow { font-size:11px;color:#c2a267;margin:0 0 5px; }
.rerun-goals h2 { font:400 25px/1 var(--display-font);color:#f1d393;margin:0; }
.rerun-goals p { font:12px/1.6 var(--body-font);color:#9cafb5;margin:12px 0; }
.rerun-goal-days { display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:6px; }
.rerun-goal-days > div { display:flex;justify-content:space-between;gap:12px;padding:9px 10px;border:1px solid #514731;background:#19170d66;color:#b3bec0;font:400 15px var(--display-font); }
.rerun-goal-days b { color:#d4b777;font-weight:400;white-space:nowrap; }
.rerun-goal-days .goal-done { border-color:#bfa054; }
.rerun-goal-days .goal-done b { color:#ffe5a0; }

.feedback-settings .preference-toggle + .preference-toggle { border-top:1px solid #334b5455; }
.feedback-settings .volume-setting { margin-top:8px;padding-top:12px;border-top:1px solid #334b5455; }
.settings-actions.data-danger { display:flex!important;justify-content:center!important; }
.settings-actions.data-danger [data-action="reset-data"] { width:min(300px,100%);justify-content:center; }

@keyframes conquest-crest { from{opacity:0;transform:translateY(12px) scale(.84)}to{opacity:1;transform:translateY(0) scale(1)} }
@keyframes conquest-halo { 0%{opacity:0;transform:scale(.7)}45%{opacity:1;transform:scale(1.2)}100%{opacity:.7;transform:scale(1)} }
@media(max-width:380px){.program-conquered .xp-content{padding:22px 13px 18px}.conquest-art{width:158px;height:158px}.conquest-hero .xp-heading{font-size:43px}.conquest-summary span{font-size:9px}.conquest-summary strong{font-size:27px}.finish-zone.is-program-finale .finish-title{font-size:clamp(20px,6.2vw,25px)!important}.is-program-finale .finish-kicker{font-size:9px!important}.program-complete-tag{font-size:15px}.program-complete-hero .hero-actions{flex-direction:column;align-items:stretch}}
@media(prefers-reduced-motion:reduce){.conquest-art img,.conquest-art>span,.conquest-level-result{animation:none!important}.program-rerun:active .rerun-icon{transform:none}}
