@import"https://fonts.googleapis.com/css2?family=Sora:wght@400;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap";.portal-root,.portal-auth-root,.portal-live-root{--portal-red: #f7e2b6;--portal-red-dark: #d6a451;--portal-charcoal: #050816;--portal-ink: #ffffff;--portal-muted: rgba(255, 255, 255, .62);--portal-line: rgba(247, 226, 182, .15);--portal-soft-line: rgba(255, 255, 255, .07);--portal-bg: #02030a;--portal-surface: rgba(10, 16, 30, .82);--portal-green: #3fa97a;--portal-blue: #4a7fd4;min-height:100vh;color:var(--portal-ink);background:var(--portal-bg);font-family:Inter,Arial,sans-serif;letter-spacing:0}.portal-root *,.portal-auth-root *,.portal-live-root *{box-sizing:border-box}.portal-root button,.portal-auth-root button,.portal-live-root button,.portal-root input,.portal-auth-root input{font:inherit}.portal-root button,.portal-auth-root button,.portal-live-root button{letter-spacing:0}.portal-root section,.portal-live-root section{padding:0;text-align:left}.portal-root section h2,.portal-live-root section h2{margin:0;color:inherit;font-family:inherit}.portal-root section p,.portal-live-root section p{max-width:none;margin:0;color:inherit;font-size:inherit}.portal-root{display:block}.portal-primary-button,.portal-secondary-button,.portal-live-primary{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid transparent;border-radius:6px;font-weight:750;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.portal-primary-button:hover,.portal-live-primary:hover{background:var(--portal-red-dark)}.portal-primary-button:active,.portal-live-primary:active{transform:translateY(1px)}.portal-profile-identity>div{min-width:0;display:grid;gap:2px}.portal-profile-identity strong,.portal-profile-identity span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-icon-button,.portal-menu-button{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:6px;cursor:pointer}.portal-avatar{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:50%;color:#fff;background:var(--portal-red);font-size:.72rem;font-weight:850}.portal-avatar-small{width:34px;height:34px;font-size:.67rem}.portal-menu-button,.portal-mobile-nav{display:none}.portal-section-heading p,.portal-set-labels>span:first-child,.portal-setup-copy>span,.portal-live-section-heading span,.portal-live-ranking>span{margin:0;color:var(--portal-red);font-size:.68rem;font-weight:850;text-transform:uppercase}.portal-content{width:min(100%,1540px);margin:0 auto;padding:32px clamp(24px,3.2vw,52px) 56px}.portal-view{display:grid;gap:30px}.portal-primary-button{padding:0 18px;color:#fff;background:var(--portal-red)}.portal-primary-button:disabled,.portal-live-primary:disabled,.portal-new-game:disabled{color:#a5a5a1;background:#e3e3de;cursor:not-allowed;transform:none}.portal-secondary-button{padding:0 15px;color:#4a4c4d;background:#fff;border-color:var(--portal-line)}.portal-secondary-button:hover{color:var(--portal-red);border-color:#bdbfba}.portal-section-block{display:grid;gap:18px}.portal-section-heading{min-width:0;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.portal-section-heading>div{min-width:0}.portal-section-heading h2{margin-top:3px!important;font-size:1.32rem!important;line-height:1.2}.portal-text-button{display:inline-flex;align-items:center;gap:4px;padding:7px 0;border:0;color:#55585a;background:transparent;font-size:.8rem;font-weight:720;cursor:pointer}.portal-text-button:hover{color:var(--portal-red)}.portal-set-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:16px}.portal-set-card{min-width:0;display:grid;grid-template-rows:118px minmax(0,1fr);overflow:hidden;border:1px solid var(--portal-line);border-radius:8px;background:var(--portal-surface);transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}.portal-set-card:hover{border-color:#c5c7c2;box-shadow:0 10px 24px #1c1e1f14;transform:translateY(-2px)}.portal-set-cover{position:relative;display:flex;align-items:center;justify-content:center;color:#fffffff2;background:#707274}.portal-set-cover:before,.portal-setup-cover:before{content:"";position:absolute;width:110px;height:110px;border:1px solid rgba(255,255,255,.23);border-radius:50%}.portal-set-cover:after,.portal-setup-cover:after{content:"";position:absolute;width:168px;height:64px;border:1px solid rgba(255,255,255,.18);border-radius:50%}.portal-set-cover svg,.portal-setup-cover svg{position:relative;z-index:1}.portal-set-cover>span{position:absolute;right:10px;bottom:9px;z-index:1;padding:4px 7px;border-radius:4px;color:#fff;background:#00000052;font-size:.63rem;font-weight:750}.portal-accent-coral .portal-set-cover,.portal-setup-cover.portal-accent-coral{background:#c34f58}.portal-accent-blue .portal-set-cover,.portal-setup-cover.portal-accent-blue{background:#3977a7}.portal-accent-gold .portal-set-cover,.portal-setup-cover.portal-accent-gold{background:#b58a31}.portal-accent-green .portal-set-cover,.portal-setup-cover.portal-accent-green{background:#3d8068}.portal-accent-violet .portal-set-cover,.portal-setup-cover.portal-accent-violet{background:#765d97}.portal-accent-teal .portal-set-cover,.portal-setup-cover.portal-accent-teal{background:#2d8582}.portal-accent-orange .portal-set-cover,.portal-setup-cover.portal-accent-orange{background:#bd683b}.portal-accent-gray .portal-set-cover,.portal-setup-cover.portal-accent-gray{background:#6d7478}.portal-set-body{min-width:0;display:flex;flex-direction:column;padding:15px}.portal-set-labels{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.portal-saved-label{display:inline-flex;align-items:center;gap:4px;color:var(--portal-green);font-size:.65rem;font-weight:760}.portal-set-body h3{display:-webkit-box;overflow:hidden;margin:8px 0 6px;color:var(--portal-ink);font-size:.97rem;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.portal-set-body>p{display:-webkit-box;overflow:hidden;margin:0 0 16px!important;color:var(--portal-muted)!important;font-size:.73rem!important;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.portal-set-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:12px;border-top:1px solid var(--portal-soft-line)}.portal-set-footer>span{display:inline-flex;align-items:center;gap:6px;color:#777a78;font-size:.68rem;font-weight:650}.portal-set-footer button{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border:1px solid var(--portal-line);border-radius:6px;color:#4d4f50;background:#fff;cursor:pointer}.portal-set-footer button:hover{color:#fff;border-color:var(--portal-red);background:var(--portal-red)}.portal-set-footer button:disabled{color:#999b99;background:#f1f1ee;cursor:wait}.portal-search{width:min(100%,560px);min-height:44px;display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid var(--portal-line);border-radius:6px;color:#8a8c8a;background:#fff}.portal-search:focus-within{color:var(--portal-red);border-color:#b9bbb7;box-shadow:0 0 0 3px #d7193714}.portal-search input{min-width:0;flex:1;border:0;outline:0;color:var(--portal-ink);background:transparent;font-size:.84rem}.portal-search input::placeholder{color:#9b9d9b}.portal-result-count{color:var(--portal-muted);font-size:.75rem;font-weight:690}.portal-empty-state{min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px;border:1px dashed #cfd0cc;border-radius:8px;background:#ffffff80;text-align:center}.portal-empty-state>span{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:14px;border-radius:50%;color:var(--portal-red);background:#fbe8eb}.portal-empty-state h3{margin:0;font-size:1rem}.portal-empty-state p{margin:7px 0 18px!important;color:var(--portal-muted)!important;font-size:.78rem!important}.portal-empty-band{min-height:104px;display:flex;align-items:center;justify-content:center;gap:14px;padding:20px;border:1px dashed #cfd0cc;border-radius:8px;color:var(--portal-muted);background:#ffffff80}.portal-empty-band div{display:grid;gap:3px}.portal-empty-band strong{color:var(--portal-ink);font-size:.82rem}.portal-empty-band span{font-size:.72rem}.portal-history-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.portal-history-summary>div{min-width:0;display:flex;align-items:center;gap:13px;padding:18px;border:1px solid var(--portal-line);border-radius:8px;background:#fff}.portal-history-summary>div>span{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:var(--portal-blue);background:#e8f0f7}.portal-history-summary p{display:grid}.portal-history-summary strong{font-size:1.2rem}.portal-history-summary small{color:var(--portal-muted);font-size:.7rem}.portal-back-button{width:max-content;display:inline-flex;align-items:center;gap:7px;padding:6px 0;border:0;color:#5b5e5c;background:transparent;font-size:.78rem;font-weight:720;cursor:pointer}.portal-back-button:hover{color:var(--portal-red)}.portal-setup-layout{display:grid;grid-template-columns:minmax(270px,.75fr) minmax(480px,1.35fr);align-items:start;gap:20px}.portal-setup-summary,.portal-settings-panel{overflow:hidden;border:1px solid var(--portal-line);border-radius:8px;background:#fff}.portal-setup-cover{position:relative;min-height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;overflow:hidden;color:#fff}.portal-setup-cover:before{width:180px;height:180px}.portal-setup-cover:after{width:270px;height:100px}.portal-setup-cover>span{position:relative;z-index:1;font-size:.72rem;font-weight:780;text-transform:uppercase}.portal-setup-copy{padding:23px}.portal-setup-copy h2{margin:7px 0 9px!important;font-size:1.28rem!important;line-height:1.3}.portal-setup-copy>p{color:var(--portal-muted)!important;font-size:.78rem!important;line-height:1.55}.portal-setup-copy>div{display:flex;flex-wrap:wrap;gap:13px;margin-top:19px;padding-top:16px;border-top:1px solid var(--portal-soft-line)}.portal-setup-copy>div span{display:inline-flex;align-items:center;gap:6px;color:#666967;font-size:.7rem;font-weight:670}.portal-settings-heading{display:flex;align-items:center;gap:13px;padding:21px 23px;border-bottom:1px solid var(--portal-soft-line)}.portal-settings-heading>span{width:39px;height:39px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:6px;color:var(--portal-red);background:#fbe8eb}.portal-settings-heading h2{font-size:1rem!important}.portal-settings-heading p{margin-top:2px!important;color:var(--portal-muted)!important;font-size:.7rem!important}.portal-setting-row{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 23px;border-bottom:1px solid var(--portal-soft-line)}.portal-setting-row>div:first-child{min-width:0;display:grid;gap:3px}.portal-setting-row>div:first-child strong{font-size:.8rem}.portal-setting-row>div:first-child span{color:var(--portal-muted);font-size:.68rem;line-height:1.4}.portal-stepper{display:grid;grid-template-columns:32px 46px 32px;align-items:center;flex:0 0 auto;overflow:hidden;border:1px solid var(--portal-line);border-radius:6px}.portal-stepper button{width:32px;height:32px;border:0;color:#535655;background:#f4f4f1;font-weight:800;cursor:pointer}.portal-stepper button:hover{color:var(--portal-red);background:#efefeb}.portal-stepper strong{text-align:center;font-size:.76rem}.portal-toggle-row{position:relative;cursor:pointer}.portal-toggle-row input{position:absolute;opacity:0;pointer-events:none}.portal-toggle{width:43px;height:24px;display:block;flex:0 0 auto;padding:3px;border-radius:999px;background:#cbcdca;transition:background-color .15s ease}.portal-toggle span{width:18px;height:18px;display:block;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000038;transition:transform .15s ease}.portal-toggle-row input:checked+.portal-toggle{background:var(--portal-green)}.portal-toggle-row input:checked+.portal-toggle span{transform:translate(19px)}.portal-segmented-control{display:flex;flex:0 0 auto;overflow:hidden;border:1px solid var(--portal-line);border-radius:6px}.portal-segmented-control button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 11px;border:0;color:#666967;background:#fff;font-size:.68rem;font-weight:700;cursor:pointer}.portal-segmented-control button+button{border-left:1px solid var(--portal-line)}.portal-segmented-control button.is-active{color:#fff;background:var(--portal-charcoal)}.portal-setup-action{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 23px;background:#fafaf8}.portal-setup-action>div span{color:var(--portal-muted);font-size:.68rem}.portal-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px clamp(24px,3.2vw,52px) -10px;padding:11px 13px;border:1px solid #edbdc5;border-radius:6px;color:#8e1730;background:#fff1f3;font-size:.77rem;font-weight:680}.portal-auth-form-wrap>.portal-notice{margin:0 0 18px}.portal-notice-success{color:#23634f;border-color:#add1c3;background:#edf7f2}.portal-notice button{width:27px;height:27px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border:0;border-radius:5px;color:inherit;background:transparent;cursor:pointer}.portal-notice button:hover{background:#0000000d}.portal-notice-floating{position:fixed;top:80px;left:50%;z-index:100;width:min(540px,calc(100% - 32px));margin:0;transform:translate(-50%);box-shadow:0 10px 30px #00000029}.portal-auth-root{display:grid;grid-template-columns:minmax(420px,1.08fr) minmax(440px,.92fr);background:#fff}.portal-auth-visual{position:relative;min-height:100vh;overflow:hidden;background:#282827}.portal-auth-map{position:absolute;inset:0;background-image:url(/images/map.webp);background-position:center;background-size:cover}.portal-auth-visual:after{content:"";position:absolute;inset:0;background:#181817a3}.portal-auth-visual-copy{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:clamp(38px,6vw,86px);color:#fff}.portal-auth-visual-copy img{width:166px;height:auto;margin-bottom:30px}.portal-auth-visual-copy span{margin-bottom:10px;color:#f3c254;font-size:.72rem;font-weight:850;text-transform:uppercase}.portal-auth-visual-copy strong{max-width:650px;font-size:2.6rem;line-height:1.08}.portal-auth-main{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:44px clamp(28px,6vw,84px);background:#fff}.portal-auth-form-wrap{width:min(100%,430px)}.portal-auth-mobile-brand{display:none}.portal-auth-heading>span{color:var(--portal-red);font-size:.7rem;font-weight:850;text-transform:uppercase}.portal-auth-heading h1{margin:7px 0 8px;color:var(--portal-ink);font-size:2rem;line-height:1.12}.portal-auth-heading p{margin:0 0 30px;color:var(--portal-muted);font-size:.85rem}.portal-auth-form{display:grid;gap:17px}.portal-auth-form label{display:grid;gap:7px}.portal-auth-form label>span{color:#484b4a;font-size:.72rem;font-weight:740}.portal-auth-form label>div{min-height:45px;display:flex;align-items:center;gap:10px;padding:0 13px;border:1px solid #d5d6d2;border-radius:6px;color:#959795;background:#fff}.portal-auth-form label>div:focus-within{color:var(--portal-red);border-color:#bfc0bc;box-shadow:0 0 0 3px #d7193714}.portal-auth-form input{min-width:0;flex:1;border:0;outline:0;color:var(--portal-ink);font-size:.82rem}.portal-auth-form input::placeholder{color:#a5a6a3}.portal-auth-submit{width:100%;margin-top:5px}.portal-auth-help{margin:19px 0 0;color:#8b8d8b;font-size:.67rem;line-height:1.45;text-align:center}.portal-auth-loading{display:flex;flex-direction:column;align-items:center;gap:7px;color:var(--portal-muted);text-align:center}.portal-auth-loading svg{margin-bottom:9px;color:var(--portal-red)}.portal-auth-loading strong{color:var(--portal-ink);font-size:1rem}.portal-auth-loading span{font-size:.75rem}.portal-spin{animation:portal-spin .9s linear infinite}@keyframes portal-spin{to{transform:rotate(360deg)}}.portal-live-root{min-height:100vh;color:#fff;background:#151618}.portal-live-header{min-height:72px;display:grid;grid-template-columns:minmax(190px,1fr) minmax(250px,1.4fr) minmax(210px,1fr);align-items:center;gap:20px;padding:11px clamp(20px,3vw,46px);border-bottom:1px solid #343638;background:#1e2022}.portal-live-brand{display:flex;align-items:center;gap:12px}.portal-live-brand img{width:105px;display:block}.portal-live-brand span{padding-left:12px;border-left:1px solid #4e5052;color:#b9bbbc;font-size:.72rem;font-weight:730}.portal-live-session-name{min-width:0;display:grid;justify-items:center;text-align:center}.portal-live-session-name span{color:#85888a;font-size:.61rem;font-weight:760;text-transform:uppercase}.portal-live-session-name strong{max-width:100%;overflow:hidden;color:#fff;font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}.portal-live-header-data{display:flex;align-items:center;justify-content:flex-end;gap:11px}.portal-live-header-data>span{min-height:35px;display:inline-flex;align-items:center;gap:7px;padding:0 11px;border:1px solid #3b3d40;border-radius:6px;color:#c7c9ca;background:#282a2d;font-size:.72rem;font-weight:730}.portal-live-pin-small strong{color:#fff;font-size:.83rem}.portal-live-header-data button{width:35px;height:35px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #3b3d40;border-radius:6px;color:#c7c9ca;background:#282a2d;cursor:pointer}.portal-live-header-data button:hover{color:#fff;border-color:#b71e36;background:#8f182b}.portal-live-lobby{min-height:calc(100vh - 72px);display:grid;grid-template-columns:minmax(360px,.78fr) minmax(540px,1.22fr)}.portal-lobby-join{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(32px,4vw,64px) clamp(24px,3vw,48px);color:#fff;background:var(--portal-red);text-align:center!important}.portal-live-status{display:inline-flex;align-items:center;gap:7px;margin-bottom:24px;padding:7px 10px;border:1px solid rgba(255,255,255,.32);border-radius:6px;color:#fff;font-size:.7rem;font-weight:760}.portal-lobby-join>p{margin-bottom:3px!important;color:#ffffffc4!important;font-size:.82rem!important;font-weight:730;text-transform:uppercase}.portal-live-pin{font-size:4.9rem;line-height:1;font-variant-numeric:tabular-nums}.portal-lobby-join>span{margin-top:12px;color:#fffc;font-size:.76rem}.portal-live-qr{width:min(100%,486px);min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;margin-top:22px;padding:12px;border:1px solid rgba(247,226,182,.25);border-radius:14px;color:#222426;background:#fff;box-shadow:0 20px 42px #0000003d}.portal-live-qr img{width:100%;height:auto;aspect-ratio:1;display:block;border-radius:5px}.portal-live-qr-loading{width:100%;height:auto;aspect-ratio:1;display:flex;align-items:center;justify-content:center}.portal-live-qr small{font-size:.68rem;font-weight:720}.portal-lobby-players{min-width:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:clamp(35px,4.5vw,66px);background:#f4f4f1;color:var(--portal-ink)}.portal-live-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.portal-live-section-heading h1{margin:4px 0 0;font-size:2rem;line-height:1.1}.portal-live-section-heading>strong{min-width:54px;height:48px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:#fff;background:var(--portal-charcoal);font-size:1.22rem}.portal-live-player-list{align-content:start;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:9px;margin:27px 0;overflow:auto}.portal-live-player-list>span{min-width:0;min-height:45px;display:grid;grid-template-columns:28px minmax(0,1fr) 15px;align-items:center;gap:8px;padding:7px 9px;border:1px solid #d9dad6;border-radius:6px;background:#fff;font-size:.75rem;font-weight:720}.portal-live-player-list>span i{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;background:var(--portal-blue);font-size:.68rem;font-style:normal}.portal-live-player-list>span svg{color:var(--portal-green)}.portal-live-empty{grid-column:1 / -1;min-height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#8b8e8c;text-align:center}.portal-live-empty svg{margin-bottom:6px;color:var(--portal-red)}.portal-live-empty strong{color:#4a4c4d;font-size:.84rem}.portal-live-empty span{font-size:.7rem}.portal-live-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:19px;border-top:1px solid #d8d9d5}.portal-live-controls>span{color:#747775;font-size:.7rem}.portal-live-primary{padding:0 19px;color:#fff;background:var(--portal-red)}.portal-countdown-screen{min-height:calc(100vh - 72px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;text-align:center}.portal-countdown-screen>span{color:#f0b83d;font-size:.82rem;font-weight:800;text-transform:uppercase}.portal-countdown-screen>strong{margin:20px 0;color:#fff;font-size:9rem;line-height:.9}.portal-countdown-screen>p{color:#aeb1b3;font-size:.88rem}.portal-question-screen{min-height:calc(100vh - 72px);display:grid;grid-template-rows:auto minmax(0,1fr) 7px;background:#f2f2ef;color:var(--portal-ink)}.portal-question-toolbar{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 clamp(24px,4vw,60px);border-bottom:1px solid #d9dad6;background:#fff}.portal-question-toolbar span,.portal-question-toolbar strong{font-size:.73rem}.portal-question-toolbar span{color:var(--portal-red);font-weight:820;text-transform:uppercase}.portal-question-content{min-height:0;display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,4vw,58px) clamp(24px,5vw,76px)!important}.portal-question-content h1{max-width:1120px;margin:0 auto clamp(28px,4vw,54px);font-size:2.35rem;line-height:1.18;text-align:center}.portal-live-answer-grid{width:min(100%,1240px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 auto}.portal-live-answer{min-height:104px;display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:16px;padding:18px 22px;border-radius:8px;color:#fff}.portal-live-answer>span{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border:2px solid rgba(255,255,255,.58);border-radius:50%;font-size:.9rem;font-weight:850}.portal-live-answer strong{overflow-wrap:anywhere;font-size:1.05rem;line-height:1.35}.portal-live-answer-1{background:#b83a4f}.portal-live-answer-2{background:#3973a2}.portal-live-answer-3{background:#aa7b25}.portal-live-answer-4{background:#34765e}.portal-question-progress{overflow:hidden;background:#d8d9d5}.portal-question-progress span{height:100%;display:block;background:var(--portal-red);transition:width .22s ease}.portal-reveal-screen{min-height:calc(100vh - 72px);display:grid;grid-template-columns:minmax(520px,1.5fr) minmax(330px,.72fr);color:var(--portal-ink);background:#f3f3f0}.portal-reveal-results{padding:clamp(34px,5vw,70px)!important}.portal-correct-badge{min-height:35px;display:inline-flex;align-items:center;gap:7px;padding:0 11px;border-radius:6px;color:#25614e!important;background:#dfeee8;font-size:.7rem!important;font-weight:760;text-transform:none!important}.portal-result-bars{display:grid;gap:19px;margin-top:50px}.portal-result-bars>div{display:grid;grid-template-columns:40px minmax(0,1fr) 38px;align-items:center;gap:13px}.portal-result-bars>div>span{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:#fff;background:#7b7e7c;font-size:.8rem;font-weight:830}.portal-result-bars>div>i{height:30px;display:block;overflow:hidden;border-radius:5px;background:#dedfdb}.portal-result-bars b{height:100%;display:block;background:#8d908e}.portal-result-bars>div>strong{font-size:.85rem;text-align:right}.portal-result-bars>div.is-correct>span,.portal-result-bars>div.is-correct b{background:var(--portal-green)}.portal-live-ranking{display:flex;flex-direction:column;padding:clamp(34px,4vw,58px);border-left:1px solid #37393b;color:#fff;background:#1e2022}.portal-live-ranking h2{margin-top:5px!important;font-size:1.4rem!important}.portal-live-ranking ol{display:grid;gap:9px;margin:30px 0;padding:0;list-style:none}.portal-live-ranking li{min-width:0;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px;border:1px solid #373a3c;border-radius:6px;background:#282a2d}.portal-live-ranking li>span{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#1f2022;background:#e9ba48;font-size:.69rem;font-weight:830}.portal-live-ranking li strong{overflow:hidden;font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.portal-live-ranking li em{color:#b1b3b4;font-size:.68rem;font-style:normal}.portal-live-ranking .portal-live-primary{width:100%;margin-top:auto}.portal-podium-screen{min-height:calc(100vh - 72px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:38px;color:#fff;background:#17181a}.portal-podium-heading{display:flex;flex-direction:column;align-items:center;text-align:center}.portal-podium-heading svg{margin-bottom:12px;color:#e9ba48}.portal-podium-heading span{color:#e9ba48;font-size:.72rem;font-weight:820;text-transform:uppercase}.portal-podium-heading h1{margin:7px 0 0;font-size:2.5rem}.portal-podium{width:min(100%,820px);display:flex;align-items:flex-end;justify-content:center;gap:12px;margin:44px 0 36px;padding:0;list-style:none}.portal-podium li{min-width:0;width:31%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px 13px;border:1px solid #3b3d40;border-radius:8px 8px 0 0;background:#242628;text-align:center}.portal-podium-place-1{min-height:220px;order:2;border-color:#9a7a32!important}.portal-podium-place-2{min-height:178px;order:1}.portal-podium-place-3{min-height:150px;order:3}.portal-podium li>span{width:45px;height:45px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#202123;background:#d5d5d2;font-weight:850}.portal-podium-place-1>span{background:#e9ba48!important}.portal-podium-place-3>span{background:#b87851!important}.portal-podium li strong{max-width:100%;overflow:hidden;font-size:.9rem;text-overflow:ellipsis;white-space:nowrap}.portal-podium li em{color:#b2b4b5;font-size:.72rem;font-style:normal}@media(max-width:1120px){.portal-setup-layout{grid-template-columns:minmax(240px,.7fr) minmax(430px,1.3fr)}.portal-lobby-join{padding:38px 26px}.portal-lobby-players{padding:38px}}@media(max-width:980px){.portal-setup-layout{grid-template-columns:1fr}.portal-setup-summary{display:grid;grid-template-columns:240px minmax(0,1fr)}.portal-setup-cover{min-height:100%}.portal-live-header{grid-template-columns:1fr auto}.portal-live-session-name{display:none}.portal-live-lobby,.portal-reveal-screen{grid-template-columns:1fr}.portal-lobby-join{min-height:430px}.portal-lobby-players{min-height:520px}.portal-live-ranking{min-height:420px;border-top:1px solid #37393b;border-left:0}}@media(max-width:760px){.portal-content{padding:22px 18px 42px}.portal-view{gap:23px}.portal-history-summary{grid-template-columns:1fr}.portal-section-heading{align-items:flex-start}.portal-setup-summary{grid-template-columns:1fr}.portal-setup-cover{min-height:190px}.portal-setting-row,.portal-setup-action{align-items:flex-start;flex-direction:column}.portal-stepper,.portal-segmented-control,.portal-setup-action .portal-primary-button{width:100%}.portal-stepper{grid-template-columns:40px minmax(0,1fr) 40px}.portal-stepper button{width:40px}.portal-segmented-control button{flex:1}.portal-toggle-row{flex-direction:row;align-items:center}.portal-auth-root{display:block}.portal-auth-visual{display:none}.portal-auth-main{min-height:100vh;padding:32px 22px}.portal-auth-mobile-brand{display:flex;align-items:center;gap:11px;margin-bottom:52px}.portal-auth-mobile-brand img{width:110px;display:block}.portal-auth-mobile-brand span{padding-left:10px;border-left:1px solid #d5d6d2;color:#535655;font-size:.8rem;font-weight:760}.portal-live-header{min-height:62px;padding:9px 14px}.portal-live-brand img{width:86px}.portal-live-brand span,.portal-live-pin-small{display:none!important}.portal-live-lobby,.portal-question-screen,.portal-reveal-screen,.portal-countdown-screen,.portal-podium-screen{min-height:calc(100vh - 62px)}.portal-live-pin{font-size:3.9rem}.portal-question-content h1{font-size:1.65rem}.portal-live-answer-grid{grid-template-columns:1fr}.portal-live-answer{min-height:78px}.portal-podium-screen{padding:28px 16px}.portal-podium-heading h1{font-size:2rem}.portal-podium{gap:7px}.portal-podium li{padding:15px 7px}}@media(max-width:520px){.portal-set-grid{grid-template-columns:1fr}.portal-section-heading{flex-direction:column;gap:8px}.portal-live-controls{align-items:stretch;flex-direction:column}.portal-live-controls .portal-live-primary{width:100%}.portal-lobby-join,.portal-lobby-players{padding:30px 18px}.portal-live-section-heading h1{font-size:1.55rem}.portal-question-toolbar{padding:0 16px}.portal-question-content{padding:25px 16px!important}.portal-live-answer{grid-template-columns:38px minmax(0,1fr);gap:11px;padding:14px}.portal-live-answer>span{width:36px;height:36px}.portal-live-answer strong{font-size:.88rem}.portal-reveal-results,.portal-live-ranking{padding:30px 18px!important}}@media(prefers-reduced-motion:reduce){.portal-set-card,.portal-primary-button,.portal-live-primary,.portal-question-progress span{transition:none}.portal-spin{animation-duration:1.8s}}.portal-root,.portal-auth-root,.portal-live-root{position:relative;isolation:isolate;background:linear-gradient(to bottom,#03071214,#030712b8),#02030a}.portal-root:before,.portal-auth-root:before,.portal-live-root:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(circle,rgba(255,255,255,.9) 0 1px,transparent 1.6px),radial-gradient(circle,rgba(221,232,255,.72) 0 .8px,transparent 1.4px),radial-gradient(circle,rgba(255,239,212,.55) 0 .7px,transparent 1.3px),radial-gradient(circle,rgba(255,255,255,.2) 0 .6px,transparent 1.1px);background-position:18px 26px,88px 124px,156px 62px,42px 58px;background-size:184px 184px,248px 248px,318px 318px,116px 116px;opacity:.78}.portal-content,.portal-auth-visual,.portal-auth-main,.portal-live-root>*{position:relative;z-index:1}.portal-content:before,.portal-live-root:after,.portal-auth-visual:before{content:"";position:fixed;top:15vh;left:-190px;z-index:0;width:170px;height:2px;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(214,228,255,.68),#ffffff);box-shadow:0 0 10px #fff9;opacity:0;transform:rotate(24deg);animation:portal-shooting-star 8s ease-in infinite}@keyframes portal-shooting-star{0%,72%{opacity:0;transform:translateZ(0) rotate(24deg)}76%{opacity:.9}88%{opacity:0;transform:translate3d(125vw,43vh,0) rotate(24deg)}to{opacity:0}}.portal-sidebar{border-right-color:#f7e2b624;background:#02060ef0;box-shadow:14px 0 36px #0000003d;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.portal-brand span,.portal-sidebar-account strong,.portal-section-heading h2,.portal-set-body h3,.portal-empty-band strong,.portal-empty-state h3,.portal-history-summary strong,.portal-setup-copy h2,.portal-settings-heading h2,.portal-setting-row>div:first-child strong,.portal-auth-heading h1,.portal-auth-loading strong{color:#fff}.portal-new-game,.portal-primary-button,.portal-live-primary{color:#101820;background:#f7e2b6;box-shadow:0 10px 24px #d6a45124}.portal-new-game:hover,.portal-primary-button:hover,.portal-live-primary:hover{color:#101820;background:#d6a451}.portal-navigation>p,.portal-section-heading p,.portal-set-labels>span:first-child,.portal-setup-copy>span,.portal-live-section-heading span,.portal-live-ranking>span,.portal-auth-heading>span{color:#f7e2b6}.portal-navigation button{color:#ffffff94}.portal-navigation button:hover{color:#fff;background:#ffffff0f}.portal-navigation button.is-active{color:#f7e2b6;background:#f7e2b617;box-shadow:inset 3px 0 #f7e2b6}.portal-nav-chevron{color:#f7e2b68c}.portal-sidebar-account{border-top-color:#f7e2b621}.portal-sidebar-account span,.portal-set-body>p,.portal-empty-band,.portal-empty-state p,.portal-history-summary small,.portal-setup-copy>p,.portal-settings-heading p,.portal-setting-row>div:first-child span,.portal-setup-action>div span,.portal-auth-heading p,.portal-auth-help,.portal-auth-loading span{color:#ffffff94!important}.portal-avatar{color:#101820;background:#f7e2b6}.portal-set-card,.portal-history-summary>div,.portal-setup-summary,.portal-settings-panel{border-color:#f7e2b621;background:#0a101ec7;box-shadow:0 18px 44px #00000029;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.portal-set-footer>span,.portal-result-count{color:#ffffff85}.portal-text-button,.portal-back-button{color:#f7e2b6bf}.portal-text-button:hover,.portal-back-button:hover{color:#fff}.portal-set-card:hover{border-color:#f7e2b64d;box-shadow:0 18px 42px #00000047}.portal-set-cover{border-bottom:1px solid rgba(247,226,182,.13)}.portal-set-footer{border-top-color:#ffffff12}.portal-set-footer button{color:#f7e2b6;border-color:#f7e2b62e;background:#ffffff0d}.portal-set-footer button:hover{color:#101820;border-color:#f7e2b6;background:#f7e2b6}.portal-set-footer button:disabled{color:#fff6;background:#ffffff0a}.portal-search,.portal-secondary-button{color:#ffffffb8;border-color:#f7e2b624;background:#0a101ec7;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.portal-search input{color:#fff}.portal-search input::placeholder{color:#ffffff57}.portal-search:focus-within{color:#f7e2b6;border-color:#f7e2b666;box-shadow:0 0 0 3px #f7e2b612}.portal-secondary-button:hover{color:#f7e2b6;border-color:#f7e2b652}.portal-empty-state,.portal-empty-band{border-color:#f7e2b62e;background:#0a101e80;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.portal-empty-state>span,.portal-settings-heading>span{color:#f7e2b6;background:#f7e2b61a}.portal-history-summary>div>span{color:#8fd3ff;background:#4a7fd429}.portal-settings-heading,.portal-setting-row,.portal-setup-copy>div{border-color:#f7e2b61a}.portal-stepper,.portal-segmented-control{border-color:#f7e2b629}.portal-stepper button,.portal-segmented-control button{color:#ffffffad;background:#ffffff0d}.portal-stepper button:hover{color:#f7e2b6;background:#f7e2b61a}.portal-segmented-control button+button{border-left-color:#f7e2b61f}.portal-segmented-control button.is-active{color:#101820;background:#f7e2b6}.portal-toggle{background:#ffffff2e}.portal-toggle-row input:checked+.portal-toggle{background:#3fa97a}.portal-setup-action{background:#ffffff06}.portal-notice{color:#ffcec8;border-color:#ffb4aa2e;background:#7c121775;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.portal-notice-success{color:#8ee6c4;border-color:#3fa97a4d;background:#3fa97a29}.portal-auth-root{background:#02030a}.portal-auth-visual{background:transparent}.portal-auth-map{opacity:.55}.portal-auth-visual:after{background:#02060e9e}.portal-auth-visual-copy span{color:#f7e2b6}.portal-auth-main{background:transparent}.portal-auth-form-wrap{padding:34px;border:1px solid rgba(247,226,182,.14);border-radius:8px;background:#0a101ecc;box-shadow:0 28px 70px #00000057;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.portal-auth-form label>span{color:#f7e2b6bd}.portal-auth-form label>div{color:#f7e2b68c;border-color:#f7e2b629;background:#ffffff0d}.portal-auth-form label>div:focus-within{color:#f7e2b6;border-color:#f7e2b666;box-shadow:0 0 0 3px #f7e2b612}.portal-auth-form input{color:#fff;background:transparent}.portal-auth-form input::placeholder{color:#ffffff47}.portal-live-root{color:#fff;background:#02030a}.portal-live-header{border-bottom-color:#f7e2b621;background:#040a16db;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.portal-live-header-data>span,.portal-live-header-data button{color:#f7e2b6bf;border-color:#f7e2b624;background:#ffffff0d}.portal-live-lobby,.portal-question-screen,.portal-reveal-screen,.portal-podium-screen{background:transparent}.portal-lobby-join{border-right:1px solid rgba(247,226,182,.16);background:#0a101ed1;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.portal-live-pin,.portal-lobby-join>p,.portal-live-section-heading span,.portal-question-toolbar span,.portal-podium-heading svg,.portal-podium-heading span{color:#f7e2b6!important}.portal-live-qr{color:#101820;border-color:#f7e2b64d;background:#fff}.portal-lobby-players{color:#fff;background:transparent}.portal-live-section-heading>strong{color:#101820;background:#f7e2b6}.portal-live-player-list>span{color:#fff;border-color:#f7e2b621;background:#0a101eb8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.portal-live-empty strong{color:#ffffffc7}.portal-live-empty,.portal-live-controls>span{color:#ffffff8a}.portal-live-controls{border-top-color:#f7e2b61f}.portal-question-toolbar{border-bottom-color:#f7e2b61f;background:#0a101eb8;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.portal-live-answer-1{background:#d6a451}.portal-live-answer-2{background:#4a7fd4}.portal-live-answer-3{background:#3fa97a}.portal-live-answer-4{background:#8b6fc9}.portal-live-answer{border:2px solid rgba(255,255,255,.16);box-shadow:0 16px 36px #0003}.portal-question-progress{background:#ffffff1a}.portal-question-progress span{background:#f7e2b6}.portal-reveal-results{color:#fff}.portal-correct-badge{color:#8ee6c4!important;border:1px solid rgba(63,169,122,.28);background:#3fa97a29}.portal-result-bars>div>i{background:#ffffff14}.portal-result-bars>div>span,.portal-result-bars b{background:#ffffff52}.portal-live-ranking{border-left-color:#f7e2b61f;background:#0a101ecc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.portal-live-ranking li{border-color:#f7e2b61f;background:#ffffff0d}.portal-live-ranking li>span,.portal-podium-place-1>span{color:#091529;background:#f7e2b6!important}.portal-podium li{border-color:#f7e2b624;background:#0a101ed1;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.portal-podium-place-1{border-color:#f7e2b670!important;box-shadow:0 0 34px #d6a4511f}@media(max-width:980px){.portal-sidebar{background:#02060ef7}.portal-live-ranking{border-top-color:#f7e2b61f}}@media(max-width:760px){.portal-auth-main{background:transparent}.portal-auth-mobile-brand span{color:#f7e2b6;border-left-color:#f7e2b633}.portal-auth-form-wrap{padding:25px 20px}}@media(prefers-reduced-motion:reduce){.portal-main-column:before,.portal-live-root:after,.portal-auth-visual:before{animation:none}}.portal-class-overview,.portal-class-result-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid rgba(247,226,182,.13);border-radius:8px;background:#0a101ec7;box-shadow:0 18px 44px #00000029;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.portal-class-overview>div,.portal-class-result-metrics>div{min-width:0;display:flex;align-items:center;gap:13px;padding:18px 21px}.portal-class-overview>div+div,.portal-class-result-metrics>div+div{border-left:1px solid rgba(247,226,182,.1)}.portal-class-overview>div>span,.portal-class-result-metrics>div>span{width:39px;height:39px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:6px;color:#f7e2b6;background:#f7e2b61a}.portal-class-overview p,.portal-class-result-metrics p{min-width:0;display:grid;gap:2px}.portal-class-overview strong,.portal-class-result-metrics strong{color:#fff;font-size:1.2rem;line-height:1}.portal-class-overview small,.portal-class-result-metrics small{overflow:hidden;color:#ffffff85;font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.portal-class-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.portal-class-card{min-width:0;overflow:hidden;border:1px solid rgba(247,226,182,.13);border-radius:8px;background:#0a101ecc;box-shadow:0 18px 44px #0000002b;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}.portal-class-card:hover{border-color:#f7e2b64d;box-shadow:0 22px 46px #00000045;transform:translateY(-2px)}.portal-class-card-top{min-width:0;display:grid;grid-template-columns:54px minmax(0,1fr) 34px;align-items:center;gap:13px;padding:18px;border-bottom:1px solid rgba(247,226,182,.09)}.portal-class-symbol{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border:1px solid rgba(247,226,182,.2);border-radius:50%;color:#101820;background:#f7e2b6;font-size:.8rem;font-weight:900}.portal-class-accent-blue .portal-class-symbol{color:#fff;border-color:#8fd3ff59;background:#4a7fd4}.portal-class-accent-green .portal-class-symbol{color:#fff;border-color:#8ee6c459;background:#3fa97a}.portal-class-card-top>div{min-width:0}.portal-class-card-top>div>span,.portal-class-last-result>span,.portal-results-list-heading>div>span{color:#f7e2b6;font-size:.63rem;font-weight:820;text-transform:uppercase}.portal-class-card-top h3{overflow:hidden;margin:2px 0 1px;color:#fff;font-size:1rem;text-overflow:ellipsis;white-space:nowrap}.portal-class-card-top p{color:#ffffff7a!important;font-size:.68rem!important}.portal-class-card-top>button,.portal-class-result-row>button,.portal-global-results article>button{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(247,226,182,.16);border-radius:6px;color:#f7e2b6bf;background:#ffffff0d;cursor:pointer}.portal-class-card-top>button:hover,.portal-class-result-row>button:hover,.portal-global-results article>button:hover{color:#101820;border-color:#f7e2b6;background:#f7e2b6}.portal-class-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:15px 18px;border-bottom:1px solid rgba(247,226,182,.09)}.portal-class-stats>div{min-width:0;display:grid;gap:2px}.portal-class-stats>div+div{padding-left:13px;border-left:1px solid rgba(255,255,255,.08)}.portal-class-stats strong{color:#fff;font-size:.9rem}.portal-class-stats span{color:#ffffff73;font-size:.64rem}.portal-class-last-result{display:grid;gap:8px;min-height:82px;padding:14px 18px}.portal-class-last-result>div{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:10px}.portal-class-last-result strong,.portal-class-last-result em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-class-last-result strong{color:#fff;font-size:.73rem}.portal-class-last-result em{flex:0 0 auto;color:#ffffff7a;font-size:.63rem;font-style:normal}.portal-class-actions{display:grid;grid-template-columns:.7fr 1.3fr;gap:8px;padding:0 18px 18px}.portal-class-actions button{width:100%}.portal-class-context{min-height:74px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 15px;border:1px solid rgba(247,226,182,.18);border-radius:8px;background:#f7e2b614;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.portal-class-context>div{min-width:0;display:grid;gap:1px}.portal-class-context>div>span{color:#f7e2b6;font-size:.62rem;font-weight:810;text-transform:uppercase}.portal-class-context>div>strong{color:#fff;font-size:.86rem}.portal-class-context>div>small{color:#ffffff80;font-size:.65rem}.portal-selected-class-badge{min-height:35px;display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;padding:0 11px;border:1px solid rgba(247,226,182,.2);border-radius:6px;color:#f7e2b6;background:#f7e2b614;font-size:.72rem;font-weight:760}.portal-class-detail-view{gap:20px}.portal-class-hero{min-height:138px;display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:20px;padding:24px 27px!important;border:1px solid rgba(247,226,182,.16);border-radius:8px;background:#0a101ed1;box-shadow:0 20px 48px #0000002e;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.portal-class-symbol-large{width:68px;height:68px;font-size:1rem}.portal-class-hero-copy{min-width:0}.portal-class-hero-copy>span{color:#f7e2b6;font-size:.66rem;font-weight:820;text-transform:uppercase}.portal-class-hero-copy h2{margin:4px 0 10px!important;color:#fff!important;font-size:1.55rem!important}.portal-class-hero-copy>div{display:flex;flex-wrap:wrap;gap:12px}.portal-class-hero-copy>div span{display:inline-flex;align-items:center;gap:5px;color:#ffffff8a;font-size:.67rem}.portal-class-hero-copy>div strong{color:#fff}.portal-class-tabs{display:flex;gap:5px;padding-bottom:1px;border-bottom:1px solid rgba(247,226,182,.12)}.portal-class-tabs button{min-height:42px;display:inline-flex;align-items:center;gap:7px;padding:0 14px;border:0;border-bottom:2px solid transparent;color:#ffffff80;background:transparent;font-size:.75rem;font-weight:740;cursor:pointer}.portal-class-tabs button:hover{color:#ffffffd1}.portal-class-tabs button.is-active{color:#f7e2b6;border-bottom-color:#f7e2b6}.portal-class-tabs button span{min-width:22px;height:20px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px;border-radius:999px;color:inherit;background:#ffffff12;font-size:.61rem}.portal-class-tab-content{display:grid;gap:14px}.portal-class-toolbar,.portal-results-list-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.portal-class-toolbar .portal-search{width:min(100%,430px)}.portal-student-table-wrap{overflow-x:auto;border:1px solid rgba(247,226,182,.13);border-radius:8px;background:#0a101ec7;box-shadow:0 18px 44px #00000026;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.portal-data-table{width:100%;border-collapse:collapse;color:#fff;text-align:left}.portal-data-table th{height:43px;padding:0 16px;border-bottom:1px solid rgba(247,226,182,.11);color:#f7e2b6ad;background:#ffffff06;font-size:.62rem;font-weight:790;text-transform:uppercase;white-space:nowrap}.portal-data-table td{height:61px;padding:8px 16px;border-bottom:1px solid rgba(255,255,255,.055);font-size:.72rem;white-space:nowrap}.portal-data-table tbody tr:last-child td{border-bottom:0}.portal-data-table tbody tr:hover{background:#f7e2b609}.portal-student-table td:first-child{min-width:280px;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px}.portal-student-avatar{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#101820;background:#f7e2b6;font-size:.61rem;font-weight:850}.portal-student-table td:first-child>div{min-width:0;display:grid;gap:2px}.portal-student-table td:first-child strong,.portal-student-table td:first-child span{overflow:hidden;text-overflow:ellipsis}.portal-student-table td:first-child strong{font-size:.72rem}.portal-student-table td:first-child div>span{display:flex;align-items:center;gap:4px;color:#ffffff6b;font-size:.61rem}.portal-score-pill{min-width:42px;min-height:24px;display:inline-flex;align-items:center;justify-content:center;padding:0 7px;border-radius:999px;font-size:.65rem;font-weight:820}.portal-score-pill.is-high{color:#8ee6c4;background:#3fa97a26}.portal-score-pill.is-medium{color:#f7e2b6;background:#d6a45124}.portal-score-pill.is-low{color:#ffb4aa;background:#e8664f24}.portal-table-muted{color:#ffffff75}.portal-results-list{display:grid;gap:10px}.portal-results-list-heading{margin-top:7px}.portal-results-list-heading h3{margin:3px 0 0;color:#fff;font-size:1.05rem}.portal-class-result-row{min-width:0;min-height:76px;display:grid;grid-template-columns:118px minmax(190px,1.4fr) minmax(90px,.55fr) minmax(120px,.65fr) minmax(160px,.9fr) 34px;align-items:center;gap:15px;padding:12px 15px;border:1px solid rgba(247,226,182,.12);border-radius:8px;background:#0a101ebf;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.portal-result-date{display:inline-flex;align-items:center;gap:7px;color:#f7e2b6b8}.portal-result-date strong{color:#fff;font-size:.68rem}.portal-result-main,.portal-class-result-row>div:not(.portal-result-main){min-width:0;display:grid;gap:3px}.portal-result-main strong{color:#fff;font-size:.76rem}.portal-result-main span,.portal-class-result-row>div>span{color:#ffffff70;font-size:.61rem}.portal-class-result-row>div>strong{color:#fff;font-size:.7rem}.portal-global-results{display:grid;gap:9px}.portal-global-results article{min-width:0;min-height:68px;display:grid;grid-template-columns:120px minmax(210px,1.5fr) minmax(130px,.7fr) minmax(140px,.75fr) 34px;align-items:center;gap:15px;padding:11px 15px;border:1px solid rgba(247,226,182,.12);border-radius:8px;background:#0a101ebf;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.portal-global-results article>span{display:inline-flex;align-items:center;gap:7px;color:#f7e2b6b8;font-size:.68rem;font-weight:720}.portal-global-results article>div,.portal-global-results article>p{min-width:0;display:grid;gap:3px}.portal-global-results article>div strong,.portal-global-results article>div small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-global-results article>div strong,.portal-global-results article>p strong{color:#fff;font-size:.72rem}.portal-global-results article>div small,.portal-global-results article>p span{color:#ffffff70;font-size:.61rem}@media(max-width:1180px){.portal-class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-class-result-row{grid-template-columns:105px minmax(180px,1.3fr) 78px 110px 34px}.portal-class-result-row .portal-result-winner{display:none}}@media(max-width:820px){.portal-class-hero{grid-template-columns:62px minmax(0,1fr)}.portal-class-symbol-large{width:60px;height:60px}.portal-class-hero>.portal-primary-button{grid-column:1 / -1;width:100%}.portal-class-result-row,.portal-global-results article{grid-template-columns:105px minmax(0,1fr) 34px}.portal-class-result-row>div:not(.portal-result-main),.portal-global-results article>p{display:none}}@media(max-width:760px){.portal-class-overview,.portal-class-result-metrics{grid-template-columns:1fr}.portal-class-overview>div+div,.portal-class-result-metrics>div+div{border-top:1px solid rgba(247,226,182,.1);border-left:0}.portal-class-grid{grid-template-columns:1fr}.portal-class-context{grid-template-columns:48px minmax(0,1fr)}.portal-class-context>button{grid-column:1 / -1;width:100%}.portal-selected-class-row{flex-direction:column;align-items:stretch}.portal-selected-class-badge{width:100%;justify-content:center}.portal-class-toolbar{align-items:stretch;flex-direction:column}.portal-class-toolbar .portal-search,.portal-class-toolbar .portal-secondary-button{width:100%}.portal-student-table-wrap{overflow:visible;border:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.portal-data-table,.portal-data-table tbody{display:grid;gap:9px}.portal-data-table thead{display:none}.portal-data-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;border:1px solid rgba(247,226,182,.12);border-radius:8px;background:#0a101ec2}.portal-data-table td,.portal-student-table td:first-child{min-width:0;height:auto;min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;white-space:normal}.portal-data-table td:before{content:attr(data-label);color:#fff6;font-size:.58rem;font-weight:760;text-transform:uppercase}.portal-student-table td:first-child{grid-column:1 / -1;display:grid;grid-template-columns:34px minmax(0,1fr);justify-content:start}.portal-student-table td:first-child:before{display:none}.portal-student-table td:last-child{grid-column:1 / -1}}@media(max-width:520px){.portal-class-hero{grid-template-columns:52px minmax(0,1fr);gap:13px;padding:19px!important}.portal-class-symbol-large{width:50px;height:50px}.portal-class-hero-copy h2{font-size:1.28rem!important}.portal-class-hero-copy>div span:last-child{width:100%}.portal-class-tabs button{flex:1;justify-content:center;padding:0 9px}.portal-class-result-row,.portal-global-results article{grid-template-columns:1fr 34px}.portal-class-result-row>.portal-result-date,.portal-global-results article>span{display:none}}.portal-topbar{position:sticky;top:0;z-index:40;background:#040814e0;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid rgba(247,226,182,.12);transition:border-color .24s ease,box-shadow .24s ease,background-color .24s ease}.portal-topbar.is-scrolled{border-bottom-color:#f7e2b638;box-shadow:0 8px 32px #00000085;background:#030610f5}.portal-topbar-inner{height:68px;width:min(100%,1540px);margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:0 clamp(20px,3.2vw,52px)}.portal-topbar-brand{justify-self:start}.portal-brand-link{display:flex;align-items:center;gap:12px;padding:4px 6px 4px 0;border:0;border-radius:8px;background:transparent;cursor:pointer;transition:opacity .16s ease,transform .16s ease}.portal-brand-link:hover{opacity:.92;transform:translateY(-1px)}.portal-brand-link:active{transform:translateY(0)}.portal-brand-link img{width:136px;height:42px;display:block;object-fit:contain}.portal-brand-link span{padding-left:12px;border-left:1px solid rgba(247,226,182,.25);color:#f7e2b6;font-size:.95rem;font-weight:800;letter-spacing:-.01em;text-transform:none}.portal-header-nav{justify-self:center;display:flex;align-items:center;gap:6px}.portal-nav-link{height:38px;display:inline-flex;align-items:center;gap:8px;padding:0 14px;border:1px solid transparent;border-radius:8px;color:#ffffffa6;background:transparent;font-size:.84rem;font-weight:650;white-space:nowrap;cursor:pointer;transition:color .16s ease,background-color .16s ease,border-color .16s ease}.portal-nav-link svg{flex:0 0 auto;opacity:.8;transition:transform .16s ease}.portal-nav-link:hover{color:#fff;background:#ffffff14}.portal-nav-link:hover svg{transform:scale(1.08)}.portal-nav-link.is-active{color:#f7e2b6;background:#f7e2b61f;border-color:#f7e2b63d;font-weight:750}.portal-nav-link.is-active svg{opacity:1;color:#f7e2b6}.portal-topbar-actions{justify-self:end;display:flex;align-items:center;gap:10px}.portal-context-chip{height:36px;display:inline-flex;align-items:center;gap:7px;padding:0 13px;border:1px solid rgba(247,226,182,.22);border-radius:999px;color:#f7e2b6;background:#f7e2b614;font-size:.76rem;font-weight:700;white-space:nowrap;cursor:pointer;transition:color .16s ease,background-color .16s ease,border-color .16s ease,transform .16s ease;animation:portal-chip-in .34s cubic-bezier(.2,.7,.3,1) both}.portal-context-chip:hover{border-color:#f7e2b673;background:#f7e2b629;transform:translateY(-1px)}@keyframes portal-chip-in{0%{opacity:0;transform:translateY(-4px) scale(.95)}to{opacity:1;transform:none}}.portal-profile{position:relative}.portal-profile-trigger{height:38px;display:inline-flex;align-items:center;gap:8px;padding:2px 10px 2px 3px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:#ffffff0a;cursor:pointer;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.portal-profile-trigger:hover,.portal-profile-trigger.is-open{border-color:#f7e2b666;background:#f7e2b614}.portal-profile-name{color:#ffffffd9;font-size:.8rem;font-weight:650;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-profile-chevron{color:#ffffff73;transition:transform .2s ease}.portal-profile-chevron.is-rotated{transform:rotate(180deg)}.portal-avatar{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:50%;color:#050816;background:#f7e2b6;font-size:.72rem;font-weight:850}.portal-avatar-small{width:30px;height:30px;font-size:.68rem}.portal-profile-menu{position:absolute;top:calc(100% + 10px);right:0;z-index:50;width:260px;display:grid;gap:6px;padding:8px;border:1px solid rgba(247,226,182,.18);border-radius:14px;background:#060c1afa;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 20px 50px #000000a6,0 0 0 1px #ffffff0d;transform-origin:top right;animation:portal-profile-menu-in .18s cubic-bezier(.2,.8,.3,1) both}@keyframes portal-profile-menu-in{0%{opacity:0;transform:translateY(-6px) scale(.96)}to{opacity:1;transform:none}}.portal-profile-identity{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:11px;margin-bottom:2px;padding:10px 10px 12px;border-bottom:1px solid rgba(247,226,182,.1)}.portal-profile-identity strong{color:#fff;font-size:.83rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-profile-identity span{color:#ffffff80;font-size:.7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-profile-menu>button{width:100%;min-height:38px;display:flex;align-items:center;gap:10px;padding:0 12px;border:0;border-radius:8px;color:#fffc;background:transparent;font-size:.82rem;font-weight:650;text-align:left;cursor:pointer;transition:color .15s ease,background-color .15s ease}.portal-profile-menu>button:hover{color:#ffb4a2;background:#ff64501f}.portal-topbar-beam{position:absolute;right:0;bottom:-1px;left:0;height:2px;pointer-events:none;background:linear-gradient(90deg,transparent 0%,rgba(247,226,182,.9) 35%,#d6a451 65%,transparent 100%);transform-origin:left center;animation:portal-topbar-beam .9s cubic-bezier(.22,.8,.28,1) both}@keyframes portal-topbar-beam{0%{opacity:0;transform:scaleX(0)}30%{opacity:.95}to{opacity:0;transform:scaleX(1)}}.portal-menu-button{width:38px;height:38px;display:none;align-items:center;justify-content:center;border:1px solid rgba(247,226,182,.15);border-radius:8px;color:#f7e2b6;background:#ffffff0d;cursor:pointer;transition:color .16s ease,background-color .16s ease,border-color .16s ease}.portal-menu-button:hover{border-color:#f7e2b659;background:#f7e2b61f;color:#fff}.portal-mobile-nav{display:none;padding:12px clamp(20px,3.2vw,52px) 16px;border-top:1px solid rgba(247,226,182,.08);background:#040814fa;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);animation:portal-mobile-nav-in .2s cubic-bezier(.2,.8,.3,1) both}@keyframes portal-mobile-nav-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.portal-mobile-nav-links{display:grid;gap:3px}.portal-mobile-nav-item{width:100%;min-height:42px;display:flex;align-items:center;gap:12px;padding:0 14px;border:0;border-radius:8px;color:#ffffffb3;background:transparent;font-size:.9rem;font-weight:650;text-align:left;cursor:pointer;transition:color .15s ease,background-color .15s ease}.portal-mobile-nav-item:hover{color:#fff;background:#ffffff14}.portal-mobile-nav-item.is-active{color:#f7e2b6;background:#f7e2b61f;font-weight:750}.portal-mobile-nav-actions{margin-top:12px;padding-top:12px;border-top:1px solid rgba(247,226,182,.1);display:grid;gap:8px}.portal-mobile-nav-logout{width:100%;min-height:40px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#ffffffb3;background:#ffffff08;font-size:.84rem;cursor:pointer}.portal-mobile-nav-logout:hover{color:#ffb4a2;border-color:#ff645040;background:#ff645014}@media(max-width:980px){.portal-topbar-inner{display:flex;justify-content:space-between}.portal-header-nav,.portal-profile-name{display:none}.portal-menu-button{display:inline-flex}.portal-mobile-nav{display:block}}@media(max-width:760px){.portal-topbar-inner{height:58px;padding:0 16px}.portal-brand-link img{width:112px;height:35px}.portal-brand-link span{font-size:.85rem;padding-left:10px;text-transform:none}.portal-context-chip span{display:none}.portal-context-chip{padding:0 9px}.portal-profile-menu{width:min(260px,calc(100vw - 32px))}.portal-mobile-nav{padding:10px 16px 14px}}@media(prefers-reduced-motion:reduce){.portal-topbar,.portal-nav-link,.portal-context-chip,.portal-profile-trigger,.portal-profile-menu,.portal-menu-button,.portal-mobile-nav{transition:none;animation:none}.portal-topbar-beam{display:none}}.portal-question-content-map{justify-content:flex-start;padding:clamp(18px,2.4vw,34px) clamp(20px,3.2vw,48px)!important}.portal-question-content-map>h1{margin-bottom:clamp(14px,2vh,24px);color:#fff;font-size:clamp(1.35rem,2.25vw,2rem)}.portal-teacher-map-layout{width:min(100%,1440px);min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,270px);gap:1px;margin:0 auto;overflow:hidden;border:1px solid rgba(247,226,182,.2);border-radius:14px;background:#f7e2b62e;box-shadow:0 22px 56px #00000047}.portal-teacher-map-stage{min-width:0;min-height:330px;display:flex;align-items:center;justify-content:center;padding:clamp(12px,2vw,24px);background:radial-gradient(circle at 50% 42%,#fffffffa,#ebefeff5),#eef1f1}.portal-teacher-map-canvas{position:relative;width:min(100%,var(--portal-map-width-cap));aspect-ratio:var(--portal-map-aspect);opacity:.58;transition:opacity .22s ease}.portal-teacher-map-canvas.is-loaded{opacity:1}.portal-teacher-map-canvas>img{width:100%;height:100%;display:block;object-fit:fill;-webkit-user-select:none;user-select:none}.portal-map-click-marker{position:absolute;z-index:2;width:29px;height:29px;display:inline-flex;align-items:center;justify-content:center;border:2px solid #ffffff;border-radius:50% 50% 50% 10%;color:#07101f;background:var(--marker-color);box-shadow:0 5px 14px #0309146b;font-size:.67rem;font-weight:900;line-height:1;transform:translate(-50%,-78%) rotate(-45deg);transform-origin:center;animation:portal-map-marker-in .28s cubic-bezier(.2,.85,.3,1.25) both}.portal-map-click-marker>i{font-style:normal;transform:rotate(45deg)}@keyframes portal-map-marker-in{0%{opacity:0;transform:translate(-50%,-50%) rotate(-45deg) scale(.45)}to{opacity:1;transform:translate(-50%,-78%) rotate(-45deg) scale(1)}}.portal-map-clicks-panel{min-height:0;display:flex;flex-direction:column;padding:18px;color:#fff;background:#070e1cf2}.portal-map-clicks-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:15px;border-bottom:1px solid rgba(247,226,182,.13)}.portal-map-clicks-heading>span{display:inline-flex;align-items:center;gap:7px;color:#f7e2b6c7;font-size:.69rem;font-weight:780;text-transform:uppercase}.portal-map-clicks-heading>strong{color:#f7e2b6;font-size:1.05rem;font-variant-numeric:tabular-nums}.portal-map-clicks-heading small{color:#ffffff6b;font-size:.68rem}.portal-map-clicks-panel ol{min-height:0;display:grid;align-content:start;gap:7px;margin:14px 0 0;padding:0 3px 0 0;overflow-y:auto;list-style:none}.portal-map-clicks-panel li{min-width:0;display:grid;grid-template-columns:29px minmax(0,1fr) auto;align-items:center;gap:9px;padding:7px 9px;border:1px solid rgba(247,226,182,.1);border-radius:8px;background:#ffffff0b}.portal-map-clicks-panel li.is-correct{border-color:#3fa97a47;background:#3fa97a17}.portal-map-clicks-panel li.is-incorrect{border-color:#e249604d;background:#e2496017}.portal-map-clicks-panel li>span{width:27px;height:27px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#07101f;font-size:.66rem;font-weight:900}.portal-map-clicks-panel li>strong{overflow:hidden;font-size:.74rem;text-overflow:ellipsis;white-space:nowrap}.portal-map-clicks-panel li>em{color:#ffffff7a;font-size:.6rem;font-style:normal;font-weight:760;text-transform:uppercase}.portal-map-clicks-panel li.is-correct>em{color:#8ee6c4}.portal-map-clicks-panel li.is-incorrect>em{color:#ff9aaa}.portal-map-clicks-empty{flex:1;min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#ffffff6b;text-align:center}.portal-map-clicks-empty svg{margin-bottom:5px;color:#f7e2b68c}.portal-map-clicks-empty strong{color:#ffffffc2;font-size:.76rem}.portal-map-clicks-empty span{max-width:170px;font-size:.66rem;line-height:1.45}.portal-reveal-results>.portal-teacher-map-layout{margin-top:28px;grid-template-columns:minmax(0,1fr) minmax(180px,230px)}.portal-reveal-results .portal-teacher-map-stage{min-height:300px}@media(max-width:1120px){.portal-teacher-map-layout{grid-template-columns:minmax(0,1fr) 220px}.portal-reveal-results>.portal-teacher-map-layout{grid-template-columns:minmax(0,1fr) 190px}}@media(max-width:760px){.portal-teacher-map-layout,.portal-reveal-results>.portal-teacher-map-layout{grid-template-columns:1fr}.portal-teacher-map-stage,.portal-reveal-results .portal-teacher-map-stage{min-height:280px}.portal-map-clicks-panel ol{max-height:170px}.portal-map-clicks-empty{min-height:100px}}@media(prefers-reduced-motion:reduce){.portal-map-click-marker,.portal-teacher-map-canvas{animation:none;transition:none}}.portal-root .portal-owned-group{display:grid;gap:14px}.portal-root .portal-owned-group+.portal-owned-group{margin-top:26px;padding-top:24px;border-top:1px solid rgba(247,226,182,.12)}.portal-root .portal-owned-group-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.portal-root .portal-owned-group-head h3{display:inline-flex;align-items:center;gap:8px;margin:0;color:#f4f6ff;font:800 1.02rem Sora,sans-serif}.portal-root .portal-owned-group-head span{color:#ffffff73;font-size:.8rem;font-weight:700}.portal-root .portal-owned-group-empty{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:18px 20px;border:1px dashed rgba(247,226,182,.18);border-radius:8px;color:#ffffff8c;background:#0a101e80;font-size:.88rem}@keyframes portal-auth-window-rise{0%{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}.portal-auth-root{position:relative;min-height:100svh;overflow:hidden;display:block;color:#fff;background:radial-gradient(circle at 50% 38%,rgba(214,164,81,.09),transparent 27%),radial-gradient(circle at 18% 78%,rgba(57,119,167,.07),transparent 24%),#02030a;font-family:Manrope,Arial,sans-serif}.portal-auth-root.portal-auth-root:before{inset:0;opacity:.86;background-image:radial-gradient(circle at 2% 17%,rgba(255,255,255,.72) 0 .7px,transparent 1.3px),radial-gradient(circle at 5% 74%,rgba(221,232,255,.42) 0 .5px,transparent 1.1px),radial-gradient(circle at 12% 28%,rgba(255,239,212,.9) 0 1px,transparent 1.7px),radial-gradient(circle at 13.5% 32%,rgba(255,255,255,.3) 0 .45px,transparent 1px),radial-gradient(circle at 18% 88%,rgba(221,232,255,.68) 0 .75px,transparent 1.35px),radial-gradient(circle at 26% 11%,rgba(255,255,255,.38) 0 .5px,transparent 1px),radial-gradient(circle at 29% 58%,rgba(255,255,255,.82) 0 .85px,transparent 1.5px),radial-gradient(circle at 31% 61%,rgba(255,239,212,.34) 0 .45px,transparent 1px),radial-gradient(circle at 43% 19%,rgba(221,232,255,.78) 0 .9px,transparent 1.55px),radial-gradient(circle at 46% 78%,rgba(255,255,255,.46) 0 .55px,transparent 1.1px),radial-gradient(circle at 54% 7%,rgba(255,239,212,.58) 0 .65px,transparent 1.2px),radial-gradient(circle at 55% 44%,rgba(255,255,255,.88) 0 1px,transparent 1.65px),radial-gradient(circle at 57.5% 46%,rgba(221,232,255,.3) 0 .45px,transparent .95px),radial-gradient(circle at 63% 89%,rgba(255,255,255,.74) 0 .8px,transparent 1.4px),radial-gradient(circle at 72% 27%,rgba(255,239,212,.4) 0 .5px,transparent 1.05px),radial-gradient(circle at 76% 68%,rgba(221,232,255,.82) 0 .9px,transparent 1.55px),radial-gradient(circle at 77.5% 71%,rgba(255,255,255,.28) 0 .45px,transparent .95px),radial-gradient(circle at 85% 14%,rgba(255,255,255,.64) 0 .7px,transparent 1.25px),radial-gradient(circle at 92% 52%,rgba(255,239,212,.86) 0 .95px,transparent 1.6px),radial-gradient(circle at 96% 91%,rgba(221,232,255,.48) 0 .55px,transparent 1.1px);background-position:0 0;background-size:100% 100%;animation:none;transform:none}.portal-auth-root:after{content:"";position:fixed;top:50%;left:50%;z-index:0;width:min(78vw,920px);height:min(78vw,920px);border:1px solid rgba(247,226,182,.055);border-radius:50%;pointer-events:none;transform:translate(-50%,-50%)}.portal-auth-main{position:relative;z-index:1;width:100%;min-height:100svh;display:flex;align-items:center;justify-content:center;padding:32px 22px;background:transparent}.portal-auth-main:before,.portal-auth-main:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.portal-auth-main:before{top:9%;right:12%;width:190px;height:190px;border:1px dashed rgba(247,226,182,.075)}.portal-auth-main:after{bottom:8%;left:10%;width:310px;height:310px;border:1px solid rgba(247,226,182,.045)}.portal-auth-form-wrap{position:relative;z-index:2;width:min(100%,460px);overflow:hidden;padding:40px;border:1px solid rgba(247,226,182,.17);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.045),transparent 44%),#080e1b94;box-shadow:0 34px 90px #0000007a,inset 0 1px #ffffff0b;backdrop-filter:blur(28px) saturate(125%);-webkit-backdrop-filter:blur(28px) saturate(125%);animation:portal-auth-window-rise .62s cubic-bezier(.2,.7,.3,1) both}.portal-auth-form-wrap:before{content:"";position:absolute;top:0;left:50%;width:46%;height:1px;background:linear-gradient(90deg,transparent,rgba(247,226,182,.72),transparent);transform:translate(-50%)}.portal-auth-heading>span{color:#f7e2b6cc;font-size:.68rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.portal-auth-heading h1{margin:9px 0 0;color:#fff;font-family:Sora,sans-serif;font-size:2rem;font-weight:700;line-height:1.12;letter-spacing:-.035em}.portal-auth-heading p{margin:10px 0 30px!important;color:#ffffff80!important;font-size:.84rem!important;line-height:1.55}.portal-auth-form-wrap>.portal-notice{min-height:48px;margin:0 0 22px;padding:11px 13px;border-radius:10px;font-size:.76rem}.portal-auth-form-wrap>.portal-notice button{width:30px;height:30px;border-radius:8px}.portal-auth-form{display:grid;gap:19px}.portal-auth-consent-heading p{margin-bottom:22px!important}.portal-auth-consent{display:grid;gap:16px}.portal-auth-legal-copy{display:grid;gap:8px}.portal-auth-legal-copy details{padding:12px 14px;border:1px solid rgba(247,226,182,.13);border-radius:10px;color:#ffffff94;background:#ffffff06;font-size:.72rem;line-height:1.55}.portal-auth-legal-copy summary{color:#f7e2b6d1;font-weight:750;cursor:pointer}.portal-auth-legal-copy p{margin:9px 0 0!important;color:#ffffff94!important;font-size:inherit!important;line-height:inherit}.portal-auth-consent-check{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:10px;color:#ffffffb8;font-size:.75rem;line-height:1.55;cursor:pointer}.portal-auth-consent-check input{width:18px;height:18px;margin:1px 0 0;accent-color:#efd39a}.portal-auth-consent-version{color:#ffffff61;font-size:.65rem;text-align:center}.portal-auth-consent-cancel{justify-self:center;padding:7px 13px;border:0;color:#ffffff8c;background:transparent;font-size:.73rem;font-weight:700;cursor:pointer}.portal-auth-consent-cancel:hover:not(:disabled){color:#f7e2b6}.portal-auth-consent-cancel:disabled{opacity:.5;cursor:wait}.portal-auth-form label{display:grid;gap:8px}.portal-auth-form label>span{color:#f7e2b6b8;font-size:.7rem;font-weight:750}.portal-auth-input{min-height:52px;display:flex;align-items:center;gap:11px;padding:0 14px;border:1px solid rgba(247,226,182,.15);border-radius:11px;color:#f7e2b685;background:#ffffff09;transition:color .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}.portal-auth-input:hover{border-color:#f7e2b640;background:#ffffff0b}.portal-auth-input:focus-within{color:#f7e2b6;border-color:#f7e2b670;background:#ffffff0e;box-shadow:0 0 0 3px #f7e2b611}.portal-auth-input>span{display:inline-flex;flex:0 0 auto}.portal-auth-form .portal-auth-input input{min-width:0;flex:1;padding:0;border:0;outline:0;color:#fff;background:transparent;font-size:.84rem}.portal-auth-form .portal-auth-input input::placeholder{color:#ffffff47}.portal-auth-password-toggle{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;margin-right:-6px;border:0;border-radius:8px;color:#fff6;background:transparent;cursor:pointer;transition:color .16s ease,background .16s ease}.portal-auth-password-toggle:hover{color:#f7e2b6;background:#f7e2b612}.portal-auth-submit{width:100%;min-height:54px;display:grid;grid-template-columns:20px minmax(0,1fr) 20px;align-items:center;gap:9px;margin-top:5px;padding:0 18px;border:0;border-radius:11px;color:#101820;background:linear-gradient(120deg,#f7e2b6,#efd39a);font-family:Sora,sans-serif;font-size:.88rem;font-weight:700;cursor:pointer;box-shadow:0 16px 34px #d6a4512b;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.portal-auth-submit:before{content:"";width:20px}.portal-auth-submit>svg:first-child{grid-column:1}.portal-auth-submit>span{grid-column:2}.portal-auth-submit>svg:last-child{grid-column:3}.portal-auth-submit:hover:not(:disabled){filter:brightness(1.035);box-shadow:0 21px 44px #d6a4513d;transform:translateY(-2px)}.portal-auth-submit:active:not(:disabled){transform:translateY(0)}.portal-auth-submit:disabled{opacity:.62;cursor:wait}.portal-auth-help{display:flex;align-items:center;justify-content:center;gap:7px;margin:20px 0 0;color:#fff6!important;font-size:.66rem;line-height:1.4;text-align:center}.portal-auth-help svg{flex:0 0 auto;color:#f7e2b69e}.portal-auth-loading{min-height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.portal-auth-loading-icon{width:62px;height:62px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:19px;border:1px solid rgba(247,226,182,.18);border-radius:17px;color:#f7e2b6;background:#f7e2b612}.portal-auth-loading strong{color:#fff;font-family:Sora,sans-serif;font-size:1rem;font-weight:600}.portal-auth-loading>span:last-child{margin-top:7px;color:#ffffff70!important;font-size:.75rem}@media(max-width:540px){.portal-auth-main{padding:16px 14px}.portal-auth-main:before{top:5%;right:-80px}.portal-auth-main:after{bottom:4%;left:-170px}.portal-auth-form-wrap{padding:30px 22px;border-radius:17px}.portal-auth-heading h1{font-size:1.72rem}.portal-auth-heading p{margin-bottom:25px!important}.portal-auth-input{min-height:50px}.portal-auth-help{align-items:flex-start}}@media(max-height:620px){.portal-auth-main{align-items:flex-start}}@media(prefers-reduced-motion:reduce){.portal-auth-form-wrap{animation:none}}.portal-auth-social{display:flex;flex-direction:column;gap:11px;margin-top:18px}.portal-auth-social-divider{display:flex;align-items:center;gap:12px;color:#ffffff57;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase}.portal-auth-social-divider:before,.portal-auth-social-divider:after{content:"";flex:1 1 auto;height:1px;background:linear-gradient(90deg,transparent,rgba(247,226,182,.16),transparent)}.portal-auth-google{display:flex;justify-content:center;min-height:44px;color-scheme:dark}.portal-auth-google>div{width:100%}.portal-auth-google-pending{opacity:0}.portal-auth-google-locked{pointer-events:none;opacity:.55}.portal-auth-apple{width:100%;min-height:46px;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 18px;border:1px solid rgba(255,255,255,.16);border-radius:999px;color:#fff;background:#000;font-family:Sora,sans-serif;font-size:.84rem;font-weight:600;cursor:pointer;transition:border-color .18s ease,transform .18s ease}.portal-auth-apple:hover:not(:disabled){border-color:#ffffff57}.portal-auth-apple:active:not(:disabled){transform:translateY(1px)}.portal-auth-apple:disabled{cursor:not-allowed;opacity:.55}.portal-lobby-root{position:relative;isolation:isolate;overflow:hidden;min-height:100vh;display:flex;flex-direction:column;color:#fff;font-family:Manrope,Arial,sans-serif;background:radial-gradient(circle at 43% 34%,rgba(214,164,81,.08),transparent 28%),linear-gradient(to bottom,#03071214,#030712b8),#02030a}.portal-lobby-root *,.portal-game-root *{box-sizing:border-box}.portal-lobby-root button,.portal-game-root button{font:inherit;letter-spacing:0}.portal-lobby-root section,.portal-game-root section{padding:0;text-align:left}.portal-lobby-root section p,.portal-game-root section p{max-width:none;color:inherit}.portal-lobby-root section h2,.portal-game-root section h2{margin:0;color:inherit;font-family:inherit}.portal-lobby-root:before,.portal-game-root:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.86;background-image:radial-gradient(circle at 2% 17%,rgba(255,255,255,.72) 0 .7px,transparent 1.3px),radial-gradient(circle at 5% 74%,rgba(221,232,255,.42) 0 .5px,transparent 1.1px),radial-gradient(circle at 12% 28%,rgba(255,239,212,.9) 0 1px,transparent 1.7px),radial-gradient(circle at 13.5% 32%,rgba(255,255,255,.3) 0 .45px,transparent 1px),radial-gradient(circle at 18% 88%,rgba(221,232,255,.68) 0 .75px,transparent 1.35px),radial-gradient(circle at 26% 11%,rgba(255,255,255,.38) 0 .5px,transparent 1px),radial-gradient(circle at 29% 58%,rgba(255,255,255,.82) 0 .85px,transparent 1.5px),radial-gradient(circle at 31% 61%,rgba(255,239,212,.34) 0 .45px,transparent 1px),radial-gradient(circle at 43% 19%,rgba(221,232,255,.78) 0 .9px,transparent 1.55px),radial-gradient(circle at 46% 78%,rgba(255,255,255,.46) 0 .55px,transparent 1.1px),radial-gradient(circle at 54% 7%,rgba(255,239,212,.58) 0 .65px,transparent 1.2px),radial-gradient(circle at 55% 44%,rgba(255,255,255,.88) 0 1px,transparent 1.65px),radial-gradient(circle at 57.5% 46%,rgba(221,232,255,.3) 0 .45px,transparent .95px),radial-gradient(circle at 63% 89%,rgba(255,255,255,.74) 0 .8px,transparent 1.4px),radial-gradient(circle at 72% 27%,rgba(255,239,212,.4) 0 .5px,transparent 1.05px),radial-gradient(circle at 76% 68%,rgba(221,232,255,.82) 0 .9px,transparent 1.55px),radial-gradient(circle at 77.5% 71%,rgba(255,255,255,.28) 0 .45px,transparent .95px),radial-gradient(circle at 85% 14%,rgba(255,255,255,.64) 0 .7px,transparent 1.25px),radial-gradient(circle at 92% 52%,rgba(255,239,212,.86) 0 .95px,transparent 1.6px),radial-gradient(circle at 96% 91%,rgba(221,232,255,.48) 0 .55px,transparent 1.1px)}@keyframes portal-lobby-rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes portal-lobby-pop{0%{opacity:0;transform:scale(.9) translateY(8px)}to{opacity:1;transform:none}}@keyframes portal-lobby-pulse{0%,to{opacity:1;box-shadow:0 0 #f7e2b680}50%{opacity:.55;box-shadow:0 0 0 9px #f7e2b600}}@keyframes portal-lobby-aurora{0%,to{transform:translate3d(-6%,-4%,0) scale(1);opacity:.5}50%{transform:translate3d(6%,6%,0) scale(1.16);opacity:.82}}@keyframes portal-lobby-spin{to{transform:rotate(360deg)}}@keyframes portal-lobby-spin-rev{to{transform:rotate(-360deg)}}.portal-lobby-bar{position:relative;z-index:2;height:86px;display:flex;align-items:center;gap:18px;padding:0 clamp(24px,4vw,64px);border-bottom:1px solid rgba(247,226,182,.1);background:linear-gradient(180deg,#060c1ae6,#03081299)}.portal-lobby-bar>img{width:111px;height:35px;display:block;object-fit:contain}.portal-lobby-context{overflow:hidden;padding-left:12px;border-left:1px solid rgba(255,255,255,.24);color:#ffffffb8;font-size:.86rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.portal-lobby-status{height:36px;display:inline-flex;align-items:center;gap:9px;flex:0 0 auto;margin-left:auto;padding:0 15px;border:1px solid rgba(247,226,182,.22);border-radius:999px;color:#f7e2b6;background:#f7e2b612;font-size:.78rem;font-weight:700}.portal-lobby-status>span{width:7px;height:7px;border-radius:50%;background:#f7e2b6;animation:portal-lobby-pulse 2s ease-in-out infinite}.portal-lobby-close{height:36px;flex:0 0 auto;padding:0 16px;display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.14);border-radius:999px;color:#fff9;background:transparent;font-size:.8rem;font-weight:700;cursor:pointer;transition:color .16s ease,border-color .16s ease}.portal-lobby-close:hover{color:#fff;border-color:#ffffff57}.portal-lobby-main{position:relative;z-index:1;flex:1;min-height:0;display:grid;grid-template-columns:minmax(500px,.98fr) minmax(0,1.02fr);gap:clamp(24px,2.4vw,34px);padding:clamp(24px,3vw,42px) clamp(24px,4vw,64px) clamp(24px,3vw,40px)}.portal-lobby-join-card{position:relative;overflow:hidden;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(24px,2.8vw,40px);border:1px solid rgba(247,226,182,.2);border-radius:22px;background:#0a101eb8;box-shadow:0 30px 76px #0006;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);animation:portal-lobby-rise .62s cubic-bezier(.2,.7,.3,1) both}.portal-lobby-glow,.portal-lobby-ring,.portal-lobby-orbit,.portal-lobby-orbit-flat{position:absolute;border-radius:50%;pointer-events:none}.portal-lobby-glow{top:-160px;left:50%;width:520px;height:520px;margin-left:-260px;background:radial-gradient(circle,rgba(247,226,182,.2),rgba(214,164,81,.05) 55%,transparent 72%);animation:portal-lobby-aurora 18s ease-in-out infinite}.portal-lobby-ring{top:50%;left:50%;width:520px;height:520px;margin:-260px 0 0 -260px;border:1px solid rgba(247,226,182,.07)}.portal-lobby-orbit{top:50%;left:50%;width:390px;height:390px;margin:-195px 0 0 -195px;border:1px dashed rgba(247,226,182,.12);animation:portal-lobby-spin 60s linear infinite}.portal-lobby-orbit-flat{top:50%;left:50%;width:580px;height:200px;margin:-100px 0 0 -290px;border:1px solid rgba(255,255,255,.06);animation:portal-lobby-spin-rev 90s linear infinite}.portal-lobby-join-card>:not(.portal-lobby-glow):not(.portal-lobby-ring):not(.portal-lobby-orbit):not(.portal-lobby-orbit-flat){position:relative}.portal-lobby-eyebrow{margin:0;color:#ffffff80;font-size:.72rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.portal-lobby-pin{display:block;max-width:100%;margin:14px 0 0;color:#f7e2b6;font-family:Sora,sans-serif;font-size:clamp(3rem,4.4vw,4.5rem);font-weight:700;line-height:1;letter-spacing:.1em;white-space:nowrap;text-shadow:0 0 60px rgba(247,226,182,.25)}.portal-lobby-hint{max-width:390px;margin:13px 0 0;color:#ffffff8c;font-size:.9rem;line-height:1.5;text-align:center}.portal-lobby-qr{width:min(100%,496px);display:grid;gap:10px;justify-items:center;margin-top:18px;padding:16px;border:1px solid rgba(247,226,182,.16);border-radius:22px;background:#ffffff0a}.portal-lobby-qr-frame{width:min(460px,100%);aspect-ratio:1;display:grid;place-items:center;overflow:hidden;border-radius:16px;background:#fff;color:#0b1020}.portal-lobby-qr-frame img{width:100%;height:100%;display:block;object-fit:contain}.portal-lobby-qr-fallback{display:grid;place-items:center;color:#0b10208c}.portal-lobby-qr small{color:#ffffff80;font-size:.78rem;font-weight:600}.portal-lobby-side{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:20px;animation:portal-lobby-rise .7s .12s cubic-bezier(.2,.7,.3,1) both}.portal-lobby-side-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.portal-lobby-side-head h2{margin:0;font-family:Sora,sans-serif;font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.portal-lobby-side-head p{margin:8px 0 0;color:#ffffff80;font-size:.9rem}.portal-lobby-counter{display:inline-flex;align-items:baseline;gap:8px;color:#f7e2b6;font-family:Sora,sans-serif}.portal-lobby-counter strong{font-size:2.6rem;font-weight:700;line-height:1;letter-spacing:-.03em}.portal-lobby-counter>span{color:#fff6;font:600 .86rem Manrope,sans-serif}.portal-lobby-player-area{min-height:0;overflow:auto;padding:22px;border:1px solid rgba(247,226,182,.12);border-radius:20px;background:#0a101e99;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.portal-lobby-player-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(212px,1fr));gap:12px}.portal-lobby-player{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:13px;padding:13px 15px;border:1px solid rgba(247,226,182,.1);border-radius:14px;background:#ffffff08;animation:portal-lobby-pop .42s cubic-bezier(.2,.7,.3,1) both}.portal-lobby-root .portal-lobby-player-kick,.portal-lobby-player-kick{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#ffffff73;background:transparent;cursor:pointer;opacity:0;transition:opacity .16s ease,color .16s ease,border-color .16s ease}.portal-lobby-player:hover .portal-lobby-player-kick,.portal-lobby-player-kick:focus-visible{opacity:1}.portal-lobby-player-kick:hover{color:#ffb4b4;border-color:#ffb4b466}.portal-lobby-player>span:first-child{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(247,226,182,.18);border-radius:12px;color:#f7e2b6;background:#f7e2b61a;font:700 .82rem Sora,sans-serif}.portal-lobby-player>span:last-child{min-width:0;overflow:hidden;font-size:.92rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.portal-lobby-waiting{height:100%;min-height:260px;display:grid;place-items:center;align-content:center;gap:14px;text-align:center}.portal-lobby-waiting-icon{width:58px;height:58px;display:grid;place-items:center;border:1px solid rgba(247,226,182,.2);border-radius:50%;color:#f7e2b6b3;animation:portal-lobby-pulse 2.4s ease-in-out infinite}.portal-lobby-waiting strong{font:600 1.05rem Sora,sans-serif}.portal-lobby-waiting>span:last-child{max-width:300px;color:#ffffff73;font-size:.86rem;line-height:1.5}.portal-lobby-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px;padding:20px 24px;border:1px solid rgba(247,226,182,.14);border-radius:20px;background:#0a101eb3;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.portal-lobby-actions>div{min-width:0;display:grid;gap:4px}.portal-lobby-actions strong{font:600 1rem Sora,sans-serif}.portal-lobby-actions span{color:#ffffff7a;font-size:.84rem}.portal-lobby-start{height:56px;margin-left:auto;padding:0 30px;display:inline-flex;align-items:center;gap:12px;border:0;border-radius:14px;color:#101820;background:linear-gradient(120deg,#f7e2b6,#efd39a);font:700 1.05rem Sora,sans-serif;cursor:pointer;box-shadow:0 18px 40px #d6a4513d;transition:transform .18s ease,box-shadow .18s ease}.portal-lobby-start:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 24px 54px #d6a45157}.portal-lobby-start:disabled{color:#ffffff59;background:#ffffff0d;box-shadow:none;cursor:not-allowed}@media(max-width:1180px){.portal-lobby-main{grid-template-columns:minmax(0,1fr)}.portal-lobby-join-card{padding:34px 26px}.portal-lobby-player-area{min-height:280px}}@media(max-width:760px){.portal-lobby-bar{height:auto;flex-wrap:wrap;gap:12px;padding:16px 20px}.portal-lobby-context{max-width:calc(100% - 130px);padding-left:0;border-left:0}.portal-lobby-status{margin-left:0}.portal-lobby-main{padding:20px}.portal-lobby-pin{font-size:2.8rem}.portal-lobby-qr-frame{width:min(460px,74vw)}.portal-lobby-start{width:100%;margin-left:0;justify-content:center}}@media(prefers-reduced-motion:reduce){.portal-lobby-glow,.portal-lobby-orbit,.portal-lobby-orbit-flat,.portal-lobby-join-card,.portal-lobby-side,.portal-lobby-player,.portal-lobby-status>span,.portal-lobby-waiting-icon{animation:none}}.portal-game-root{position:relative;isolation:isolate;overflow:hidden;min-height:100vh;display:flex;flex-direction:column;color:#fff;font-family:Manrope,Arial,sans-serif;background:radial-gradient(circle at 43% 34%,rgba(214,164,81,.07),transparent 29%),linear-gradient(to bottom,#03071214,#030712b8),#02030a}.portal-game-countdown-root .portal-countdown-screen{position:relative;z-index:1;flex:1;min-height:0}@keyframes portal-game-rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes portal-game-riseup{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}@keyframes portal-game-pulse{0%,to{opacity:1;box-shadow:0 0 #f7e2b680}50%{opacity:.55;box-shadow:0 0 0 9px #f7e2b600}}.portal-game-bar{position:relative;isolation:isolate;z-index:2;height:78px;display:flex;align-items:center;gap:18px;padding:0 clamp(24px,3.4vw,52px);border-bottom:1px solid rgba(247,226,182,.1);background:linear-gradient(180deg,#060c1ae6,#03081299);transform:translateZ(0)}.portal-game-bar>*{position:relative;z-index:1}.portal-game-bar>img{width:100px;height:32px;display:block;object-fit:contain}.portal-game-context{min-width:0;overflow:hidden;padding-left:12px;border-left:1px solid rgba(255,255,255,.24);color:#ffffffb3;font-size:.84rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.portal-game-players{height:34px;flex:0 0 auto;display:inline-flex;align-items:center;gap:9px;margin-left:auto;padding:0 14px;border:1px solid rgba(247,226,182,.2);border-radius:999px;color:#f7e2b6;background:#f7e2b612;font-size:.78rem;font-weight:700}.portal-game-close{width:34px;height:34px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.14);border-radius:10px;color:#ffffff8c;background:transparent;cursor:pointer;transition:color .16s ease,border-color .16s ease}.portal-game-close:hover{color:#fff;border-color:#ffffff57}.portal-game-main{position:relative;z-index:1;flex:1;min-height:0;display:grid;gap:28px;padding:clamp(24px,3vw,40px) clamp(24px,3.4vw,52px) clamp(22px,2.4vw,34px);animation:portal-game-rise .52s cubic-bezier(.2,.7,.3,1) both}.portal-game-main-question{grid-template-columns:minmax(0,1fr) 340px}.portal-game-main-reveal{grid-template-columns:minmax(0,1fr) 380px}.portal-game-stage{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:22px}.portal-game-meta{display:flex;align-items:center;gap:14px}.portal-game-counter{height:30px;display:inline-flex;align-items:center;padding:0 13px;border:1px solid rgba(247,226,182,.22);border-radius:999px;color:#f7e2b6;background:#f7e2b614;font-size:.76rem;font-weight:800;letter-spacing:.08em}.portal-game-kind{display:inline-flex;align-items:center;gap:8px;color:#ffffff73;font-size:.84rem;font-weight:600}.portal-game-question-head h1{max-width:1000px;margin:16px 0 0;font-family:Sora,sans-serif;font-size:clamp(1.9rem,3vw,2.9rem);font-weight:700;line-height:1.1;letter-spacing:-.03em;text-wrap:pretty}.portal-game-canvas{position:relative;min-height:0;overflow:hidden;border:1px solid rgba(247,226,182,.14);border-radius:20px;background:#050816;box-shadow:0 26px 64px #00000057}.portal-game-canvas>*{width:100%;height:100%}.portal-game-canvas .portal-teacher-map-layout{max-width:none;margin:0;border:0;border-radius:0;box-shadow:none}.portal-game-canvas .portal-teacher-map-stage{min-height:0}.portal-game-side{min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:18px}.portal-game-side-reveal{grid-template-rows:minmax(0,1fr) auto}.portal-game-panel{border:1px solid rgba(247,226,182,.14);border-radius:20px;background:#0a101eb3;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.portal-game-root .portal-eyebrow{margin:0;color:#f7e2b6b8;font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.portal-game-host-answer{display:grid;gap:8px;padding:18px 22px;border-color:#f7e2b647;background:#f7e2b614}.portal-game-host-answer strong{color:#f7e2b6;font:700 1.05rem/1.3 Sora,sans-serif}.portal-game-root .portal-roster-kick{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid rgba(255,255,255,.12);border-radius:7px;color:#fff6;background:transparent;cursor:pointer;transition:color .16s ease,border-color .16s ease,background .16s ease}.portal-game-root .portal-roster-kick:hover{color:#ffb4b4;border-color:#ffb4b466;background:#ff78781f}.portal-game-answers{display:grid;gap:16px;padding:26px 26px 24px}.portal-game-answers-value{display:flex;align-items:baseline;gap:10px}.portal-game-answers-value strong{font:700 3.2rem/.9 Sora,sans-serif;letter-spacing:-.04em}.portal-game-answers-value span{color:#ffffff6b;font-size:1rem;font-weight:600}.portal-game-root .portal-meter{height:5px;overflow:hidden;border-radius:999px;background:#ffffff17}.portal-game-root .portal-meter>div{height:100%;border-radius:inherit;background:linear-gradient(90deg,#d6a451,#f7e2b6);transition:width .24s ease}.portal-game-timer{display:flex;align-items:center;gap:14px;padding:20px 24px}.portal-game-dot{width:10px;height:10px;flex:0 0 auto;border-radius:50%;background:#f7e2b6;animation:portal-game-pulse 1.6s ease-in-out infinite}.portal-game-timer>div{display:grid;gap:2px}.portal-game-timer strong{font:700 1.4rem Sora,sans-serif;letter-spacing:-.02em}.portal-game-timer span{color:#ffffff6b;font-size:.78rem}.portal-game-timer>button{height:40px;margin-left:auto;padding:0 16px;display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(247,226,182,.2);border-radius:11px;color:#ffffffc7;background:#ffffff08;font-size:.82rem;font-weight:700;cursor:pointer}.portal-game-roster{min-height:0;overflow:auto;padding:22px 24px}.portal-game-roster>div{display:grid;gap:8px;margin-top:14px}.portal-game-roster-row{display:grid;grid-template-columns:30px minmax(0,1fr) 16px auto;align-items:center;gap:11px;padding:8px 0;border-top:1px solid rgba(255,255,255,.05)}.portal-game-roster-row>span:first-child{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;color:#ffffff4d;background:#ffffff0a;font:700 .7rem Sora,sans-serif}.portal-game-roster-row>span:nth-child(2){min-width:0;overflow:hidden;color:#ffffff59;font-size:.86rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.portal-game-roster-row.is-done>span:first-child{color:#f7e2b6;background:#f7e2b61a}.portal-game-roster-row.is-done>span:nth-child(2){color:#fff}.portal-game-roster-row svg{color:#8ee6c4e6}.portal-game-reveal-head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:18px}.portal-game-reveal-head h1{margin:12px 0 0;font-family:Sora,sans-serif;font-size:clamp(1.7rem,2.6vw,2.5rem);font-weight:700;line-height:1.1;letter-spacing:-.03em}.portal-game-hits{height:38px;display:inline-flex;align-items:center;gap:9px;padding:0 16px;border:1px solid rgba(63,169,122,.34);border-radius:999px;color:#8ee6c4;background:#3fa97a24;font-size:.84rem;font-weight:700}.portal-game-standings{min-height:0;overflow:auto;padding:26px}.portal-game-standings>div{display:grid;gap:4px;margin-top:18px}.portal-game-standing-row{display:grid;grid-template-columns:26px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:11px 0;border-top:1px solid rgba(255,255,255,.05)}.portal-game-standing-row>span:first-child{color:#fff6;font:700 .88rem Sora,sans-serif}.portal-game-standing-row>span:first-child.is-top{color:#f7e2b6}.portal-game-standing-row>span:nth-child(2){min-width:0;overflow:hidden;font-size:.9rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.portal-game-standing-row>span:nth-child(3){color:#ffffff47;font-size:.76rem;font-weight:700}.portal-game-standing-row>span:nth-child(3).is-gain{color:#8ee6c4e6}.portal-game-standing-row strong{color:#f7e2b6;font:600 .92rem Sora,sans-serif}.portal-game-primary{height:58px;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:0 26px;border:0;border-radius:14px;color:#101820;background:linear-gradient(120deg,#f7e2b6,#efd39a);font:700 1.04rem Sora,sans-serif;cursor:pointer;box-shadow:0 18px 40px #d6a4513d;transition:transform .18s ease,box-shadow .18s ease}.portal-game-primary:hover{transform:translateY(-2px);box-shadow:0 24px 54px #d6a45157}.portal-game-answer-canvas{display:grid;place-items:center;padding:clamp(24px,4vw,60px)}.portal-game-answer-grid{max-width:1100px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.portal-game-answer{min-height:150px;display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:20px;padding:24px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:#ffffff0b}.portal-game-answer>span{width:52px;height:52px;display:grid;place-items:center;border-radius:14px;color:#f7e2b6;background:#f7e2b61a;font:700 1.05rem Sora,sans-serif}.portal-game-answer strong{font:600 clamp(1rem,1.5vw,1.28rem)/1.4 Sora,sans-serif}.portal-game-result-bars{align-self:center;max-width:900px;height:auto!important;display:grid;gap:22px}.portal-game-result-bars>div{display:grid;grid-template-columns:42px minmax(0,1fr) 36px;align-items:center;gap:16px}.portal-game-result-bars span{color:#f7e2b6;font:700 1rem Sora,sans-serif}.portal-game-result-bars i{height:28px;overflow:hidden;border-radius:8px;background:#ffffff12}.portal-game-result-bars b{height:100%;display:block;border-radius:inherit;background:#ffffff42}.portal-game-result-bars .is-correct b{background:linear-gradient(90deg,#3fa97a,#8ee6c4)}.portal-game-result-bars strong{text-align:right}.portal-game-main-podium{grid-template-columns:minmax(0,1fr) 400px;gap:40px;padding:clamp(28px,3.4vw,48px) clamp(24px,3.4vw,52px) clamp(24px,2.6vw,40px)}.portal-podium-stage{min-width:0;display:flex;flex-direction:column;justify-content:center}.portal-podium-stage h1{margin:14px 0 0;font-family:Sora,sans-serif;font-size:clamp(2.2rem,3.4vw,3.3rem);font-weight:700;line-height:1.05;letter-spacing:-.035em}.portal-podium-summary{margin:12px 0 0;color:#ffffff80;font-size:.95rem}.portal-podium-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:20px;margin-top:44px}.portal-podium-card{position:relative;overflow:hidden;display:grid;justify-items:center;gap:12px;padding:26px 20px 24px;border-radius:20px 20px 8px 8px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);animation:portal-game-riseup .7s cubic-bezier(.2,.7,.3,1) both}.portal-podium-glow{position:absolute;top:-70px;left:50%;width:180px;height:180px;margin-left:-90px;border-radius:50%;pointer-events:none}.portal-podium-card>*:not(.portal-podium-glow){position:relative}.portal-podium-rank{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:#02060e80;font:700 1.1rem Sora,sans-serif}.portal-podium-card strong{font:600 1.08rem/1.3 Sora,sans-serif;text-align:center}.portal-podium-score{font:700 1.5rem Sora,sans-serif;letter-spacing:-.02em}.portal-podium-detail{color:#ffffff6b;font-size:.78rem}.portal-podium-1{height:272px;border:1px solid rgba(247,226,182,.4);background:#f7e2b612;animation-delay:.16s}.portal-podium-1 .portal-podium-glow{background:radial-gradient(circle,rgba(247,226,182,.22),transparent 70%)}.portal-podium-1 .portal-podium-rank{color:#f7e2b6;border:1px solid rgba(247,226,182,.4)}.portal-podium-1 .portal-podium-score{color:#f7e2b6}.portal-podium-2{height:232px;border:1px solid rgba(223,228,238,.28);background:#ffffff0b;animation-delay:60ms}.portal-podium-2 .portal-podium-glow{background:radial-gradient(circle,rgba(223,228,238,.14),transparent 70%)}.portal-podium-2 .portal-podium-rank{color:#dfe4ee;border:1px solid rgba(223,228,238,.28)}.portal-podium-2 .portal-podium-score{color:#dfe4ee}.portal-podium-3{height:206px;border:1px solid rgba(214,164,81,.3);background:#d6a45112;animation-delay:.26s}.portal-podium-3 .portal-podium-glow{background:radial-gradient(circle,rgba(214,164,81,.16),transparent 70%)}.portal-podium-3 .portal-podium-rank{color:#d6a451;border:1px solid rgba(214,164,81,.3)}.portal-podium-3 .portal-podium-score{color:#d6a451}.portal-podium-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:40px}.portal-podium-actions .portal-game-primary{height:54px}.portal-podium-side{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:16px}.portal-podium-side h2{margin:0;font:600 1.2rem Sora,sans-serif;letter-spacing:-.02em}.portal-podium-board{min-height:0;overflow:auto;border:1px solid rgba(247,226,182,.12);border-radius:20px;background:#0a101e99;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.portal-podium-board-row{display:grid;grid-template-columns:30px minmax(0,1fr) 62px 66px;align-items:center;gap:12px;padding:14px 22px;border-top:1px solid rgba(255,255,255,.05)}.portal-podium-board-row:first-child{border-top:0}.portal-podium-board-row.is-top{background:#f7e2b60a}.portal-podium-board-row>span:first-child{color:#ffffff59;font:700 .9rem Sora,sans-serif}.portal-podium-board-row.is-top>span:first-child{color:#f7e2b6}.portal-podium-board-row>span:nth-child(2){min-width:0;overflow:hidden;font-size:.9rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.portal-podium-board-row>span:nth-child(3){color:#ffffff6b;font-size:.8rem;font-weight:600}.portal-podium-board-row strong{color:#f7e2b6;font:600 .94rem Sora,sans-serif;text-align:right}@media(max-width:1280px){.portal-game-main-question,.portal-game-main-reveal,.portal-game-main-podium{grid-template-columns:minmax(0,1fr)}.portal-game-canvas{min-height:420px}.portal-game-side{grid-template-rows:none}.portal-game-roster,.portal-game-standings,.portal-podium-board{max-height:340px}}@media(max-width:760px){.portal-game-bar{height:auto;flex-wrap:wrap;gap:12px;padding:16px 20px}.portal-game-context{max-width:calc(100% - 130px);padding-left:0;border-left:0}.portal-game-players{margin-left:0}.portal-game-main{padding:20px}.portal-game-answer-grid,.portal-podium-row{grid-template-columns:minmax(0,1fr)}.portal-podium-card,.portal-podium-1,.portal-podium-2,.portal-podium-3{height:auto}}@media(prefers-reduced-motion:reduce){.portal-game-main,.portal-podium-card,.portal-game-dot{animation:none}}@keyframes portal-classes-rise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes portal-class-orbit{to{transform:rotate(360deg)}}@keyframes portal-class-progress-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.portal-classes-view,.portal-class-detail-view{gap:30px;animation:portal-classes-rise .56s cubic-bezier(.2,.7,.3,1) both}.portal-classes-intro{display:flex;align-items:center;justify-content:space-between;gap:20px}.portal-classes-intro>div>span,.portal-class-tab-heading>div>span,.portal-results-list-heading>div>span{color:#f7e2b6c7;font-size:.68rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.portal-classes-intro h2{margin:0!important;color:#fff;font-family:Sora,sans-serif;font-size:1.75rem!important;font-weight:700;letter-spacing:-.02em}.portal-classes-intro p{margin:6px 0 0!important;color:#ffffff80!important;font-size:.9rem!important}.portal-classes-intro-actions{display:flex;align-items:center;gap:12px}.portal-classes-total{height:38px;display:inline-flex;align-items:center;flex:0 0 auto;padding:0 15px;border:1px solid rgba(247,226,182,.16);border-radius:999px;color:#f7e2b6d9;background:#f7e2b60d;font-size:.78rem;font-weight:700}.portal-classes-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;border:1px solid rgba(247,226,182,.13);border-radius:18px;background:#0a101ea8;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.portal-classes-metrics article{min-width:0;display:flex;align-items:center;gap:16px;padding:20px 26px}.portal-classes-metrics article+article{border-left:1px solid rgba(247,226,182,.1)}.portal-classes-metrics article>span,.portal-class-results-metrics article>span{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:12px;color:#f7e2b6;background:#f7e2b617}.portal-classes-metrics article>div,.portal-class-results-metrics article>div{min-width:0;display:flex;flex-direction:column;gap:3px}.portal-classes-metrics small,.portal-class-results-metrics small{overflow:hidden;color:#ffffff7a;font-size:.74rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.portal-classes-metrics strong,.portal-class-results-metrics strong{color:#fff;font-family:Sora,sans-serif;font-size:1.38rem;font-weight:700;line-height:1.2}.portal-classes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:22px}.portal-class-tile,.portal-class-detail-hero{--class-accent: #d6a451;--class-accent-soft: rgba(214, 164, 81, .12)}.portal-class-tile.portal-class-accent-blue,.portal-class-detail-hero.portal-class-accent-blue{--class-accent: #68a7d5;--class-accent-soft: rgba(57, 119, 167, .14)}.portal-class-tile.portal-class-accent-green,.portal-class-detail-hero.portal-class-accent-green{--class-accent: #7ed8b6;--class-accent-soft: rgba(61, 128, 104, .14)}.portal-class-tile{position:relative;min-width:0;overflow:hidden;display:flex;flex-direction:column;padding:24px;border:1px solid rgba(247,226,182,.13);border-radius:18px;background:#0a101ea8;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.portal-class-tile:hover{border-color:#f7e2b657;box-shadow:0 24px 56px #0006;transform:translateY(-3px)}.portal-class-tile-ring,.portal-class-tile-orbit,.portal-class-detail-ring,.portal-class-detail-orbit{position:absolute;border-radius:50%;pointer-events:none}.portal-class-tile-ring{top:-84px;right:-72px;width:204px;height:204px;border:1px solid rgba(247,226,182,.1)}.portal-class-tile-orbit{top:-42px;right:-32px;width:126px;height:126px;border:1px dashed rgba(247,226,182,.13);animation:portal-class-orbit 38s linear infinite}.portal-class-tile-head{position:relative;min-width:0;display:grid;grid-template-columns:50px minmax(0,1fr) 36px;align-items:center;gap:14px}.portal-class-tile-symbol,.portal-class-detail-symbol{display:inline-flex;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--class-accent) 48%,transparent);color:#fff;background:var(--class-accent-soft);font-family:Sora,sans-serif;font-weight:700}.portal-class-tile-symbol{width:50px;height:50px;border-radius:12px;font-size:1.05rem}.portal-class-tile-head>div{min-width:0;display:flex;flex-direction:column;gap:2px}.portal-class-tile-head>div>span{color:var(--class-accent);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.portal-class-tile-head h3{overflow:hidden;margin:0;color:#fff;font-family:Sora,sans-serif;font-size:1.2rem;font-weight:700;letter-spacing:-.02em;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.portal-class-tile-head>button,.portal-class-result-row>button{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(247,226,182,.17);border-radius:8px;color:#f7e2b6d1;background:#f7e2b60d;cursor:pointer;transition:color .16s ease,background .16s ease,border-color .16s ease}.portal-class-tile-head>button:hover,.portal-class-result-row>button:hover{color:#101820;border-color:#f7e2b6;background:#f7e2b6}.portal-class-tile-stats{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:20px;padding:14px 0;border-top:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07)}.portal-class-tile-stats>div{min-width:0;display:grid;gap:3px}.portal-class-tile-stats>div+div{padding-left:14px;border-left:1px solid rgba(255,255,255,.07)}.portal-class-tile-stats strong{color:#fff;font-family:Sora,sans-serif;font-size:1.12rem;font-weight:700}.portal-class-tile-stats span{color:#ffffff7a;font-size:.72rem}.portal-class-progress{display:grid;gap:8px;margin-top:16px}.portal-class-progress>span{display:flex;align-items:center;justify-content:space-between;gap:12px}.portal-class-progress small{color:#ffffff7a;font-size:.72rem;font-weight:650}.portal-class-progress strong{color:var(--class-accent);font-family:Sora,sans-serif;font-size:.82rem;font-weight:750}.portal-class-progress i{height:5px;overflow:hidden;border-radius:999px;background:#ffffff12}.portal-class-progress b{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,var(--class-accent),#f7e2b6);transform-origin:left center;animation:portal-class-progress-grow .9s cubic-bezier(.2,.8,.3,1) both}.portal-class-latest{display:flex;flex-direction:column;justify-content:center;gap:4px;margin-top:16px;min-height:48px}.portal-class-latest>span{color:#f7e2b6b3;font-size:.65rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.portal-class-latest>div{min-width:0;display:grid;gap:2px}.portal-class-latest strong,.portal-class-latest>div>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-class-latest strong{color:#fff;font-size:.86rem;font-weight:650}.portal-class-latest>div>span{color:#ffffff73;font-size:.72rem}.portal-class-latest-empty{margin:0;color:#ffffff61;font-size:.76rem;font-style:italic}.portal-class-tile-actions{display:grid;grid-template-columns:1fr 1.15fr;gap:10px;margin-top:auto;padding-top:20px}.portal-class-tile-actions button,.portal-class-start-button,.portal-class-add-button,.portal-class-export-button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;font-size:.82rem;font-weight:750;cursor:pointer;transition:transform .16s ease,background-color .16s ease,border-color .16s ease}.portal-class-tile-actions button:first-child{border:1px solid rgba(247,226,182,.18);color:#ffffffd9;background:#ffffff0a}.portal-class-tile-actions button:first-child:hover{color:#fff;border-color:#f7e2b673;background:#ffffff14}.portal-class-tile-actions button:last-child,.portal-class-start-button{border:0;color:#050816;background:linear-gradient(135deg,#f7e2b6,#d6a451);box-shadow:0 4px 14px #d6a4512e;font-weight:800}.portal-class-tile-actions button:last-child:hover,.portal-class-start-button:hover{filter:brightness(1.06);transform:translateY(-1px)}.portal-class-detail-view{gap:22px}.portal-class-back-button{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:0;border:0;color:#f7e2b6bf;background:transparent;font-size:.84rem;font-weight:700;cursor:pointer}.portal-class-back-button:hover{color:#fff}.portal-class-detail-hero{position:relative;min-height:184px;overflow:hidden;display:grid;grid-template-columns:94px minmax(0,1fr) auto;align-items:center;gap:26px;padding:30px 34px;border:1px solid rgba(247,226,182,.15);border-radius:18px;background:radial-gradient(circle at 84% 20%,var(--class-accent-soft),transparent 32%),#0a101eb8;box-shadow:0 24px 58px #0000003d;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.portal-class-detail-ring{top:-150px;right:-74px;width:360px;height:360px;border:1px solid rgba(247,226,182,.1)}.portal-class-detail-orbit{top:-86px;right:-12px;width:232px;height:232px;border:1px dashed rgba(247,226,182,.12);animation:portal-class-orbit 44s linear infinite}.portal-class-detail-symbol,.portal-class-detail-copy,.portal-class-start-button{position:relative}.portal-class-detail-symbol{width:94px;height:94px;border-radius:22px;font-size:1.7rem}.portal-class-detail-copy{min-width:0}.portal-class-detail-copy>span{color:var(--class-accent);font-size:.67rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.portal-class-detail-copy h2{margin:5px 0 0!important;color:#fff!important;font-family:Sora,sans-serif;font-size:2rem!important;font-weight:700;letter-spacing:-.03em}.portal-class-detail-copy>p{margin:4px 0 15px!important;color:#ffffff6e!important;font-size:.78rem!important}.portal-class-detail-copy>div{display:flex;flex-wrap:wrap;gap:8px}.portal-class-detail-copy>div>span{min-height:29px;display:inline-flex;align-items:center;gap:6px;padding:0 10px;border:1px solid rgba(247,226,182,.12);border-radius:999px;color:#ffffffa1;background:#ffffff06;font-size:.7rem;font-weight:650}.portal-class-detail-copy>div strong{color:#fff;letter-spacing:.05em}.portal-class-start-button{min-width:190px;min-height:48px;padding:0 20px;font-family:Sora,sans-serif;font-size:.82rem}.portal-class-detail-tabs{display:inline-flex;align-self:flex-start;gap:5px;padding:5px;border:1px solid rgba(247,226,182,.13);border-radius:12px;background:#0a101e9e;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.portal-class-detail-tabs button{min-height:38px;display:inline-flex;align-items:center;gap:8px;padding:0 16px;border:0;border-radius:8px;color:#ffffff8a;background:transparent;font-size:.78rem;font-weight:700;cursor:pointer}.portal-class-detail-tabs button:hover{color:#fff}.portal-class-detail-tabs button.is-active{color:#101820;background:#f7e2b6}.portal-class-detail-tabs button>span{min-width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px;border-radius:999px;color:inherit;background:#ffffff14;font-size:.65rem}.portal-class-detail-tabs button.is-active>span{background:#1018201a}.portal-class-tab-content{display:grid;gap:22px}.portal-class-tab-heading,.portal-results-list-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:22px}.portal-class-tab-heading h3,.portal-results-list-heading h3{margin:4px 0 0;color:#fff;font-family:Sora,sans-serif;font-size:1.2rem;font-weight:600}.portal-class-tab-heading p,.portal-results-list-heading p{margin:5px 0 0!important;color:#ffffff6e!important;font-size:.75rem!important}.portal-class-toolbar{display:flex;align-items:center;gap:9px}.portal-class-detail-view .portal-class-search{width:250px;min-height:40px;padding:0 13px;border-radius:999px;font-size:.8rem}.portal-class-add-button,.portal-class-export-button{min-height:40px;padding:0 14px;border:1px solid rgba(247,226,182,.14);color:#ffffffa8;background:#0a101eb3}.portal-class-add-button:disabled,.portal-class-export-button:disabled{color:#ffffff52;cursor:not-allowed}.portal-class-detail-view .portal-student-table-wrap{overflow-x:auto;border:1px solid rgba(247,226,182,.12);border-radius:18px;background:#0a101e9e;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.portal-class-detail-view .portal-data-table{width:100%;border-collapse:collapse}.portal-class-detail-view .portal-data-table th{height:46px;padding:0 22px;border-bottom:1px solid rgba(247,226,182,.1);color:#f7e2b6a6;background:#f7e2b606;font-size:.63rem;font-weight:800;letter-spacing:.11em;text-align:left;text-transform:uppercase;white-space:nowrap}.portal-class-detail-view .portal-data-table td{height:68px;padding:0 22px;border-top:1px solid rgba(255,255,255,.045);color:#ffffffb8;font-size:.74rem}.portal-class-detail-view .portal-data-table tbody tr{transition:background .16s ease}.portal-class-detail-view .portal-data-table tbody tr:hover{background:#f7e2b609}.portal-class-detail-view .portal-student-table td:first-child{min-width:260px;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:12px}.portal-class-detail-view .portal-student-avatar{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(247,226,182,.2);border-radius:11px;color:#f7e2b6;background:#f7e2b614;font-family:Sora,sans-serif;font-size:.7rem;font-weight:700}.portal-class-detail-view .portal-student-table td:first-child>div{min-width:0;display:grid;gap:4px}.portal-class-detail-view .portal-student-table td:first-child strong,.portal-class-detail-view .portal-student-table td:first-child div>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-class-detail-view .portal-student-table td:first-child strong{color:#fff;font-family:Sora,sans-serif;font-size:.76rem;font-weight:600}.portal-class-detail-view .portal-student-table td:first-child div>span{display:flex;align-items:center;gap:5px;color:#ffffff5c;font-size:.65rem}.portal-class-detail-view .portal-score-pill{min-width:52px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:.7rem;font-weight:750}.portal-class-detail-view .portal-score-pill.is-high{color:#8ee6c4;border:1px solid rgba(63,169,122,.28);background:#3fa97a1f}.portal-class-detail-view .portal-score-pill.is-medium{color:#f7e2b6;border:1px solid rgba(247,226,182,.25);background:#f7e2b617}.portal-class-detail-view .portal-score-pill.is-low{color:#e79a92;border:1px solid rgba(195,79,88,.3);background:#c34f5821}.portal-class-detail-view .portal-table-muted{color:#ffffff6b;white-space:nowrap}.portal-class-results-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;border:1px solid rgba(247,226,182,.12);border-radius:18px;background:#0a101e9e;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.portal-class-results-metrics article{min-width:0;display:flex;align-items:center;gap:14px;padding:20px 24px}.portal-class-results-metrics article+article{border-left:1px solid rgba(247,226,182,.09)}.portal-class-detail-view .portal-results-list{display:grid;gap:10px}.portal-class-detail-view .portal-results-list-heading{margin:3px 0 2px}.portal-class-result-row{position:relative;min-width:0;min-height:78px;display:grid;grid-template-columns:106px minmax(190px,1.4fr) 84px 118px minmax(150px,.8fr) 38px;align-items:center;gap:18px;padding:16px 20px;border:1px solid rgba(247,226,182,.11);border-radius:14px;background:#0a101e99;transition:border-color .16s ease,background .16s ease}.portal-class-result-row:hover{border-color:#f7e2b642;background:#0d1424c2}.portal-result-date{display:inline-flex;align-items:center;gap:8px;color:#f7e2b69e}.portal-result-date strong{color:#ffffffad;font-size:.7rem;font-weight:650}.portal-result-main,.portal-class-result-row>div:not(.portal-result-main){min-width:0;display:grid;gap:4px}.portal-result-main strong,.portal-result-winner strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-result-main strong{color:#fff;font-family:Sora,sans-serif;font-size:.8rem;font-weight:600}.portal-result-main span,.portal-class-result-row>div>span{color:#ffffff63;font-size:.64rem}.portal-class-result-row>div>strong{color:#fff;font-size:.72rem;font-weight:700}.portal-result-winner strong{display:inline-flex;align-items:center;gap:5px;color:#f7e2b6!important}.portal-class-no-results{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:30px;border:1px dashed rgba(247,226,182,.18);border-radius:18px;color:#f7e2b6a6;background:#0a101e7a;text-align:center}.portal-class-no-results strong{margin-top:5px;color:#fff;font-family:Sora,sans-serif;font-size:.9rem}.portal-class-no-results>span{color:#ffffff6e;font-size:.75rem}.portal-class-no-results button{margin-top:10px;padding:0;border:0;color:#f7e2b6;background:transparent;font-size:.75rem;font-weight:700;cursor:pointer}@media(max-width:1180px){.portal-classes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-class-result-row{grid-template-columns:100px minmax(180px,1fr) 78px 110px 38px}.portal-class-result-row .portal-result-winner{display:none}}@media(max-width:860px){.portal-class-detail-hero{grid-template-columns:82px minmax(0,1fr);gap:20px}.portal-class-detail-symbol{width:82px;height:82px;border-radius:19px;font-size:1.45rem}.portal-class-start-button{grid-column:1 / -1;width:100%}.portal-class-tab-heading,.portal-results-list-heading{align-items:stretch;flex-direction:column}.portal-class-toolbar{width:100%}.portal-class-detail-view .portal-class-search{width:min(100%,330px)}.portal-class-result-row{grid-template-columns:96px minmax(0,1fr) 38px}.portal-class-detail-view .portal-class-result-row>div:not(.portal-result-main){display:none}}@media(max-width:760px){.portal-classes-view,.portal-class-detail-view{gap:22px}.portal-classes-intro{align-items:flex-start;flex-direction:column;gap:15px}.portal-classes-intro h2{font-size:1.55rem!important}.portal-classes-intro p{font-size:.84rem!important}.portal-classes-metrics,.portal-class-results-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-classes-metrics article,.portal-class-results-metrics article{align-items:flex-start;flex-direction:column;gap:9px;padding:16px 13px}.portal-classes-metrics article+article,.portal-class-results-metrics article+article{border-left:1px solid rgba(247,226,182,.09)}.portal-classes-metrics article>span,.portal-class-results-metrics article>span{width:35px;height:35px;border-radius:10px}.portal-classes-metrics small,.portal-class-results-metrics small{min-height:2.5em;overflow:visible;font-size:.61rem;line-height:1.25;text-overflow:unset;white-space:normal}.portal-classes-metrics strong,.portal-class-results-metrics strong{font-size:1.06rem}.portal-classes-grid{grid-template-columns:minmax(0,1fr)}.portal-class-tile{padding:22px}.portal-class-detail-hero{grid-template-columns:64px minmax(0,1fr);padding:24px 20px}.portal-class-detail-symbol{width:64px;height:64px;border-radius:16px;font-size:1.18rem}.portal-class-detail-copy h2{font-size:1.48rem!important}.portal-class-detail-copy>div{grid-column:1 / -1}.portal-class-detail-tabs{width:100%}.portal-class-detail-tabs button{flex:1;justify-content:center;padding:0 10px}.portal-class-toolbar{align-items:stretch;flex-direction:column}.portal-class-detail-view .portal-class-search,.portal-class-add-button,.portal-class-export-button{width:100%}.portal-class-detail-view .portal-student-table-wrap{overflow:visible;border:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.portal-class-detail-view .portal-data-table,.portal-class-detail-view .portal-data-table tbody{display:block}.portal-class-detail-view .portal-data-table thead{display:none}.portal-class-detail-view .portal-data-table tbody{display:grid;gap:10px}.portal-class-detail-view .portal-data-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;padding:16px;border:1px solid rgba(247,226,182,.11);border-radius:14px;background:#0a101e9e}.portal-class-detail-view .portal-data-table td,.portal-class-detail-view .portal-student-table td:first-child{min-width:0;height:auto;display:grid;gap:4px;padding:12px 0 0;border:0;color:#fff}.portal-class-detail-view .portal-data-table td:before{content:attr(data-label);color:#ffffff61;font-size:.59rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.portal-class-detail-view .portal-student-table td:first-child{grid-column:1 / -1;grid-template-columns:38px minmax(0,1fr);padding-top:0}.portal-class-detail-view .portal-student-table td:first-child:before{display:none}.portal-class-detail-view .portal-student-table td:first-child>div{align-self:center}.portal-class-detail-view .portal-student-table td:last-child{grid-column:1 / -1}.portal-class-result-row{grid-template-columns:minmax(0,1fr);gap:9px;padding:17px 52px 17px 18px}.portal-class-result-row>button{position:absolute;top:17px;right:14px}.portal-result-date,.portal-result-main{grid-column:1}.portal-result-date{margin-bottom:2px}}@media(max-width:440px){.portal-class-tile-actions{grid-template-columns:1fr}.portal-class-detail-hero{grid-template-columns:54px minmax(0,1fr);gap:14px}.portal-class-detail-symbol{width:54px;height:54px;border-radius:14px;font-size:1rem}.portal-class-detail-copy>div>span{min-height:26px;padding:0 8px;font-size:.64rem}}@media(prefers-reduced-motion:reduce){.portal-classes-view,.portal-class-detail-view,.portal-class-tile-orbit,.portal-class-detail-orbit,.portal-class-progress b{animation:none}}.portal-classes-intro-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.portal-class-create-button{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:none;border-radius:8px;background:var(--portal-red, #f7e2b6);color:#101010;font:inherit;font-size:15px;font-weight:700;cursor:pointer}.portal-class-create-button:hover{filter:brightness(1.06)}.portal-class-create-button:focus-visible{outline:2px solid var(--portal-red-dark, #d6a451);outline-offset:3px}.portal-class-detail-view .portal-journal{position:relative;display:flex;flex-direction:column;gap:18px}.portal-class-detail-view .portal-grades-demo-banner{display:flex;gap:14px;align-items:flex-start;padding:14px 18px;border-radius:16px;border:1px dashed rgba(247,226,182,.4);background:#f7e2b612;color:var(--portal-red)}.portal-class-detail-view .portal-grades-demo-banner div{display:flex;flex-direction:column;gap:3px}.portal-class-detail-view .portal-grades-demo-banner span{color:var(--portal-muted);font-size:.86rem;line-height:1.45}.portal-class-detail-view .portal-journal-scroll{overflow-x:auto}.portal-class-detail-view .portal-journal-table{min-width:620px}.portal-class-detail-view .portal-journal-table th[scope=col]{vertical-align:bottom}.portal-class-detail-view .portal-journal-kind{display:block;margin-top:3px;color:var(--portal-muted);font-size:.68rem;font-weight:600;text-transform:none;letter-spacing:0}.portal-class-detail-view .portal-grades-chip{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:30px;padding:0 9px;border-radius:999px;font-weight:750;font-size:.86rem;cursor:pointer}.portal-class-detail-view .portal-grades-chip.is-high{color:#8ee6c4;border:1px solid rgba(63,169,122,.28);background:#3fa97a1f}.portal-class-detail-view .portal-grades-chip.is-medium{color:#f7e2b6;border:1px solid rgba(247,226,182,.25);background:#f7e2b617}.portal-class-detail-view .portal-grades-chip.is-low{color:#e79a92;border:1px solid rgba(195,79,88,.3);background:#c34f5821}.portal-class-detail-view .portal-grades-chip.is-muted{opacity:.5}.portal-class-detail-view .portal-journal-empty{color:var(--portal-muted);font-size:.8rem}.portal-class-detail-view .portal-journal-footnote{margin:0;color:var(--portal-muted);font-size:.82rem;line-height:1.5}.portal-class-detail-view .portal-journal-panel{position:fixed;top:0;right:0;z-index:40;display:flex;flex-direction:column;gap:16px;width:min(380px,92vw);height:100vh;padding:26px 24px;border-left:1px solid var(--portal-line);background:#070c1a;overflow-y:auto}.portal-class-detail-view .portal-journal-panel header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.portal-class-detail-view .portal-journal-panel header span{color:var(--portal-red);font-size:.72rem;font-weight:800;text-transform:uppercase}.portal-class-detail-view .portal-journal-panel header h3{margin:5px 0 0}.portal-class-detail-view .portal-journal-panel header button{display:inline-flex;padding:7px;border-radius:10px;border:1px solid var(--portal-soft-line);background:transparent;color:var(--portal-muted);cursor:pointer}.portal-class-detail-view .portal-journal-panel-grade{display:flex;align-items:center;gap:11px;margin:0;color:var(--portal-muted);font-size:.85rem}.portal-class-detail-view .portal-journal-panel ul{display:flex;flex-direction:column;gap:9px;margin:0;padding:0;list-style:none}.portal-class-detail-view .portal-journal-panel li{display:flex;flex-direction:column;gap:3px;padding:11px 14px;border-radius:13px;border:1px solid var(--portal-soft-line);background:#ffffff05}.portal-class-detail-view .portal-journal-panel li span{color:var(--portal-muted);font-size:.78rem}.portal-class-detail-view .portal-journal-panel-note{margin:auto 0 0;color:var(--portal-muted);font-size:.78rem;line-height:1.5}.portal-grades-view{gap:24px}.portal-grades-view .portal-grades-demo-banner{display:flex;gap:14px;align-items:flex-start;padding:14px 18px;border-radius:16px;border:1px dashed rgba(247,226,182,.4);background:#f7e2b612;color:var(--portal-red)}.portal-grades-view .portal-grades-demo-banner div{display:flex;flex-direction:column;gap:3px}.portal-grades-view .portal-grades-demo-banner span{color:var(--portal-muted);font-size:.86rem;line-height:1.45}.portal-grades-view .portal-grades-steps{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}.portal-grades-view .portal-grades-steps li button{display:inline-flex;align-items:center;gap:9px;padding:9px 16px;border-radius:999px;border:1px solid var(--portal-soft-line);background:var(--portal-surface);color:var(--portal-muted);font-size:.86rem;font-weight:650;cursor:pointer}.portal-grades-view .portal-grades-steps li.is-active button{border-color:#f7e2b673;color:var(--portal-ink)}.portal-grades-view .portal-grades-steps li.is-done button{color:#8ee6c4}.portal-grades-view .portal-grades-step-icon{display:inline-flex}.portal-grades-view .portal-grades-step{display:flex;flex-direction:column;gap:20px}.portal-grades-view .portal-grades-hint{margin:0 0 14px;color:var(--portal-muted);font-size:.86rem;line-height:1.5;max-width:68ch}.portal-grades-view .portal-grades-modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.portal-grades-view .portal-grades-mode{display:flex;flex-direction:column;gap:4px;padding:15px 18px;border-radius:15px;border:1px solid var(--portal-soft-line);background:var(--portal-surface);color:var(--portal-ink);text-align:left;cursor:pointer}.portal-grades-view .portal-grades-mode.is-active{border-color:#f7e2b680;background:#f7e2b614}.portal-grades-view .portal-grades-mode span{color:var(--portal-muted);font-size:.82rem}.portal-grades-view .portal-grades-scope-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px}.portal-grades-view .portal-grades-topics{display:flex;flex-wrap:wrap;gap:8px}.portal-grades-view .portal-grades-topics button{padding:7px 13px;border-radius:999px;border:1px solid var(--portal-soft-line);background:transparent;color:var(--portal-muted);font-size:.79rem;cursor:pointer}.portal-grades-view .portal-grades-sessions{display:flex;flex-direction:column;gap:8px;margin:14px 0 0;padding:0;list-style:none}.portal-grades-view .portal-grades-sessions label{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:13px;border:1px solid var(--portal-soft-line);background:#ffffff05;cursor:pointer}.portal-grades-view .portal-grades-sessions label.is-selected{border-color:#f7e2b659;background:#f7e2b60f}.portal-grades-view .portal-grades-sessions input{width:17px;height:17px;accent-color:var(--portal-red-dark)}.portal-grades-view .portal-grades-session-title{flex:1;font-weight:650}.portal-grades-view .portal-grades-session-meta{display:inline-flex;align-items:center;gap:7px;color:var(--portal-muted);font-size:.8rem}.portal-grades-view .portal-grades-counter{margin:16px 0 0;color:var(--portal-red);font-weight:650;font-size:.9rem}.portal-grades-view .portal-grades-choices{display:flex;flex-wrap:wrap;gap:9px}.portal-grades-view .portal-grades-choices button{padding:10px 17px;border-radius:999px;border:1px solid var(--portal-soft-line);background:var(--portal-surface);color:var(--portal-muted);font-size:.86rem;font-weight:620;cursor:pointer}.portal-grades-view .portal-grades-choices button.is-active{border-color:#f7e2b680;background:#f7e2b61a;color:var(--portal-ink)}.portal-grades-view .portal-grades-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.portal-grades-view .portal-grades-grid label{display:flex;flex-direction:column;gap:7px;color:var(--portal-muted);font-size:.84rem}.portal-grades-view .portal-grades-grid select{padding:10px 12px;border-radius:12px;border:1px solid var(--portal-soft-line);background:var(--portal-surface);color:var(--portal-ink);font-size:.88rem}.portal-grades-view .portal-grades-switch{flex-direction:row;align-items:center;gap:10px}.portal-grades-view .portal-grades-switch input{width:17px;height:17px;accent-color:var(--portal-red-dark)}.portal-grades-view .portal-grades-thresholds{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.portal-grades-view .portal-grades-thresholds label{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:13px;border:1px solid var(--portal-soft-line);background:#ffffff05}.portal-grades-view .portal-grades-thresholds input{width:74px;padding:8px 10px;border-radius:10px;border:1px solid var(--portal-soft-line);background:var(--portal-bg);color:var(--portal-ink);font-size:.9rem}.portal-grades-view .portal-grades-thresholds input:disabled{color:var(--portal-muted)}.portal-grades-view .portal-grades-unit{color:var(--portal-muted);font-size:.78rem}.portal-grades-view .portal-grades-chip{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:30px;padding:0 9px;border-radius:999px;font-weight:750;font-size:.86rem}.portal-grades-view .portal-grades-chip.is-high{color:#8ee6c4;border:1px solid rgba(63,169,122,.28);background:#3fa97a1f}.portal-grades-view .portal-grades-chip.is-medium{color:#f7e2b6;border:1px solid rgba(247,226,182,.25);background:#f7e2b617}.portal-grades-view .portal-grades-chip.is-low{color:#e79a92;border:1px solid rgba(195,79,88,.3);background:#c34f5821}.portal-grades-view .portal-grades-errors{display:flex;flex-direction:column;gap:6px;margin:14px 0 0;padding:0;list-style:none;color:#e79a92;font-size:.83rem}.portal-grades-view .portal-grades-errors li{display:flex;align-items:center;gap:7px}.portal-grades-view .portal-grades-histogram{display:flex;align-items:flex-end;gap:14px;height:190px;padding:12px 4px 0}.portal-grades-view .portal-grades-bar{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:flex-end;gap:7px;height:100%}.portal-grades-view .portal-grades-bar-count{color:var(--portal-muted);font-size:.8rem;font-weight:650}.portal-grades-view .portal-grades-bar-fill{width:100%;min-height:3px;border-radius:9px 9px 3px 3px;transition:height .18s ease-out}.portal-grades-view .portal-grades-bar-fill.is-high{background:#3fa97a8c}.portal-grades-view .portal-grades-bar-fill.is-medium{background:#f7e2b680}.portal-grades-view .portal-grades-bar-fill.is-low{background:#c34f5880}.portal-grades-view .portal-grades-bar-grade{color:var(--portal-ink);font-weight:700;font-size:.9rem}.portal-grades-view .portal-grades-table{width:100%;border-collapse:collapse;font-size:.88rem}.portal-grades-view .portal-grades-table th,.portal-grades-view .portal-grades-table td{padding:11px 12px;text-align:left;border-bottom:1px solid var(--portal-soft-line)}.portal-grades-view .portal-grades-table thead th{color:var(--portal-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.07em}.portal-grades-view .portal-grades-table tbody th{font-weight:650}.portal-grades-view .portal-grades-table tr.is-skipped{opacity:.45}.portal-grades-view .portal-grades-table input{width:17px;height:17px;accent-color:var(--portal-red-dark)}.portal-grades-view .portal-grades-flag{display:inline-flex;align-items:center;gap:5px;margin-left:9px;color:#e79a92;font-size:.76rem;font-weight:600}.portal-grades-view .portal-grades-excluded ul{display:flex;flex-direction:column;gap:9px;margin:0;padding:0;list-style:none}.portal-grades-view .portal-grades-excluded li{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px;padding:11px 14px;border-radius:13px;border:1px solid var(--portal-soft-line);background:#ffffff05}.portal-grades-view .portal-grades-excluded li span{color:var(--portal-muted);font-size:.82rem}.portal-grades-view .portal-grades-excluded li select{min-width:min(280px,100%);margin-left:auto;padding:8px 10px;border:1px solid var(--portal-soft-line);border-radius:9px;color:var(--portal-ink);background:var(--portal-surface)}.portal-grades-view .portal-grades-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:4px}.portal-grades-view .portal-grades-footer button{display:inline-flex;align-items:center;gap:9px;padding:12px 22px;border-radius:999px;border:1px solid var(--portal-soft-line);background:var(--portal-surface);color:var(--portal-ink);font-size:.9rem;font-weight:680;cursor:pointer}.portal-grades-view .portal-grades-footer .portal-grades-next{border-color:#f7e2b673;background:#f7e2b61f;color:var(--portal-red)}.portal-grades-view .portal-grades-footer button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:720px){.portal-grades-view .portal-grades-sessions label{flex-wrap:wrap}.portal-grades-view .portal-grades-footer{flex-direction:column-reverse;align-items:stretch}}.portal-grades-view .portal-grades-table-scroll{overflow-x:auto}.portal-grades-view .portal-grades-table{min-width:560px}.portal-grades-view .portal-grades-pending{margin:0;padding:12px 16px;border-radius:13px;border:1px solid var(--portal-soft-line);background:#ffffff05;color:var(--portal-muted);font-size:.85rem;line-height:1.5}.portal-grades-view .portal-grades-pending strong{color:var(--portal-ink)}.portal-grades-view .portal-grades-weights{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.portal-grades-view .portal-grades-weights label{display:flex;flex-direction:column;gap:7px;color:var(--portal-muted);font-size:.84rem}.portal-grades-view .portal-grades-weights select{padding:10px 12px;border-radius:12px;border:1px solid var(--portal-soft-line);background:var(--portal-surface);color:var(--portal-ink);font-size:.88rem}.portal-grades-view .portal-grades-class-picker{display:flex;align-items:center;gap:11px;color:var(--portal-muted);font-size:.85rem}.portal-grades-view .portal-grades-class-picker select{padding:9px 12px;border-radius:12px;border:1px solid var(--portal-soft-line);background:var(--portal-surface);color:var(--portal-ink);font-size:.88rem}.portal-grades-view .portal-grades-publish input,.portal-grades-view .portal-grades-publish select{padding:10px 12px;border-radius:12px;border:1px solid var(--portal-soft-line);background:var(--portal-surface);color:var(--portal-ink);font-size:.88rem}.portal-grades-view .portal-grades-error-text{margin:12px 0 0;color:#e79a92;font-size:.84rem}.portal-grades-view .portal-grades-done{margin:12px 0 0;color:#8ee6c4;font-size:.85rem;line-height:1.5}.portal-class-form-backdrop{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:24px;background:#02030ac7;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.portal-class-form{width:min(520px,100%);max-height:calc(100vh - 48px);overflow-y:auto;display:flex;flex-direction:column;gap:16px;padding:28px;border:1px solid var(--portal-line, rgba(247, 226, 182, .15));border-radius:10px;background:#0a1020;color:#fff}.portal-class-form header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.portal-class-form header h2{margin:2px 0 0;font-size:24px;font-weight:700}.portal-class-form header button{flex:none;display:inline-flex;padding:7px;border:1px solid rgba(255,255,255,.12);border-radius:6px;background:transparent;color:#ffffff9e;cursor:pointer}.portal-class-form header button:hover{color:#fff;background:#ffffff0d}.portal-class-form-lead{margin:0;color:#ffffff9e;font-size:14px;line-height:1.55}.portal-class-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#ffffffb8}.portal-class-form label>span{font-weight:600;letter-spacing:.02em}.portal-class-form input[type=text]{padding:11px 13px;border:1px solid rgba(255,255,255,.14);border-radius:7px;background:#ffffff0a;color:#fff;font:inherit;font-size:15px}.portal-class-form input[type=text]:focus{outline:none;border-color:#f7e2b699}.portal-class-form label small{color:#ffffff73;font-size:12px}.portal-class-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.portal-class-form-accents{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;border:none}.portal-class-form-accents legend{padding:0 0 8px;font-size:13px;font-weight:600;color:#ffffffb8}.portal-class-form-accents label{flex-direction:row;align-items:center;gap:8px;padding:8px 12px;border:1px solid rgba(255,255,255,.12);border-radius:7px;cursor:pointer;font-size:14px}.portal-class-form-accents label.is-active{border-color:#f7e2b68c;background:#f7e2b612;color:#fff}.portal-class-form-accents input{position:absolute;opacity:0;pointer-events:none}.portal-class-form-accents label:focus-within{outline:2px solid rgba(247,226,182,.7);outline-offset:2px}.portal-class-form-dot{width:13px;height:13px;border-radius:50%;background:#d6a451}.portal-class-form-dot.portal-class-accent-blue{background:#68a7d5}.portal-class-form-dot.portal-class-accent-green{background:#7ed8b6}.portal-class-form-error{margin:0;padding:10px 12px;border:1px solid rgba(236,139,124,.45);border-radius:7px;background:#ec8b7c1a;color:#ec8b7c;font-size:14px}.portal-class-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.portal-class-form-actions button{display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:transparent;color:#ffffffb8;font:inherit;font-size:15px;cursor:pointer}.portal-class-form-primary{border-color:transparent;background:#f7e2b6;color:#101010;font-weight:700}.portal-class-form-primary:disabled{opacity:.45;cursor:not-allowed}@media(max-width:520px){.portal-class-form{padding:22px 18px}.portal-class-form-row{grid-template-columns:1fr}}.portal-creator-view{display:grid;gap:22px;align-content:start}.portal-creator-view .portal-creator-panel,.portal-creator-view .portal-creator-draft,.portal-creator-view .portal-creator-empty{padding:30px 32px 28px;border:1px solid rgba(247,226,182,.14);border-radius:22px;background:#0a101eb8}.portal-creator-view .portal-creator-heading{display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:16px;margin-bottom:24px}.portal-creator-view .portal-creator-heading>span{width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(247,226,182,.24);border-radius:14px;color:#f7e2b6;background:#f7e2b61a}.portal-creator-view .portal-creator-heading h2{margin:0;color:#f4f6ff;font:700 1.24rem/1.2 Sora,sans-serif}.portal-creator-view .portal-creator-heading p{margin:4px 0 0;color:#ffffff80;font-size:.9rem}.portal-creator-view .portal-creator-heading .portal-eyebrow{margin:0 0 5px;color:#f7e2b6b8;font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.portal-creator-view .portal-creator-field{display:grid;gap:10px;margin-bottom:22px}.portal-creator-view .portal-creator-row{display:grid;gap:22px;grid-template-columns:repeat(2,minmax(0,1fr))}.portal-creator-view .portal-creator-label,.portal-creator-view label{display:flex;align-items:baseline;gap:10px;color:#ffffff9e;font-size:.82rem;font-weight:700;letter-spacing:.02em}.portal-creator-view .portal-creator-label em{color:#f7e2b6bf;font-style:normal;font-size:.78rem;font-weight:600}.portal-creator-view input[type=text]{padding:13px 15px;border:1px solid rgba(255,255,255,.12);border-radius:12px;color:#f4f6ff;background:#ffffff0a;font:500 .95rem Manrope,sans-serif}.portal-creator-view input[type=text]:focus-visible{outline:none;border-color:#f7e2b680}.portal-creator-view .portal-creator-maps{display:grid;gap:14px;max-height:320px;overflow-y:auto;padding-right:6px}.portal-creator-view .portal-creator-region>p{margin:0 0 8px;color:#f7e2b6b3;font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.portal-creator-view .portal-creator-region>div{display:flex;flex-wrap:wrap;gap:8px}.portal-creator-view .portal-creator-region button{display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border:1px solid rgba(255,255,255,.12);border-radius:11px;color:#ffffffb8;background:#ffffff08;font:600 .85rem Manrope,sans-serif;cursor:pointer;transition:border-color .16s ease,color .16s ease,background .16s ease}.portal-creator-view .portal-creator-region button em{color:#ffffff59;font-style:normal;font-size:.76rem}.portal-creator-view .portal-creator-region button.is-active{border-color:#f7e2b680;color:#f7e2b6;background:#f7e2b61f}.portal-creator-view .portal-creator-toggle{display:grid;grid-template-columns:0 auto minmax(0,1fr);align-items:center;gap:14px;margin-bottom:24px;cursor:pointer}.portal-creator-view .portal-creator-toggle input{opacity:0;width:0;height:0}.portal-creator-view .portal-creator-toggle strong{display:block;color:#f4f6ff;font:700 .95rem Manrope,sans-serif}.portal-creator-view .portal-creator-toggle span:last-of-type{color:#ffffff73;font-size:.84rem;font-weight:500}.portal-creator-view .portal-creator-actions,.portal-creator-view .portal-creator-draft-head{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.portal-creator-view .portal-creator-actions p{margin:0;color:#ffffff73;font-size:.86rem}.portal-creator-view .portal-creator-draft-head h2{margin:6px 0 4px;color:#f4f6ff;font:700 1.3rem Sora,sans-serif}.portal-creator-view .portal-creator-draft-head>div>span{color:#ffffff6b;font-size:.84rem}.portal-creator-view .portal-creator-draft-actions{display:flex;gap:10px;flex-wrap:wrap}.portal-creator-view .portal-creator-draft-actions button{display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border:1px solid rgba(255,255,255,.14);border-radius:12px;color:#ffffffbf;background:#ffffff0a;font:600 .88rem Manrope,sans-serif;cursor:pointer}.portal-creator-view .portal-creator-draft-actions .portal-primary-button{border-color:transparent;color:#101820;background:#f7e2b6;box-shadow:0 10px 24px #d6a45124}.portal-creator-view .portal-creator-draft-actions .portal-primary-button:hover:not(:disabled){background:#d6a451}.portal-creator-view .portal-creator-draft-actions button:disabled{opacity:.5;cursor:not-allowed}.portal-creator-view .portal-creator-draft-actions .portal-primary-button:disabled{color:#1018208c;background:#f7e2b673;box-shadow:none}.portal-creator-view .portal-creator-draft{scroll-margin-top:110px}.portal-creator-view .portal-creator-findings{display:grid;gap:8px;margin:22px 0 0}.portal-creator-view .portal-creator-findings p{display:flex;align-items:flex-start;gap:9px;margin:0;padding:11px 14px;border:1px solid transparent;border-radius:12px;font-size:.86rem;line-height:1.45}.portal-creator-view .portal-creator-findings .is-error{border-color:#ff969659;color:#ffc9c9;background:#ff6e6e1f}.portal-creator-view .portal-creator-findings .is-warning{border-color:#f7e2b64d;color:#f7e2b6;background:#f7e2b617}.portal-creator-view .portal-creator-findings .is-info{border-color:#ffffff1f;color:#fff9;background:#ffffff0a}.portal-creator-view .portal-creator-questions{display:grid;gap:12px;margin:24px 0 0;padding:0;list-style:none}.portal-creator-view .portal-creator-questions>li{padding:16px 18px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:#ffffff05}.portal-creator-view .portal-creator-questions>li.has-error{border-color:#ff969666}.portal-creator-view .portal-creator-reorder-hint{margin:20px 0 -8px;color:#fff6;font-size:.8rem}.portal-creator-view .portal-creator-questions>li.is-dragging{opacity:.45}.portal-creator-view .portal-creator-questions>li.is-drop-target{border-color:#f7e2b68c;background:#f7e2b612}.portal-creator-view .portal-creator-question-head{display:grid;grid-template-columns:22px 26px minmax(0,1fr) auto auto auto;align-items:center;gap:12px}.portal-creator-view .portal-creator-question-head button.portal-creator-question-grip{width:22px;border:0;color:#ffffff52;cursor:grab}.portal-creator-view .portal-creator-question-head button.portal-creator-question-grip:hover:not(:disabled),.portal-creator-view .portal-creator-question-head button.portal-creator-question-grip:focus-visible{color:#f7e2b6;border-color:transparent}.portal-creator-view .portal-creator-question-head button.portal-creator-question-grip:disabled{opacity:.35;cursor:default}.portal-creator-view .portal-creator-question-index{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;color:#ffffff73;background:#ffffff0f;font:700 .75rem Sora,sans-serif}.portal-creator-view .portal-creator-question-head strong{color:#f4f6ff;font:600 .95rem Manrope,sans-serif}.portal-creator-view .portal-creator-question-map{display:inline-flex;align-items:center;gap:5px;color:#f7e2b6b8;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.portal-creator-view .portal-creator-question-head button{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#fff6;background:transparent;cursor:pointer}.portal-creator-view .portal-creator-question-head button:hover{color:#ffb4b4;border-color:#ffb4b466}.portal-creator-view .portal-creator-question-head button.portal-creator-question-reroll:hover:not(:disabled){color:#f7e2b6;border-color:#f7e2b666}.portal-creator-view .portal-creator-question-head button:disabled{opacity:.45;cursor:not-allowed}.portal-creator-view .portal-creator-question-editor{display:grid;grid-template-columns:minmax(0,1fr) 108px;gap:12px;margin-top:14px;padding-left:38px}.portal-creator-view .portal-creator-question-editor label{display:grid;gap:6px}.portal-creator-view .portal-creator-question-editor label>span:first-child{color:#ffffff6b;font-size:.72rem}.portal-creator-view .portal-creator-question-editor input[type=text],.portal-creator-view .portal-creator-question-editor input[type=number]{width:100%;box-sizing:border-box;padding:9px 11px;border:1px solid rgba(255,255,255,.11);border-radius:9px;color:#f4f6ff;background:#ffffff09;font:500 .86rem Manrope,sans-serif}.portal-creator-view .portal-creator-time-field>span:last-child{display:flex;align-items:center;gap:6px;color:#ffffff73}.portal-creator-view .portal-creator-answers{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-left:38px}.portal-creator-view .portal-creator-answers span{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border:1px solid rgba(255,255,255,.1);border-radius:9px;color:#ffffff8c;background:#ffffff08;font-size:.84rem}.portal-creator-view .portal-creator-answers .is-correct{border-color:#7ed9a373;color:#a8e6c5;background:#7ed9a31f}.portal-creator-view .portal-creator-answer-editor label{display:inline-flex;align-items:center;gap:7px;padding:6px 8px;border:1px solid rgba(255,255,255,.1);border-radius:9px;background:#ffffff08}.portal-creator-view .portal-creator-answer-editor input[type=radio]{width:14px;height:14px;margin:0;accent-color:#7ed9a3}.portal-creator-view .portal-creator-answer-editor select,.portal-creator-view .portal-creator-answer-editor input[type=text]{min-width:150px;max-width:230px;padding:5px 7px;border:0;border-radius:6px;color:#f4f6ff;background:#0003;font:500 .82rem Manrope,sans-serif}@media(max-width:720px){.portal-creator-view .portal-creator-question-head{grid-template-columns:22px 26px minmax(0,1fr) auto}.portal-creator-view .portal-creator-question-map{display:none}.portal-creator-view .portal-creator-question-editor{grid-template-columns:minmax(0,1fr)}}.portal-creator-view .portal-creator-empty{display:grid;justify-items:center;gap:10px;padding:54px 32px;text-align:center}.portal-creator-view .portal-creator-empty>span{color:#f7e2b699}.portal-creator-view .portal-creator-empty strong{color:#f4f6ff;font:700 1.05rem Sora,sans-serif}.portal-creator-view .portal-creator-empty p{max-width:52ch;margin:0;color:#ffffff73;font-size:.88rem;line-height:1.5}.portal-creator-view .portal-creator-loading{display:flex;align-items:center;gap:9px;margin:0;color:#ffffff80;font-size:.88rem}@media(max-width:900px){.portal-creator-view .portal-creator-row{grid-template-columns:minmax(0,1fr)}.portal-creator-view .portal-creator-panel,.portal-creator-view .portal-creator-draft,.portal-creator-view .portal-creator-empty{padding:24px 20px}.portal-creator-view .portal-creator-answers{padding-left:0}.portal-creator-view .portal-creator-question-head{grid-template-columns:26px minmax(0,1fr) auto}.portal-creator-view .portal-creator-question-map{display:none}}.portal-creator-view .portal-scope-choice{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.portal-creator-view .portal-scope-choice button{display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid rgba(255,255,255,.09);border-radius:13px;background:#ffffff06;color:#f4f6ff;text-align:left;cursor:pointer}.portal-creator-view .portal-scope-choice button:hover{background:#ffffff0d}.portal-creator-view .portal-scope-choice button.is-active{border-color:#f7e2b673;background:#f7e2b614}.portal-creator-view .portal-scope-choice button>span:first-child{display:inline-flex;flex:none;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;background:#ffffff0d;color:#f7e2b6e6}.portal-creator-view .portal-scope-choice button>div{flex:1;min-width:0}.portal-creator-view .portal-scope-choice strong{display:block;font:700 .94rem Manrope,sans-serif}.portal-creator-view .portal-scope-choice small{display:block;margin-top:2px;color:#ffffff70;font-size:.78rem}.portal-creator-view .portal-creator-region>.portal-creator-region-all{display:inline-flex;align-items:center;gap:7px;margin:0 0 7px;padding:4px 9px 4px 7px;border:1px solid transparent;border-radius:8px;background:transparent;color:#ffffff80;font:800 .68rem Manrope,sans-serif;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.portal-creator-view .portal-creator-region>.portal-creator-region-all:hover{border-color:#ffffff1f;color:#f4f6ff}.portal-creator-view .portal-creator-region>.portal-creator-region-all.is-active{border-color:#f7e2b666;color:#f7e2b6f2}.portal-creator-view .portal-creator-region-dot{width:12px;height:12px;border:1px solid rgba(255,255,255,.22);border-radius:4px}.portal-creator-view .portal-creator-region>.portal-creator-region-all em{color:#ffffff4d;font-style:normal;font-weight:700;letter-spacing:.04em;text-transform:none}.portal-creator-view .portal-creator-region>.portal-creator-region-all.is-active em{color:#f7e2b699}@media(max-width:720px){.portal-creator-view .portal-scope-choice{grid-template-columns:minmax(0,1fr)}}.portal-custom-view .portal-custom-layout{display:grid;gap:20px;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);margin-bottom:22px}.portal-custom-view .portal-custom-filters{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:12px}.portal-custom-view .portal-custom-input{display:flex;align-items:center;gap:9px;padding:0 13px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#ffffff08;color:#ffffff6b;grid-column:1 / -1}.portal-custom-view .portal-custom-input input{width:100%;padding:12px 0;border:0;background:transparent;color:#f4f6ff;font:500 .92rem Manrope,sans-serif}.portal-custom-view .portal-custom-input input:focus{outline:none}.portal-custom-view .portal-custom-filters select{padding:12px 13px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#ffffff08;color:#f4f6ff;font:600 .86rem Manrope,sans-serif;cursor:pointer}.portal-custom-view .portal-custom-results-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-2px 0 10px;color:#ffffff61;font-size:.76rem}.portal-custom-view .portal-custom-results-actions button{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid rgba(247,226,182,.2);border-radius:9px;color:#f7e2b6c7;background:#f7e2b60d;font:600 .75rem Manrope,sans-serif;cursor:pointer}.portal-custom-view .portal-custom-results-actions button:disabled{opacity:.4;cursor:not-allowed}.portal-custom-view .portal-custom-results{display:grid;align-content:start;gap:6px;max-height:380px;margin:0;padding:6px;overflow-y:auto;border:1px solid rgba(255,255,255,.07);border-radius:14px;background:#00000029;list-style:none}.portal-custom-view .portal-custom-results li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;border-radius:10px}.portal-custom-view .portal-custom-results li:hover{background:#ffffff09}.portal-custom-view .portal-custom-results li.is-picked{background:#7ac68f17}.portal-custom-view .portal-custom-results strong{display:block;color:#f4f6ff;font:600 .92rem Manrope,sans-serif}.portal-custom-view .portal-custom-results small{display:flex;align-items:center;gap:5px;margin-top:2px;color:#ffffff6b;font-size:.76rem}.portal-custom-view .portal-custom-results button{display:inline-flex;flex:none;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid rgba(255,255,255,.12);border-radius:9px;background:#ffffff0a;color:#f4f6ff;cursor:pointer}.portal-custom-view .portal-custom-results button:hover{background:#ffffff17}.portal-custom-view .portal-custom-results button:disabled{opacity:.35;cursor:not-allowed}.portal-custom-view .portal-custom-results li.is-picked button{border-color:#7ac68f66;color:#7ac68f}.portal-custom-view .portal-custom-empty-row{justify-content:center;padding:26px 12px;color:#ffffff61;font-size:.86rem}.portal-custom-view .portal-custom-basket{display:grid;align-content:start;gap:12px;padding:15px 16px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:#ffffff07}.portal-custom-view .portal-custom-basket>header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.portal-custom-view .portal-custom-basket .portal-eyebrow{margin:0 0 3px;color:#f7e2b6b8;font-size:.66rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.portal-custom-view .portal-custom-basket>header strong{color:#f4f6ff;font:700 1.05rem Sora,sans-serif}.portal-custom-view .portal-custom-basket>header button{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid rgba(255,255,255,.11);border-radius:9px;background:transparent;color:#ffffff8c;font:600 .76rem Manrope,sans-serif;cursor:pointer}.portal-custom-view .portal-custom-basket>header button:hover{color:#f4f6ff}.portal-custom-view .portal-custom-basket ul{display:grid;align-content:start;gap:4px;max-height:330px;margin:0;padding:0;overflow-y:auto;list-style:none}.portal-custom-view .portal-custom-basket ul li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:9px;background:#0003}.portal-custom-view .portal-custom-basket ul strong{display:block;color:#f4f6ff;font:600 .87rem Manrope,sans-serif}.portal-custom-view .portal-custom-basket ul small{color:#fff6;font-size:.74rem}.portal-custom-view .portal-custom-basket ul button{display:inline-flex;flex:none;align-items:center;justify-content:center;width:26px;height:26px;border:0;border-radius:7px;background:transparent;color:#ffffff6b;cursor:pointer}.portal-custom-view .portal-custom-basket ul button:hover{background:#d64e5829;color:#f0a7ad}.portal-custom-view .portal-custom-basket-empty,.portal-custom-view .portal-custom-basket-limit{margin:0;color:#ffffff6b;font-size:.82rem;line-height:1.55}.portal-custom-view .portal-custom-basket-limit{color:#f0c98a}.portal-custom-view .portal-custom-map-preview{display:grid;gap:7px;margin:2px 0 0;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}.portal-custom-view .portal-custom-map-preview img{width:100%;height:180px;object-fit:contain;border-radius:10px;background:#fffffff0}.portal-custom-view .portal-custom-map-preview figcaption{color:#ffffff6b;font-size:.76rem;text-align:center}@media(max-width:900px){.portal-custom-view .portal-custom-layout,.portal-custom-view .portal-custom-filters{grid-template-columns:minmax(0,1fr)}}.portal-root,.portal-auth-root,.portal-live-root{font-family:Manrope,Arial,sans-serif}.portal-root:before,.portal-auth-root:before,.portal-live-root:before{inset:-300px;background-image:radial-gradient(circle,rgba(255,255,255,.9) 0 1px,transparent 1.6px),radial-gradient(circle,rgba(221,232,255,.72) 0 .8px,transparent 1.4px);background-position:18px 26px,88px 124px;background-size:184px 184px,248px 248px;animation:portal-drift-a 90s linear infinite}.portal-root:after{content:"";position:fixed;inset:-300px;z-index:0;pointer-events:none;opacity:.7;background-image:radial-gradient(circle,rgba(255,239,212,.55) 0 .7px,transparent 1.3px),radial-gradient(circle,rgba(255,255,255,.2) 0 .6px,transparent 1.1px);background-position:156px 62px,42px 58px;background-size:318px 318px,116px 116px;animation:portal-drift-b 140s linear infinite}@keyframes portal-drift-a{0%{transform:translateZ(0)}to{transform:translate3d(-184px,-92px,0)}}@keyframes portal-drift-b{0%{transform:translateZ(0)}to{transform:translate3d(124px,-248px,0)}}@keyframes portal-dash-rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes portal-dash-aurora{0%{transform:translate3d(-6%,-4%,0) scale(1);opacity:.55}50%{transform:translate3d(6%,6%,0) scale(1.18);opacity:.85}to{transform:translate3d(-6%,-4%,0) scale(1);opacity:.55}}@keyframes portal-dash-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes portal-dash-nudge{0%,to{transform:translate(0)}50%{transform:translate(4px)}}.portal-dashboard-view{gap:40px}.portal-dash-top{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);gap:26px;animation:portal-dash-rise .62s cubic-bezier(.2,.7,.3,1) both}.portal-dashboard-view .portal-launcher{position:relative;overflow:hidden;padding:38px 40px 34px;border:1px solid rgba(247,226,182,.2);border-radius:18px;background:#0a101eb8;box-shadow:0 28px 70px #00000059;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.portal-launcher>*{position:relative;z-index:1}.portal-launcher-glow{position:absolute;z-index:0;top:-180px;right:-140px;width:460px;height:460px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(247,226,182,.22),rgba(214,164,81,.06) 55%,transparent 70%);animation:portal-dash-aurora 16s ease-in-out infinite}.portal-dashboard-view .portal-launcher h2{margin:0!important;color:#fff;font-family:Sora,sans-serif;font-size:2.4rem!important;font-weight:700;line-height:1.05;letter-spacing:-.03em;text-wrap:pretty}.portal-launcher-lead{margin:12px 0 0!important;color:#ffffff8c!important;font-size:.95rem!important;line-height:1.5}.portal-launcher-step{display:grid;gap:10px;margin-top:30px}.portal-step-label{color:#ffffff80;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.portal-class-chips{display:flex;flex-wrap:wrap;gap:9px}.portal-class-chips button{height:40px;padding:0 16px;border:1px solid rgba(247,226,182,.18);border-radius:999px;color:#ffffffb8;background:#ffffff08;font-size:.86rem;font-weight:700;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease}.portal-class-chips button:hover{border-color:#f7e2b680;transform:translateY(-2px)}.portal-class-chips button.is-active{color:#101820;border-color:#f7e2b6;background:#f7e2b6}.portal-set-pick{display:flex;align-items:center;gap:16px;padding:16px 18px;border:1px solid rgba(247,226,182,.16);border-radius:12px;background:#ffffff08}.portal-set-pick-icon{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:10px;color:#101820;background:linear-gradient(140deg,#f7e2b6,#d6a451)}.portal-set-pick>div{min-width:0;display:grid;gap:3px}.portal-set-pick strong{color:#fff;font-family:Sora,sans-serif;font-size:1.02rem;font-weight:600}.portal-set-pick>div span{color:#ffffff85;font-size:.78rem}.portal-set-pick>button{height:36px;margin-left:auto;padding:0 14px;flex:0 0 auto;border:1px solid rgba(247,226,182,.2);border-radius:8px;color:#f7e2b6d9;background:transparent;font-size:.8rem;font-weight:700;cursor:pointer;transition:color .16s ease,border-color .16s ease}.portal-set-pick>button:hover{color:#fff;border-color:#f7e2b680}.portal-dashboard-view .portal-launcher-cta{width:100%;height:62px;margin-top:30px;display:inline-flex;align-items:center;justify-content:center;gap:12px;border:0;border-radius:12px;color:#101820;background:linear-gradient(120deg,#f7e2b6,#efd39a);font-family:Sora,sans-serif;font-size:1.08rem;font-weight:700;cursor:pointer;box-shadow:0 18px 40px #d6a45138;transition:transform .18s ease,box-shadow .18s ease}.portal-dashboard-view .portal-launcher-cta:hover{transform:translateY(-2px);box-shadow:0 24px 54px #d6a45152}.portal-cta-arrow{animation:portal-dash-nudge 2s ease-in-out infinite}.portal-launcher-note{margin:14px 0 0!important;color:#ffffff73!important;font-size:.8rem!important}.portal-dash-side{display:grid;gap:18px;align-content:start}.portal-eyebrow{margin:0!important;color:#f7e2b6cc!important;font-size:.66rem!important;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.portal-last-test,.portal-previous-tests{border:1px solid rgba(247,226,182,.13);border-radius:18px;background:#0a101eb8;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.portal-last-test{padding:28px 30px}.portal-last-test-value{display:flex;align-items:flex-end;gap:14px;margin-top:18px}.portal-last-test-value strong{color:#fff;font-family:Sora,sans-serif;font-size:3.4rem;font-weight:700;line-height:.9;letter-spacing:-.04em}.portal-last-test-value span{padding-bottom:8px;color:#ffffff85;font-size:.82rem}.portal-meter{height:4px;margin-top:22px;overflow:hidden;border-radius:999px;background:#ffffff14}.portal-meter>div{height:100%;border-radius:999px;background:linear-gradient(90deg,#d6a451,#f7e2b6);transform-origin:left center;animation:portal-dash-grow 1.2s cubic-bezier(.2,.8,.3,1) both}.portal-meter-thin{height:3px;margin-top:0}.portal-meter-thin>div{background:#f7e2b6bf}.portal-last-test-meta{display:flex;align-items:center;gap:10px;margin-top:18px;color:#fff9;font-size:.82rem}.portal-last-test-meta svg{flex:0 0 auto;color:#f7e2b6b3}.portal-previous-tests{display:grid;gap:0;padding:26px 30px 22px}.portal-previous-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:12px}.portal-previous-head button{padding:0;border:0;color:#f7e2b6;background:transparent;font-size:.78rem;font-weight:700;cursor:pointer}.portal-previous-head button:hover{color:#d6a451}.portal-previous-row{display:grid;grid-template-columns:82px minmax(0,1fr) auto;align-items:center;gap:14px;padding:11px 0;border-top:1px solid rgba(255,255,255,.06)}.portal-previous-row>span:first-child{color:#fff6;font-size:.76rem;font-weight:600}.portal-previous-row>span:nth-child(2){min-width:0;overflow:hidden;color:#fff;font-size:.86rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.portal-previous-row>span:last-child{color:#f7e2b6;font-family:Sora,sans-serif;font-size:.9rem;font-weight:600}.portal-dashboard-view .portal-section-block{animation:portal-dash-rise .7s .12s cubic-bezier(.2,.7,.3,1) both}.portal-dash-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px}.portal-dashboard-view .portal-dash-heading h2{margin:0!important;color:#fff;font-family:Sora,sans-serif;font-size:1.24rem!important;font-weight:600;letter-spacing:-.02em}.portal-dash-heading button{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;color:#f7e2b6;background:transparent;font-size:.84rem;font-weight:700;cursor:pointer}.portal-dash-heading button:hover{color:#d6a451}.portal-class-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.portal-class-card{display:grid;grid-template-columns:56px minmax(0,1fr) 44px;align-items:center;gap:18px;padding:22px 24px;border:1px solid rgba(247,226,182,.13);border-radius:16px;background:#0a101ea8;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.portal-class-card:hover{border-color:#f7e2b657;box-shadow:0 22px 50px #00000059;transform:translateY(-3px)}.portal-class-card>span:first-child{width:56px;height:56px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(247,226,182,.22);border-radius:14px;color:#f7e2b6;background:#f7e2b614;font-family:Sora,sans-serif;font-size:1.15rem;font-weight:700}.portal-class-card>div{min-width:0;display:grid;gap:8px}.portal-class-card strong{color:#fff;font-family:Sora,sans-serif;font-size:1rem;font-weight:600}.portal-class-card>div>span{color:#ffffff80;font-size:.8rem}.portal-class-card>button{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(247,226,182,.22);border-radius:12px;color:#f7e2b6;background:#f7e2b614;cursor:pointer;transition:color .18s ease,background .18s ease}.portal-class-card>button:hover{color:#101820;background:#f7e2b6}@media(max-width:1180px){.portal-dash-top{grid-template-columns:minmax(0,1fr)}.portal-class-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.portal-dashboard-view .portal-launcher{padding:28px 22px 26px}.portal-launcher h2{font-size:1.9rem!important}.portal-set-pick{flex-wrap:wrap}.portal-set-pick>button{margin-left:0}.portal-class-cards{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){.portal-root:before,.portal-root:after,.portal-auth-root:before,.portal-live-root:before,.portal-launcher-glow,.portal-cta-arrow,.portal-dash-top,.portal-dashboard-view .portal-section-block,.portal-meter>div{animation:none}}.portal-result-detail{gap:24px}.portal-result-heading h1{margin:10px 0;font-size:clamp(1.5rem,3vw,2rem);overflow-wrap:anywhere}.portal-result-heading>p:last-child,.portal-result-note{color:var(--portal-muted);line-height:1.6}.portal-result-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0}.portal-result-metrics>div{padding:22px;background:#0a101e;border:1px solid var(--portal-line);border-radius:14px}.portal-result-metrics dt{color:var(--portal-muted);font-size:.875rem}.portal-result-metrics dd{margin:12px 0 0;font-size:1.5rem;font-weight:750;overflow-wrap:anywhere}.portal-root .portal-result-ranking{padding:24px;background:#0a101e;border:1px solid var(--portal-line);border-radius:14px;min-width:0}.portal-root .portal-result-ranking h2{display:flex;align-items:center;gap:10px;font-size:1.2rem;margin-bottom:20px}.portal-result-table-wrap{overflow-x:auto}.portal-result-ranking table{width:100%;border-collapse:collapse;text-align:left;font-size:.875rem}.portal-result-ranking th,.portal-result-ranking td{padding:16px 12px;border-bottom:1px solid var(--portal-soft-line)}.portal-result-ranking thead th{color:var(--portal-muted);font-weight:600}.portal-result-ranking tbody th{overflow-wrap:anywhere}.portal-result-table-caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:760px){.portal-result-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.portal-result-metrics>div{padding:16px}.portal-root .portal-result-ranking{padding:16px}.portal-result-ranking thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.portal-result-ranking tbody,.portal-result-ranking tr{display:grid}.portal-result-ranking tr{padding:12px 0;border-bottom:1px solid var(--portal-line)}.portal-result-ranking td,.portal-result-ranking tbody th{padding:8px 0;border:0}.portal-result-ranking tbody th{grid-row:1;font-size:1rem}.portal-result-ranking td{display:flex;justify-content:space-between;gap:12px}.portal-result-ranking td:before{content:attr(data-label);color:var(--portal-muted)}}.portal-library-view{gap:30px;animation:portal-dash-rise .56s cubic-bezier(.2,.7,.3,1) both}.portal-library-intro{max-width:620px}.portal-library-intro h2,.portal-library-head h2{margin:0!important;color:#fff;font-family:Sora,sans-serif;font-size:1.9rem!important;font-weight:700;letter-spacing:-.03em}.portal-library-intro p{margin:10px 0 0!important;color:#ffffff80!important;font-size:.95rem!important;line-height:1.5}.portal-library-head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:20px}.portal-library-head p{margin:8px 0 0!important;color:#ffffff80!important;font-size:.9rem!important}.portal-library-view .portal-back-button{display:inline-flex;align-items:center;gap:8px;justify-self:start;padding:0;border:0;color:#f7e2b6bf;background:transparent;font-size:.86rem;font-weight:700;cursor:pointer;transition:color .16s ease}.portal-library-view .portal-back-button:hover{color:#fff}.portal-area-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.portal-area-tile{position:relative;overflow:hidden;height:196px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:10px;padding:26px;border:1px solid rgba(247,226,182,.13);border-radius:18px;background:#0a101ea8;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);color:#fff;text-align:left;cursor:pointer;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.portal-area-tile:hover{border-color:#f7e2b661;box-shadow:0 26px 60px #0006;transform:translateY(-4px)}.portal-area-ring,.portal-area-orbit,.portal-area-dot{position:absolute;border-radius:50%;pointer-events:none}.portal-area-ring{top:-66px;right:-66px;width:186px;height:186px;border:1px solid rgba(247,226,182,.14)}.portal-area-orbit{top:-30px;right:-30px;width:116px;height:116px;border:1px dashed rgba(247,226,182,.16);animation:portal-area-spin 34s linear infinite}.portal-area-dot{top:26px;right:26px;width:10px;height:10px}@keyframes portal-area-spin{to{transform:rotate(360deg)}}.portal-area-tile strong{position:relative;color:#fff;font-family:Sora,sans-serif;font-size:1.28rem;font-weight:600;line-height:1.15;letter-spacing:-.02em}.portal-area-count{position:relative;display:flex;align-items:center;gap:8px;color:#f7e2b6d9;font-size:.8rem;font-weight:700;white-space:nowrap}.portal-library-filters{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.portal-search-compact{width:min(100%,250px);min-height:38px;padding:0 13px;border-radius:999px;font-size:.84rem}.portal-level-row{display:flex;align-items:center;gap:8px}.portal-level-row button{height:38px;padding:0 15px;border:1px solid rgba(247,226,182,.16);border-radius:999px;color:#ffffffad;background:#ffffff08;font-size:.82rem;font-weight:700;cursor:pointer;transition:border-color .16s ease,color .16s ease,background .16s ease}.portal-level-row button:hover{border-color:#f7e2b673;color:#fff}.portal-level-row button.is-active{color:#101820;border-color:#f7e2b6;background:#f7e2b6}.portal-set-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}@media(max-width:1180px){.portal-area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.portal-area-grid{grid-template-columns:minmax(0,1fr)}.portal-area-tile{height:150px;padding:22px}.portal-library-intro h2,.portal-library-head h2{font-size:1.5rem!important}.portal-set-grid{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){.portal-library-view,.portal-area-orbit{animation:none}}.quiz-card{position:relative;overflow:hidden;display:flex;flex-direction:column;width:100%;padding:0;border:1px solid rgba(247,226,182,.13);border-radius:20px;background:#0a101ea8;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);text-align:left;cursor:pointer;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.quiz-card:hover{border-color:#f7e2b661;box-shadow:0 26px 60px #0006;transform:translateY(-4px)}.quiz-card__stars{position:absolute;inset:0;background-image:radial-gradient(1.4px 1.4px at 12% 22%,rgba(255,255,255,.55),transparent 60%),radial-gradient(1.2px 1.2px at 82% 16%,rgba(255,255,255,.4),transparent 60%),radial-gradient(1.6px 1.6px at 92% 38%,rgba(255,255,255,.5),transparent 60%),radial-gradient(1.1px 1.1px at 6% 46%,rgba(255,255,255,.35),transparent 60%);opacity:.7;pointer-events:none}.quiz-card__visual{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;aspect-ratio:1 / 1;max-height:280px;background:radial-gradient(120% 140% at 50% 15%,#3977a747,#0a101e00 70%)}.quiz-card__planet-glow{position:absolute;top:50%;left:50%;width:100%;height:100%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#f7e2b638,#f7e2b600 72%);filter:blur(2px)}.quiz-card__planet{position:relative;width:100%;height:100%;object-fit:contain;box-shadow:0 18px 34px #00000073;transition:transform .26s ease}.quiz-card:hover .quiz-card__planet{transform:scale(1.05)}.quiz-card__world{position:relative;overflow:hidden;width:100%;height:100%}.quiz-card__world-map{width:100%;height:100%;object-fit:contain}.quiz-card__world-sweep{position:absolute;inset:0;overflow:hidden;-webkit-mask-image:var(--quiz-card-world-mask);mask-image:var(--quiz-card-world-mask);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;pointer-events:none}.quiz-card__world-sweep:before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,#fff0 40%,#ffffff73,#fff0 60%);animation:quiz-card-world-sweep 7s ease-in-out infinite}@keyframes quiz-card-world-sweep{0%,10%{transform:translate(-100%)}90%,to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.quiz-card__world-sweep:before{animation:none;opacity:0}}.quiz-card__content{display:flex;flex-direction:column;gap:10px;padding:18px 20px 20px;border-top:1px solid rgba(255,255,255,.06)}.quiz-card__topline{display:flex;align-items:center;justify-content:space-between;gap:10px}.quiz-card__category{color:#f7e2b6d9;font-size:.74rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.quiz-card__saved{display:inline-flex;align-items:center;gap:4px;color:#7fd8a4;font-size:.72rem;font-weight:700;white-space:nowrap}.quiz-card__title{margin:0;color:#fff;font-family:Sora,sans-serif;font-size:1.05rem;font-weight:600;line-height:1.3}.quiz-card__footer{display:flex;align-items:center;justify-content:space-between;margin-top:4px}.quiz-card__level{color:#ffffffa6;font-size:.875rem}.quiz-card__questions{display:inline-flex;align-items:center;gap:7px;color:#ffffff8c;font-size:.82rem;font-weight:600}.quiz-card__questions strong{color:#fff}.quiz-card__questions-icon{display:inline-flex;color:#f7e2b6d9}.quiz-card__arrow{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;border:1px solid rgba(247,226,182,.18);color:#f7e2b6d9;transition:border-color .18s ease,background .18s ease,color .18s ease}.quiz-card:hover .quiz-card__arrow{border-color:#f7e2b6;background:#f7e2b6;color:#101820}.portal-new-test-view{display:grid;align-content:start;gap:24px}.portal-new-test-heading{max-width:760px}.portal-new-test-view .portal-new-test-heading h2{margin:7px 0 9px;color:#f4f6ff;font:700 clamp(1.55rem,2.4vw,2.15rem)/1.14 Sora,sans-serif;letter-spacing:-.035em}.portal-new-test-view .portal-new-test-heading>p:last-child{margin:0;max-width:68ch;color:#ffffff80;font-size:.94rem;line-height:1.65}.portal-new-test-context,.portal-test-selected-set{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 17px;border:1px solid rgba(247,226,182,.15);border-radius:15px;background:#f7e2b60e}.portal-new-test-context>span:first-child,.portal-test-selected-set>span:first-child{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;color:#f7e2b6;background:#f7e2b61a}.portal-new-test-context div,.portal-test-selected-set div{display:grid;gap:3px}.portal-new-test-context small,.portal-test-selected-set small{color:#ffffff61;font-size:.72rem;text-transform:uppercase;letter-spacing:.09em}.portal-new-test-context strong,.portal-test-selected-set strong{color:#f4f6ff;font:700 .94rem Sora,sans-serif}.portal-new-test-context>span:last-child{color:#ffffff7a;font-size:.82rem}.portal-method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}@media(max-width:1180px){.portal-method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.portal-new-test-view .portal-method-card{position:relative;isolation:isolate;min-height:330px;display:grid;grid-template-rows:auto auto auto 1fr auto;align-content:start;justify-items:start;gap:13px;overflow:hidden;padding:28px;border:1px solid rgba(255,255,255,.1);border-radius:22px;color:inherit;text-align:left;background:#0a101eb8;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.portal-new-test-view .portal-method-card:hover{transform:translateY(-3px);border-color:#f7e2b64d;background:#0f1728d6}.portal-new-test-view .portal-method-card:focus-visible{outline:2px solid #f7e2b6;outline-offset:3px}.portal-method-card-glow{position:absolute;z-index:-1;top:-95px;right:-80px;width:250px;height:250px;border-radius:50%;background:radial-gradient(circle,rgba(247,226,182,.13),transparent 68%)}.portal-method-generator .portal-method-card-glow{background:radial-gradient(circle,rgba(96,174,255,.15),transparent 68%)}.portal-method-icon{width:52px;height:52px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(247,226,182,.2);border-radius:15px;color:#f7e2b6;background:#f7e2b617}.portal-method-generator .portal-method-icon{border-color:#79bdff38;color:#a8d5ff;background:#59a2ea1a}.portal-method-badge{position:absolute;top:28px;right:28px;padding:6px 9px;border:1px solid rgba(255,255,255,.1);border-radius:999px;color:#ffffff7a;background:#ffffff0a;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.portal-new-test-view .portal-method-card>strong{margin-top:5px;color:#f4f6ff;font:700 1.22rem/1.25 Sora,sans-serif}.portal-method-description{max-width:50ch;color:#ffffff80;font-size:.9rem;line-height:1.58}.portal-method-points{display:grid;align-content:start;gap:8px}.portal-method-points>span{display:flex;align-items:center;gap:8px;color:#ffffff9e;font-size:.82rem}.portal-method-points svg{color:#9bd9b8}.portal-method-action{display:flex;align-items:center;gap:9px;color:#f7e2b6;font-size:.86rem;font-weight:800}.portal-method-action svg{transition:transform .18s ease}.portal-method-card:hover .portal-method-action svg{transform:translate(4px)}.portal-new-test-view .portal-new-test-footnote{margin:-2px 0 0;color:#ffffff54;font-size:.78rem;line-height:1.55;text-align:center}.portal-test-class-view{max-width:1080px}.portal-test-selected-set{grid-template-columns:42px minmax(0,1fr);max-width:720px}.portal-test-selected-set p{margin:0;color:#ffffff6e;font-size:.8rem}.portal-test-class-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.portal-new-test-view .portal-test-class-grid>button{display:grid;grid-template-columns:48px minmax(0,1fr) 20px;align-items:center;gap:13px;min-height:82px;padding:15px 17px;border:1px solid rgba(255,255,255,.1);border-radius:15px;color:inherit;text-align:left;background:#0a101ead;cursor:pointer}.portal-new-test-view .portal-test-class-grid>button:hover,.portal-new-test-view .portal-test-class-grid>button.is-active{border-color:#f7e2b65c;background:#f7e2b614}.portal-test-class-symbol{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;border-radius:13px;color:#101820;background:#f7e2b6;font:800 .76rem Sora,sans-serif}.portal-test-class-symbol.portal-test-no-class{color:#f7e2b6;background:#f7e2b61a}.portal-test-class-grid button>span:nth-child(2){display:grid;gap:4px}.portal-test-class-grid button strong{color:#f4f6ff;font:700 .9rem Sora,sans-serif}.portal-test-class-grid button small{color:#ffffff6b;font-size:.77rem;line-height:1.4}.portal-test-class-grid button>svg{color:#f7e2b6}.portal-new-test-footer{position:sticky;bottom:18px;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid rgba(247,226,182,.16);border-radius:16px;background:#080d18f0;box-shadow:0 18px 45px #0000004d;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.portal-new-test-footer>div{display:grid;gap:3px}.portal-new-test-footer small{color:#ffffff61;font-size:.7rem;text-transform:uppercase;letter-spacing:.09em}.portal-new-test-footer strong{color:#f4f6ff;font-size:.9rem}.portal-new-test-footer .portal-primary-button{display:inline-flex;align-items:center;gap:8px}@media(max-width:820px){.portal-method-grid,.portal-test-class-grid{grid-template-columns:minmax(0,1fr)}.portal-new-test-view .portal-method-card{min-height:300px}}@media(max-width:560px){.portal-new-test-context{grid-template-columns:42px minmax(0,1fr)}.portal-new-test-context>span:last-child{grid-column:2}.portal-new-test-view .portal-method-card{min-height:0;padding:22px}.portal-method-badge{top:22px;right:22px}.portal-new-test-footer{align-items:stretch;flex-direction:column;bottom:10px}.portal-new-test-footer .portal-primary-button{justify-content:center}}@media(prefers-reduced-motion:reduce){.portal-new-test-view .portal-method-card,.portal-method-action svg{transition:none}}.portal-sets-hub{display:grid;align-content:start;gap:22px}.portal-sets-hub-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.portal-sets-hub .portal-sets-hub-head h2{margin:5px 0 7px;color:#f4f6ff;font:700 clamp(1.5rem,2.3vw,2rem)/1.16 Sora,sans-serif;letter-spacing:-.035em}.portal-sets-hub .portal-sets-hub-head>div>p:last-child{margin:0;color:#ffffff7a;font-size:.9rem;line-height:1.55}.portal-sets-tabs{display:flex;gap:6px;width:fit-content;padding:5px;border:1px solid rgba(255,255,255,.09);border-radius:13px;background:#ffffff06}.portal-sets-hub .portal-sets-tabs button{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:0;border-radius:9px;color:#ffffff7a;background:transparent;font:700 .82rem Manrope,sans-serif;cursor:pointer}.portal-sets-hub .portal-sets-tabs button:hover{color:#ffffffc7}.portal-sets-hub .portal-sets-tabs button.is-active{color:#101820;background:#f7e2b6}.portal-sets-tab-content>.portal-view{padding-top:0}.portal-sets-tab-content .portal-section-heading:first-child{margin-top:0}@media(max-width:560px){.portal-sets-tabs{width:100%}.portal-sets-hub .portal-sets-tabs button{flex:1;justify-content:center}}.client-gate-root{min-height:100vh;display:grid;place-items:center;padding:24px;color:#fff;background:radial-gradient(circle at 50% 20%,rgba(74,127,212,.18),transparent 32rem),#02030a;font-family:Inter,Arial,sans-serif}.client-gate-card{width:min(100%,470px);display:grid;justify-items:center;gap:14px;padding:42px 34px;border:1px solid rgba(247,226,182,.18);border-radius:18px;background:#0a101ee0;text-align:center;box-shadow:0 24px 80px #0000006b}.client-gate-icon{width:62px;height:62px;display:grid;place-items:center;border-radius:50%;color:#091529;background:#f7e2b6}.client-gate-eyebrow{margin:6px 0 -8px;color:#f7e2b6;font-size:.72rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase}.client-gate-card h1,.client-gate-card p{margin:0}.client-gate-card h1{font-size:clamp(1.55rem,5vw,2.25rem)}.client-gate-card>p:last-of-type{max-width:36ch;color:#ffffffad;line-height:1.55}.client-gate-card button{min-height:44px;display:inline-flex;align-items:center;gap:8px;margin-top:8px;padding:0 18px;border:0;border-radius:8px;color:#091529;background:#f7e2b6;font:inherit;font-weight:800;cursor:pointer}.client-gate-spin{animation:client-gate-spin .9s linear infinite}@keyframes client-gate-spin{to{transform:rotate(360deg)}}.student-live-root{width:100%;min-height:100vh;box-sizing:border-box;display:grid;place-items:center;overflow-x:hidden;padding:76px 20px 28px;color:#fff;background:radial-gradient(circle at 50% 15%,rgba(74,127,212,.22),transparent 34rem),radial-gradient(circle at 12% 85%,rgba(247,226,182,.08),transparent 28rem),#02030a;font-family:Inter,Arial,sans-serif}.student-live-root *{box-sizing:border-box}.student-live-brand{position:fixed;inset:20px 22px auto;z-index:3;display:flex;align-items:baseline;gap:10px}.student-live-brand strong{color:#f7e2b6;font-size:1.15rem}.student-live-brand span{color:#ffffff80;font-size:.78rem}.student-join-card,.student-state-card,.student-question-card{width:min(calc(100vw - 40px),720px);min-width:0;padding:clamp(24px,5vw,42px);border:1px solid rgba(247,226,182,.18);border-radius:18px;background:#0a101ee6;box-shadow:0 24px 90px #0000006b}.student-join-card,.student-state-card{display:grid;justify-items:center;gap:12px;max-width:500px;text-align:center}.student-live-icon{width:60px;height:60px;display:grid;place-items:center;border-radius:50%;color:#091529;background:#f7e2b6}.student-live-eyebrow{margin:4px 0 -5px;color:#f7e2b6;font-size:.7rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.student-live-root h1,.student-live-root p{margin:0}.student-live-root h1{font-size:clamp(1.55rem,6vw,2.5rem)}.student-live-muted{color:#ffffff9e;line-height:1.5}.student-join-card form{width:100%;min-width:0;display:grid;gap:9px;margin-top:12px;text-align:left}.student-join-card label{color:#ffffffb8;font-size:.76rem;font-weight:750}.student-join-card input{width:100%;min-height:50px;padding:0 15px;border:1px solid rgba(255,255,255,.14);border-radius:9px;color:#fff;background:#ffffff0e;font:inherit;outline:none}.student-join-card #student-pin{min-height:68px;text-align:center;font-size:2rem;font-weight:850;letter-spacing:.22em}.student-join-card input:focus{border-color:#f7e2b6;box-shadow:0 0 0 3px #f7e2b61f}.student-live-root button,.student-live-app-link{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 18px;border:0;border-radius:9px;color:#091529;background:#f7e2b6;font:inherit;font-weight:800;text-decoration:none;cursor:pointer}.student-join-card form button{width:100%;margin-top:8px}.student-live-root button:disabled{cursor:default;opacity:.58}.student-live-app-link{min-height:38px;color:#f7e2b6;background:transparent;font-size:.82rem}.student-live-secondary{color:#ffffffbd!important;background:transparent!important}.student-live-error{width:100%;padding:10px 12px;border:1px solid rgba(255,126,145,.32);border-radius:8px;color:#ffb0bc;background:#ff7e9114;font-size:.82rem;line-height:1.4}.student-observer-notice{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 13px;border:1px solid rgba(247,226,182,.22);border-radius:9px;color:#ffffffc2;background:#f7e2b614;font-size:.82rem;line-height:1.4}.student-player-list{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin:10px 0}.student-player-list span{padding:7px 11px;border:1px solid rgba(247,226,182,.2);border-radius:999px;background:#f7e2b60f;font-size:.8rem}.student-countdown{display:grid;justify-items:center;gap:10px;text-align:center}.student-countdown p{color:#ffffff9e}.student-countdown strong{color:#f7e2b6;font-size:clamp(7rem,32vw,15rem);line-height:.95}.student-countdown span{font-size:1.1rem;font-weight:800}.student-question-card{display:grid;gap:20px}.student-question-card>header{display:flex;align-items:center;justify-content:space-between;color:#ffffff94;font-size:.78rem;font-weight:750}.student-question-card>header strong{width:48px;height:48px;display:grid;place-items:center;border:2px solid #f7e2b6;border-radius:50%;color:#fff;font-size:.95rem}.student-question-card h1{text-align:center;font-size:clamp(1.3rem,4vw,2.2rem)}.student-question-map,.student-question-image{width:100%;max-height:42vh;display:block;object-fit:contain;border-radius:10px;background:#fffffff5}.student-answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.student-answer-grid button{min-height:82px;justify-content:flex-start;padding:12px 15px;color:#fff;background:#22304a;text-align:left}.student-answer-grid button:nth-child(2){background:#365d9b}.student-answer-grid button:nth-child(3){background:#31745a}.student-answer-grid button:nth-child(4){background:#675291}.student-answer-grid button>span{width:28px;height:28px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:#ffffff24}.student-answer-grid button.is-selected{outline:3px solid #f7e2b6;opacity:1}.student-answer-grid button.is-correct{background:#2d946c;opacity:1}.student-answer-grid button.is-wrong{background:#9d4354;opacity:1}.student-question-status{min-height:24px;color:#ffffffad;text-align:center;font-weight:700}.student-ranking{width:100%;display:grid;gap:8px;margin:12px 0;padding:0;list-style:none}.student-ranking li{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:9px;text-align:left}.student-ranking li>span{display:flex;align-items:center;gap:5px;color:#f7e2b6}.student-ranking em{color:#ffffff94;font-style:normal;font-size:.8rem}.student-live-reconnect{position:fixed;top:18px;right:18px;z-index:5;display:flex;align-items:center;gap:7px;max-width:min(88vw,470px);padding:10px 13px;border-radius:999px;color:#091529;background:#f7e2b6;font-size:.76rem;font-weight:800}.student-live-spin{animation:student-live-spin .9s linear infinite}@keyframes student-live-spin{to{transform:rotate(360deg)}}@media(max-width:620px){.student-live-root{padding-inline:12px}.student-join-card,.student-state-card,.student-question-card{width:calc(100vw - 24px);padding:22px 16px;border-radius:13px}.student-answer-grid{grid-template-columns:1fr}.student-answer-grid button{min-height:62px}.student-live-reconnect{inset:auto 12px 12px;border-radius:10px}}.portal-error-root{--portal-gold: #f7e2b6;--portal-gold-dark: #d6a451;--portal-ink: #ffffff;--portal-muted: rgba(255, 255, 255, .62);--portal-line: rgba(247, 226, 182, .15);--portal-bg: #02030a;--portal-surface: rgba(10, 16, 30, .82);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px;background:var(--portal-bg);color:var(--portal-ink);font-family:Inter,Arial,sans-serif}.portal-error-root *{box-sizing:border-box}.portal-error-card{width:min(680px,100%);display:flex;flex-direction:column;gap:20px;padding:40px;border:1px solid var(--portal-line);border-radius:8px;background:var(--portal-surface)}.portal-error-badge{align-self:flex-start;padding:4px 10px;border:1px solid var(--portal-line);border-radius:4px;color:var(--portal-gold);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.portal-error-card h1{margin:0;font-size:34px;line-height:1.15;font-weight:700}.portal-error-card p{margin:0;font-size:17px;line-height:1.55;color:var(--portal-muted)}.portal-error-card p strong{color:var(--portal-ink);font-weight:600}.portal-error-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:4px}.portal-error-actions button{font:inherit;cursor:pointer;border-radius:8px;padding:14px 22px;border:1px solid transparent;transition:filter .12s ease,background-color .12s ease}.portal-error-primary{background:var(--portal-gold);color:#101010;font-weight:700;font-size:17px}.portal-error-primary:hover{filter:brightness(1.06)}.portal-error-secondary{background:transparent;border-color:var(--portal-line);color:var(--portal-muted);font-size:15px}.portal-error-secondary:hover{color:var(--portal-ink);background:#ffffff0a}.portal-error-root button:focus-visible{outline:2px solid var(--portal-gold-dark);outline-offset:3px}.portal-error-details{display:flex;flex-direction:column;gap:10px;padding-top:16px;border-top:1px solid rgba(255,255,255,.07)}.portal-error-details pre{margin:0;max-height:220px;overflow:auto;padding:14px;border-radius:6px;background:#00000073;color:#ffffffc7;font-family:SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.5;white-space:pre-wrap;word-break:break-word}@media(max-width:560px){.portal-error-root{padding:16px}.portal-error-card{padding:26px 22px}.portal-error-card h1{font-size:26px}}@media(prefers-reduced-motion:reduce){.portal-error-actions button{transition:none}}*{box-sizing:border-box}html{min-height:100%}body{min-width:320px;min-height:100vh;margin:0;background:#02030a}button,input,textarea,select{font:inherit}#root{min-height:100vh}
