:root{color-scheme:dark;--bg: #0b1117;--panel: rgba(9, 18, 29, .82);--line: rgba(142, 179, 191, .18);--text: #eef6f2;--muted: #acc4c0;--accent: #f0b44f;--shadow: 0 24px 80px rgba(0, 0, 0, .45);--font-display: "Bahnschrift", "Segoe UI", sans-serif;--font-body: "Trebuchet MS", "Segoe UI", sans-serif;--shell-pad: clamp(12px, 2vh, 24px);--panel-pad: clamp(16px, 2.2vh, 30px);--gap-lg: clamp(12px, 2vh, 22px);--gap-md: clamp(10px, 1.4vh, 16px);--gap-sm: clamp(8px, 1vh, 12px);--button-height: clamp(42px, 5.4vh, 56px)}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:radial-gradient(circle at top,rgba(212,88,76,.15),transparent 24%),radial-gradient(circle at 80% 20%,rgba(240,180,79,.12),transparent 20%),linear-gradient(160deg,#070c12,#0d1420 48%,#06090d);color:var(--text);font-family:var(--font-body)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(circle at center,black,transparent 92%);mask-image:radial-gradient(circle at center,black,transparent 92%);opacity:.28}button,input,select{font:inherit}button{cursor:pointer}h1,h2,h3,p,ol{margin:0}h1,h2,h3{font-family:var(--font-display);line-height:.96}.app-shell{width:100%;height:100dvh;padding:var(--shell-pad);display:grid;place-items:center;overflow:hidden}.hero-panel,.selection-panel,.challenge-panel,.settings-panel{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.home-screen,.select-screen,.challenge-screen{width:min(92vw,1440px);height:calc(100dvh - (var(--shell-pad) * 2));align-self:stretch}.home-screen{display:grid}.hero-panel--home{height:100%;min-height:0;display:flex;flex-direction:column;justify-content:space-between;gap:clamp(18px,3.4vh,34px);padding:clamp(18px,3vw,36px);border-radius:32px;animation:rise-in .72s ease;overflow:hidden}.home-copy{width:min(100%,1180px);margin-inline:auto;display:grid;justify-items:center;text-align:center;flex:1 1 auto;align-content:center;gap:clamp(14px,2.2vh,24px)}.eyebrow{text-transform:uppercase;letter-spacing:.2em;color:var(--accent);font-size:.82rem}.home-title{max-width:none;font-size:clamp(2.5rem,5.2vw,5.4rem);letter-spacing:-.02em;line-height:.92}.home-title-line{display:block;white-space:nowrap}.lead{color:var(--muted);line-height:1.55}.home-lead{max-width:78ch;font-size:clamp(1rem,1.4vw,1.28rem);text-wrap:pretty}.lead.small{max-width:60ch;font-size:clamp(.92rem,1.1vw,1rem)}.highlight-grid{width:min(100%,1320px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap-md)}.home-highlight-card{min-height:clamp(82px,13vh,108px);padding:.85rem 1rem;border:1px solid var(--line);border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.05),transparent),linear-gradient(180deg,#172636eb,#0b1825e6);display:grid;place-items:center;text-align:center}.home-highlight-card span{max-width:12ch;font-weight:700;line-height:1.2;font-size:clamp(.92rem,1.15vw,1rem)}.hero-actions,.timer-actions,.topbar{display:flex;gap:.9rem;flex-wrap:wrap}.topbar--screen .random-roll-button{position:static;width:auto;min-width:0;padding:.7rem 1rem;min-height:var(--button-height);aspect-ratio:auto;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-body);flex-shrink:0;z-index:1}.topbar--screen .random-roll-button:before{content:none}.timer-actions{justify-content:center}.challenge-actions{display:grid;gap:.55rem;flex-shrink:0}.timer-actions--primary,.timer-actions--tools{justify-content:center;gap:.55rem .75rem}.timer-actions--tools{padding-top:.15rem}.timer-actions--tools .timer-action-compact{width:auto;flex:0 0 auto;min-height:var(--button-height);padding:.45rem .95rem;font-size:.88rem;white-space:nowrap}.timer-actions--secondary{margin-top:.7rem;justify-content:center;gap:.9rem 1rem;padding-top:.2rem}.timer-actions--secondary .timer-action-compact{width:auto;flex:0 0 auto;min-height:var(--button-height);padding:.45rem 1rem;font-size:.88rem;white-space:nowrap}.home-actions{justify-content:center;flex:0 0 auto;width:100%}.action-button,.ghost-button,.menu-fab,.panel-close{min-height:var(--button-height);border:0;border-radius:999px;transition:transform .18s ease,background .18s ease,opacity .18s ease}.action-button:hover,.ghost-button:hover,.menu-fab:hover,.panel-close:hover{transform:translateY(-2px)}.action-button{padding:.6rem 1rem}.action-button.primary{background:linear-gradient(135deg,#f0b44f,#d4584c);color:#140d08;font-weight:700}.action-button.secondary,.ghost-button,.panel-close{background:#ffffff0f;color:var(--text);border:1px solid var(--line)}.ghost-button,.panel-close{padding:.7rem 1rem}.menu-fab{position:fixed;top:24px;right:24px;z-index:4;min-width:96px;padding:.7rem 1.1rem;background:linear-gradient(135deg,#f0b44ff5,#d4584cf5);color:#170f08;font-weight:700}.select-screen,.challenge-screen{display:grid;grid-template-rows:auto minmax(0,1fr);gap:var(--gap-md)}.topbar--screen{width:100%;justify-content:flex-start;align-items:center;flex-wrap:nowrap;position:relative;z-index:2}.selection-panel{height:100%;min-height:0;border-radius:32px;padding:clamp(14px,2vh,24px);display:grid;grid-template-rows:auto minmax(0,1fr);gap:var(--gap-md);overflow:hidden}.section-copy{display:grid;justify-items:center;text-align:center;gap:.2rem}.section-copy .eyebrow{font-size:clamp(1rem,1.3vw,1.2rem);letter-spacing:.24em}.challenge-grid{min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:var(--gap-md)}.challenge-card{min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto auto;gap:.18rem;padding:.36rem;border-radius:26px;border:1px solid var(--line);background:#060c149e;overflow:hidden}.challenge-card[data-action=open-challenge]{cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.challenge-card[data-action=open-challenge]:hover,.challenge-card[data-action=open-challenge]:focus-visible{transform:translateY(-2px);border-color:#f0b44f52;box-shadow:0 22px 60px #00000057;outline:none}.challenge-card.is-random-selectable{transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,opacity .16s ease,filter .16s ease}.challenge-card.is-random-selectable:not(.is-random-highlight){opacity:.72;filter:saturate(.94)}.challenge-card.is-random-highlight{opacity:1;border-color:#ffdf8085;box-shadow:0 0 0 1px #ffdf8029,0 0 12px #ffc83c24,0 26px 70px #00000061;transform:translateY(-3px) scale(1.01);animation:random-roll-pulse .42s ease-in-out infinite alternate}.challenge-card.is-random-highlight:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(90deg,#ffffff05,#ffe2782e,#ffffff05),linear-gradient(180deg,rgba(255,255,255,.03),transparent 34%,transparent 66%,rgba(255,255,255,.01));background-size:200% 100%,100% 100%;opacity:.2;mix-blend-mode:normal;animation:random-roll-sweep 1s linear infinite;pointer-events:none}.challenge-card img,.scene-frame img{width:100%;object-fit:cover;border-radius:18px;display:block}.challenge-card img{height:100%;min-height:0;object-position:center 40%}.challenge-card[data-challenge-id=desafio-3] img{object-position:center 24%}.challenge-copy{display:grid;gap:.04rem;align-content:start;justify-items:center;text-align:center}.challenge-copy h3{color:var(--accent);font-size:clamp(.98rem,1.28vw,1.22rem)}.challenge-copy p{color:var(--muted);line-height:1.28;font-size:clamp(.72rem,.8vw,.82rem)}.action-button.secondary.is-rolling{overflow:hidden;border-color:#ffdf8073;box-shadow:0 0 0 1px #ffdf802e,0 0 28px #ffc43d33}.random-roll-button.is-rolling{color:#0c1016;background:linear-gradient(135deg,#ffe38a,#ffb72c);border-color:#ffde7beb;box-shadow:none;overflow:hidden}.action-button.secondary.is-rolling:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(110deg,transparent 0%,rgba(255,236,170,.14) 35%,transparent 70%);animation:random-roll-sweep 1.1s linear infinite}.challenge-label{color:var(--accent);text-transform:uppercase;letter-spacing:.16em;font-size:.8rem}.challenge-stage{width:100%;height:100%;min-height:0;display:grid;grid-template-columns:1.28fr .72fr;gap:var(--gap-md)}.scene-frame{position:relative;min-height:0;height:100%;border-radius:32px;background:#060b12;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow)}.scene-frame img{width:100%;height:100%;object-fit:cover;object-position:center center}.scene-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(to top,#05070ad1,#05070a14),radial-gradient(circle at center,transparent 32%,rgba(7,10,14,.4) 100%)}.challenge-panel{min-height:0;height:100%;border-radius:32px;padding:clamp(12px,1.6vh,20px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:.45rem;overflow:hidden}.challenge-header{display:grid;justify-items:center;gap:.4rem;text-align:center}.challenge-title-block{display:grid;justify-items:center;gap:.45rem}.challenge-header h2{font-size:clamp(1.8rem,3vw,3.2rem)}.timer-shell{min-width:clamp(240px,34vw,360px);padding:1rem 1.2rem;border-radius:28px;background:#070d16eb;border:1px solid var(--line);text-align:center;width:100%;max-width:520px}.timer-label{display:block;margin-bottom:.35rem;text-transform:uppercase;letter-spacing:.16em;color:var(--accent);font-size:.72rem}.timer-shell strong{font-family:var(--font-display);font-size:clamp(2.6rem,4.2vw,4.5rem);line-height:1}.timer-shell.is-warning{border-color:#d4584ccc;box-shadow:0 0 0 1px #d4584c33,0 0 32px #d4584c47}.timer-shell.is-warning strong{color:#ff6f61}.challenge-body{min-height:0;display:grid;align-content:start;gap:.55rem;overflow-y:auto;overscroll-behavior:contain}.challenge-prompt,.challenge-setup,.status-strip{color:var(--muted);line-height:1.45;font-size:clamp(.9rem,1vw,1rem)}.mission-list{padding-left:1.25rem;display:grid;gap:.55rem;line-height:1.4;font-size:clamp(.9rem,1vw,.98rem)}.status-strip{display:flex;flex-wrap:wrap;gap:.8rem 1.2rem;padding-top:.4rem;border-top:1px solid var(--line)}.settings-panel{position:fixed;top:0;right:0;z-index:5;width:min(420px,92vw);height:100vh;padding:1.5rem;border-left:1px solid var(--line);transform:translate(100%);transition:transform .26s ease;overflow-y:auto}.settings-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4;border:0;background:#04080e8a;opacity:0;pointer-events:none;transition:opacity .22s ease}body.settings-open .settings-backdrop{opacity:1;pointer-events:auto}body.settings-open .settings-panel{transform:translate(0)}.settings-header{display:flex;align-items:start;justify-content:space-between;gap:1rem}.settings-panel label{display:grid;gap:.5rem;margin-top:1rem;color:var(--muted)}.settings-panel input[type=range]{width:100%}.settings-panel select{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:100%;min-height:var(--button-height);border-radius:18px;border:1px solid rgba(240,180,79,.2);background:linear-gradient(180deg,#ffffff0f,#ffffff08),#070c13eb;color:var(--text);box-shadow:0 10px 24px #0000002e;padding:.55rem 2.8rem .55rem .9rem;background-image:linear-gradient(45deg,transparent 50%,var(--accent) 50%),linear-gradient(135deg,var(--accent) 50%,transparent 50%),linear-gradient(180deg,#ffffff0f,#ffffff08);background-position:calc(100% - 1.2rem) calc(50% - 1px),calc(100% - .8rem) calc(50% - 1px),0 0;background-size:.45rem .45rem,.45rem .45rem,100% 100%;background-repeat:no-repeat}.settings-panel select:focus{outline:none;border-color:#f0b44f6b;box-shadow:0 0 0 1px #f0b44f2e,0 12px 28px #0000003d}.settings-panel select option{background:#0d1420;color:var(--text)}.settings-select-row{position:relative}.settings-panel label.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.settings-panel label.toggle-row input[type=checkbox]{margin:0;width:18px;height:18px;flex:0 0 auto}.settings-footnote{margin-top:1rem;color:var(--muted);line-height:1.5}.login-screen,.home-screen,.sessions-screen,.catalog-screen{width:min(92vw,1440px);height:calc(100dvh - (var(--shell-pad) * 2));max-height:calc(100dvh - (var(--shell-pad) * 2));display:grid;place-items:center;align-self:stretch;min-height:0;overflow:hidden}.login-screen{width:min(38vw,400px)}.sessions-screen{width:min(92vw,1440px);place-items:stretch}.catalog-screen{width:min(92vw,1320px)}.login-shell,.home-shell,.sessions-shell{width:100%;border-radius:32px;border:1px solid rgba(240,180,79,.18);background:radial-gradient(circle at top,rgba(240,180,79,.1),transparent 26%),radial-gradient(circle at 82% 18%,rgba(212,88,76,.12),transparent 24%),linear-gradient(180deg,#0a1019fa,#070b12fa);box-shadow:0 28px 90px #0000006b;padding:clamp(14px,1.8vw,24px);display:grid;gap:clamp(14px,1.8vh,20px)}.login-shell{grid-template-rows:auto auto;justify-items:center;align-content:center;padding:clamp(16px,2vw,28px)}.login-header,.home-header{display:grid;justify-items:center;text-align:center;gap:.45rem}.login-title,.home-title{font-size:clamp(1.9rem,3.4vw,3.7rem);letter-spacing:-.04em;line-height:.92}.home-lead{max-width:56ch;color:var(--muted);line-height:1.55;font-size:clamp(.98rem,1.3vw,1.15rem)}.login-form{min-height:0;width:min(100%,320px);justify-self:center;margin-top:clamp(1.2rem,2.4vw,2rem);border:0;background:transparent;padding:0;display:grid;align-content:center;gap:.7rem}.login-form label{display:grid;gap:.45rem;justify-items:center;color:var(--muted);text-align:center}.login-form label span{color:var(--text);font-weight:700}.login-form input{width:100%;min-height:46px;border-radius:16px;border:1px solid var(--line);background:#ffffff0d;color:var(--text);padding:.5rem .8rem}.login-error{margin:.1rem 0 0;justify-self:center;color:#f28e8e;font-size:.92rem;text-align:center}.login-submit{justify-self:center;min-width:160px;margin-top:.35rem}.home-shell{grid-template-rows:auto minmax(0,1fr) auto;min-height:calc(100dvh - (var(--shell-pad) * 2))}.home-eyebrow{margin-bottom:.2rem}.home-stage{display:grid;grid-template-columns:auto minmax(0,840px) auto;align-items:center;justify-content:center;gap:clamp(14px,1.8vw,24px);min-height:0}.home-nav-button{width:clamp(48px,5vw,64px);aspect-ratio:1;border-radius:50%;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;color:var(--text);font-size:clamp(2rem,3vw,3rem);line-height:1;display:grid;place-items:center;box-shadow:0 8px 22px #0000003d}.home-feature-card{width:min(100%,840px);justify-self:center;min-height:clamp(240px,32vh,360px);border-radius:30px;border:1px solid rgba(255,255,255,.14);background:radial-gradient(circle at 50% 22%,rgba(240,180,79,.08),transparent 34%),linear-gradient(180deg,#080e16f5,#060a10fa);color:var(--text);padding:clamp(22px,3vw,36px);display:grid;place-items:center;align-content:center;gap:.7rem;text-align:center;box-shadow:0 20px 60px #0000004d}.home-feature-card strong{font-family:var(--font-display);font-size:clamp(1.9rem,3.4vw,3.4rem);line-height:1}.home-feature-card p{max-width:38ch;color:var(--muted);line-height:1.5}.home-feature-label,.home-feature-cta{color:var(--accent);text-transform:uppercase;letter-spacing:.16em;font-size:.72rem}.home-feature-card:disabled{opacity:.65;cursor:default}.home-bottom-menu{display:flex;justify-content:center;align-items:center;gap:.65rem;flex-wrap:wrap}.home-bottom-button{min-width:0;padding:.6rem 1rem;border-radius:16px;border:1px solid rgba(240,180,79,.18);background:linear-gradient(180deg,#ffffff0f,#ffffff08),#070c13eb;color:var(--text);box-shadow:0 10px 24px #0000002e;font-weight:600;letter-spacing:.01em}.sessions-shell{grid-template-rows:auto minmax(0,1fr);height:100%;max-height:100%;min-height:0;overflow:hidden}.sessions-shell .home-header{grid-template-columns:auto 1fr auto;align-items:start}.sessions-shell .home-eyebrow{justify-self:center;grid-column:2}.sessions-shell .ghost-button{justify-self:start;grid-column:1}.sessions-content{width:100%;min-height:0;max-height:100%;height:100%;overflow:hidden;padding:clamp(12px,1.6vw,22px);display:grid;place-items:stretch;align-content:stretch;text-align:center;grid-template-rows:auto auto minmax(0,1fr);gap:clamp(8px,1.1vh,12px)}.sessions-content .home-title{font-size:clamp(1.55rem,2.6vw,2.35rem);line-height:1}.sessions-content .home-lead{font-size:clamp(.88rem,1.05vw,1rem);margin:0}.sessions-content-stack{min-height:0;max-height:100%;width:min(100%,980px);margin-inline:auto;display:flex;flex-direction:column;gap:clamp(8px,1.1vh,12px);flex:1;overflow:hidden}.sessions-content-stack .sessions-export-toolbar{width:100%;margin:0}.sessions-content-stack .session-detail-panel{flex-shrink:0;width:100%;margin:0;max-height:min(34vh,320px);overflow:hidden;display:flex;flex-direction:column}.sessions-content-stack .session-detail-panel .session-row-participants{min-height:0;overflow-y:auto;padding-right:.2rem}.sessions-history-card.settings-admin-card{display:flex;flex-direction:column;width:100%;max-width:none;min-height:0;flex:1 1 auto;overflow:hidden;grid-template-rows:unset;padding:clamp(10px,1.2vw,14px)}.settings-content{width:100%;min-height:0;place-items:stretch;align-content:stretch;text-align:left;grid-template-rows:auto minmax(0,1fr);gap:clamp(12px,1.6vh,18px)}.settings-page-header{text-align:center}.settings-admin-card{width:min(100%,920px);min-height:0;max-height:100%;margin-inline:auto;border-radius:24px;border:1px solid rgba(240,180,79,.16);background:#080e16b8;padding:clamp(14px,1.8vw,20px);display:grid;grid-template-rows:auto minmax(0,1fr);gap:.85rem;text-align:left;overflow:hidden}.settings-tabs{display:flex;flex-wrap:wrap;gap:.55rem}.settings-tab{min-height:42px;padding:.55rem 1rem;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;color:var(--muted);cursor:pointer}.settings-tab.is-active{color:var(--text);border-color:#f0b44f59;background:#f0b44f1a}.settings-admin-scroll{min-height:0;max-height:min(58vh,560px);overflow-y:auto;overscroll-behavior:contain;padding-right:.35rem;display:grid;gap:1rem;align-content:start}.settings-admin-panel{display:none;gap:1rem;position:static;width:auto;height:auto;padding:0;border:0;transform:none;overflow:visible}.settings-admin-panel.is-active{display:grid}.platform-settings-screen .settings-admin-panel label{display:grid;gap:.45rem;margin-top:0;color:var(--text)}.settings-panel-toolbar{display:flex;flex-wrap:wrap;gap:.65rem}.settings-list{display:grid;gap:.55rem}.settings-list-item{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.95rem 1rem;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;color:inherit;text-align:left;cursor:pointer}.settings-list-item:hover,.settings-list-item.is-selected{border-color:#f0b44f47;background:#f0b44f14}.settings-list-item-main{display:grid;gap:.15rem;min-width:0}.settings-list-item-main strong{color:var(--text);font-family:var(--font-display)}.settings-list-item-main span,.settings-list-item-meta{color:var(--muted);font-size:.92rem}.settings-list-item-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.45rem}.settings-badge{display:inline-flex;align-items:center;min-height:28px;padding:.2rem .65rem;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:var(--text);font-size:.82rem;white-space:nowrap}.settings-badge.is-muted{color:var(--muted)}.settings-detail-panel{display:grid;gap:1rem;padding:1rem;border-radius:18px;border:1px solid rgba(240,180,79,.18);background:#ffffff08}.settings-detail-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.settings-detail-header strong{font-family:var(--font-display);font-size:1.1rem}.settings-detail-actions{display:flex;flex-wrap:wrap;gap:.65rem}.settings-create-form{padding:1rem;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:#ffffff05}.action-button.danger{border-color:#d4584c73;background:#d4584c1f;color:#ffb4ab}.sessions-history-card{gap:0}.sessions-history-status{margin:0}.sessions-history-scroll{flex:1 1 auto;min-height:120px;max-height:100%;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-right:.35rem;display:grid;gap:.45rem;align-content:start;scrollbar-gutter:stable}.sessions-history-scroll::-webkit-scrollbar{width:10px}.sessions-history-scroll::-webkit-scrollbar-track{background:#ffffff0a;border-radius:999px}.sessions-history-scroll::-webkit-scrollbar-thumb{background:#f0b44f59;border-radius:999px;border:2px solid transparent;background-clip:padding-box}.sessions-history-scroll::-webkit-scrollbar-thumb:hover{background:#f0b44f80;background-clip:padding-box}.sessions-export-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.9rem 1rem;flex-shrink:0;padding:1rem 1.05rem;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:#ffffff08}.sessions-export-toolbar label{display:grid;gap:.35rem;min-width:min(100%,220px)}.sessions-export-toolbar span{color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.sessions-export-toolbar select,.sessions-export-toolbar input[type=date]{width:100%;min-height:var(--button-height);padding:.65rem .85rem;border-radius:14px;border:1px solid var(--line);background:#070d16eb;color:var(--text);font:inherit}.sessions-export-toolbar .action-button{min-height:var(--button-height)}.session-row{display:grid;gap:.8rem;padding:1rem 1.05rem;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:#ffffff08}.session-row--compact{gap:.2rem;padding:.65rem .85rem;border-radius:14px}.session-row--interactive{width:100%;display:grid;color:inherit;text-align:left;cursor:pointer;font:inherit}.session-row--interactive:hover,.session-row--interactive.is-selected{border-color:#f0b44f47;background:#f0b44f14}.session-detail-panel{margin-top:0;flex-shrink:0}.session-row-main{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem}.session-row--compact strong{font-family:var(--font-display);font-size:.95rem;color:var(--text)}.session-row-date{color:var(--muted);font-size:.82rem;white-space:nowrap}.session-row-details{margin:0;color:var(--muted);font-size:.82rem;line-height:1.35}.session-row-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.session-row-header strong{display:block;font-family:var(--font-display);font-size:1.05rem;color:var(--text)}.session-row-header span,.session-row-meta,.session-row-meta span{color:var(--muted);font-size:.92rem;line-height:1.4}.session-row-meta{display:grid;justify-items:end;gap:.1rem;white-space:nowrap}.session-row-participants{display:flex;flex-wrap:wrap;gap:.65rem}.session-participant-chip{display:grid;gap:.1rem;min-width:160px;padding:.75rem .9rem;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:#ffffff08}.session-participant-chip strong{color:var(--text);font-size:.95rem}.session-participant-chip span{color:var(--muted);font-size:.88rem}.session-participant-chip.is-winner{border-color:#f0b44f59;background:#f0b44f14}.settings-admin-copy{display:grid;gap:.35rem}.settings-admin-copy strong{font-family:var(--font-display);font-size:1.2rem}.settings-admin-copy p,.settings-users-empty,.settings-user-row-main span,.settings-user-row-meta span{color:var(--muted);line-height:1.45}.settings-user-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.settings-user-form label{display:grid;gap:.45rem;color:var(--text)}.settings-user-form input,.settings-user-form select{width:100%;min-height:46px;border-radius:16px;border:1px solid var(--line);background:#ffffff0d;color:var(--text);padding:.5rem .8rem}.settings-user-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:.75rem}.settings-user-edit-row{padding:1rem 0;border-top:1px solid var(--line)}.settings-user-inline-form{width:100%}.settings-inline-checkbox{display:flex!important;align-items:center;gap:.65rem}.settings-inline-checkbox input[type=checkbox]{width:auto;min-height:auto}.platform-settings-screen .sessions-shell{height:100%;min-height:0}.settings-success{color:#9fe3a8;text-align:left}.settings-users-list{display:grid;gap:.75rem}.settings-user-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.8rem;align-items:center;padding:.85rem 1rem;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a}.settings-user-row-main,.settings-user-row-meta{display:grid;gap:.2rem}.settings-user-row-main strong{font-size:1rem}.settings-user-row-meta{justify-items:end;text-align:right}.catalog-shell{width:100%;height:100%;min-height:0;box-sizing:border-box;border-radius:32px;border:1px solid rgba(240,180,79,.18);background:radial-gradient(circle at top,rgba(240,180,79,.1),transparent 26%),radial-gradient(circle at 82% 18%,rgba(212,88,76,.12),transparent 24%),linear-gradient(180deg,#0a1019fa,#070b12fa);box-shadow:0 28px 90px #0000006b;padding:clamp(18px,2.2vw,30px) clamp(14px,2vw,26px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:clamp(20px,2.8vw,34px)}.catalog-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding-top:.1rem;gap:.75rem}.catalog-header .home-title{font-size:clamp(1.9rem,3.1vw,3.2rem);grid-column:2;justify-self:center}.catalog-back-button{justify-self:start;grid-column:1;margin-top:-.2rem}.catalog-footer{display:flex;justify-content:flex-end;align-items:center;gap:.85rem;min-height:56px}.catalog-page-indicator{color:var(--muted);font-size:.95rem}.catalog-pagination{justify-self:end;display:flex;justify-content:center;align-items:center;gap:.85rem;flex-wrap:wrap}.catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));justify-content:center;justify-items:stretch;align-self:stretch;margin-top:clamp(1.6rem,3vh,2.4rem);gap:.8rem}.catalog-card{width:100%;min-height:clamp(160px,18vh,210px);border-radius:20px;border:1px solid rgba(255,255,255,.12);background:radial-gradient(circle at 50% 22%,rgba(240,180,79,.08),transparent 34%),linear-gradient(180deg,#080e16f5,#060a10fa);color:var(--text);padding:clamp(14px,1.6vw,18px);display:grid;grid-template-columns:1fr;grid-template-rows:auto auto auto auto;align-items:center;justify-items:center;gap:.4rem;text-align:center;box-shadow:0 20px 60px #0000003d;overflow:hidden}.catalog-card strong{font-family:var(--font-display);font-size:clamp(1.2rem,2vw,1.7rem);line-height:1;grid-column:auto}.catalog-card p{max-width:28ch;color:var(--muted);line-height:1.4;font-size:.88rem;grid-column:auto;overflow-wrap:anywhere}.catalog-card-label,.catalog-card-cta{color:var(--accent);text-transform:uppercase;letter-spacing:.16em;font-size:.72rem}.catalog-card-label{justify-self:center}.catalog-card-cta{justify-self:center;grid-column:auto;white-space:nowrap}.catalog-card.is-empty{opacity:.58}.catalog-card.is-empty .catalog-card-cta{opacity:.9}.catalog-card.is-coming-soon{opacity:.72}.score-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:7;display:grid;place-items:center;padding:clamp(16px,3vw,32px);background:#03060a9e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.score-modal-card{width:min(760px,94vw);max-height:min(82vh,760px);overflow:auto;border-radius:28px;border:1px solid var(--line);background:#081019f5;box-shadow:var(--shadow);padding:clamp(18px,2.4vw,28px);display:grid;gap:1rem}.score-modal-header{display:flex;align-items:start;justify-content:space-between;gap:1rem}.score-modal-header h3{font-size:clamp(1.6rem,2.8vw,2.6rem)}.score-modal-text{color:var(--muted);line-height:1.5}.score-participant-list{display:grid;gap:.75rem}.score-participant-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:center}.score-participant-row input{min-height:var(--button-height);border-radius:16px;border:1px solid var(--line);background:#ffffff0d;color:var(--text);padding:.6rem .9rem}.score-modal-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.75rem}.score-drawer{position:fixed;right:clamp(18px,2vw,28px);bottom:calc(clamp(18px,2vw,28px) + 62px);z-index:6;width:min(420px,92vw);max-height:70vh;overflow:auto;border-radius:24px;border:1px solid var(--line);background:#081019f0;box-shadow:var(--shadow);padding:.8rem;display:grid;gap:.65rem}.score-drawer-header{display:flex;justify-content:space-between;gap:1rem;align-items:start}.score-drawer-header strong{display:block;margin-top:.35rem;font-size:1rem}.score-drawer-list{display:grid;gap:.5rem}.narration-drawer .score-drawer-list button{width:100%}.score-empty,.score-drawer-footnote{color:var(--muted);line-height:1.45}.score-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:.55rem;padding:.55rem .65rem;border-radius:16px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06)}.score-row.is-winner{background:linear-gradient(135deg,#f0b44f1f,#d4584c14);border-color:#f0b44f3d}.score-row-name{min-width:0;flex:1 1 auto;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score-row-points{flex:0 0 auto;white-space:nowrap;font-size:.95rem}.score-row-actions{display:flex;gap:.4rem;justify-content:flex-end;flex:0 0 auto}.score-row-actions button{min-width:46px;min-height:40px;padding-inline:.7rem}.score-row-actions button:disabled{opacity:.5;cursor:not-allowed;transform:none}@keyframes rise-in{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes random-roll-pulse{0%{transform:translateY(-3px) scale(1.01)}to{transform:translateY(-6px) scale(1.025)}}@keyframes random-roll-sweep{0%{transform:translate(-120%)}to{transform:translate(120%)}}@keyframes random-roll-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-height: 900px){:root{--panel-pad: 16px;--gap-lg: 12px;--gap-md: 10px;--button-height: 44px}.home-title{font-size:clamp(2.2rem,4.8vw,4.8rem)}.home-lead,.challenge-prompt,.challenge-setup,.mission-list,.status-strip,.challenge-copy p{font-size:.9rem}.challenge-grid{gap:.75rem}}@media (max-height: 760px){.home-highlight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.challenge-header h2{font-size:clamp(1.5rem,2.4vw,2.4rem)}.timer-shell strong{font-size:clamp(1.6rem,2.6vw,2.6rem)}}@media (max-width: 1100px){html,body{overflow:auto}.app-shell{height:auto;min-height:100dvh;overflow:visible}.login-screen,.home-screen,.catalog-screen,.select-screen,.challenge-screen{height:auto;max-height:none;overflow:visible}.sessions-screen{height:calc(100dvh - (var(--shell-pad) * 2));max-height:calc(100dvh - (var(--shell-pad) * 2));overflow:hidden;align-self:stretch}.sessions-shell{height:100%;max-height:100%}.highlight-grid,.catalog-grid,.challenge-grid,.challenge-stage,.home-stage{grid-template-columns:1fr}.challenge-header{justify-items:center}.challenge-panel{min-height:min(48vh,460px)}.challenge-actions{background:#09121df5;padding-top:.35rem}}@media (max-width: 720px){.app-shell{padding:1rem}.menu-fab{top:16px;right:16px}.login-screen{width:min(92vw,400px)}.home-screen,.sessions-screen,.catalog-screen{width:100%}.home-title{max-width:none;font-size:clamp(2rem,9vw,4rem)}.home-stage{grid-template-columns:1fr}.home-nav-button{justify-self:center}.home-feature-card{width:100%;min-height:240px}.score-participant-row{align-items:stretch}.settings-user-form,.settings-user-row{grid-template-columns:1fr}.settings-user-row-meta{justify-items:start;text-align:left}.timer-actions--primary,.timer-actions--tools{justify-content:center}.timer-actions--tools .timer-action-compact{flex:1 1 calc(33.333% - .5rem);min-width:0;padding-inline:.55rem;font-size:.82rem}.score-modal-actions,.score-row-actions{justify-content:stretch}.score-row-actions button{flex:1 1 auto}.score-drawer{width:calc(100vw - 2rem);right:1rem;bottom:5.5rem}}
