@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@600;700;800&display=swap";:root{--color-primary:#5b5bd6;--color-primary-hover:#4c4cbc;--color-primary-soft:#7a7ae1;--color-primary-pale:#efefff;--color-background:#f6f7fb;--color-surface:#fff;--color-text-main:#1b2233;--color-text-muted:#616b80;--color-border:#d8dcea;--font-sans:Manrope, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-logo:"Plus Jakarta Sans", Manrope, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;margin:0}body{min-height:100vh;min-height:-webkit-fill-available;font-family:var(--font-sans);background:var(--color-background);color:var(--color-text-main);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}#root{min-height:100svh;min-height:var(--app-height,100svh)}.page,html,body,#root{max-width:100%;overflow-x:hidden}.page{width:100%}.topbar{justify-content:space-between;align-items:center;gap:.8rem;max-width:1080px;margin:0 auto;padding:1.1rem 1.4rem;display:flex}.brand{font-family:var(--font-logo);letter-spacing:-.035em;color:var(--color-text-main);align-items:center;gap:.15rem;margin:0;font-size:1.45rem;font-weight:700;display:inline-flex}.brand-kortex{color:#232f47}.brand-ia{color:#fff;background:linear-gradient(135deg,#5b5bd6 0%,#7878dc 100%);border-radius:999px;padding:.08rem .42rem .16rem;font-size:.79em;line-height:1}.topbar-love{color:#5a6682;text-align:right;margin:0;font-size:.82rem;font-weight:600}.landing{gap:1.25rem;max-width:1080px;margin:0 auto;padding:0 1.4rem 4rem;display:grid}.hero{text-align:center;border:1px solid var(--color-border);background:linear-gradient(#fbfbff 0%,#f6f7fb 100%);border-radius:1.2rem;padding:4rem 1.2rem 3.5rem}.eyebrow{color:var(--color-primary);letter-spacing:.04em;margin:0;font-size:.9rem;font-weight:600}.hero h1{letter-spacing:-.03em;max-width:18ch;color:var(--color-text-main);margin:.85rem auto 0;font-size:clamp(2rem,5vw,3.4rem);line-height:1.07}.subtitle{max-width:60ch;color:var(--color-text-muted);margin:1rem auto 0}.text-stimulants{color:#111827;display:inline-block;position:relative}.text-stimulants:after{content:attr(data-text);color:#0000;opacity:0;will-change:opacity, background-position;pointer-events:none;background-image:linear-gradient(100deg,#5b5bd6 0%,#8a63ff 35%,#c36dff 50%,#8a63ff 65%,#5b5bd6 100%);background-position:0%;background-size:180% 100%;-webkit-background-clip:text;background-clip:text;animation:5.2s ease-in-out infinite gradientPulse;position:absolute;inset:0}@keyframes gradientPulse{0%{opacity:0;background-position:0%}18%{opacity:0}50%{opacity:1}82%{opacity:0}to{opacity:0;background-position:180%}}.hero-actions{flex-wrap:wrap;justify-content:center;gap:.8rem;margin-top:1.7rem;display:flex}.btn-primary,.btn-secondary{font:inherit;cursor:pointer;border:none;border-radius:.72rem;min-height:2.45rem;padding:.62rem .98rem;font-size:.9rem;line-height:1.2}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:0 6px 16px #5b5bd633}.btn-primary:hover{background:var(--color-primary-hover)}.btn-primary:disabled,.btn-secondary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-secondary{color:var(--color-primary);border:1px solid var(--color-border);background:#fff}.section{border:1px solid var(--color-border);background:var(--color-surface);border-radius:1.2rem;padding:1.6rem}.section h2{color:#1e2f54;letter-spacing:-.01em;margin:0 0 1rem;font-size:1.2rem;font-weight:600;line-height:1.3}.section h3{color:#24385f;letter-spacing:-.005em;margin:0;font-size:1rem;font-weight:600;line-height:1.35}.section p{color:var(--color-text-muted);margin:0}.grid{gap:.9rem;display:grid}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{border:1px solid var(--color-border);background:#f8faff;border-radius:1rem;gap:.55rem;padding:1rem;display:grid}.card svg,.feature svg{color:var(--color-primary)}.feature{border:1px solid var(--color-border);border-radius:1rem;grid-template-columns:auto 1fr;align-items:start;gap:.8rem;padding:1rem;display:grid}.alt{background:linear-gradient(#fff 0%,#f8faff 100%)}.cta{text-align:center;background:linear-gradient(150deg,#f1f6ff 0%,#eaf1ff 55%,#f8faff 100%)}.cta p{margin-bottom:1rem}.footer{text-align:center;max-width:1080px;color:var(--color-text-muted);margin:0 auto;padding:0 1.4rem 2rem;font-size:.92rem}.dashboard-shell{grid-template-columns:240px 1fr 280px;gap:0;width:100%;max-width:none;height:100svh;margin:0;padding:0;transition:grid-template-columns .3s cubic-bezier(.4,0,.2,1);display:grid;overflow:hidden}.dashboard-shell.sidebar-collapsed{grid-template-columns:72px 1fr 280px}.dashboard-shell.is-arena{grid-template-columns:240px 1fr}.dashboard-shell.sidebar-collapsed.is-arena{grid-template-columns:72px 1fr}.dashboard-nav{height:100svh;min-height:0;max-height:none;box-shadow:none;background:#fff;border-right:1px solid #eaecf3;border-radius:0;flex-direction:column;gap:.2rem;padding:1.4rem .85rem 1rem;transition:padding .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:visible}.dashboard-nav.is-collapsed{padding:1.4rem .65rem 1rem;overflow:visible}.sidebar-expand-zone{z-index:0;cursor:pointer;background:0 0;border:none;position:absolute;inset:0}.dashboard-brand{flex-shrink:0;align-items:center;gap:.55rem;margin-bottom:.3rem;padding:0 .4rem .2rem;display:flex;overflow:hidden}.dashboard-logo-img{-o-object-fit:contain;object-fit:contain;border-radius:.45rem;flex-shrink:0;width:2rem;height:2rem}.dashboard-logo-text{font-family:var(--font-logo);letter-spacing:-.03em;color:var(--color-text-main);white-space:nowrap;opacity:1;max-width:160px;font-size:1.2rem;font-weight:800;transition:max-width .3s cubic-bezier(.4,0,.2,1),opacity .18s;overflow:hidden}.dashboard-nav.is-collapsed .dashboard-logo-text{opacity:0;max-width:0}.sidebar-brand-close{cursor:pointer;color:#b0b8cc;opacity:1;background:0 0;border:none;border-radius:.45rem;flex-shrink:0;justify-content:center;align-items:center;width:1.75rem;max-width:1.75rem;height:1.75rem;margin-left:auto;transition:background .15s,color .15s,max-width .3s cubic-bezier(.4,0,.2,1),opacity .18s;display:flex;overflow:hidden}.sidebar-brand-close:hover{color:var(--color-primary);background:#f0f1ff}.dashboard-nav.is-collapsed .sidebar-brand-close{opacity:0;pointer-events:none;max-width:0}.nav-section-label{color:#9ba3b8;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;opacity:1;max-height:2rem;margin:0 .4rem .5rem;font-size:.72rem;font-weight:700;transition:max-height .3s cubic-bezier(.4,0,.2,1),opacity .18s,margin .3s;overflow:hidden}.dashboard-nav.is-collapsed .nav-section-label{opacity:0;max-height:0;margin-top:0;margin-bottom:0}.dashboard-menu{gap:.25rem;display:grid}.menu-item{color:var(--color-text-muted);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.75rem;align-items:center;gap:.55rem;padding:.66rem .75rem;font-weight:500;transition:background .18s,color .18s,gap .3s,padding .3s cubic-bezier(.4,0,.2,1),justify-content;display:flex;position:relative}.menu-item>span{white-space:nowrap;opacity:1;max-width:160px;transition:max-width .3s cubic-bezier(.4,0,.2,1),opacity .18s;overflow:hidden}.dashboard-nav.is-collapsed .menu-item{z-index:1;justify-content:center;gap:0;padding:.66rem 0;position:relative}.dashboard-nav.is-collapsed .menu-item>span{opacity:0;pointer-events:none;max-width:0}.dashboard-nav.is-collapsed .menu-item[data-label]:after{content:attr(data-label);color:#fff;white-space:nowrap;pointer-events:none;z-index:200;opacity:0;background:#1a2035;border-radius:.55rem;padding:.35rem .75rem;font-size:.75rem;font-weight:600;transition:opacity .15s;position:absolute;top:50%;left:calc(100% + 14px);transform:translateY(-50%);box-shadow:0 4px 16px #0003}.dashboard-nav.is-collapsed .menu-item[data-label]:hover:after{opacity:1}.menu-item.is-active{background:var(--color-primary);color:#fff}.menu-item:hover:not(.is-active){color:var(--color-primary);background:#f0f1ff}.menu-logout:hover:not(.is-active){color:#c0392b;background:#fff0f0}.sidebar-bottom{border-top:1px solid #f0f1f7;flex-direction:column;gap:.5rem;margin-top:auto;padding-top:.75rem;transition:align-items .3s;display:flex}.dashboard-nav.is-collapsed .sidebar-bottom{align-items:center}.menu-logout{margin-top:0}.sidebar-profile-info{opacity:1;min-width:0;max-width:160px;transition:max-width .3s cubic-bezier(.4,0,.2,1),opacity .18s;overflow:hidden}.dashboard-nav.is-collapsed .sidebar-profile-info{opacity:0;max-width:0}.dashboard-nav.is-collapsed .sidebar-profile{justify-content:center;gap:0}.dashboard-main{background:#f4f5fb;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.dashboard-hero{border:1px solid var(--color-border);background:linear-gradient(120deg,#fff 0%,#f7f7ff 100%);border-radius:1.1rem;justify-content:space-between;align-items:center;gap:1rem;padding:1.35rem;display:flex}.dashboard-kicker{color:#3f66b8;margin:0;font-size:.86rem;font-weight:600}.dashboard-hero h2{color:var(--color-text-main);max-width:26ch;margin:.35rem 0 .45rem;font-size:clamp(1.25rem,2.4vw,1.65rem);line-height:1.2}.dashboard-hero p{color:var(--color-text-muted);max-width:55ch;margin:0}.dashboard-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;display:grid}.stat-card{border:1px solid var(--color-border);background:#fff;border-radius:1rem;padding:1rem}.stat-label{color:var(--color-text-muted);margin:0;font-size:.86rem}.stat-value{color:var(--color-text-main);letter-spacing:-.02em;margin:.4rem 0 0;font-size:1.45rem;font-weight:700}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.dashboard-panel{border:1px solid var(--color-border);background:#fff;border-radius:1rem;align-content:start;align-items:start;gap:.75rem;min-width:0;padding:1.1rem;display:grid;overflow:visible}.dashboard-panel h3{color:#22355b;letter-spacing:.005em;text-transform:uppercase;opacity:.9;margin:0;font-size:.98rem;font-weight:600;line-height:1.2}.dashboard-panel p{color:var(--color-text-muted);margin:0}.dashboard-actions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.dashboard-actions>*{min-width:0}.file-button{justify-content:center;align-items:center;text-decoration:none;display:inline-flex;position:relative}.file-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.notes-textarea,.profile-form input,.profile-form textarea{border:1px solid var(--color-border);width:100%;font:inherit;color:var(--color-text-main);background:#fff;border-radius:.75rem;padding:.72rem .8rem}.notes-textarea{resize:vertical;margin-top:.75rem}.notes-textarea:focus,.profile-form input:focus,.profile-form textarea:focus{border-color:var(--color-primary);outline:2px solid #2f6fed38}.profile-layout{grid-template-columns:220px 1fr;align-items:start;gap:1rem;margin-top:.75rem;display:grid}.profile-avatar-wrap{gap:.65rem;display:grid}.profile-avatar{border:1px solid var(--color-border);-o-object-fit:cover;object-fit:cover;border-radius:50%;width:120px;height:120px}.profile-avatar-fallback{color:#1e4cac;letter-spacing:.04em;background:#eaf1ff;place-items:center;font-weight:700;display:grid}.profile-form{gap:.45rem;display:grid}.profile-form label{color:var(--color-text-main);font-size:.9rem;font-weight:600}.profile-form textarea{resize:vertical}.profile-form .btn-primary{justify-self:start;margin-top:.25rem}.profile-form .btn-primary:disabled{opacity:.7;cursor:wait}.profile-error,.profile-success{margin:0;font-size:.9rem}.profile-error{color:#c0392b}.profile-success{color:#1f8f5f}.fallback-box{background:#f8f9fc;border:1px dashed #cfd4e4;border-radius:.85rem;grid-template-columns:auto 1fr;align-items:start;gap:.65rem;padding:.75rem .85rem;display:grid}.fallback-box>:last-child{min-width:0}.fallback-icon{color:#5458bc;background:#eff0ff;border-radius:.55rem;place-items:center;width:1.85rem;height:1.85rem;display:grid}.fallback-title{color:#273247;word-break:break-word;overflow-wrap:anywhere;margin:0;font-size:.92rem;font-weight:600}.fallback-text{color:#5b6b8a;word-break:break-word;overflow-wrap:anywhere;margin:.12rem 0 0;font-size:.88rem}.rooms-layout,.weakness-report-grid{gap:.7rem;display:grid}.insights-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;display:grid}.insight-stat-card{background:linear-gradient(155deg,#fff 0%,#f6f9ff 100%);border:1px solid #dbe4f8;border-radius:.85rem;padding:.72rem .8rem}.insight-stat-label{color:#58709a;margin:0;font-size:.79rem;font-weight:600}.insight-stat-value{color:#20345a;margin:.2rem 0 0;font-size:1.02rem;font-weight:700}.insights-progress-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.insight-progress-card{grid-template-columns:1fr}.insight-progress-track{background:#e8edf7;border-radius:999px;height:.58rem;margin-top:.5rem;overflow:hidden}.insight-progress-fill{border-radius:999px;height:100%;transition:width .35s;display:block}.insight-progress-fill.is-score{background:linear-gradient(90deg,#6a9fff 0%,#6a73f6 100%)}.insight-progress-fill.is-success{background:linear-gradient(90deg,#43c880 0%,#2aaf93 100%)}.insight-chip-list{flex-wrap:wrap;gap:.4rem;margin-top:.45rem;display:flex}.insight-chip{border-radius:999px;align-items:center;padding:.3rem .58rem;font-size:.8rem;font-weight:600;line-height:1.25;display:inline-flex}.insight-chip.is-strength{color:#196a4b;background:#e8f8ef;border:1px solid #bde6ce}.insight-chip.is-weakness{color:#a04b5b;background:#fdeff2;border:1px solid #f5c6d0}.insight-chip.is-focus{color:#3f4ca8;background:#eceefe;border:1px solid #d2d8ff}.insight-list{gap:.35rem;margin-top:.5rem;display:grid}.insight-list-item{background:#f7f9ff;border-left:3px solid #9bb2ff;border-radius:.45rem;padding:.38rem .48rem}.rooms-summary{margin:0}.subject-room-card{border:1px solid var(--color-border);text-align:left;cursor:default;background:#fff;border-radius:1rem;gap:.65rem;padding:.9rem;transition:transform .18s,box-shadow .18s,border-color .18s,background .18s;display:grid;position:relative}.subject-room-card:has(.subject-room-card-body:hover){background:#fcfcff;border-color:#bfc7df;transform:translateY(-2px);box-shadow:0 10px 20px #18223314}.subject-room-card-body{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:none;gap:.6rem;margin:0;padding:0 3rem 0 0;display:grid}.subject-room-card-body:focus-visible{outline-offset:2px;outline:2px solid #2f6fed59}.subject-room-share-btn{z-index:2;position:static}.subject-room-share-wrap{z-index:2;align-items:center;gap:.35rem;display:inline-flex;position:absolute;top:.75rem;right:.65rem}.subject-room-share-code{color:#6b7898;letter-spacing:.08em;font-variant-numeric:tabular-nums;background:#f7faff;border:1px solid #dbe4f7;border-radius:999px;align-items:center;height:1.55rem;padding:0 .45rem;font-size:.72rem;font-weight:600;display:inline-flex}.icon-btn{border:1px solid var(--color-border);width:2.45rem;height:2.45rem;color:var(--color-primary);cursor:pointer;background:#fff;border-radius:.72rem;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn:hover{background:#f7f8fc;border-color:#d2d6e6}.icon-btn--subtle{color:#8f96a8;opacity:.82;background:0 0;border:none;width:2rem;height:2rem}.icon-btn--subtle:hover{opacity:1;color:#647093;background:#0f172a0f;border:none}.subject-room-card:hover .subject-room-share-btn.icon-btn--subtle,.subject-room-card:hover .subject-room-share-code{opacity:1}.room-share-icon-btn{min-width:2rem}.challenge-hub-panel{flex-direction:column;align-items:stretch;gap:1rem;display:flex}.challenge-hub-title{margin:0}.challenge-hub-toggle{border:1px solid var(--color-border);background:#f0f2f8;border-radius:.85rem;flex-wrap:wrap;gap:.2rem;width:100%;max-width:34rem;padding:.2rem;display:flex}.challenge-hub-toggle-btn{font:inherit;color:#5a6682;cursor:pointer;background:0 0;border:none;border-radius:.65rem;flex:1;padding:.55rem .75rem;font-size:.88rem;font-weight:600;transition:background .15s,color .15s,box-shadow .15s}.challenge-hub-toggle-btn.is-active{color:var(--color-text-main);background:#fff;box-shadow:0 2px 8px #18223314}.challenge-hub-toggle-btn:focus-visible{outline-offset:2px;outline:2px solid #2f6fed59}.challenge-hub-search{width:100%;max-width:34rem}.challenge-hub-search input{border:1px solid var(--color-border);width:100%;font:inherit;color:var(--color-text-main);background:#fff;border-radius:.75rem;padding:.62rem .78rem}.challenge-hub-search input:focus{border-color:var(--color-primary);outline:2px solid #2f6fed38}.challenge-hub-section{min-height:2rem}.challenge-hub-section-shared{border:1px solid var(--color-border);background:linear-gradient(#fbfcff 0%,#fff 100%);border-radius:1rem;padding:.9rem}.challenge-hub-shared-intro{max-width:42ch;margin:0 0 .75rem}.challenge-hub-section-purchased{padding:0 0 .25rem}.challenge-hub-purchased-intro{color:#5a6682;max-width:46ch;margin:0 0 .85rem;font-size:.92rem}.challenge-hub-mkt-card .mkt-card-thumb{position:relative}.challenge-hub-mkt-thumb-corner{z-index:2;align-items:center;gap:.2rem;display:inline-flex;position:absolute;top:5px;right:5px}.challenge-hub-mkt-thumb-corner .subject-room-share-code{text-overflow:ellipsis;white-space:nowrap;max-width:5.5rem;height:1.35rem;padding:0 .32rem;font-size:.65rem;overflow:hidden}.challenge-hub-share-icon{opacity:.92;border-radius:.45rem!important;width:1.65rem!important;min-width:1.65rem!important;height:1.65rem!important}.challenge-hub-mkt-card:hover .challenge-hub-share-icon{opacity:1}.challenge-hub-mkt-desc{color:#566380;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:-.1rem 0 .4rem;font-size:.76rem;line-height:1.38;display:-webkit-box;overflow:hidden}.challenge-hub-mkt-meta{flex-wrap:wrap;row-gap:.2rem}.challenge-hub-mkt-meta .mkt-sep{align-self:center}.challenge-hub-mkt-muted{color:var(--color-text-muted)!important}.challenge-hub-mkt-meta-line{color:var(--color-text-muted);margin:0 0 .35rem;font-size:.72rem}.purchased-entitlements-layout{margin-top:.25rem}.entitlement-card-subject{color:#62708a;text-transform:uppercase;letter-spacing:.02em;margin:.15rem 0 0;font-size:.82rem;font-weight:600}.challenge-group-form{gap:.35rem;max-width:100%;margin-top:0}.challenge-group-form label{font-size:.84rem}.challenge-group-form-row{align-items:center;gap:.45rem;display:flex}.challenge-group-form-row input{text-align:center;letter-spacing:.1em;font-variant-numeric:tabular-nums;width:8.5rem;min-width:0;padding:.58rem .62rem}.challenge-group-form-row .btn-primary{white-space:nowrap;margin-top:0;padding:.58rem .78rem}.shared-rooms-layout{margin-top:.9rem}.shared-room-card .subject-room-card-body{padding-bottom:.95rem}.shared-room-card-meta{color:var(--color-text-muted);margin:0;font-size:.83rem}.shared-room-card-preview{color:#364c73;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.88rem;line-height:1.35;display:-webkit-box;overflow:hidden}.challenge-section-title{margin:0 0 .6rem;font-size:.95rem}.challenge-joined-section{border-top:1px solid var(--color-border);margin-top:.9rem;padding-top:.9rem}.challenge-joined-section .fallback-text{margin:0}.challenge-joined-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.challenge-joined-row{text-align:left;width:100%;font:inherit;cursor:pointer;background:#fff;border:1px solid #e2e7f2;border-radius:.65rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.65rem .75rem;transition:background .15s,border-color .15s;display:flex}.challenge-joined-row:hover{background:#f7f9ff;border-color:#c9d6f5}.challenge-joined-subject{color:var(--color-text-main);flex:12rem;min-width:0;font-weight:600}.challenge-joined-expiry{color:var(--color-text-muted);flex-shrink:0;font-size:.78rem}.challenge-joined-action{color:var(--color-primary);flex-shrink:0;font-size:.82rem;font-weight:600}.challenge-saved-codes{border-top:1px solid var(--color-border);margin-top:.9rem;padding-top:.9rem}.challenge-saved-codes .fallback-title{margin:0 0 .6rem;font-size:.95rem}.challenge-saved-codes-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.challenge-saved-codes-list li{margin:0;padding:0;list-style:none}.challenge-saved-code-row{text-align:left;width:100%;font:inherit;cursor:pointer;background:#fff;border:1px solid #e8ecf5;border-radius:.65rem;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem;padding:.62rem .7rem;transition:background .15s,border-color .15s;display:flex}.challenge-saved-code-row:hover{background:#f7f9ff;border-color:#c9d6f5}.challenge-saved-code-value{letter-spacing:.12em;font-variant-numeric:tabular-nums;color:var(--color-text-main);font-weight:700}.challenge-saved-code-subject{color:var(--color-text-muted);text-align:right;font-size:.86rem}.room-badge{letter-spacing:.04em;text-transform:uppercase;color:#4b4eb0;text-transform:capitalize;background:#f1f1ff;border:1px solid #dbddfa;border-radius:999px;justify-self:start;align-items:center;gap:.35rem;padding:.2rem .48rem;font-size:.72rem;font-weight:600;display:inline-flex}.room-card-count-badge{background:#f6f7fa;border:1px solid #e4e7ee;border-radius:999px;justify-self:start;align-items:baseline;gap:.4rem;padding:.28rem .6rem;font-weight:600;display:inline-flex}.room-card-count-value{font-variant-numeric:tabular-nums;color:var(--color-text-main);font-size:.95rem;font-weight:700;line-height:1}.room-card-count-label{color:var(--color-text-muted);letter-spacing:.01em;font-size:.72rem;font-weight:600}.subject-room-card header{margin:0}.subject-room-card h4{color:var(--color-text-main);margin:0;font-size:1.04rem}.subject-room-card p{color:var(--color-text-muted);margin:0;font-size:.9rem}.room-preview{background:#fff;border:1px solid #e3edff;border-radius:.7rem;gap:.4rem;padding:.55rem .65rem;display:grid}.room-score-line{color:#495b86;background:#f3f6ff;border:1px solid #d5def5;border-radius:.62rem;flex-wrap:wrap;gap:.35rem;margin:0;padding:.28rem .35rem;font-size:.75rem;font-weight:500;display:flex}.room-score-pill{color:#4b5f8e;background:#fff;border:1px solid #cfd9f2;border-radius:999px;align-items:center;gap:.22rem;padding:.16rem .42rem;line-height:1;display:inline-flex}.room-score-line.is-good{color:#2d7a53;background:#ecfaf2;border-color:#bfe8d0}.room-score-line.is-medium{color:#966f1a;background:#fff7e6;border-color:#f2dcab}.room-score-line.is-low{color:#a1485a;background:#fff0f4;border-color:#f3c8d3}.room-preview p{color:#364c73;margin:0;font-size:.88rem;line-height:1.35}.challenge-room-view{gap:.65rem;min-height:0;overflow:visible}.room-view-header{gap:.5rem;display:grid}.room-view-primary{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.room-view-actions{justify-content:flex-end;gap:.45rem;width:100%}.room-mobile-menu-btn{margin-left:auto;display:inline-flex}.room-mobile-menu-wrap{margin-left:auto;display:inline-flex;position:relative}.room-mobile-menu-panel{z-index:25;background:#fff;border:1px solid #e4e9f3;border-radius:.8rem;gap:.6rem;width:min(86vw,320px);padding:.62rem .7rem;display:none;position:absolute;top:calc(100% + .35rem);right:0;box-shadow:0 10px 22px #14213d29}.room-mobile-menu-panel.is-open{display:grid}.room-mobile-menu-item{color:#30476d;width:100%;font:inherit;text-align:left;cursor:pointer;background:#fbfcff;border:1px solid #e3e9f6;border-radius:.62rem;align-items:center;gap:.45rem;padding:.45rem .58rem;font-size:.82rem;font-weight:600;display:inline-flex}.room-mobile-menu-item:hover{background:#f5f8ff;border-color:#c9d8f2}.room-mobile-menu-item:disabled{opacity:.55;cursor:not-allowed}.room-title-mobile,.room-card-corner-title{display:none}.room-back-btn{border-radius:.6rem;align-items:center;gap:.35rem;padding:.45rem .7rem;display:inline-flex}.room-description{color:var(--color-text-muted);margin:0;font-size:.93rem}.room-banner-wrap{border-radius:.75rem;width:100%;margin-bottom:.25rem;line-height:0;overflow:hidden}.room-banner-img{-o-object-fit:cover;object-fit:cover;-o-object-position:center 35%;object-position:center 35%;border-radius:.75rem;width:100%;height:150px;animation:.5s ease-out bannerFadeIn;display:block}.room-banner-skeleton{background:linear-gradient(110deg, color-mix(in srgb, var(--banner-color,#6366f1) 10%, #f0f1ff) 0%, color-mix(in srgb, var(--banner-color,#6366f1) 20%, #e8eaff) 45%, color-mix(in srgb, var(--banner-color,#6366f1) 10%, #f0f1ff) 100%);background-size:200% 100%;border-radius:.75rem;width:100%;height:150px;animation:1.6s ease-in-out infinite bannerShimmer}@keyframes bannerShimmer{0%{background-position:100%}to{background-position:-100%}}@keyframes bannerFadeIn{0%{opacity:0;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}.shared-joiners-banner{background:linear-gradient(135deg,#f9fbff 0%,#f4f6fb 100%);border:1px solid #e4e9f3;border-radius:.85rem;flex-direction:column;align-items:flex-start;gap:.65rem;width:100%;margin-bottom:.35rem;padding:.75rem .85rem;display:flex}.shared-joiners-avatars{flex-flow:wrap;align-items:center;gap:0;display:flex}.shared-joiner-avatar{background:#e8ecf5;border:2px solid #fff;border-radius:999px;width:2.25rem;height:2.25rem;margin-left:-.55rem;position:relative;overflow:hidden;box-shadow:0 2px 8px #1822331f}.shared-joiners-avatars .shared-joiner-avatar:first-child{margin-left:0}.shared-joiner-avatar-img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.shared-joiner-avatar-fallback{color:#5a6682;justify-content:center;align-items:center;width:100%;height:100%;font-size:.68rem;font-weight:700;display:flex}.shared-joiners-more{color:var(--color-text-main);background:#e8ecf5;border-radius:999px;margin-left:.35rem;padding:.35rem .55rem;font-size:.78rem;font-weight:700}.shared-joiners-text{color:var(--color-text-main);word-wrap:break-word;max-width:100%;margin:0;font-size:.88rem;line-height:1.4}.shared-joiners-banner-btn{font:inherit;text-align:left;cursor:pointer;border:1px solid #e4e9f3}.shared-joiners-banner-btn:hover{background:linear-gradient(135deg,#f3f7ff 0%,#eef3fb 100%);border-color:#cdd8eb}.shared-joiners-cta{color:var(--color-primary);font-size:.78rem;font-weight:700}.shared-members-stats-modal{width:min(640px,100%)}.room-personal-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.room-personal-stats-item{background:#fbfcff;border:1px solid #e6eaf3;border-radius:.62rem;gap:.2rem;padding:.6rem .65rem;display:grid}.room-personal-stats-item span{color:#4d6391;font-size:.78rem}.room-personal-stats-item strong{color:var(--color-text-main);font-size:.9rem;line-height:1.25}.shared-members-stats-list{gap:.55rem;max-height:min(55vh,420px);margin:0;padding:0;list-style:none;display:grid;overflow:auto}.shared-members-stats-row{background:#fff;border:1px solid #e6eaf3;border-radius:.6rem;grid-template-columns:minmax(170px,1.6fr) repeat(3,minmax(84px,1fr));align-items:center;gap:.5rem;padding:.56rem .62rem;display:grid}.shared-members-stats-user{min-width:0;color:var(--color-text-main);align-items:center;gap:.45rem;font-weight:600;display:inline-flex}.shared-members-stats-avatar{width:1.85rem;height:1.85rem;margin-left:0}.shared-members-stats-metric{color:#47546f;font-variant-numeric:tabular-nums;text-align:right;font-size:.82rem}@media (width<=520px){.challenge-hub-section-shared{padding:.75rem}.challenge-group-form-row{align-items:stretch}.challenge-group-form-row input{text-align:left;letter-spacing:.04em;flex:auto;width:100%}.challenge-group-form-row .btn-primary{padding-inline:.65rem}.shared-joiners-banner{padding:.65rem .7rem}.shared-joiner-avatar{width:2rem;height:2rem}.shared-joiners-text{font-size:.84rem}.shared-joiners-cta{font-size:.74rem}.challenge-joined-row{flex-direction:column;align-items:flex-start}.challenge-joined-expiry{width:100%}.shared-members-stats-row{grid-template-columns:1fr 1fr;align-items:baseline}.room-personal-stats-grid{grid-template-columns:1fr}.shared-members-stats-user{grid-column:1/-1}.shared-members-stats-metric{text-align:left}}.room-card-list{gap:.9rem;display:grid}.tinder-stage{justify-items:center;gap:.55rem;width:100%;min-height:0;display:grid;overflow:visible}.active-room-visual{color:#3158a4;text-transform:capitalize;background:#f5f9ff;border:1px solid #d7e7ff;border-radius:999px;justify-content:center;align-items:center;gap:.42rem;width:min(100%,360px);padding:.32rem .72rem;font-size:.78rem;font-weight:600;display:inline-flex}.challenge-card{background:#fff;border:1px solid #d8dcea;border-radius:1.15rem;gap:.45rem;padding:.8rem;display:grid;position:relative;overflow:hidden;box-shadow:0 14px 24px #11182714}.challenge-card-glow{display:none}.challenge-card-single{width:min(100%,360px);height:clamp(340px, calc(var(--app-height,100svh) - 340px), 500px);aspect-ratio:auto;backface-visibility:hidden;grid-template-rows:auto 1fr auto;align-content:start;min-height:0;max-height:100%;transition:transform 80ms linear,opacity .18s;overflow:hidden;transform:translateZ(0)}.challenge-card-single.is-swipe-active{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:pan-y;will-change:transform}.challenge-card-single.is-committing-right,.challenge-card-single.is-committing-left{transition:transform .32s cubic-bezier(.22,.7,.2,1),opacity .32s ease-out}.challenge-card-single.is-committing-right{opacity:.28;transform:translate(120%)}.challenge-card-single.is-committing-left{opacity:.28;transform:translate(-120%)}.challenge-card-single.is-swiping-right{background:#f9fefb;border-color:#bfdfcf}.challenge-card-single.is-swiping-left{background:#fffafb;border-color:#efd1d7}.challenge-card-single.is-accepted{background:#effaf3;border-color:#77b692;transition:background .22s,border-color .22s,box-shadow .22s;box-shadow:0 10px 16px #205f3e1a}.challenge-card-single.is-accepted.is-committing-right{transition:transform .32s cubic-bezier(.22,.7,.2,1),opacity .32s ease-out,background .22s,border-color .22s,box-shadow .22s}.challenge-card-single.is-needs-review{background:#fff2f4;border-color:#d4a5af}.challenge-card header{color:#4d6391;z-index:1;justify-content:space-between;align-items:center;font-size:.8rem;display:flex;position:relative}.difficulty-pill{color:#365ea9;text-transform:capitalize;background:#fff;border:1px solid #cadeff;border-radius:999px;padding:.15rem .5rem}.challenge-card h4{color:#20345a;z-index:1;text-align:center;word-break:break-word;overflow-wrap:anywhere;-webkit-line-clamp:7;-webkit-box-orient:vertical;place-self:center;max-width:24ch;margin:0;font-size:1.03rem;font-weight:600;line-height:1.32;display:-webkit-box;position:relative;overflow:hidden}.challenge-question-secondary{color:#4d6391;text-align:left;place-self:start stretch;max-width:100%;font-size:.92rem}.challenge-answer{color:#30476d;z-index:1;word-break:break-word;overflow-wrap:anywhere;background:#ffffffb8;border:1px solid #deebff;border-radius:.7rem;margin:0;padding:.55rem .65rem;font-size:.91rem;line-height:1.4;position:relative}.challenge-hint{color:#5b6b8a;z-index:1;margin:0;font-size:.88rem;position:relative}.challenge-card-actions{z-index:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-top:.1rem;display:grid;position:relative}.challenge-action{color:#355281;font:inherit;cursor:pointer;background:#fff;border:1px solid #d5e4ff;border-radius:999px;justify-content:center;align-items:center;gap:.35rem;padding:.5rem .65rem;font-size:.84rem;font-weight:600;display:inline-flex}.challenge-action-pass:hover{color:#cc3d5a;background:#fff6f7;border-color:#ffc8cf}.challenge-action-know:hover{color:#1f8f5f;background:#f3fff9;border-color:#c2e9d7}.challenge-response{width:100%;font:inherit;color:#24385f;resize:vertical;background:#fff;border:1px solid #9ee0be;border-radius:.75rem;min-height:120px;max-height:160px;padding:.8rem .82rem;font-size:1rem;box-shadow:0 0 0 3px #34c37c21}.challenge-response:focus{border-color:#34c37c;outline:2px solid #34c37c3d}.challenge-feedback{gap:.55rem;display:grid}.challenge-feedback-answer-focus{align-content:center;align-self:stretch;gap:.55rem;min-height:220px;padding:.25rem .15rem .05rem}.challenge-feedback-label{color:#3f66b8;margin:0;font-size:.86rem;font-weight:600}.challenge-state-banner{border-radius:.65rem;align-items:center;gap:.4rem;padding:.4rem .55rem;font-size:.84rem;font-weight:700;display:inline-flex}.challenge-state-banner-success{color:#2d6e4b;background:#e9f7ef;border:1px solid #b8ddc7}.challenge-state-banner-miss{color:#8f4454;background:#fef0f3;border:1px solid #e8bfca}.challenge-ai-feedback{color:#30476d;word-break:break-word;overflow-wrap:anywhere;margin:0;font-size:.9rem;line-height:1.4}.challenge-key-gap{color:#5f3a44;word-break:break-word;overflow-wrap:anywhere;background:#fff5f7;border:1px solid #ffd4de;border-radius:.6rem;margin:0;padding:.42rem .55rem;font-size:.86rem}.room-complete-box{grid-template-columns:auto 1fr auto;align-items:center}.room-restart-btn{border-radius:.65rem;padding:.42rem .7rem}.swipe-stage{align-self:end;gap:.45rem;display:grid}.swipe-live-badge{letter-spacing:.02em;color:#6780af;opacity:.85;background:#f8fbff;border:1px solid #e2eaf8;border-radius:999px;justify-self:start;padding:.14rem .48rem;font-size:.72rem;font-weight:600;transition:all .12s}.swipe-live-badge-right{color:#4a8d6f;background:#f7fdfa;border-color:#d0ebde}.swipe-live-badge-left{color:#b86a7d;background:#fff9fa;border-color:#f4d8de}.swipe-gesture-surface{text-align:center;color:#5f6880;pointer-events:none;background:#fcfcff;border:1px dashed #d4d9e9;border-radius:.9rem;place-content:center;justify-items:center;gap:.28rem;min-height:84px;animation:none;display:grid}.swipe-gesture-surface p{margin:0;font-size:.9rem;font-weight:500;animation:none}.swipe-gesture-surface small{color:#7c8fad;opacity:.82;font-size:.75rem}.swipe-gesture-surface svg{opacity:.8;width:18px;height:18px;animation:none}@keyframes swipeHintPulse{0%,to{border-color:#bfd4ff;box-shadow:0 0 #2f6fed00}50%{border-color:#c6d8f7;box-shadow:0 4px 10px #2f6fed14}}@keyframes swipeHintDrift{0%,to{transform:translate(0)}30%{transform:translate(-2px)}70%{transform:translate(2px)}}.memory-task-box{color:#2f4468;background:#f7faff;border:1px solid #dbe8ff;border-radius:.75rem;padding:.55rem .65rem;font-size:.9rem;line-height:1.4}.memory-proof-actions{flex-wrap:wrap;gap:.65rem;margin-top:.25rem;display:flex}.memory-proof-actions-submit{justify-content:flex-end}.memory-proof-actions-main{justify-content:space-between;align-items:center}.memory-proof-helper{margin-top:-.1rem;font-size:.82rem}.memory-proof-mode{flex-wrap:wrap;gap:.55rem;margin-top:.2rem;display:flex}.memory-mode-btn{color:#32496e;min-height:2.1rem;font:inherit;cursor:pointer;background:#f8faff;border:1px solid #d7deef;border-radius:999px;align-items:center;gap:.32rem;padding:.4rem .72rem;font-size:.82rem;display:inline-flex}.memory-mode-btn.is-active{color:#33489f;background:#eef2ff;border-color:#aebef1}.memory-mode-btn.is-recording{color:#b2445f;background:#fff2f5;border-color:#f0bcc8}.memory-camera-wrap{gap:.65rem;margin-top:.25rem;display:grid}.memory-camera-preview{-o-object-fit:cover;object-fit:cover;background:#eef3ff;border:1px solid #d9e4f8;border-radius:.75rem;width:100%;min-height:160px}.memory-camera-shot{-o-object-fit:cover;object-fit:cover;border:1px solid #d9e4f8;border-radius:.75rem;width:100%;max-height:180px}.memory-skip-zone{justify-items:start;gap:.45rem;margin-top:.15rem;display:grid}.memory-skip-link{color:#7a859d;font:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:none;padding:0;font-size:.78rem;text-decoration:underline}.memory-skip-confirm{background:#fff7f8;border:1px dashed #e0c8cf;border-radius:.65rem;gap:.55rem;padding:.6rem .7rem;display:grid}.memory-skip-confirm .btn-secondary{min-height:2.12rem;padding:.46rem .72rem;font-size:.82rem}.memory-validate-btn{min-height:2.32rem;padding:.6rem .92rem;font-size:.86rem}.memory-validate-btn:disabled{color:#f3f6ff;background:#b8c2d8;border-color:#b8c2d8}.subject-room-card ul{gap:.3rem;margin:0;padding-left:1rem;display:grid}.subject-room-card li{color:#314565;font-size:.9rem}.app-toast{left:50%;bottom:max(1rem, calc(1rem + env(safe-area-inset-bottom,0px)));z-index:1100;color:#fff;text-align:center;pointer-events:none;background:#1b2233f0;border-radius:.9rem;max-width:min(92vw,360px);padding:.75rem 1.2rem;font-size:.93rem;font-weight:600;line-height:1.35;animation:.24s ease-out appToastIn;position:fixed;transform:translate(-50%);box-shadow:0 10px 32px #11182747}@keyframes appToastIn{0%{opacity:0;transform:translate(-50%)translateY(12px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@media (width<=860px){.app-toast{bottom:max(5.75rem, calc(5rem + env(safe-area-inset-bottom,0px)))}}@media (width<=1100px){.db-right-panel{display:none}.dashboard-shell{grid-template-columns:240px 1fr}.dashboard-shell.sidebar-collapsed{grid-template-columns:72px 1fr}}.modal-overlay{z-index:1000;background:#14213d73;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal-card{border:1px solid var(--color-border);background:#fff;border-radius:1rem;width:min(420px,100%);padding:1rem;box-shadow:0 20px 40px #14213d33}.modal-header{justify-content:space-between;align-items:center;margin-bottom:.8rem;display:flex}.modal-header h2{margin:0;font-size:1.25rem}.modal-close{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;font-size:1.5rem;line-height:1}.upload-choice-modal{width:min(440px,100%);padding:1.15rem 1.25rem 1.25rem}.upload-choice-modal-header{align-items:flex-start;gap:.75rem;margin-bottom:.65rem}.upload-choice-modal-title{color:var(--color-text-main);margin:0;padding-right:.25rem;font-size:1.15rem;font-weight:700;line-height:1.25}.upload-choice-modal-lede{color:var(--color-text-muted);margin:0 0 .45rem;font-size:.88rem}.upload-choice-modal-file{color:var(--color-text-main);word-break:break-word;font-weight:600;display:block}.upload-choice-modal-hint{color:var(--color-text-muted);margin:0 0 1rem;font-size:.82rem;line-height:1.45}.db-delete-upload-modal-lede{color:var(--color-text-muted);margin:0;font-size:.9rem;line-height:1.45}.db-delete-upload-modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:.65rem;margin-top:1.1rem;display:flex}.modal-card.share-modal-card{width:min(540px,100%);padding:1.15rem 1.25rem 1.3rem}.share-modal-code-display{text-align:center;font-variant-numeric:tabular-nums;background:linear-gradient(#f4f4ff 0%,#ebefff 100%);border:2px solid #5b5bd659;border-radius:.75rem;margin:0 0 .65rem;padding:.75rem .6rem;box-shadow:inset 0 1px #ffffffe6;letter-spacing:.2em!important;color:var(--color-primary)!important;font-size:1.75rem!important;font-weight:800!important}.share-modal-lede{border-left:4px solid var(--color-primary-soft);background:#f8f9fc;border-radius:.55rem;padding:.5rem .55rem;color:var(--color-text-main)!important;margin:0 0 .85rem!important;font-size:.9rem!important;line-height:1.45!important}.share-modal-invite-block{background:linear-gradient(145deg,#eef0ff 0%,#f9f9ff 55%,#fff 100%);border:1px solid #c8ccef;border-radius:.85rem;margin-top:.25rem;padding:1rem 1.05rem 1.05rem;box-shadow:0 6px 20px #5b5bd614,inset 0 1px #ffffffbf}.share-modal-qr-row{flex-wrap:wrap;align-items:flex-start;gap:1.1rem;display:flex}.share-modal-qr-frame{border:2px solid var(--color-border);background:#fff;border-radius:.75rem;flex-shrink:0;padding:.7rem;box-shadow:0 4px 16px #1b223314}.share-modal-qr-frame img{border-radius:.35rem;display:block}.share-modal-invite-details{flex:1;min-width:min(100%,220px)}.share-modal-invite-label{text-transform:uppercase;letter-spacing:.07em;color:var(--color-primary);margin:0 0 .5rem;font-size:.72rem;font-weight:800}.share-modal-invite-url{color:var(--color-text-main);word-break:break-all;background:#fff;border:1px dashed #b8bed4;border-radius:.55rem;margin-bottom:.85rem;padding:.6rem .7rem;font-size:.84rem;font-weight:600;line-height:1.45;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:block}.share-modal-invite-url:hover{border-color:var(--color-primary-soft);text-decoration:none;box-shadow:0 0 0 3px #5b5bd61f}.share-modal-invite-links{flex-direction:column;gap:.5rem;display:flex}.share-modal-invite-link-btn{box-sizing:border-box;border-radius:.65rem;justify-content:center;align-items:center;width:100%;padding:.58rem .9rem;font-size:.88rem;font-weight:600;text-decoration:none;display:inline-flex}.share-modal-invite-actions{grid-template-columns:1fr 1fr;gap:.6rem;margin-top:1.05rem;display:grid}@media (width<=480px){.modal-card.share-modal-card{width:100%;padding:1rem .95rem 1.15rem}.share-modal-invite-actions{grid-template-columns:1fr}.share-modal-qr-row{text-align:center;flex-direction:column;align-items:center}.share-modal-invite-details{text-align:left;width:100%}}.upload-choice-actions{flex-direction:column;gap:.55rem;display:flex}.upload-choice-btn{justify-content:center;align-items:center;gap:.45rem;width:100%;font-weight:600;display:inline-flex}.upload-choice-btn--primary{font-weight:700}.auth-form{gap:.5rem;display:grid}.auth-form label{color:var(--color-text-main);font-size:.9rem;font-weight:600}.auth-form input,.auth-form select,.auth-form textarea{border:1px solid var(--color-border);width:100%;font:inherit;color:var(--color-text-main);background:#fff;border-radius:.65rem;padding:.72rem .78rem}.auth-form textarea{resize:vertical}.auth-form input:focus,.auth-form select:focus,.auth-form textarea:focus{border-color:var(--color-primary);outline:2px solid #2f6fed40}.modal-submit{margin-top:.5rem}.modal-submit:disabled{opacity:.7;cursor:wait}.form-error,.form-success{margin:.3rem 0 0;font-size:.88rem}.form-error{color:#c0392b}.form-success{color:#1f8f5f}.auth-toggle{color:var(--color-primary);cursor:pointer;font:inherit;background:0 0;border:none;margin-top:.75rem}@media (width<=860px){.grid.three,.grid.two{grid-template-columns:1fr}.hero{padding:2.75rem 1rem}.dashboard-shell,.dashboard-shell.sidebar-collapsed{height:auto;min-height:100svh;padding-bottom:calc(8.5rem + env(safe-area-inset-bottom,0px));grid-template-columns:1fr;overflow:visible}.dashboard-nav.is-collapsed{padding:0;overflow:hidden}.dashboard-nav.is-collapsed .dashboard-logo-text,.dashboard-nav.is-collapsed .sidebar-profile-info,.dashboard-nav.is-collapsed .nav-section-label{max-width:unset;max-height:unset;opacity:1;margin:revert}.dashboard-nav.is-collapsed .menu-item{flex-direction:column;justify-content:center;gap:0;padding:.4rem .15rem .25rem}.dashboard-nav.is-collapsed .menu-item>span{max-width:unset;opacity:1;font-size:.6rem}.sidebar-collapse-btn,.sidebar-brand-close,.db-right-panel{display:none}.dashboard-main{height:auto;overflow:visible}.db-content{padding-bottom:calc(6rem + env(safe-area-inset-bottom,0px));overflow:visible}.dashboard-shell.is-arena,.dashboard-shell.sidebar-collapsed.is-arena{background:#0e0f1e;grid-template-columns:1fr;height:100svh;min-height:100svh;max-height:100svh;padding-bottom:0;overflow:hidden}.dashboard-shell.is-arena .dashboard-main{height:100svh;min-height:0;overflow:hidden}.dashboard-shell.is-arena .dashboard-nav{display:none}.db-content--arena{flex:1;height:100svh;max-height:100svh;padding:0;overflow:hidden}.db-topbar{z-index:10;position:sticky;top:0}.dashboard-nav{z-index:900;border-top:1px solid #eaecf3;border-right:none;border-radius:1.1rem;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;gap:.4rem;height:auto;min-height:0;max-height:none;padding:.5rem;display:grid;position:fixed;inset:auto .75rem .75rem;overflow:visible;box-shadow:0 14px 30px #14213d2e}.dashboard-brand,.nav-section-label,.sidebar-bottom{display:none}.dashboard-menu{grid-column:span 4;grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem;display:grid}.menu-item,.menu-logout{justify-content:center;padding:.55rem .3rem}.menu-item span,.menu-logout span{display:none}.db-stats-row{grid-template-columns:1fr 1fr 1fr;gap:.6rem}.db-rooms-grid{grid-template-columns:1fr}.db-hero-illustration{display:none}.dashboard-grid,.insights-stat-grid,.insights-progress-grid,.profile-layout{grid-template-columns:1fr}.challenge-room-view{padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px))}.room-view-header{align-items:center;gap:.45rem}.room-view-primary{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:.45rem;position:relative}.room-view-header h3{max-width:26ch;margin:0;font-size:.84rem;line-height:1.1}.room-title-desktop{display:none}.room-mobile-menu-panel{z-index:25;background:#fff;border:1px solid #e4e9f3;border-radius:.8rem;gap:.6rem;width:min(86vw,320px);padding:.62rem .7rem;display:none;position:absolute;top:calc(100% + .35rem);right:0;box-shadow:0 10px 22px #14213d29}.room-mobile-menu-panel.is-open{display:grid}.room-title-mobile{max-width:100%;margin:0;font-size:.84rem;line-height:1.2;display:block}.room-view-actions-mobile{justify-content:flex-start;width:100%;display:flex}.room-mobile-menu-item{color:#30476d;width:100%;font:inherit;text-align:left;cursor:pointer;background:#fbfcff;border:1px solid #e3e9f6;border-radius:.62rem;align-items:center;gap:.45rem;padding:.45rem .58rem;font-size:.82rem;font-weight:600;display:inline-flex}.room-mobile-menu-item:hover{background:#f5f8ff;border-color:#c9d8f2}.room-mobile-menu-item:disabled{opacity:.55;cursor:not-allowed}.room-card-corner-title{z-index:2;color:#4d6391;white-space:nowrap;text-overflow:ellipsis;background:#f7faff;border:1px solid #d7e3f8;border-radius:999px;align-items:center;max-width:calc(100% - 7.2rem);padding:.18rem .5rem;font-size:.68rem;font-weight:600;line-height:1.1;display:inline-flex;position:absolute;top:.45rem;left:.6rem;overflow:hidden}.room-back-btn{padding:.35rem .55rem;font-size:.78rem}.room-description{-webkit-line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;font-size:.82rem;line-height:1.25;display:-webkit-box;overflow:hidden}.challenge-card-single{width:min(100%,360px);min-height:0;height:clamp(360px, calc(var(--app-height,100svh) - 250px), 560px);aspect-ratio:auto;margin-bottom:0}.challenge-card-single.has-room-corner-title{padding-top:1.45rem}.challenge-feedback{grid-template-rows:auto auto 1fr auto;align-content:start;height:100%}.challenge-feedback .btn-primary{margin-top:auto;position:static}.challenge-response{min-height:96px;max-height:125px}.auth-form input,.auth-form select,.auth-form textarea,.notes-textarea,.profile-form input,.profile-form textarea,.challenge-response{font-size:16px}}.db-topbar{background:#f4f5fb;border-bottom:1px solid #eaecf3;flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.4rem;display:flex}.db-search-wrap{flex:1;max-width:480px;position:relative}.db-search-wrap--ghost{pointer-events:none;min-height:1px}.db-search-icon{color:#9ba3b8;pointer-events:none;position:absolute;top:50%;left:.9rem;transform:translateY(-50%)}.db-search-input{width:100%;font:inherit;color:var(--color-text-main);background:#fff;border:1px solid #e4e7f0;border-radius:999px;outline:none;padding:.62rem .9rem .62rem 2.4rem;font-size:.875rem;transition:border-color .18s,box-shadow .18s}.db-search-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #5b5bd61f}.db-search-input:disabled{opacity:.68;cursor:not-allowed;background:#f5f7fb}.db-topbar-actions{align-items:center;gap:.65rem;display:flex}.db-topbar-btn{color:#6b7280;cursor:pointer;background:#fff;border:1px solid #e4e7f0;border-radius:50%;place-items:center;width:2.2rem;height:2.2rem;transition:border-color .15s,color .15s;display:grid}.db-topbar-btn:hover{color:var(--color-text-main);border-color:#c7cbdb}.db-topbar-basket-wrap{position:relative}.db-topbar-badge{text-align:center;color:#fff;pointer-events:none;box-sizing:border-box;background:#4f46e5;border:2px solid #f4f5fb;border-radius:999px;min-width:1.05rem;height:1.05rem;padding:0 .26rem;font-size:.62rem;font-weight:800;line-height:1.05rem;position:absolute;top:-5px;right:-5px}.db-topbar-avatar{background:linear-gradient(135deg,#5b5bd6 0%,#7878dc 100%);border:2px solid #e4e7f0;border-radius:50%;flex-shrink:0;place-items:center;width:2.2rem;height:2.2rem;display:grid;overflow:hidden}.db-topbar-avatar-img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.db-topbar-avatar-initials{color:#fff;font-size:.72rem;font-weight:700}.db-content{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:1.1rem;padding:1.25rem 1.4rem 2.5rem;display:flex;overflow:hidden auto}.db-content--arena,.db-content--arena .challenge-room-view{flex:1;gap:0;min-height:0;padding:0;overflow:hidden}.db-content--arena .arena-wrap{border-radius:0;flex:1;height:100svh;min-height:100svh}.dashboard-shell.is-arena .db-topbar{display:none}.dashboard-shell.is-arena .dashboard-main{flex-direction:column;height:100svh;display:flex;overflow:hidden}.sidebar-profile{background:#f6f7ff;border:1px solid #e8eaf5;border-radius:.85rem;align-items:center;gap:.72rem;padding:.65rem .55rem;display:flex}.sidebar-avatar{-o-object-fit:cover;object-fit:cover;border:2px solid #e0e2f0;border-radius:50%;flex-shrink:0;width:2.4rem;height:2.4rem}.sidebar-avatar-fallback{color:#fff;letter-spacing:.03em;background:linear-gradient(135deg,#5b5bd6 0%,#7878dc 100%);place-items:center;font-size:.82rem;font-weight:700;display:grid}.sidebar-profile-info{min-width:0}.sidebar-profile-name{color:var(--color-text-main);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.86rem;font-weight:700;overflow:hidden}.sidebar-profile-level{color:var(--color-text-muted);text-transform:capitalize;white-space:nowrap;text-overflow:ellipsis;margin:.1rem 0 0;font-size:.73rem;overflow:hidden}.db-hero-banner{-moz-column-gap:1.25rem;background:#eeeaff;border-radius:1.25rem;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.5rem 1.25rem;padding:1.4rem clamp(5.5rem,8vw,7rem) 1.4rem 1.6rem;display:grid;position:relative;overflow:visible}.db-hero-content{min-width:0}.db-hero-heading{letter-spacing:-.02em;color:#2d2a8e;word-wrap:break-word;overflow-wrap:anywhere;margin:0 0 .4rem;font-size:clamp(1.1rem,2vw,1.35rem);font-weight:800;line-height:1.28}.db-hero-sub{color:#616b80;word-wrap:break-word;overflow-wrap:anywhere;max-width:none;margin:0 0 1rem;font-size:.875rem;line-height:1.55}.db-hero-cta{color:#fff;font:inherit;cursor:pointer;background:#4a47cc;border:none;border-radius:999px;align-items:center;gap:.4rem;padding:.58rem 1.2rem;font-size:.86rem;font-weight:700;transition:background .18s,transform .18s;display:inline-flex}.db-hero-cta:hover{background:#3d3ab8;transform:translateY(-1px)}.db-hero-illustration{-webkit-user-select:none;user-select:none;flex-shrink:0;grid-area:1/2;place-self:center end;font-size:clamp(3rem,5.5vw,4.75rem);line-height:1}.db-hero-close{color:#4a47cc;cursor:pointer;background:#4a47cc1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;transition:background .15s;display:flex;position:absolute;top:.65rem;right:.65rem}.db-hero-close:hover{background:#4a47cc33}.db-stats-row{grid-template-columns:1fr 1fr 1fr;gap:.85rem;display:grid}.db-stat-card{background:#fff;border:1px solid #e8eaf3;border-radius:1.1rem;align-items:center;gap:.85rem;padding:1.05rem 1.1rem;transition:box-shadow .18s,transform .18s;display:flex;box-shadow:0 2px 8px #1118270a}.db-stat-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px #11182714}.db-stat-card--ring{justify-content:center;padding:.85rem 1rem}.db-stat-icon-wrap{border-radius:.65rem;flex-shrink:0;place-items:center;width:2.5rem;height:2.5rem;display:grid}.db-stat-card--green .db-stat-icon-wrap{color:#16a34a;background:#dcfce7}.db-stat-card--orange .db-stat-icon-wrap{color:#ea580c;background:#ffedd5}.db-stat-label{color:var(--color-text-muted);margin:0 0 .25rem;font-size:.8rem;font-weight:500}.db-stat-main{flex-wrap:wrap;align-items:baseline;gap:.25rem;margin:0;display:flex}.db-stat-main strong{letter-spacing:-.025em;color:var(--color-text-main);font-size:1.45rem;font-weight:800;line-height:1}.db-stat-main span{color:var(--color-text-muted);font-size:.82rem;font-weight:500}.db-stat-ring-wrap{width:80px;height:80px;position:relative}.db-stat-ring-svg{width:80px;height:80px;display:block}.db-stat-ring-label{flex-direction:column;justify-content:center;align-items:center;gap:.05rem;display:flex;position:absolute;inset:0}.db-stat-ring-label strong{color:var(--color-text-main);font-size:1rem;font-weight:800;line-height:1}.db-stat-ring-label small{color:var(--color-text-muted);font-size:.65rem;font-weight:500}.db-drop-zone{text-align:center;cursor:default;background:#fafbff;border:2px dashed #d4d7e8;border-radius:1.15rem;padding:2rem 1.5rem;transition:border-color .18s,background .18s,box-shadow .18s}.db-drop-zone--over{border-color:var(--color-primary);background:#f0f0ff;box-shadow:0 0 0 4px #5b5bd61a}.db-drop-zone--busy{background:#f5f5ff;border-style:solid;border-color:#c7caed}.db-drop-inner{flex-direction:column;align-items:center;gap:.6rem;display:flex}.db-drop-icon{width:3.2rem;height:3.2rem;color:var(--color-primary);background:#eef0ff;border-radius:.85rem;place-items:center;transition:background .18s,transform .18s;display:grid}.db-drop-icon--over{background:var(--color-primary);color:#fff;transform:scale(1.08)}@keyframes spinPulse{0%,to{opacity:1}50%{opacity:.55}}.db-drop-icon--spin{background:#eef0ff;animation:1.4s ease-in-out infinite spinPulse}.db-extract-visual{place-items:center;width:4.5rem;height:4.5rem;margin-bottom:.15rem;display:grid;position:relative}.db-extract-ring{pointer-events:none;border:2px solid #5b5bd666;border-radius:50%;width:2.75rem;height:2.75rem;animation:2.2s ease-out infinite dbExtractRipple;position:absolute}.db-extract-ring:nth-child(2){animation-delay:.45s}.db-extract-ring:nth-child(3){animation-delay:.9s}@keyframes dbExtractRipple{0%{opacity:.75;width:2.6rem;height:2.6rem}to{opacity:0;width:5.4rem;height:5.4rem}}.db-extract-icon-wrap{z-index:1;width:3.1rem;height:3.1rem;color:var(--color-primary);background:linear-gradient(145deg,#eef0ff,#e4e7ff);border-radius:.9rem;place-items:center;display:grid;position:relative;box-shadow:0 6px 20px #5b5bd633}.study-gen-modal{width:min(520px,100%);max-height:min(90vh,720px);overflow-y:auto}.study-gen-modal--craft{background:linear-gradient(165deg,#fff 0%,#fafaff 48%,#f5f6ff 100%);border:1px solid #5b5bd62e;border-radius:1.15rem;padding-top:.35rem;position:relative;overflow-x:hidden;box-shadow:0 24px 56px #1b22332e,inset 0 0 0 1px #fffc}.study-gen-modal-accent{background:linear-gradient(90deg, #7c3aed, var(--color-primary), #38bdf8);border-radius:1.15rem 1.15rem 0 0;height:4px;position:absolute;top:0;left:0;right:0}.study-gen-modal-header{border-bottom:none;margin-bottom:.35rem}.study-gen-modal-header h2{letter-spacing:-.02em;color:var(--color-text-main);margin:0;font-size:1.12rem;font-weight:800}.study-gen-modal-title-wrap{align-items:center;gap:.55rem;display:flex}.study-gen-modal-badge{width:2.25rem;height:2.25rem;color:var(--color-primary);background:linear-gradient(145deg,#eef0ff,#e4e8ff);border-radius:.75rem;place-items:center;display:grid;box-shadow:0 4px 14px #5b5bd640}.study-gen-lede{color:var(--color-text-main);background:#5b5bd60f;border:1px solid #5b5bd61f;border-radius:.85rem;align-items:flex-start;gap:.5rem;margin:0 0 .85rem;padding:.65rem .75rem;font-size:.84rem;line-height:1.45;display:flex}.study-gen-lede-ico{color:var(--color-primary);flex-shrink:0;margin-top:.12rem}.study-gen-lede-meta{color:var(--color-text-muted);margin-top:.15rem;font-size:.76rem;font-weight:500;display:block}.study-gen-form{flex-direction:column;gap:.85rem;display:flex}.study-gen-banner{background:linear-gradient(135deg,#7c3aed14,#5b5bd60f);border:1px solid #7c3aed26;border-radius:1rem;align-items:flex-start;gap:.65rem;padding:.75rem .85rem;display:flex}.study-gen-banner-spark{color:#7c3aed;filter:drop-shadow(0 2px 6px #7c3aed59);flex-shrink:0}.study-gen-banner-kicker{letter-spacing:.08em;text-transform:uppercase;color:#7c3aed;margin:0;font-size:.68rem;font-weight:800}.study-gen-banner-text{color:var(--color-text-muted);margin:.2rem 0 0;font-size:.82rem;line-height:1.4}.study-gen-panel{background:#fff;border:1px solid #d8dceaf2;border-radius:1rem;padding:.85rem .95rem;box-shadow:0 6px 22px #14213d0d}.study-gen-panel--highlight{background:linear-gradient(#fffafb 0%,#fff 55%);border-color:#f43f5e2e}.study-gen-panel-head{align-items:flex-start;gap:.65rem;margin-bottom:.75rem;display:flex}.study-gen-panel-icon{width:2.35rem;height:2.35rem;color:var(--color-primary);background:linear-gradient(145deg,#eef0ff,#e8eaff);border-radius:.75rem;flex-shrink:0;place-items:center;display:grid}.study-gen-panel-icon--amber{color:#c2410c;background:linear-gradient(145deg,#fff7ed,#ffedd5)}.study-gen-panel-icon--teal{color:#047857;background:linear-gradient(145deg,#ecfdf5,#d1fae5)}.study-gen-panel-icon--violet{color:#6d28d9;background:linear-gradient(145deg,#f5f3ff,#ede9fe)}.study-gen-panel-icon--rose{color:#e11d48;background:linear-gradient(145deg,#fff1f2,#ffe4e6)}.study-gen-panel-title{color:var(--color-text-main);margin:0;font-size:.92rem;font-weight:700}.study-gen-panel-desc{color:var(--color-text-muted);margin:.15rem 0 0;font-size:.76rem;line-height:1.35}.study-gen-dual-sliders{flex-direction:column;gap:1rem;display:flex}.study-gen-slider-field{flex-direction:column;gap:.45rem;display:flex}.study-gen-slider-label{color:var(--color-text-main);align-items:center;gap:.4rem;font-size:.78rem;font-weight:600;display:flex}.study-gen-slider-label svg{color:var(--color-primary-soft);opacity:.9}.study-gen-pill{letter-spacing:.03em;background:var(--color-primary-pale);color:var(--color-primary);border:1px solid #5b5bd638;border-radius:999px;margin-left:auto;padding:.12rem .55rem;font-size:.72rem;font-weight:800}.study-gen-pill--max{color:#4338ca;background:#eef2ff;border-color:#4338ca40}.study-gen-range{appearance:none;cursor:pointer;background:linear-gradient(90deg,#5b5bd626,#7c3aed33);border-radius:999px;width:100%;height:6px}.study-gen-range::-webkit-slider-thumb{appearance:none;border:2px solid var(--color-primary);background:linear-gradient(145deg,#fff,#eef0ff);border-radius:50%;width:18px;height:18px;box-shadow:0 2px 10px #5b5bd659}.study-gen-range::-moz-range-thumb{border:2px solid var(--color-primary);background:linear-gradient(145deg,#fff,#eef0ff);border-radius:50%;width:18px;height:18px;box-shadow:0 2px 10px #5b5bd659}.study-gen-range--max::-webkit-slider-thumb{border-color:#4338ca}.study-gen-range--max::-moz-range-thumb{border-color:#4338ca}.study-gen-toggle-row{gap:.45rem;display:grid}.study-gen-toggle-row--3{grid-template-columns:repeat(3,1fr)}.study-gen-toggle{border:2px solid var(--color-border);cursor:pointer;color:var(--color-text-muted);background:#fafbff;border-radius:.85rem;flex-direction:column;justify-content:center;align-items:center;gap:.28rem;padding:.65rem .4rem;font-size:.72rem;font-weight:700;transition:border-color .15s,background .15s,color .15s,transform .12s,box-shadow .15s;display:flex}.study-gen-toggle svg{opacity:.85}.study-gen-toggle:hover:not(:disabled){border-color:#5b5bd673;transform:translateY(-1px)}.study-gen-toggle.is-active{border-color:var(--color-primary);background:linear-gradient(180deg, #fff, var(--color-primary-pale));color:var(--color-primary);box-shadow:0 6px 18px #5b5bd62e}.study-gen-toggle--compact{padding:.55rem .35rem;font-size:.74rem}.study-gen-toggle:disabled{opacity:.55;cursor:not-allowed}.study-gen-option-grid{gap:.45rem;display:grid}.study-gen-option-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.study-gen-option{border:2px solid var(--color-border);cursor:pointer;text-align:left;background:#fbfcff;border-radius:.85rem;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.65rem .72rem;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.study-gen-option svg{color:var(--color-primary);margin-bottom:.15rem}.study-gen-option-label{color:var(--color-text-main);font-size:.8rem;font-weight:700}.study-gen-option-hint{color:var(--color-text-muted);font-size:.68rem;line-height:1.3}.study-gen-option:hover:not(:disabled){border-color:#5b5bd659}.study-gen-option.is-active{background:linear-gradient(165deg,#ecfdf5 0%,#fff 70%);border-color:#059669;box-shadow:0 8px 22px #0596691f}.study-gen-option.is-active svg{color:#059669}.study-gen-option:disabled{opacity:.55;cursor:not-allowed}.study-gen-memory-trio{grid-template-columns:repeat(3,1fr);gap:.45rem;display:grid}.study-gen-memory{cursor:pointer;background:#fff;border:2px dashed #d8dceaf2;border-radius:.9rem;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem .45rem;transition:border-style .15s,border-color .15s,background .15s,box-shadow .15s;display:flex}.study-gen-memory svg{color:#e11d48;opacity:.9}.study-gen-memory-label{color:var(--color-text-main);font-size:.76rem;font-weight:800}.study-gen-memory-sub{color:var(--color-text-muted);text-align:center;font-size:.62rem;font-weight:600;line-height:1.25}.study-gen-memory:hover:not(:disabled){border-style:solid;border-color:#f43f5e59}.study-gen-memory.is-active{background:linear-gradient(#fff1f2 0%,#fff 100%);border-style:solid;border-color:#f43f5e;box-shadow:0 10px 26px #f43f5e26}.study-gen-memory.is-active svg{color:#be123c}.study-gen-memory:disabled{opacity:.55;cursor:not-allowed}.study-gen-notes-label{color:var(--color-text-main);align-items:center;gap:.35rem;margin:.85rem 0 .35rem;font-size:.78rem;font-weight:700;display:flex}.study-gen-notes-label svg{color:var(--color-primary)}.study-gen-notes-area{width:100%;font:inherit;color:var(--color-text-main);resize:vertical;background:linear-gradient(#fff,#fafbff);border:1px solid #d8dceaf2;border-radius:.85rem;min-height:4.5rem;padding:.65rem .75rem;font-size:.84rem;transition:border-color .15s,box-shadow .15s}.study-gen-notes-area:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #5b5bd626}.study-gen-notes-area:disabled{opacity:.6}.study-gen-submit{background:linear-gradient(135deg, var(--color-primary) 0%, #6366f1 50%, #7c3aed 100%);border:none;border-radius:.9rem;justify-content:center;align-items:center;gap:.45rem;width:100%;margin-top:1rem;padding:.78rem 1rem;font-size:.95rem;font-weight:700;display:inline-flex;box-shadow:0 10px 28px #5b5bd661,inset 0 0 0 1px #ffffff26}.study-gen-submit:hover:not(:disabled){filter:brightness(1.05)}.study-gen-submit:disabled{opacity:.75;cursor:wait}.study-gen-submit-ico{flex-shrink:0}@media (width<=480px){.study-gen-toggle-row--3,.study-gen-memory-trio,.study-gen-option-grid--2{grid-template-columns:1fr}}.study-gen-modal input[type=range]{width:100%;accent-color:var(--color-primary)}.study-gen-hint{color:var(--color-text-muted);margin:-.35rem 0 .35rem;font-size:.78rem}.study-gen-hint--block{max-width:48ch;margin:0 0 .4rem;line-height:1.4}.db-gen-progress{background:#5b5bd626;border-radius:999px;width:min(300px,92%);height:5px;margin-top:.65rem;overflow:hidden}.db-gen-progress-bar{background:linear-gradient(90deg, var(--color-primary-soft), var(--color-primary));border-radius:999px;width:42%;height:100%;animation:1.15s ease-in-out infinite dbGenIndeterminate}@keyframes dbGenIndeterminate{0%{transform:translate(-120%)}to{transform:translate(320%)}}.db-study-sources{border:1px solid var(--color-border);background:var(--color-surface);border-radius:1rem;margin-top:1rem;padding:1rem 1.15rem;box-shadow:0 8px 28px #14213d0f}.db-study-sources-head{color:var(--color-primary);align-items:flex-start;gap:.65rem;margin-bottom:.75rem;display:flex}.db-study-sources-title{color:var(--color-text-main);margin:0;font-size:.95rem;font-weight:700}.db-study-sources-meta{color:var(--color-text-muted);word-break:break-word;margin:.2rem 0 0;font-size:.8rem}.db-study-sources-list{flex-direction:column;gap:.85rem;margin:0;padding:0;list-style:none;display:flex}.db-study-assets-actions{margin-bottom:.9rem}.db-study-assets-gen{justify-content:center;align-items:center;gap:.45rem;width:100%;font-weight:600;display:inline-flex}.db-study-assets-list{flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.db-study-asset-card{border:1px solid var(--color-border);background:#fafbff;border-radius:.85rem;padding:.75rem .85rem;position:relative}.db-study-asset-card--single-file{padding-right:4.85rem}.db-study-asset-card--multi-file{padding-right:2.85rem}.db-study-asset-card--single-file .db-study-asset-select{margin-bottom:0}.db-study-asset-delete-corner{width:2.25rem;height:2.25rem;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:.55rem;justify-content:center;align-items:center;margin:0;padding:0;transition:background .15s,color .15s;display:flex;position:absolute;top:.6rem;right:.55rem}.db-study-asset-delete-corner:hover:not(:disabled){color:#c0392b;background:#c0392b1a}.db-study-asset-delete-corner:disabled{opacity:.45;cursor:wait}.db-study-asset-delete-corner--before-open{right:2.75rem}.db-study-asset-select{cursor:pointer;font:inherit;color:inherit;align-items:flex-start;gap:.6rem;margin:0 0 .6rem;display:flex}.db-study-asset-select input[type=checkbox]{width:1.1rem;height:1.1rem;accent-color:var(--color-primary);flex-shrink:0;margin-top:.2rem}.db-study-asset-select-body{flex-direction:column;gap:.2rem;min-width:0;display:flex}.db-study-asset-title{color:var(--color-text-main);word-break:break-word;font-size:.9rem;font-weight:700;line-height:1.3}.db-study-asset-meta{color:var(--color-text-muted);font-size:.78rem}.db-study-asset-files{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.db-study-asset-open-corner{width:2.25rem;height:2.25rem;color:var(--color-primary);cursor:pointer;background:0 0;border:none;border-radius:.55rem;justify-content:center;align-items:center;margin:0;padding:0;transition:background .15s,color .15s;display:flex;position:absolute;top:.6rem;right:.55rem}.db-study-asset-open-corner:hover:not(:disabled){color:var(--color-primary-hover);background:#5b5bd61f}.db-study-asset-open-corner:disabled{opacity:.55;cursor:wait}.db-study-asset-file-row{justify-content:space-between;align-items:center;gap:.5rem;min-width:0;padding:.2rem 0;display:flex}.db-study-asset-file-name{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.8rem;overflow:hidden}.db-study-asset-open-inline{width:2rem;height:2rem;color:var(--color-primary);cursor:pointer;background:0 0;border:none;border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;transition:background .15s;display:flex}.db-study-asset-open-inline:hover:not(:disabled){background:#5b5bd61a}.db-study-asset-open-inline:disabled{opacity:.55;cursor:wait}.db-study-asset-open-spinner{border:2px solid #5b5bd640;border-top-color:var(--color-primary);border-radius:50%;width:1.1rem;height:1.1rem;animation:.7s linear infinite db-study-spin}.db-study-asset-open-spinner--sm{width:.95rem;height:.95rem}@keyframes db-study-spin{to{transform:rotate(360deg)}}@media (width<=520px){.db-study-asset-file-name{white-space:normal;word-break:break-word}}.db-source-img-wrap{border:1px solid var(--color-border);border-radius:.75rem;max-height:280px;margin-top:.45rem;overflow:hidden}.db-source-img-thumb{-o-object-fit:contain;object-fit:contain;background:#f6f7fb;width:100%;height:auto;max-height:280px;display:block}.db-drop-title{color:var(--color-text-main);margin:0;font-size:1rem;font-weight:700}.db-drop-sub{color:var(--color-text-muted);max-width:42ch;margin:0;font-size:.82rem;line-height:1.45}.db-drop-badge{color:var(--color-primary);text-overflow:ellipsis;white-space:nowrap;background:#eef0ff;border:1px solid #d4d8f8;border-radius:999px;align-items:center;gap:.35rem;max-width:32ch;padding:.28rem .62rem;font-size:.78rem;font-weight:600;display:inline-flex;overflow:hidden}.db-drop-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.65rem;margin-top:.35rem;display:flex}.db-drop-btn{align-items:center;gap:.38rem;font-size:.85rem;display:inline-flex}.db-section{flex-direction:column;gap:.85rem;display:flex}.db-section-header{justify-content:space-between;align-items:center;display:flex}.db-section-title{color:var(--color-text-main);letter-spacing:-.01em;margin:0;font-size:1rem;font-weight:700}.db-view-all{color:var(--color-primary);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:.4rem;align-items:center;gap:.2rem;padding:.2rem .4rem;font-size:.82rem;font-weight:600;transition:background .15s;display:inline-flex}.db-view-all:hover{background:#f0f0ff}.db-rooms-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;display:grid}.db-notes-search-empty{grid-column:1/-1;margin:0}.db-room-card{text-align:left;cursor:pointer;font:inherit;background:#fff;border:1px solid #e8eaf3;border-radius:1rem;padding:0;transition:box-shadow .18s,transform .18s,border-color .18s;overflow:hidden}.db-room-card:hover{border-color:#cdd2e8;transform:translateY(-3px);box-shadow:0 8px 20px #1118271a}.db-room-thumb{border-radius:.65rem .65rem 0 0;place-items:center;height:100px;display:grid;position:relative;overflow:hidden}.db-room-thumb-banner{-o-object-fit:cover;object-fit:cover;-o-object-position:center 35%;object-position:center 35%;border-radius:inherit;width:100%;height:100%;position:absolute;inset:0}.db-room-thumb-icon{opacity:.8}.db-curriculum-badge{cursor:default;z-index:2;font-size:1.15rem;line-height:1;position:absolute;top:.45rem;right:.45rem}.db-curriculum-tooltip{color:#fff;white-space:nowrap;pointer-events:none;opacity:0;background:#1b2233;border-radius:.4rem;padding:.3rem .6rem;font-size:.72rem;font-weight:600;transition:opacity .15s,transform .15s;position:absolute;top:calc(100% + .35rem);right:0;transform:translateY(-4px)}.db-curriculum-badge:hover .db-curriculum-tooltip{opacity:1;transform:translateY(0)}.db-room-progress-bar{background:#00000014;border-radius:0 0 .2rem .2rem;height:4px;position:absolute;bottom:0;left:0;right:0}.db-room-progress-fill{border-radius:inherit;min-width:2px;height:100%;transition:width .5s}.db-room-info{gap:.18rem;padding:.75rem .9rem;display:grid}.db-room-source{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.72rem;font-weight:500;overflow:hidden}.db-room-title{color:var(--color-text-main);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.875rem;font-weight:700;overflow:hidden}.db-room-meta{color:var(--color-text-muted);align-items:center;gap:.22rem;margin:0;font-size:.74rem;display:flex}.db-right-panel{background:#fff;border-left:1px solid #eaecf3;flex-direction:column;gap:1.1rem;height:100svh;padding:1.4rem 1rem;display:flex;overflow-y:auto}.db-right-card{background:#fff;border:1px solid #e8eaf3;border-radius:1.1rem;flex-direction:column;gap:.85rem;padding:1rem;display:flex}.db-right-card-header{justify-content:space-between;align-items:center;display:flex}.db-right-card-header h3{color:var(--color-text-main);margin:0;font-size:.95rem;font-weight:700}.db-right-empty{color:var(--color-text-muted);margin:0;font-size:.82rem}.db-challenges-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.db-challenge-row{cursor:pointer;width:100%;font:inherit;text-align:left;background:0 0;border:none;border-radius:.65rem;align-items:center;gap:.65rem;padding:.55rem .5rem;transition:background .15s;display:flex}.db-challenge-row:hover{background:#f6f7fb}.db-challenge-icon{border-radius:.5rem;flex-shrink:0;place-items:center;width:2rem;height:2rem;display:grid}.db-challenge-info{flex-direction:column;gap:.1rem;min-width:0;display:flex}.db-challenge-name{color:var(--color-text-main);white-space:nowrap;text-overflow:ellipsis;font-size:.84rem;font-weight:600;overflow:hidden}.db-challenge-meta{color:var(--color-text-muted);font-size:.74rem}.db-quick-stats{flex-direction:column;gap:.55rem;display:flex}.db-quick-stat{background:#f7f8fc;border:1px solid #eaecf3;border-radius:.7rem;align-items:center;gap:.6rem;padding:.55rem .6rem;display:flex}.db-quick-stat-icon{border-radius:.4rem;flex-shrink:0;place-items:center;width:1.7rem;height:1.7rem;display:grid}.db-quick-stat-icon--yellow{color:#ca8a04;background:#fef9c3}.db-quick-stat-icon--green{color:#16a34a;background:#dcfce7}.db-quick-stat-icon--blue{color:#2563eb;background:#dbeafe}.db-quick-stat-label{color:var(--color-text-muted);flex:1;font-size:.8rem;font-weight:500}.db-quick-stat-value{color:var(--color-text-main);font-size:.88rem;font-weight:700}.stat-card{transition:box-shadow .18s,transform .18s;box-shadow:0 2px 8px #1118270a}.stat-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px #11182717}.stat-card-icon{border-radius:.55rem;place-items:center;width:2.1rem;height:2.1rem;margin-bottom:.65rem;display:grid}.stat-value-unit{color:var(--color-text-muted);margin-left:.05em;font-size:.95rem;font-weight:600}.stat-sub{color:var(--color-text-muted);margin:.18rem 0 0;font-size:.77rem}@media (width<=860px){.db-hero-banner{grid-template-columns:minmax(0,1fr);padding:1.2rem 2.85rem 1.2rem 1.15rem}.db-hero-illustration{display:none}}.menu-item--marketplace{position:relative}.menu-badge{letter-spacing:.05em;text-transform:uppercase;color:#fff;background:linear-gradient(135deg,#5b5bd6,#8b65e6);border-radius:999px;flex-shrink:0;margin-left:auto;padding:.15rem .5rem;font-size:.6rem;font-weight:700}.dashboard-nav.is-collapsed .menu-badge{display:none}.mkt-page{flex-direction:column;gap:0;padding-bottom:2rem;display:flex}.mkt-banner{background:linear-gradient(135deg,#1e1b6e 0%,#312e9a 40%,#5b5bd6 80%,#7c6ee8 100%);border-radius:1.25rem;justify-content:space-between;align-items:center;gap:1.5rem;min-height:180px;margin-bottom:1.5rem;padding:2.2rem 2rem;display:flex;position:relative;overflow:hidden}.mkt-banner-orb{pointer-events:none;filter:blur(50px);opacity:.25;border-radius:50%;position:absolute}.mkt-banner-orb--a{background:#a78bfa;width:300px;height:300px;top:-120px;left:-60px}.mkt-banner-orb--b{background:#38bdf8;width:200px;height:200px;bottom:-80px;right:30%}.mkt-banner-content{z-index:1;flex:1;min-width:0;position:relative}.mkt-banner-kicker{color:#ffffffeb;letter-spacing:.02em;background:#ffffff24;border:1px solid #fff3;border-radius:999px;align-items:center;gap:.4rem;margin-bottom:.9rem;padding:.25rem .75rem;font-size:.72rem;font-weight:600;display:inline-flex}.mkt-banner-heading{font-family:var(--font-logo);letter-spacing:-.03em;color:#fff;margin:0 0 .5rem;font-size:clamp(1.5rem,3vw,2.2rem);font-weight:800;line-height:1.1}.mkt-banner-sub{color:#ffffffb8;max-width:420px;margin:0 0 1.1rem;font-size:.85rem;line-height:1.5}.mkt-banner-stats{align-items:center;gap:0;display:flex}.mkt-banner-stat{flex-direction:column;padding:0 1.1rem 0 0;display:flex}.mkt-banner-stat:first-child{padding-left:0}.mkt-banner-stat strong{font-family:var(--font-logo);color:#fff;font-size:1.15rem;font-weight:800;line-height:1}.mkt-banner-stat span{color:#fff9;margin-top:.1rem;font-size:.7rem}.mkt-banner-stat-sep{background:#fff3;flex-shrink:0;width:1px;height:2rem;margin:0 1.1rem 0 0}.mkt-banner-illustration{flex-shrink:0;width:140px;height:120px;position:relative}.mkt-banner-card{color:var(--color-text-main);white-space:nowrap;background:#fffffff5;border-radius:.75rem;align-items:center;gap:.45rem;padding:.55rem .85rem;font-size:.78rem;font-weight:700;animation:3s ease-in-out infinite mktFloat;display:flex;position:absolute;box-shadow:0 4px 20px #0003}.mkt-banner-card--1{animation-delay:0s;top:0;left:0}.mkt-banner-card--2{animation-delay:1s;top:45px;right:-10px}.mkt-banner-card--3{animation-delay:2s;bottom:0;left:10px}@keyframes mktFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.mkt-search-row{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.75rem;display:flex}.mkt-search-wrap{flex:1;align-items:center;min-width:200px;display:flex;position:relative}.mkt-search-icon{color:var(--color-text-muted);pointer-events:none;position:absolute;left:.9rem}.mkt-search{border:1.5px solid var(--color-border);width:100%;font-family:var(--font-sans);color:var(--color-text-main);background:#fff;border-radius:.75rem;outline:none;padding:.6rem 1rem .6rem 2.5rem;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.mkt-search:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #5b5bd61a}.mkt-search-info{color:var(--color-text-muted);white-space:nowrap;align-items:center;gap:.4rem;font-size:.8rem;display:flex}.mkt-search-info svg{color:var(--color-primary-soft)}.mkt-search-info--embedded{white-space:normal;margin:.35rem 0 1rem}.mkt-section{margin-bottom:2.5rem}.mkt-section-hd{align-items:baseline;gap:.8rem;margin-bottom:1.1rem;display:flex}.mkt-section-title{font-family:var(--font-logo);letter-spacing:-.02em;color:var(--color-text-main);align-items:center;gap:.45rem;margin:0;font-size:1.2rem;font-weight:800;display:flex}.mkt-section-title svg{color:var(--color-primary)}.mkt-section-sub{color:var(--color-text-muted);margin:0;font-size:.78rem}.mkt-featured-grid{grid-template-columns:repeat(3,1fr);gap:1.1rem;display:grid}.mkt-featured-card{border:1px solid var(--color-border);background:#fff;border-radius:1.1rem;flex-direction:column;transition:box-shadow .2s,transform .2s;display:flex;overflow:hidden}.mkt-featured-card:hover{transform:translateY(-3px);box-shadow:0 10px 36px #5b5bd626}.mkt-featured-top{justify-content:center;align-items:center;height:120px;display:flex;position:relative;overflow:hidden}.mkt-featured-tag{z-index:2;color:#fff;border-radius:999px;align-items:center;gap:.3rem;padding:.22rem .65rem;font-size:.68rem;font-weight:700;display:inline-flex;position:absolute;top:.75rem;right:.75rem}.mkt-featured-icon-wrap{z-index:1;background:#ffffff2e;border-radius:.9rem;padding:.9rem;position:relative}.mkt-featured-waves{background:#ffffff14;border-radius:50%;height:60px;position:absolute;bottom:-20px;left:-20px;right:-20px}.mkt-featured-body{flex-direction:column;flex:1;padding:1.1rem 1.15rem 1.2rem;display:flex}.mkt-featured-subject{letter-spacing:.07em;text-transform:uppercase;margin:0 0 .25rem;font-size:.68rem;font-weight:700}.mkt-featured-title{color:var(--color-text-main);margin:0 0 .15rem;font-size:1rem;font-weight:700;line-height:1.3}.mkt-featured-sub{color:var(--color-text-muted);flex:1;margin:0 0 .75rem;font-size:.78rem;line-height:1.45}.mkt-featured-meta{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.9rem;font-size:.75rem;display:flex}.mkt-featured-meta svg{flex-shrink:0}.mkt-featured-btn{width:100%;font-family:var(--font-sans);cursor:pointer;background:var(--color-primary);color:#fff;border:none;border-radius:.7rem;justify-content:center;align-items:center;gap:.45rem;padding:.65rem 1rem;font-size:.83rem;font-weight:700;transition:opacity .15s,transform .1s,background .15s;display:flex}.mkt-featured-btn:hover{opacity:.88;transform:translateY(-1px)}.mkt-featured-btn--free{background:#16a34a}.mkt-featured-btn--done{opacity:.88;cursor:default;transform:none}.mkt-featured-btn--unlocked{cursor:pointer;opacity:.9;border:1px solid #c6e9d9;color:#5f8771!important;background:#e7f6ef!important}.mkt-featured-btn--unlocked:hover{filter:brightness(.97);opacity:1!important;transform:none!important}.mkt-featured-btn:disabled{opacity:.65;cursor:progress}.mkt-cats{flex-wrap:wrap;gap:.5rem;margin-bottom:1.1rem;display:flex}.mkt-cat{border:1.5px solid var(--color-border);color:var(--color-text-muted);font-family:var(--font-sans);cursor:pointer;background:#fff;border-radius:999px;padding:.38rem .9rem;font-size:.8rem;font-weight:600;transition:all .14s}.mkt-cat:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-pale)}.mkt-cat--active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.mkt-grid{grid-template-columns:repeat(4,1fr);gap:.9rem;display:grid}.mkt-card{border:1px solid var(--color-border);background:#fff;border-radius:.95rem;flex-direction:column;transition:box-shadow .18s,transform .18s;display:flex;overflow:hidden}.mkt-card:hover{transform:translateY(-2px);box-shadow:0 6px 24px #5b5bd61f}.mkt-card-thumb{justify-content:center;align-items:center;height:72px;display:flex;position:relative;overflow:hidden}.mkt-card-thumb-banner{-o-object-fit:cover;object-fit:cover;-o-object-position:center 35%;object-position:center 35%;width:100%;height:100%;position:absolute;inset:0}.mkt-card-lock{color:#fff;background:#0000002e;border-radius:999px;justify-content:center;align-items:center;width:18px;height:18px;display:flex;position:absolute;bottom:6px;right:8px}.mkt-card-body{flex-direction:column;flex:1;padding:.8rem .9rem .85rem;display:flex}.mkt-card-subject{letter-spacing:.07em;text-transform:uppercase;margin:0 0 .2rem;font-size:.65rem;font-weight:700}.mkt-card-title{color:var(--color-text-main);flex:1;margin:0 0 .5rem;font-size:.84rem;font-weight:700;line-height:1.3}.mkt-card-meta{align-items:center;gap:.35rem;margin-bottom:.7rem;display:flex}.mkt-card-cards{color:var(--color-text-muted);align-items:center;gap:.25rem;font-size:.72rem;display:inline-flex}.mkt-card-footer{flex-direction:column;align-items:stretch;gap:.5rem;margin-top:auto;display:flex}.mkt-card-footer>.mkt-price{align-self:flex-start;max-width:100%}.mkt-price{white-space:nowrap;border-radius:999px;align-items:center;gap:.3rem;font-weight:700;display:inline-flex}.mkt-price--md{padding:.25rem .7rem;font-size:.78rem}.mkt-price--sm{padding:.2rem .55rem;font-size:.68rem}.mkt-price--free{color:#16a34a;background:#dcfce7}.mkt-price--paid{color:var(--color-primary);background:#eef0ff}.mkt-card-btn{font-family:var(--font-sans);cursor:pointer;background:var(--color-primary);color:#fff;white-space:normal;text-align:center;box-sizing:border-box;border:none;border-radius:.5rem;justify-content:center;align-items:center;gap:.28rem;width:100%;min-height:2.35rem;padding:.42rem .65rem;font-size:.72rem;font-weight:700;line-height:1.28;transition:background .14s,color .14s;display:inline-flex}.mkt-card-btn:hover{background:var(--color-primary-hover)}.mkt-card-btn--free{background:var(--color-primary-pale);color:var(--color-primary)}.mkt-card-btn--free:hover{background:var(--color-primary);color:#fff}.mkt-card-btn--done{color:#16a34a;cursor:default;background:#dcfce7}.mkt-card-btn--unlocked{cursor:pointer;opacity:.9;color:#5f8771!important;background:#e8f6ef!important;border:1px solid #c8e8da!important}.mkt-card-btn--unlocked:hover{filter:brightness(.98);opacity:1!important;border-color:#b5dfcd!important}.mkt-stars{align-items:center;gap:2px;display:inline-flex}.mkt-stars-val{color:var(--color-text-main);margin-left:.2rem;font-size:.72rem;font-weight:700}.mkt-sep{background:var(--color-border);border-radius:50%;flex-shrink:0;width:3px;height:3px;display:inline-block}.mkt-diff{border-radius:999px;padding:.15rem .5rem;font-size:.65rem;font-weight:700}.mkt-empty{color:var(--color-text-muted);flex-direction:column;grid-column:1/-1;align-items:center;gap:.5rem;padding:3.5rem 1rem;display:flex}.mkt-empty p{margin:0;font-size:.88rem}.mkt-empty--inline{grid-column:1/-1;padding:1.5rem 1rem}.mkt-trust{border:1px solid var(--color-border);background:#fff;border-radius:.9rem;flex-wrap:wrap;justify-content:center;align-items:center;gap:2rem;margin-top:.5rem;padding:1rem 1.5rem;display:flex}.mkt-trust-item{color:var(--color-text-muted);align-items:center;gap:.4rem;font-size:.78rem;font-weight:600;display:flex}.mkt-trust-item svg{color:var(--color-primary)}@media (width<=1100px){.mkt-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=860px){.mkt-featured-grid{grid-template-columns:1fr 1fr}.mkt-grid{grid-template-columns:repeat(2,1fr)}.mkt-banner{flex-direction:column;align-items:flex-start}.mkt-banner-illustration,.menu-badge{display:none}}@media (width<=520px){.mkt-featured-grid{grid-template-columns:1fr}.mkt-grid{grid-template-columns:1fr 1fr}.challenge-hub-panel .mkt-grid{grid-template-columns:1fr}}.bst-page{max-width:1120px;margin:0 auto;padding:0 0 2rem}.bst-header-row{margin-bottom:.75rem}.bst-back-link{font:inherit;color:var(--color-primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:.35rem;padding:.25rem 0;font-size:.82rem;font-weight:600;display:inline-flex}.bst-back-link:hover{text-decoration:underline}.bst-title{letter-spacing:-.03em;color:var(--color-text-main);align-items:center;gap:.5rem;margin:0 0 .35rem;font-size:1.45rem;font-weight:800;display:flex}.bst-lead{color:var(--color-text-muted);margin:0 0 1.35rem;font-size:.88rem}.bst-muted{color:var(--color-text-muted);margin:0;font-size:.88rem}.bst-empty{border:1px dashed var(--color-border);text-align:center;color:var(--color-text-muted);background:linear-gradient(#fbfcff 0%,#fff 100%);border-radius:1.1rem;margin-top:2.5rem;padding:2.25rem}.bst-empty--inline{margin-top:1rem}.bst-empty svg{opacity:.55;margin-bottom:.75rem}.bst-empty-title{color:var(--color-text-main);margin:0 0 .4rem;font-size:1.08rem}.bst-empty-text{margin:0 0 1.1rem;font-size:.87rem;line-height:1.45}.bst-explore-btn{margin-top:.25rem}.bst-filter-empty{grid-column:1/-1;margin:0 0 1rem}.bst-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:1.75rem;display:grid}@media (width<=900px){.bst-layout{grid-template-columns:1fr}}.bst-lines{min-width:0}.bst-ul{flex-direction:column;gap:.85rem;margin:0;padding:0;list-style:none;display:flex}.bst-line{border:1px solid var(--color-border);background:#fff;border-radius:.95rem;align-items:flex-start;gap:.95rem;padding:1rem 1.1rem;display:flex;box-shadow:0 2px 10px #14213d0a}.bst-line-thumb{border-radius:.72rem;flex-shrink:0;place-items:center;width:3rem;height:3rem;font-size:1rem;font-weight:800;display:grid}.bst-line-body{flex:1;min-width:0}.bst-line-sub{color:var(--color-primary);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .15rem;font-size:.72rem;font-weight:700}.bst-line-title{color:var(--color-text-main);margin:0 0 .25rem;font-size:1rem;font-weight:700;line-height:1.35}.bst-line-extra{color:var(--color-text-muted);margin:0 0 .35rem;font-size:.82rem;line-height:1.4}.bst-line-meta{color:#8b92a5;margin:0;font-size:.78rem}.bst-line-price{text-align:right;color:var(--color-text-main);flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.65rem;font-size:.95rem;font-weight:700;display:flex}.bst-price-free{color:#15803d;font-weight:800}.bst-remove{width:2rem;height:2rem;color:var(--color-text-muted);cursor:pointer;background:#f5f6fa;border:none;border-radius:.55rem;place-items:center;transition:background .15s,color .15s;display:grid}.bst-remove:hover:not(:disabled){color:#dc2626;background:#fee2e2}.bst-remove:disabled{opacity:.5;cursor:wait}.bst-summary{border:1px solid var(--color-border);background:linear-gradient(#fff 0%,#fafbff 100%);border-radius:1rem;padding:1.15rem 1.25rem;position:sticky;top:1rem;box-shadow:0 8px 24px #14213d0f}.bst-sum-title{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin:0 0 1rem;font-size:.78rem;font-weight:800}.bst-sum-rows{margin:0 0 1.1rem}.bst-sum-row{justify-content:space-between;gap:1rem;margin:0 0 .55rem;font-size:.86rem;display:flex}.bst-sum-row dt{color:var(--color-text-muted);margin:0;font-weight:500}.bst-sum-row dd{color:var(--color-text-main);margin:0;font-weight:700}.bst-sum-row--muted{font-size:.82rem}.bst-sum-total{border-top:1px solid #eaecf3;margin-top:.85rem;padding-top:.85rem;font-size:1rem}.bst-sum-total dt{color:var(--color-text-main);font-weight:800}.bst-sum-total dd{color:var(--color-primary);font-variant-numeric:tabular-nums;font-weight:800}.bst-checkout-btn{color:#fff;width:100%;font:inherit;cursor:pointer;background:linear-gradient(135deg,#4f46e5 0%,#6366f1 100%);border:none;border-radius:.72rem;padding:.78rem 1rem;font-size:.92rem;font-weight:800;transition:opacity .18s,transform .12s;box-shadow:0 4px 14px #4f46e559}.bst-checkout-btn:hover:not(:disabled){opacity:.94;transform:translateY(-1px)}.bst-checkout-btn:disabled{opacity:.55;cursor:wait;transform:none}.bst-promo-hint{color:var(--color-text-muted);margin:.65rem 0 0;font-size:.72rem;font-weight:600;line-height:1.4}.bst-trust{color:var(--color-text-muted);justify-content:center;align-items:center;gap:.35rem;margin-top:.85rem;font-size:.72rem;font-weight:600;display:flex}.bst-trust--2{margin-top:.35rem}.bst-trust svg{color:#22c55e;flex-shrink:0}.bst-trust--2 svg{color:#6366f1}.bst-stripe-overlay{z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a73;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.bst-stripe-panel{background:#fff;border-radius:1rem;flex-direction:column;width:min(480px,100%);max-height:min(92vh,860px);display:flex;overflow:hidden;box-shadow:0 24px 48px #0f172a2e,0 8px 16px #0f172a14}.bst-stripe-hd{border-bottom:1px solid #eef0f4;flex-shrink:0;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.bst-stripe-title{color:var(--color-text-main);margin:0;font-size:1rem;font-weight:800}.bst-stripe-close{cursor:pointer;width:2.25rem;height:2.25rem;color:var(--color-text-muted);background:#f4f6fa;border:none;border-radius:.55rem;font-size:1.35rem;line-height:1;transition:background .15s,color .15s}.bst-stripe-close:hover{color:var(--color-text-main);background:#e8ebf4}.bst-stripe-panel .StripeElement,.bst-stripe-panel iframe{min-height:480px}.bst-stripe-panel>iframe,.bst-stripe-panel embedded-checkout-provider,.bst-stripe-panel stripe-embedded-checkout{flex:1}@media (width<=520px){.room-banner-img,.room-banner-skeleton{height:110px}}.arena-wrap{color:#f0f0ff;background:linear-gradient(160deg,#0e0f1e 0%,#1b1040 55%,#0b1a2c 100%);border-radius:1rem;flex-direction:column;min-height:calc(100svh - 64px);display:flex;overflow:hidden}.arena-topbar{border-bottom:1px solid #ffffff12;flex-shrink:0;align-items:center;gap:.75rem;padding:.9rem 1.2rem;display:flex}.arena-back-btn{color:#c8c8f0;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff24;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:background .18s,color .18s;display:flex}.arena-back-btn:hover{color:#fff;background:#ffffff24}.arena-room-name{color:#e0e0ff;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.92rem;font-weight:600;overflow:hidden}.arena-topbar-end{align-items:center;gap:.35rem;display:flex}.arena-icon-btn{color:#a0a0cc;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:background .15s,color .15s;display:flex}.arena-icon-btn:hover{color:#e0e0ff;background:#ffffff1f}.arena-progress-strip{flex-shrink:0;align-items:center;gap:.9rem;padding:.7rem 1.2rem .5rem;display:flex}.arena-progress-track{background:#ffffff1a;border-radius:3px;flex:1;height:5px;overflow:hidden}.arena-progress-fill{background:linear-gradient(90deg,#7a7ae1,#a78bfa);border-radius:3px;height:100%;transition:width .4s cubic-bezier(.4,0,.2,1)}.arena-strip-badges{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.arena-counter-badge{color:#9090c0;font-variant-numeric:tabular-nums;font-size:.78rem}.arena-streak-badge{color:#fb923c;background:#fb923c1f;border:1px solid #fb923c40;border-radius:999px;align-items:center;gap:.2rem;padding:.15rem .55rem;font-size:.75rem;font-weight:600;display:flex}.arena-xp-badge{color:#fbbf24;background:#fbbf241f;border:1px solid #fbbf2438;border-radius:999px;align-items:center;gap:.2rem;padding:.15rem .5rem;font-size:.75rem;font-weight:600;display:flex}.arena-stage{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:0;min-height:0;padding:.5rem 1rem 1.15rem;display:flex;position:relative;overflow:visible}.arena-indicator{pointer-events:none;z-index:10;align-items:center;transition:opacity .1s linear;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.arena-indicator--right{right:1.2rem}.arena-indicator--left{left:1.2rem}.arena-indicator-inner{letter-spacing:.04em;text-transform:uppercase;flex-direction:column;align-items:center;gap:.3rem;font-size:.72rem;font-weight:700;display:flex}.arena-indicator--right .arena-indicator-inner{color:#10b981;text-shadow:0 0 16px #10b98199}.arena-indicator--left .arena-indicator-inner{color:#f43f5e;text-shadow:0 0 16px #f43f5e99}.arena-card-group{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1.35rem;width:100%;max-width:420px;min-height:0;padding-top:44px;display:flex;overflow:visible}.arena-stack{perspective:900px;perspective-origin:50% 120%;flex:1;justify-content:center;align-items:center;width:100%;min-height:0;max-height:500px;display:flex;position:relative;overflow:visible}.arena-card.arena-card--memorize-scroll{-webkit-overflow-scrolling:touch;min-height:auto;max-height:min(92svh,900px);overflow:hidden auto}.arena-stack.arena-stack--memorize-flow{align-self:stretch;align-items:flex-start;max-height:none}.arena-card-group.arena-card-group--memorize-flow{flex:auto;justify-content:flex-start;min-height:0;max-height:min(100svh - 120px,960px);padding-bottom:.75rem;overflow-y:auto}.arena-ghost{pointer-events:none;transform-origin:top;background:linear-gradient(175deg,#fff 0%,#eef 100%);border:1px solid #b4b4ff8c;border-radius:22px;position:absolute;inset:0;overflow:hidden}.arena-ghost-stripe{opacity:.4;background:linear-gradient(90deg,#7a7ae1,#a78bfa);width:100%;height:5px}.arena-ghost--far{opacity:.5;z-index:0;transform:translateY(-38px)scale(.82)rotateX(7deg);box-shadow:0 -6px 20px #00000047,0 4px 14px #0003,0 6px #b4b4dce6}.arena-ghost--near{opacity:.75;z-index:1;transform:translateY(-19px)scale(.91)rotateX(4deg);box-shadow:0 -6px 22px #0000004d,0 6px 16px #00000038,0 8px #a0a0d2d9}.arena-card{z-index:2;color:#1b2233;transform-origin:bottom;backface-visibility:hidden;will-change:transform;background:linear-gradient(175deg,#fff 0%,#f9f9ff 60%,#f4f5ff 100%);border:1px solid #fffffff2;border-radius:22px;flex-direction:column;width:100%;max-width:420px;min-height:clamp(320px,100svh - 290px,500px);transition:box-shadow .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 32px 64px #0000008c,0 12px 28px #00000052,0 4px 8px #0000002e,0 10px #c8c8e6f2,inset 0 1px #fff}.arena-card--swipeable{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.arena-card--swipeable:active{cursor:grabbing}.arena-card--right{box-shadow:0 24px 48px #10b98133,0 8px 20px #0000004d,inset 0 1px #fffc}.arena-card--left{box-shadow:0 24px 48px #f43f5e33,0 8px 20px #0000004d,inset 0 1px #fffc}.arena-card-swipe-overlay{pointer-events:none;z-index:1;border-radius:19px;transition:opacity 60ms linear;position:absolute;inset:0}.arena-card-swipe-overlay--right{background:#10b981}.arena-card-swipe-overlay--left{background:#f43f5e}.arena-card:before{content:"";background:linear-gradient(90deg,#7a7ae1 0%,#a78bfa 50%,#7a7ae1 100%) 0 0/200% 100%;flex-shrink:0;height:4px;animation:3s linear infinite arena-stripe-shimmer;display:block}@keyframes arena-stripe-shimmer{0%{background-position:0 0}to{background-position:200% 0}}.arena-card-header{z-index:2;justify-content:space-between;align-items:center;padding:.75rem 1.1rem .4rem;display:flex;position:relative}.arena-card-subject-tag{color:#5b5bd6;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;text-overflow:ellipsis;background:#5b5bd614;border:1px solid #5b5bd62e;border-radius:999px;max-width:55%;padding:.15rem .6rem;font-size:.72rem;font-weight:700;overflow:hidden}.arena-card-difficulty{text-transform:capitalize;border-radius:999px;padding:.15rem .55rem;font-size:.68rem;font-weight:600}.arena-card-difficulty--facile,.arena-card-difficulty--easy{color:#059669;background:#ecfdf5;border:1px solid #a7f3d0}.arena-card-difficulty--moyen,.arena-card-difficulty--medium{color:#d97706;background:#fffbeb;border:1px solid #fde68a}.arena-card-difficulty--difficile,.arena-card-difficulty--hard{color:#dc2626;background:#fff1f2;border:1px solid #fecdd3}.arena-card-body{z-index:2;flex:1;justify-content:center;align-items:center;padding:1.2rem 1.3rem;display:flex;position:relative}.arena-card-question{color:#1b2233;text-align:center;word-break:break-word;overflow-wrap:anywhere;-webkit-line-clamp:6;-webkit-box-orient:vertical;max-width:24ch;margin:0;font-size:clamp(1rem,2.5vw,1.2rem);font-weight:700;line-height:1.38;display:-webkit-box;overflow:hidden}.arena-card-question--compact{color:#4a5568;text-align:left;-webkit-line-clamp:3;align-self:flex-start;max-width:100%;font-size:.88rem;font-weight:600}.arena-swipe-cta{z-index:2;flex-direction:column;gap:.5rem;padding:0 1.1rem .6rem;display:flex;position:relative}.arena-card-msg{color:#6b7280;text-align:center;margin:0;font-size:.75rem}.arena-phase{z-index:2;flex-direction:column;flex:1;gap:.65rem;min-height:0;padding:.6rem 1.1rem 1rem;display:flex;position:relative;overflow-y:auto}.arena-phase-banner{border-radius:9px;flex-shrink:0;align-items:center;gap:.45rem;padding:.5rem .75rem;font-size:.8rem;font-weight:600;display:flex}.arena-phase-banner--green{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0}.arena-phase-banner--amber{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.arena-textarea{width:100%;font-family:var(--font-sans);color:#1b2233;resize:none;box-sizing:border-box;background:#fff;border:1.5px solid #d8dcea;border-radius:10px;outline:none;flex-shrink:0;padding:.7rem .85rem;font-size:.88rem;transition:border-color .15s}.arena-textarea:focus{border-color:#5b5bd6;box-shadow:0 0 0 3px #5b5bd61a}.arena-btn{cursor:pointer;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;gap:.4rem;padding:.65rem 1.2rem;font-size:.88rem;font-weight:600;transition:all .15s;display:flex}.arena-btn--primary{color:#fff;background:linear-gradient(135deg,#5b5bd6,#7a7ae1);box-shadow:0 4px 12px #5b5bd64d}.arena-btn--primary:hover:not(:disabled){background:linear-gradient(135deg,#4c4cbc,#6a6ad1);transform:translateY(-1px);box-shadow:0 6px 16px #5b5bd666}.arena-btn--primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.arena-btn--ghost{color:#616b80;background:0 0;border:1.5px solid #d8dcea}.arena-btn--ghost:hover{color:#5b5bd6;border-color:#5b5bd6}.arena-btn--danger{color:#dc2626;background:#fee2e2;border:1px solid #fca5a5}.arena-btn--sm{padding:.45rem .9rem;font-size:.8rem}.arena-loading{gap:.1rem;display:flex}.arena-dot{animation:1.2s infinite arena-dot-bounce;display:inline-block}.arena-dot:nth-child(2){animation-delay:.2s}.arena-dot:nth-child(3){animation-delay:.4s}@keyframes arena-dot-bounce{0%,80%,to{opacity:.5;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}.arena-score-badge{border-radius:12px;flex-shrink:0;align-self:center;align-items:baseline;gap:.2rem;padding:.5rem 1.2rem;display:flex}.arena-score-badge--pass{background:#ecfdf5;border:2px solid #34d399}.arena-score-badge--fail{background:#fff1f2;border:2px solid #fb7185}.arena-score-num{font-size:1.8rem;font-weight:800;line-height:1}.arena-score-badge--pass .arena-score-num{color:#059669}.arena-score-badge--fail .arena-score-num{color:#e11d48}.arena-score-denom{color:#616b80;font-size:.9rem;font-weight:500}.arena-ai-feedback{color:#374151;background:#f9f9ff;border:1px solid #e8e8f8;border-radius:9px;flex-shrink:0;margin:0;padding:.6rem .8rem;font-size:.83rem;line-height:1.45}.arena-key-gap{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;flex-shrink:0;margin:0;padding:.5rem .75rem;font-size:.82rem}.arena-expected{background:#f0f4ff;border:1px solid #d6dcf8;border-radius:10px;flex-shrink:0;padding:.7rem .9rem}.arena-expected-label{text-transform:uppercase;letter-spacing:.05em;color:#5b5bd6;margin:0 0 .3rem;font-size:.72rem;font-weight:700}.arena-expected-text{color:#2d3748;margin:0;font-size:.88rem;line-height:1.42}.arena-hint{color:#4d6391;flex-shrink:0;margin:0;font-size:.82rem}.arena-memory-task{color:#2d2d6e;background:linear-gradient(135deg,#eef0ff,#f5f0ff);border:1px solid #c4c4f0;border-radius:10px;flex-shrink:0;padding:.7rem .9rem;font-size:.85rem}.arena-memory-launch{flex-direction:column;flex-shrink:0;align-items:center;gap:.65rem;margin-top:.35rem;display:flex}.arena-memory-launch-btn{min-width:200px;border-radius:12px!important;padding:.75rem 1.4rem!important;font-size:1rem!important}.arena-memory-launch-hint{color:#616b80;text-align:center;max-width:28ch;margin:0;font-size:.8rem;line-height:1.4}.arena-memory-mode-grid{flex-shrink:0;grid-template-columns:1fr;gap:.75rem;margin-top:.5rem;display:grid}@media (width>=520px){.arena-memory-mode-grid{grid-template-columns:1.2fr 1fr;align-items:stretch}}.arena-memory-mode-card{text-align:left;cursor:pointer;font:inherit;color:inherit;background:#fff;border:2px solid #e2e6f3;border-radius:14px;flex-direction:column;gap:.35rem;padding:1rem 1rem .95rem;transition:border-color .18s,box-shadow .18s,transform .18s;display:flex;position:relative}.arena-memory-mode-card:hover:not(:disabled){border-color:#b8bef0;transform:translateY(-1px);box-shadow:0 6px 18px #5b5bd61f}.arena-memory-mode-card:disabled{opacity:.45;cursor:not-allowed;transform:none}.arena-memory-mode-card--featured{background:linear-gradient(155deg,#fafbff 0%,#f3f4ff 100%);border-color:#5b5bd673;box-shadow:0 8px 26px #5b5bd624}.arena-memory-mode-badge{text-transform:uppercase;letter-spacing:.06em;color:#fff;background:linear-gradient(135deg,#5b5bd6,#7a7ae1);border-radius:6px;padding:.2rem .45rem;font-size:.62rem;font-weight:800;position:absolute;top:.65rem;right:.65rem}.arena-memory-mode-icon-wrap{color:#5b5bd6;background:#eef0ff;border-radius:12px;place-items:center;width:48px;height:48px;margin-bottom:.15rem;display:grid}.arena-memory-mode-icon-wrap--muted{color:#616b80;background:#f4f4fb}.arena-memory-mode-title{color:#1b2233;margin:0;font-size:1rem;font-weight:800}.arena-memory-mode-desc{color:#616b80;margin:0;font-size:.78rem;line-height:1.45}.arena-memory-record-panel{text-align:center;background:#f8f9fc;border:1px solid #e2e6f3;border-radius:12px;flex-shrink:0;margin-top:.5rem;padding:.85rem .9rem}.arena-memory-record-title{color:#1b2233;margin:0 0 .25rem;font-size:.95rem;font-weight:800}.arena-memory-record-sub{color:#616b80;margin:0 0 .75rem;font-size:.8rem}.arena-memory-stop-btn{width:100%;max-width:280px}.arena-memory-visual-shell{flex-shrink:0;min-height:0;margin-top:.55rem;position:relative}.arena-memory-mic-analyze-shell{border-radius:14px;flex-shrink:0;min-height:200px;margin-top:.55rem;position:relative;overflow:hidden}.arena-memory-analyze-overlay--mic{border-radius:14px;min-height:200px;position:relative;inset:auto}.arena-camera-wrap--framed{border:2px solid #e2e6f3;box-shadow:0 4px 14px #1b22330f}.arena-memory-mic-live{color:#5b5bd6;background:linear-gradient(#fafbff,#f4f5fc);border:2px dashed #c5c9e8;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:1.5rem 1rem;display:flex}.arena-memory-mic-live p{color:#1b2233;margin:0;font-size:.88rem;font-weight:700}.arena-memory-mic-pulse{background:#f43f5e;border-radius:50%;width:12px;height:12px;animation:1.1s ease-in-out infinite arena-mic-dot}@keyframes arena-mic-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(1.35)}}.arena-memory-analyze-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:4;background:#0f172ac7;border-radius:12px;place-items:center;padding:.75rem;animation:.35s ease-out arena-analyze-in;display:grid;position:absolute;inset:0}@keyframes arena-analyze-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.arena-memory-analyze-card{text-align:center;background:linear-gradient(165deg,#fff 0%,#f4f4ff 100%);border:1px solid #ffffffa6;border-radius:14px;max-width:280px;padding:1.25rem 1.1rem;box-shadow:0 16px 40px #0003}.arena-memory-analyze-spark{color:#5b5bd6;margin-bottom:.35rem;animation:2.4s linear infinite arena-spark-spin}@keyframes arena-spark-spin{to{transform:rotate(360deg)}}.arena-memory-analyze-title{color:#1b2233;margin:0 0 .25rem;font-size:1.05rem;font-weight:800}.arena-memory-analyze-sub{color:#616b80;margin:0 0 .85rem;font-size:.78rem;line-height:1.4}.arena-memory-analyze-dots{justify-content:center;gap:.35rem;display:flex}.arena-memory-analyze-dots span{background:#5b5bd6;border-radius:50%;width:8px;height:8px;animation:1.05s ease-in-out infinite arena-analyze-dot}.arena-memory-analyze-dots span:nth-child(2){animation-delay:.15s}.arena-memory-analyze-dots span:nth-child(3){animation-delay:.3s}@keyframes arena-analyze-dot{0%,to{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}.arena-memory-score-card{text-align:center;border:2px solid #e2e6f3;border-radius:14px;flex-shrink:0;margin-top:.65rem;padding:1rem 1rem .85rem;animation:.45s cubic-bezier(.22,.7,.2,1) arena-score-pop}@keyframes arena-score-pop{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.arena-memory-score-card.is-win{background:linear-gradient(165deg,#ecfdf5,#f0fdf9);border-color:#6ee7b7}.arena-memory-score-card.is-miss{background:linear-gradient(165deg,#fff7ed,#fffbeb);border-color:#fdba74}.arena-memory-score-label{text-transform:uppercase;letter-spacing:.08em;color:#616b80;margin:0;font-size:.72rem;font-weight:800}.arena-memory-score-num{letter-spacing:-.03em;color:#1b2233;margin:.2rem 0 .35rem;font-size:2.1rem;font-weight:900;line-height:1}.arena-memory-score-card.is-win .arena-memory-score-num{color:#047857}.arena-memory-score-card.is-miss .arena-memory-score-num{color:#c2410c}.arena-memory-score-denom{opacity:.75;font-size:1rem;font-weight:700}.arena-memory-score-feedback{color:#374151;margin:0 0 .65rem;font-size:.84rem;line-height:1.45}.arena-memory-score-next{color:#5b5bd6;margin:0;font-size:.78rem;font-weight:600}.arena-memory-actions{flex-shrink:0;gap:.5rem;display:flex}.arena-memory-actions .arena-btn{flex:1}.arena-proof-mode{flex-wrap:wrap;flex-shrink:0;gap:.5rem;display:flex}.arena-proof-btn{color:#616b80;cursor:pointer;background:#fff;border:1.5px solid #d8dcea;border-radius:8px;align-items:center;gap:.35rem;padding:.45rem .8rem;font-size:.8rem;font-weight:600;transition:all .15s;display:flex}.arena-proof-btn.is-active{color:#5b5bd6;background:#efefff;border-color:#5b5bd6}.arena-proof-btn--recording{color:#f43f5e;background:#fff1f2;border-color:#f43f5e;animation:1.4s ease-in-out infinite arena-rec-pulse}@keyframes arena-rec-pulse{0%,to{opacity:1}50%{opacity:.6}}.arena-camera-wrap{border-radius:10px;flex-shrink:0;position:relative;overflow:hidden}.arena-pose-overlay{z-index:2;pointer-events:none;border-radius:10px;position:absolute;inset:0}.arena-pose-canvas{width:100%;height:100%;display:block}.arena-live-coach-bubble{z-index:3;pointer-events:none;background:linear-gradient(135deg,#1b2233e0,#5b5bd6d1);border:1px solid #ffffff38;border-radius:12px;align-items:flex-start;gap:.45rem;max-width:min(92%,320px);padding:.55rem .75rem;animation:.35s ease-out arena-coach-pop;display:flex;position:absolute;bottom:10px;left:50%;transform:translate(-50%);box-shadow:0 10px 28px #0f172a59}@keyframes arena-coach-pop{0%{opacity:0;transform:translate(-50%)translateY(8px)scale(.96)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}.arena-live-coach-bubble-icon{color:#fef3c7;flex-shrink:0;margin-top:.1rem}.arena-live-coach-bubble-text{color:#fff;text-align:left;margin:0;font-size:.86rem;font-weight:700;line-height:1.35}.arena-camera-preview,.arena-camera-shot{border-radius:10px;width:100%;display:block}.arena-transcript,.arena-media-status,.arena-media-error{border-radius:8px;flex-shrink:0;margin:0;padding:.45rem .7rem;font-size:.8rem}.arena-transcript{color:#4d6391;background:#f0f4ff}.arena-media-status{color:#065f46;background:#ecfdf5}.arena-media-error{color:#dc2626;background:#fff1f2}.arena-verify-result{color:#7f1d1d;background:#fff1f2;border:1px solid #fca5a5;border-radius:10px;flex-shrink:0;padding:.7rem .9rem;font-size:.83rem}.arena-verify-result.is-approved{color:#064e3b;background:#ecfdf5;border-color:#6ee7b7}.arena-verify-result p{margin:.3rem 0 0}.arena-skip-zone{flex-direction:column;flex-shrink:0;align-items:center;gap:.5rem;display:flex}.arena-skip-link{color:#9ca3af;cursor:pointer;background:0 0;border:none;padding:.3rem;font-size:.77rem;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;transition:color .15s}.arena-skip-link:hover{color:#6b7280}.arena-skip-confirm{background:#fef2f2;border:1px solid #fca5a5;border-radius:9px;flex-direction:column;align-items:center;gap:.5rem;width:100%;padding:.65rem .9rem;display:flex}.arena-skip-confirm p{color:#7f1d1d;margin:0;font-size:.8rem}.arena-action-btns{flex-shrink:0;justify-content:center;align-items:center;gap:3rem;width:100%;padding:.35rem 0 .85rem;display:flex}.arena-action-btn{cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:.58rem;padding:0;transition:transform .18s cubic-bezier(.34,1.4,.64,1);display:flex}.arena-action-btn:active{transform:scale(.9)}.arena-action-circle{border:3px solid;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;transition:all .2s cubic-bezier(.34,1.3,.64,1);display:flex}.arena-action-btn:hover .arena-action-circle{transform:scale(1.1)}.arena-action-circle--left{color:#f43f5e;background:#f43f5e1f;border-color:#f43f5e80;box-shadow:0 6px 20px #f43f5e40}.arena-action-btn--left:hover .arena-action-circle--left{background:#f43f5e38;border-color:#f43f5e;box-shadow:0 10px 28px #f43f5e66}.arena-action-circle--right{color:#10b981;background:#10b9811f;border-color:#10b98180;box-shadow:0 6px 20px #10b98140}.arena-action-btn--right:hover .arena-action-circle--right{background:#10b98138;border-color:#10b981;box-shadow:0 10px 28px #10b98166}.arena-action-label{letter-spacing:.02em;text-transform:uppercase;text-align:center;max-width:7.5rem;font-size:.75rem;font-weight:700;line-height:1.35}.arena-action-btn--left .arena-action-label{color:#f43f5e}.arena-action-btn--right .arena-action-label{color:#10b981}.arena-complete{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1.2rem;min-height:calc(100svh - 80px);padding:2.5rem 1.5rem;display:flex}.arena-complete-icon{font-size:3.5rem;line-height:1;animation:.5s cubic-bezier(.34,1.56,.64,1) both arena-icon-pop}@keyframes arena-icon-pop{0%{opacity:0;transform:scale(0)rotate(-15deg)}to{opacity:1;transform:scale(1)rotate(0)}}.arena-complete-title{color:#e0e0ff;margin:0;font-size:1.6rem;font-weight:800}.arena-complete-stats{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:16px;align-items:center;gap:.5rem;padding:1rem 1.5rem;display:flex}.arena-complete-stat{flex-direction:column;align-items:center;gap:.25rem;padding:0 .8rem;display:flex}.arena-complete-stat-value{font-size:1.8rem;font-weight:800;line-height:1}.arena-complete-stat-value--green{color:#34d399}.arena-complete-stat-value--red{color:#f87171}.arena-complete-stat-value--gold{color:#fbbf24}.arena-complete-stat-label{color:#a0a0cc;text-transform:uppercase;letter-spacing:.05em;font-size:.72rem}.arena-complete-stat-divider{background:#ffffff1f;flex-shrink:0;width:1px;height:40px}.arena-complete-actions{gap:.75rem;display:flex}.arena-complete-actions .arena-btn--ghost{color:#c0c0e8;border-color:#fff3}.arena-complete-actions .arena-btn--ghost:hover{color:#fff;border-color:#fff6}.hub-wrap{flex-direction:column;gap:0;width:100%;min-width:0;padding-bottom:1.5rem;display:flex}.hub-stats-strip{grid-template-columns:repeat(4,1fr);gap:.65rem;width:100%;margin-bottom:.25rem;padding:1rem 0 0;display:grid}.hub-stat-card{background:#fff;border:1px solid #e8eaf0;border-radius:14px;align-items:center;gap:.7rem;min-width:0;padding:.85rem .9rem;transition:border-color .18s,box-shadow .18s,transform .18s;display:flex}.hub-stat-card:hover{border-color:#c5c5e8;transform:translateY(-1px);box-shadow:0 6px 16px #5b5bd61a}.hub-stat-icon-wrap{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.hub-stat-info{flex:1;min-width:0}.hub-stat-value{color:#1b2233;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.25rem;font-weight:800;line-height:1;overflow:hidden}.hub-stat-label{color:#616b80;white-space:nowrap;text-overflow:ellipsis;margin:.18rem 0 0;font-size:.68rem;overflow:hidden}.hub-tabs{background:#f0f0f8;border-radius:12px;gap:0;width:100%;margin:.85rem 0 .65rem;padding:.25rem;display:flex}.hub-tab-btn{color:#616b80;cursor:pointer;background:0 0;border:none;border-radius:9px;flex:1;justify-content:center;align-items:center;gap:.4rem;padding:.55rem .5rem;font-size:.83rem;font-weight:600;transition:all .18s;display:flex}.hub-tab-btn.is-active{color:#5b5bd6;background:#fff;box-shadow:0 2px 8px #00000014}.hub-tab-btn:hover:not(.is-active){color:#1b2233}.hub-search{margin-bottom:1rem;position:relative}.hub-search-icon{color:#9ca3af;pointer-events:none;position:absolute;top:50%;left:.85rem;transform:translateY(-50%)}.hub-search-input{color:#1b2233;box-sizing:border-box;background:#fff;border:1.5px solid #e2e2f0;border-radius:10px;outline:none;width:100%;padding:.65rem .9rem .65rem 2.4rem;font-size:.88rem;transition:border-color .15s}.hub-search-input:focus{border-color:#5b5bd6;box-shadow:0 0 0 3px #5b5bd617}.hub-grid{grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:1rem;width:100%;display:grid}.hub-section{width:100%;min-width:0}.hub-room-card{cursor:default;background:#fff;border:1px solid #e8eaf0;border-radius:16px;flex-direction:column;transition:transform .2s cubic-bezier(.34,1.2,.64,1),box-shadow .2s,border-color .2s;display:flex;overflow:hidden}.hub-room-card:hover{border-color:#c5c5e8;transform:translateY(-3px);box-shadow:0 12px 28px #5b5bd61f,0 4px 8px #0000000d}.hub-room-thumb{justify-content:center;align-items:center;height:110px;display:flex;position:relative;overflow:hidden}.hub-room-thumb-img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.hub-room-thumb-icon{z-index:1;opacity:.85;position:relative}.hub-room-thumb-overlay{z-index:1;background:linear-gradient(#0000 40%,#00000026);position:absolute;inset:0}.hub-room-ring{z-index:2;justify-content:center;align-items:center;display:flex;position:absolute;bottom:.5rem;right:.55rem}.hub-room-ring-pct{color:#fff;text-shadow:0 1px 3px #00000080;font-size:.6rem;font-weight:700;position:absolute}.hub-progress-ring{filter:drop-shadow(0 1px 3px #0006);display:block}.hub-room-body{flex-direction:column;flex:1;justify-content:space-between;gap:.75rem;padding:.9rem;display:flex}.hub-room-top{flex-direction:column;gap:.3rem;display:flex}.hub-room-meta-top{justify-content:space-between;align-items:center;gap:.4rem;display:flex}.hub-room-source{color:#9ca3af;white-space:nowrap;text-overflow:ellipsis;max-width:60%;font-size:.7rem;overflow:hidden}.hub-room-actions-top{align-items:center;gap:.35rem;display:flex}.hub-share-code{font-variant-numeric:tabular-nums;color:#5b5bd6;letter-spacing:.08em;background:#efefff;border:1px solid #c5c5e8;border-radius:6px;padding:.1rem .45rem;font-size:.7rem;font-weight:700}.hub-icon-btn{color:#9ca3af;cursor:pointer;background:0 0;border:1px solid #e2e2f0;border-radius:7px;justify-content:center;align-items:center;width:26px;height:26px;transition:all .15s;display:flex}.hub-icon-btn:hover{color:#5b5bd6;background:#efefff;border-color:#5b5bd6}.hub-room-title{color:#1b2233;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.95rem;font-weight:700;line-height:1.25;display:-webkit-box;overflow:hidden}.hub-room-desc{color:#616b80;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.78rem;line-height:1.4;display:-webkit-box;overflow:hidden}.hub-room-footer{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.hub-room-chips{flex-wrap:wrap;align-items:center;gap:.3rem;min-width:0;display:flex}.hub-chip{color:#616b80;white-space:nowrap;background:#f4f4fb;border:1px solid #e2e2f0;border-radius:999px;align-items:center;gap:.25rem;padding:.15rem .5rem;font-size:.69rem;display:flex}.hub-chip--new{color:#5b5bd6;background:#efefff;border-color:#c5c5e8}.hub-room-cta{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#5b5bd6,#7a7ae1);border:none;border-radius:9px;flex-shrink:0;align-items:center;gap:.25rem;padding:.45rem .85rem;font-size:.8rem;font-weight:700;transition:all .15s;display:flex;box-shadow:0 3px 8px #5b5bd640}.hub-room-cta:hover{background:linear-gradient(135deg,#4c4cbc,#6a6ad1);transform:translateY(-1px);box-shadow:0 5px 14px #5b5bd659}.hub-shared-badge{z-index:3;text-transform:uppercase;letter-spacing:.05em;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#5b5bd6d9;border-radius:6px;align-items:center;gap:.25rem;padding:.2rem .5rem;font-size:.65rem;font-weight:700;display:flex;position:absolute;top:.5rem;left:.55rem}.hub-section-label{color:#616b80;text-transform:uppercase;letter-spacing:.06em;margin:.5rem 0 .75rem;font-size:.78rem;font-weight:700}.hub-empty{text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:3rem 1.5rem;display:flex}.hub-empty-icon{color:#d8dcea}.hub-empty-title{color:#1b2233;margin:0;font-size:1rem;font-weight:700}.hub-empty-text{color:#616b80;max-width:32ch;margin:0;font-size:.85rem}.hub-cta-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#5b5bd6,#7a7ae1);border:none;border-radius:10px;padding:.65rem 1.2rem;font-size:.88rem;font-weight:700;transition:all .15s;box-shadow:0 4px 12px #5b5bd640}.hub-cta-btn:hover{background:linear-gradient(135deg,#4c4cbc,#6a6ad1);transform:translateY(-1px)}.hub-join-form{margin-bottom:1.5rem}.hub-join-intro{color:#616b80;margin:0 0 .75rem;font-size:.85rem}.hub-join-row{align-items:center;gap:.6rem;display:flex}.hub-join-input{font-variant-numeric:tabular-nums;letter-spacing:.15em;color:#1b2233;text-align:center;background:#fff;border:1.5px solid #e2e2f0;border-radius:10px;outline:none;flex:1;padding:.65rem .9rem;font-size:1rem;font-weight:700;transition:border-color .15s}.hub-join-input:focus{border-color:#5b5bd6;box-shadow:0 0 0 3px #5b5bd61a}.hub-join-btn{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#5b5bd6,#7a7ae1);border:none;border-radius:10px;padding:.65rem 1.2rem;font-size:.88rem;font-weight:700;transition:all .15s}.hub-join-btn:disabled{opacity:.5;cursor:not-allowed}.hub-join-btn:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 5px 14px #5b5bd64d}.hub-join-error{color:#dc2626;margin:.5rem 0 0;font-size:.82rem}.hub-shared-list{margin-top:.5rem}@media (width<=1100px){.hub-stats-strip{grid-template-columns:repeat(2,1fr)}}@media (width<=860px){.hub-stats-strip{grid-template-columns:repeat(2,1fr)}.arena-wrap{border-radius:0;min-height:calc(100svh - 56px)}.arena-stage{padding:.3rem .7rem .6rem}.arena-card{border-radius:20px;min-height:clamp(300px,100svh - 270px,500px)}.arena-card-group{gap:.5rem;max-width:380px}}@media (width<=520px){.hub-stats-strip{grid-template-columns:repeat(2,1fr);gap:.5rem}.hub-stat-card{border-radius:12px;gap:.5rem;padding:.65rem .7rem}.hub-stat-icon-wrap{border-radius:8px;width:34px;height:34px}.hub-stat-value{font-size:1rem}.hub-grid{grid-template-columns:1fr}.arena-topbar{padding:.6rem .8rem}.arena-progress-strip{padding:.4rem .8rem .3rem}.arena-complete-stats{flex-wrap:wrap;padding:.75rem 1rem}.arena-card-group{gap:1.15rem}.arena-action-btns{gap:2rem;padding-bottom:1rem}.arena-action-circle{width:58px;height:58px}.arena-card:before{height:3px}}.page:has(>.join-page){background:0 0;flex-direction:column;min-height:100dvh;display:flex}.page>.join-page{flex:1;width:100%}.join-page{min-height:100dvh;padding:1.25rem max(1rem, env(safe-area-inset-left)) calc(1.25rem + env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-right));box-sizing:border-box;font-family:var(--font-sans);background:radial-gradient(120% 85% at 50% -15%,#7c5cff52 0%,#0000 52%),radial-gradient(70% 45% at 100% 55%,#fb923c24 0%,#0000 48%),linear-gradient(168deg,#0c0f16 0%,#141824 42%,#181222 100%);justify-content:center;align-items:center;margin:0;display:flex;position:relative;overflow-x:hidden}.join-glow{pointer-events:none;z-index:0;background:radial-gradient(circle at 50% 42%,#5b5bd633 0%,#0000 45%);position:fixed;inset:-35%}.join-card{z-index:1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(158deg,#282c3ef5 0%,#141724fa 100%);border:1px solid #ffffff1a;border-radius:1.35rem;width:min(100%,400px);padding:1.75rem 1.45rem 1.45rem;position:relative;box-shadow:0 28px 56px #00000080,inset 0 1px #ffffff12}.join-brand{justify-content:center;margin-bottom:.85rem;display:flex}.join-logo{opacity:.95;filter:brightness(1.15)contrast(1.05);width:auto;height:30px}.join-icons{justify-content:center;align-items:center;gap:.85rem;margin-bottom:.45rem;display:flex}.join-icon-wrap{color:#c4b5fd;background:#ffffff0f;border:1px solid #ffffff1c;border-radius:13px;place-items:center;width:46px;height:46px;display:grid}.join-title{letter-spacing:-.025em;text-align:center;color:#f8fafc;margin:0 0 .4rem;font-size:1.55rem;font-weight:800;line-height:1.15}.join-code-hint{text-align:center;color:#e2e8f0b8;margin:0 0 1.35rem;font-size:.95rem}.join-code-value{font-variant-numeric:tabular-nums;letter-spacing:.14em;color:#fde68a;font-weight:700}.join-form{flex-direction:column;gap:.55rem;display:flex}.join-label{letter-spacing:.16em;text-transform:uppercase;color:#cbd5e1c7;margin:0 0 .1rem;font-size:.68rem;font-weight:800}.join-input{box-sizing:border-box;color:#f1f5f9;background:#0c0e18d1;border:1.5px solid #ffffff1f;border-radius:.88rem;outline:none;width:100%;padding:.88rem 1rem;font-size:1rem;font-weight:500;transition:border-color .15s,box-shadow .15s}.join-input::placeholder{color:#94a3b885}.join-input:focus{border-color:#c4b5fd8c;box-shadow:0 0 0 3px #5b5bd638}.join-input:disabled{opacity:.65}.join-error{color:#fca5a5;text-align:center;margin:.2rem 0 0;font-size:.84rem}.join-error-big{color:#fecaca;text-align:center;margin:.85rem 0 0;font-size:.95rem;line-height:1.5}.join-btn{letter-spacing:.02em;color:#fffbeb;cursor:pointer;background:linear-gradient(135deg,#d97706 0%,#ea580c 48%,#c2410c 100%);border:none;border-radius:.92rem;width:100%;margin-top:.4rem;padding:.92rem 1rem;font-size:1.03rem;font-weight:800;transition:transform .15s,box-shadow .15s;box-shadow:0 6px 22px #ea580c61}.join-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 9px 28px #ea580c7a}.join-btn:disabled{opacity:.42;cursor:not-allowed;transform:none}.join-btn-loading{justify-content:center;align-items:center;gap:.55rem;display:inline-flex}.join-footer-note{text-align:center;color:#94a3b8ad;border-top:1px solid #ffffff17;margin:1.2rem 0 0;padding-top:1rem;font-size:.69rem;line-height:1.5}.join-spinner-wrap{justify-content:center;padding:1.35rem 0 .5rem;display:flex}.join-spinner{border:3px solid #ffffff24;border-top-color:#c4b5fd;border-radius:50%;width:34px;height:34px;animation:.72s linear infinite join-spin}@keyframes join-spin{to{transform:rotate(360deg)}}
