@layer reset{*,:before,:after{box-sizing:border-box}body,h1,h2,h3,p{margin:0}button,input{font:inherit}button{cursor:pointer}button,input{-webkit-tap-highlight-color:transparent}button{border:0}button,a,input,canvas{outline-offset:4px}:focus-visible{outline:3px solid var(--primary)}[hidden]{display:none!important}}@layer base{:root{color:#222b35;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--primary:#004dea;--primary-dark:#003fbe;--primary-light:#edf2ff;--primary-soft:#eff6ff;--accent:#ffac83;--text:#222b35;--muted:#5f6a76;--line:#e8ebee;--surface:#f7f8fa;--green:#3f8063;--danger:#b91c1c;--warning:#92400e;--radius-sm:9px;--radius-md:12px;--radius-lg:20px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--hud-blur:blur(8px);background:#fff;font-family:Inter,Avenir Next,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px}body{min-width:320px}h1{letter-spacing:-.8px;font-size:24px;font-weight:750;line-height:1.25}h2{letter-spacing:-.35px;font-size:16px;font-weight:700;line-height:1.4}h3{font-size:15px;line-height:1.4}p{line-height:1.6}svg{flex-shrink:0;display:block}.muted{color:var(--muted)}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:30;background:var(--primary);color:#fff;border-radius:8px;padding:12px 20px;position:fixed;top:-80px;left:16px}.skip-link:focus{top:12px}}@layer layout{html,body{overscroll-behavior:none;width:100vw;height:100dvh;overflow:hidden}.app-layout{width:100vw;height:100dvh;display:block;position:relative}.explorer{z-index:16;border-right:1px solid var(--line);scrollbar-width:thin;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffffa;flex-direction:column;width:min(330px,90vw);padding:18px 16px 24px;display:none;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;box-shadow:16px 0 48px #12203438}.explorer.is-open{display:flex}.world-main{background:#91ab75;width:100vw;height:100dvh;position:relative;overflow:hidden}.map-section{width:100%;height:100%;margin:0;padding:0;display:flex}.map-frame{width:100%;height:100%;box-shadow:none;background:#91ab75;border:0;border-radius:0;flex:1;position:relative;overflow:hidden}#world-map{touch-action:none;cursor:crosshair;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}#world-map:focus-visible{outline:3px solid var(--primary);outline-offset:-3px}}@layer components{.brand{white-space:nowrap;align-items:center;gap:12px;display:flex}.brand-word{letter-spacing:-2px;color:var(--primary);font-size:30px;font-weight:850;line-height:1}.brand-word>span{color:#ffac83}.brand-divider{background:#dfe3e8;width:1px;height:22px}.brand-world{letter-spacing:-.75px;font-size:19px;font-weight:650}.status-dot,.small-dot{background:#76a589;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.drawer-mobile-bar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:12px;display:flex}.hud-brand-btn{color:var(--text);background:#fffffffa;border-color:#cbd5e1;padding:5px 12px}.hud-brand-word{letter-spacing:-.5px;color:var(--primary);border-right:1px solid var(--line);margin-right:4px;padding-right:8px;font-size:13px;font-weight:850}.hud-brand-word>span{color:#ffac83}.map-hud-bottom-left{z-index:4;pointer-events:auto;align-items:center;gap:10px;display:flex;position:absolute;bottom:16px;left:16px}.hud-profile-pill{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffeb;border:1px solid #2b3a3424;border-radius:999px;padding:6px 10px 6px 8px;box-shadow:0 8px 24px #1422381f}.snowball-hud-btn{color:#075985;background:#f0f9fff2;border-color:#7dd3fc}.snowball-hud-btn kbd{margin-left:4px}.drawer-backdrop{z-index:14;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#14223866;position:fixed;inset:0}.button{background:var(--primary);color:#fff;border-radius:10px;justify-content:center;align-items:center;gap:9px;min-height:38px;padding:8px 15px;font-size:12px;font-weight:650;transition:background .15s,transform .15s;display:inline-flex}a.button{text-decoration:none}.button:hover{background:#003fbe}.button:active{transform:translateY(1px)}.button.secondary{color:var(--text);border:1px solid var(--line);background:#fff}.button.secondary:hover{background:var(--surface);border-color:#d0d7df}.button svg{width:16px;height:16px}.icon-button{width:34px;height:34px;color:var(--muted);background:0 0;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover{color:var(--text);background:var(--surface)}.full-width{width:100%}.world-nav{width:100%;color:var(--primary);background:var(--primary-light);text-align:left;border-radius:10px;align-items:center;gap:10px;padding:12px;font-size:13px;font-weight:650;display:flex}.world-nav>.small-dot{background:var(--primary);margin-left:auto}.explorer-heading{justify-content:space-between;align-items:center;margin:22px 6px 12px;display:flex}.explorer-heading h2{font-size:14px}.counter{border:1px solid var(--line);color:var(--muted);border-radius:5px;padding:1px 5px;font-size:11px}.search-field{border:1px solid var(--line);color:#5f6a76;background:#fff;border-radius:9px;align-items:center;gap:8px;margin:0 4px;padding:10px 11px;display:flex}.search-field:focus-within{outline:2px solid var(--primary)}.search-field svg{width:15px;height:15px}.search-field input{width:100%;min-width:0;color:var(--text);background:0 0;border:0;outline:0;font-size:11px}.section-label{color:var(--muted);letter-spacing:1.1px;font-size:10px;font-weight:650;line-height:1.5;display:block}.explorer>.section-label{margin:20px 8px 10px}.center-list{gap:3px;display:grid}.center-button{width:100%;color:var(--text);text-align:left;background:0 0;border-radius:10px;align-items:center;gap:10px;padding:9px 8px;display:flex}.center-button:hover{background:var(--surface)}.center-button[aria-pressed=true]{background:var(--primary-light)}.center-icon{color:#778597;background:#f0f2f5;border-radius:10px;flex-shrink:0;place-items:center;width:34px;height:34px;display:grid}.center-button[aria-pressed=true] .center-icon{color:var(--primary);background:#dce6ff}.center-button-copy{gap:2px;min-width:0;display:grid}.center-button-copy strong{font-size:12px;font-weight:650}.center-button-copy small{color:var(--muted);font-size:10px;line-height:1.4}.center-chevron{color:#6b7580;margin-left:auto}.center-chevron svg{width:14px;height:14px}.empty-search{color:var(--muted);padding:10px;font-size:12px}.rooms-section{border-top:1px solid var(--line);margin:20px 4px;padding-top:18px}.rooms-section h2{margin:6px 0 4px;font-size:15px}.rooms-section>p{font-size:11px;line-height:1.5}.room-list{gap:8px;margin-top:12px;display:grid}.room-button{border:1px solid var(--line);text-align:left;color:var(--text);background:#fff;border-radius:11px;padding:12px 12px 10px}.room-button:hover,.room-button[aria-pressed=true]{background:#fafbff;border-color:#b0c5f7}.room-button-heading{align-items:flex-start;gap:9px;font-size:11px;font-weight:600;line-height:1.5;display:flex}.room-icon{color:#8a99ab;padding-top:2px}.room-icon svg{width:16px;height:16px}.room-button-action{color:var(--primary);justify-content:space-between;align-items:center;margin-top:10px;font-size:11px;font-weight:650;display:flex}.room-button-action svg{width:15px;height:15px}.explorer-note{color:#4a5736;background:#f6f7ee;border-radius:11px;gap:9px;margin:auto 4px 0;padding:12px 11px;display:flex}.explorer-note svg{width:18px;height:18px}.explorer-note strong{margin:2px 0 4px;font-size:11px;display:block}.explorer-note p{font-size:11px;line-height:1.5}.breadcrumb{color:var(--muted);flex-wrap:wrap;align-items:center;gap:7px;font-size:11px;display:flex}.breadcrumb svg{color:#aab1b9;width:11px;height:11px}#breadcrumb-room,#breadcrumb-subject,#breadcrumb-office{align-items:center;gap:7px;display:inline-flex}.map-hud-top{z-index:3;pointer-events:none;justify-content:space-between;align-items:flex-start;gap:10px;display:flex;position:absolute;top:12px;left:12px;right:12px}.map-hud-left,.map-hud-right,.hud-pills{pointer-events:auto;flex-wrap:wrap;align-items:center;gap:7px;display:flex}.map-hud-right{justify-content:flex-end}.map-location{color:#364935;letter-spacing:.9px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffef6eb;border:1px solid #2b3a3418;border-radius:9px;align-items:center;gap:7px;padding:7px 11px;font-size:10px;font-weight:750;display:inline-flex;box-shadow:0 2px 10px #1b2a1e14}.map-location svg{width:14px;height:14px}.hud-pill{color:#24322c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffef6eb;border:1px solid #2b3a341f;border-radius:9px;align-items:center;gap:6px;min-height:32px;padding:5px 10px;font-size:11px;font-weight:650;transition:background .15s,border-color .15s;display:inline-flex;box-shadow:0 2px 10px #1b2a1e14}.hud-pill:hover{border-color:var(--primary);background:#fff}.hud-pill[data-active=true],.hud-pill[aria-expanded=true]{background:var(--primary);color:#fff;border-color:var(--primary)}.hud-pill svg{width:14px;height:14px}.wardrobe-pill{color:#5b21b6;background:#f5f3ffed;border-color:#ddd6fe}.reward-drop-btn{color:var(--primary);background:#eff4ffeb;border-color:#bfdbfe;font-size:11px}.presence-trigger{color:var(--green);background:#f2faf4eb;border-color:#cce3d2}.zoom-controls{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffef6eb;border:1px solid #2b3a341f;border-radius:9px;align-items:center;display:inline-flex;overflow:hidden;box-shadow:0 2px 10px #1b2a1e14}.hud-icon-btn{color:#24322c;background:0 0;place-items:center;width:30px;height:30px;display:grid}.hud-icon-btn:hover{color:var(--primary);background:#0000000a}.hud-icon-btn svg{width:14px;height:14px}.hud-zoom-readout{color:#24322c;background:0 0;border-inline:1px solid #2b3a3414;min-width:44px;height:30px;padding:0 6px;font-size:11px;font-weight:700}.hud-zoom-readout:hover{color:var(--primary);background:#0000000a}.people-popover{z-index:6;border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffffa;border-radius:16px;flex-direction:column;width:min(300px,100% - 24px);max-height:min(420px,100% - 120px);display:flex;position:absolute;top:52px;right:12px;overflow:hidden;box-shadow:0 14px 40px #1422382b}.people-popover-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 16px 10px;display:flex}.people-popover-header h2{margin-top:2px;font-size:16px}.people-list{scrollbar-width:thin;gap:11px;margin:0;padding:12px 16px;list-style:none;display:grid;overflow-y:auto}.people-list li{align-items:center;gap:9px;font-size:11px;display:flex}.people-list .avatar{border-radius:8px;width:28px;height:28px;font-size:11px}.people-list small{font-size:11px}.people-more{padding-top:2px;font-size:11px}.online-label{color:var(--green);margin-left:auto;font-size:10px;font-weight:600}.followed-label{color:#be123c;white-space:nowrap;margin-left:auto;font-size:10px;font-weight:600}.people-name{color:inherit;font:inherit;text-align:left;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.people-name:hover,.people-name:focus-visible{color:var(--primary)}.people-popover-footer{border-top:1px solid var(--line);background:var(--surface);gap:8px;padding:12px 16px;display:grid}.people-popover-footer .button{min-height:34px;font-size:11px}.people-popover-footer p{font-size:10px;line-height:1.4}.speech-bar{z-index:4;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffeb;border:1px solid #2b3a3424;border-radius:999px;align-items:center;gap:8px;width:min(540px,100% - 290px);padding:6px 7px 6px 13px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 8px 28px #14223824}.speech-bar:focus-within{border-color:var(--primary);background:#fff;box-shadow:0 10px 32px #004dea33}.speech-bar-icon{color:var(--primary);place-items:center;display:grid}.speech-bar-icon svg{width:16px;height:16px}.speech-bar input{width:100%;min-width:0;color:var(--text);background:0 0;border:0;outline:0;padding:4px 0;font-size:12px}.send-button{background:var(--primary);color:#fff;border-radius:999px;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.send-button:hover{background:#003fbe}.send-button svg{width:15px;height:15px}.joystick-zone{z-index:4;touch-action:none;-webkit-user-select:none;user-select:none;place-items:center;width:116px;height:116px;display:none;position:absolute;bottom:22px;left:20px}.joystick-base{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:radial-gradient(circle,#ffffff40 0%,#15223052 100%);border:2px solid #fff9;border-radius:50%;place-items:center;width:104px;height:104px;transition:border-color .15s,transform .15s;display:grid;box-shadow:0 6px 24px #0f1b2933}.joystick-zone.is-active .joystick-base{background:radial-gradient(circle,#fff5 0%,#004dea45 100%);border-color:#fff}.joystick-knob{border:2.5px solid var(--primary);pointer-events:none;will-change:transform;background:#fffffffa;border-radius:50%;width:44px;height:44px;box-shadow:0 4px 14px #0023664d}.map-hud-bottom-right{z-index:4;pointer-events:none;flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:absolute;bottom:18px;right:16px}.map-hud-bottom-right>*{pointer-events:auto}.map-interaction{border-radius:999px;min-width:0;max-width:min(360px,78vw);padding:10px 18px;box-shadow:0 8px 26px #004dea4d}.map-interaction>span{text-align:left;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.map-interaction kbd{color:#fff;background:#ffffff26;border-color:#fff6;flex-shrink:0;padding:1px 5px}kbd{text-align:center;background:#fff;border:1px solid #d7dce2;border-bottom-width:2px;border-radius:3px;min-width:14px;padding:0 3px;font-family:inherit;font-size:10px;line-height:1.7;display:inline-block}.profile-control{align-items:center;gap:9px;min-width:0;display:flex}.profile-control label{gap:2px;min-width:0;display:grid}.profile-control .section-label{letter-spacing:1px;font-size:10px}.profile-control input{color:var(--text);background:0 0;border:0;border-bottom:1px dashed #dbe0e5;border-radius:0;width:120px;padding:2px 0;font-size:11px;font-weight:650}.profile-control .icon-button{width:24px;height:28px}.profile-control .icon-button svg{width:13px;height:13px}.avatar{color:#004dea;background:#e5e9fb;border-radius:11px;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:14px;font-weight:750;display:grid}.avatar[data-color="1"]{color:#a56440;background:#f8e7dd}.avatar[data-color="2"]{color:#3f8063;background:#e1efe7}.avatar[data-color="3"]{color:#9d5c89;background:#f3e4ef}.avatar[data-color="4"]{color:#947a39;background:#f5edda}.avatar[data-color="5"]{color:#4f849f;background:#dfedf4}.modal{border:1px solid var(--line);width:min(480px,100% - 32px);max-height:calc(100dvh - 40px);color:var(--text);border-radius:21px;padding:26px;overflow-y:auto;box-shadow:0 20px 100px #18233625}.modal::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1b2d4b66}.modal-heading{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.eyebrow{color:var(--primary);letter-spacing:1.5px;font-size:10px;font-weight:750}.modal h2{letter-spacing:-.8px;margin-bottom:10px;font-size:24px}.modal>p{font-size:12px}.share-label{margin:22px 0 8px;font-size:11px;font-weight:650;display:block}.share-input{background:var(--surface);border:1px solid #dfe4eb;border-radius:8px;width:100%;padding:12px;font-size:11px}.invite-actions{justify-content:flex-end;align-items:center;gap:10px;margin:20px 0 10px;display:flex}.teachers-modal{width:min(560px,100% - 32px)}.teacher-cards{gap:12px;margin-top:16px;display:grid}.teacher-card{border:1px solid var(--line);background:var(--surface);border-radius:14px;gap:10px;padding:14px;display:grid}.teacher-card-top{align-items:center;gap:12px;display:flex}.teacher-card-info{gap:2px;min-width:0;display:grid}.teacher-card-info strong{font-size:14px}.teacher-card-info span{font-size:11px}.teacher-card-meta{color:var(--primary);font-weight:650}.teacher-card-bio{color:var(--muted);font-size:11px;line-height:1.5}.booking-teacher-header{align-items:center;gap:12px;margin-bottom:10px;display:flex}.booking-teacher-header h2{margin-bottom:2px}.booking-bio{color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:12px;font-size:12px}.booking-slots{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.slot-pill{border:1px solid var(--line);color:var(--text);text-align:center;background:#fff;border-radius:10px;padding:10px 12px;font-size:11px;font-weight:650}.slot-pill:hover{border-color:#9db9f5}.slot-pill[aria-pressed=true]{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.game-heading{align-items:center;gap:10px;display:flex}.game-heading>svg{width:30px;height:30px;color:var(--primary);margin-bottom:8px}.game-heading h2{font-size:24px}.game-stats{color:var(--muted);justify-content:space-between;align-items:center;padding:14px 0 17px;font-size:11px;display:flex}.memory-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.memory-card{aspect-ratio:1;color:var(--primary);background:#edf2ff;border:1px solid #dfe7f8;border-radius:12px;place-items:center;transition:background .2s,transform .2s;display:grid}.memory-card:hover{background:#e1eaff;transform:translateY(-2px)}.memory-card>span{grid-area:1/1}.card-back{letter-spacing:-2px;font-size:26px;font-weight:850}.card-front{visibility:hidden}.card-front svg{width:28px;height:28px}.memory-card.is-flipped{background:#fff;border-color:#9db9f5}.memory-card.is-flipped .card-back{visibility:hidden}.memory-card.is-flipped .card-front{visibility:visible}.memory-card.is-matched{color:var(--green);background:#edf6ef;border-color:#cce3d2}.game-result{min-height:40px;color:var(--green);text-align:center;padding:12px 0;font-size:12px}.toast{z-index:25;color:#356647;background:#f2faf4;border:1px solid #d4e3d9;border-radius:12px;max-width:calc(100% - 32px);padding:12px 18px;font-size:12px;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #1c3c2424}.backpack-pill{color:#065f46;background:#ecfdf5f2;border-color:#34d399}.backpack-pill:hover{background:#d1fae5}.streaming-bar{z-index:6;background:#0f172ae6;border:1px solid #334155;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;display:flex;position:absolute;top:56px;left:50%;transform:translate(-50%);box-shadow:0 12px 28px #00000040}.live-pill{color:#fff;letter-spacing:.04em;background:#dc2626;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:800}.reaction-btn{padding:4px 10px;font-size:13px}.game-mode-tabs{gap:8px;margin-bottom:14px;display:flex}.quiz-card{border:1px solid var(--line);background:#f8fafc;border-radius:14px;margin-bottom:12px;padding:16px}.quiz-question-text{color:var(--text);margin:0 0 12px;font-size:15px;font-weight:700;line-height:1.4}.quiz-options{gap:8px;display:grid}.quiz-option-btn{border:1px solid var(--line);width:100%;color:var(--text);text-align:left;background:#fff;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:13px;font-weight:600;display:flex}.quiz-option-btn:hover:not(:disabled){border-color:var(--primary);background:var(--primary-soft)}.quiz-option-btn.is-correct{color:#065f46;background:#ecfdf5;border-color:#10b981}.quiz-option-btn.is-wrong{color:#991b1b;background:#fef2f2;border-color:#ef4444}.quiz-letter{background:#e2e8f0;border-radius:6px;flex-shrink:0;place-items:center;width:24px;height:24px;font-size:11px;font-weight:800;display:inline-grid}.backpack-modal,.table-modal,.profile-modal,.giveaways-modal{width:min(620px,100vw - 24px)}.notes-modal{width:min(1080px,100vw - 24px)}.notes-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));align-items:stretch}.notes-list>:not(.doc-card){grid-column:1/-1}.notes-list .doc-card{align-content:space-between}.notes-list .doc-card-actions .button{white-space:nowrap;flex:auto;min-width:0}.notes-more{justify-items:center;gap:8px;margin-top:16px;display:grid}.notes-more:empty{display:none}.notes-count{margin:0;font-size:12px}.notes-error{color:var(--danger);margin:0;font-size:12px}.notes-more-button{min-width:min(100%,280px)}@media (width>=760px){.notes-modal .booking-slots{grid-template-columns:repeat(4,minmax(0,1fr))}}.pdf-modal{width:min(760px,100vw - 20px)}.pdf-mini-badge{color:#b91c1c;background:#fee2e2;border:1px solid #fca5a5;border-radius:8px;flex-shrink:0;place-items:center;width:38px;height:44px;font-size:11px;font-weight:800;display:inline-grid}.doc-card-actions{flex-wrap:wrap;gap:8px;display:flex}.doc-card-actions .button{flex:1;min-width:120px}.pdf-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.pdf-viewport{background:#cbd5e1;border:1px solid #94a3b8;border-radius:14px;max-height:52vh;margin-bottom:14px;padding:18px;overflow:auto}.pomodoro-banner{color:#991b1b;background:#fef2f2;border:1px solid #fca5a5;border-radius:12px;margin-bottom:12px;padding:12px 14px;font-size:13px;font-weight:700}.profile-stats-row{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.coupon-form{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.coupon-row{gap:8px;margin-top:6px;display:flex}.coupon-row .share-input{flex:1;margin:0}.backend-status-pill{border-color:var(--line);color:var(--text);background:#f8fafc}.backend-status-pill[data-connected=true]{color:#065f46;background:#ecfdf5;border-color:#86efac}.notes-upload-cta{background:#f0f7ff;border:1px solid #93c5fd;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;padding:12px 16px;display:flex}.notes-upload-cta p{margin-top:2px;font-size:12px}.pdf-native-iframe{background:#fff;border:1px solid #cbd5e1;border-radius:8px;width:100%;height:540px}.quiz-timer-pill{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;padding:3px 10px;font-weight:800}.quiz-duel-board{border:1px solid var(--line);background:#f8fafc;border-radius:12px;margin:12px 0 14px;padding:12px 14px}.quiz-leaderboard{flex-direction:column;gap:6px;margin-top:8px;display:flex}.quiz-leader-row{background:#fff;border:1px solid #e2e8f0;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;padding:7px 10px;font-size:12px;display:flex}.quiz-leader-row.is-self{background:#eff6ff;border-color:#93c5fd}.quiz-leader-left,.quiz-leader-right{align-items:center;gap:8px;display:flex}.quiz-rank-badge{color:#475569;min-width:22px;font-weight:800}.quiz-choice-pill{color:#334155;background:#f1f5f9;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.quiz-score-pill{color:#0f172a;font-size:12px}.bulletin-modal{width:min(860px,94vw)}.bulletin-form{background:#fef9c34d;border:1px dashed #eab308;border-radius:14px;gap:8px;margin-bottom:14px;padding:14px;display:grid}.bulletin-form-row{flex-wrap:wrap;gap:8px;display:flex}.bulletin-form-row>*{flex:200px}.bulletin-select{cursor:pointer;max-width:230px;font-weight:700}.bulletin-grid{background:#b8824c29;border:2px solid #8a562840;border-radius:14px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;max-height:360px;padding:12px;display:grid;overflow-y:auto}.bulletin-card{background:#fef9c3;border:1px solid #fde047;border-radius:10px;flex-direction:column;gap:8px;padding:16px 14px 12px;display:flex;position:relative;box-shadow:0 6px 14px #0f172a14}.bulletin-card--doubt{background:#eff6ff;border-color:#93c5fd}.bulletin-pin{background:#ef4444;border-radius:50%;width:11px;height:11px;margin-left:-5px;position:absolute;top:6px;left:50%;box-shadow:0 2px 4px #00000040}.bulletin-card-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;margin-top:4px;display:flex}.bulletin-tag{color:#0f172a;background:#0f172a12;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.bulletin-card-title{color:#0f172a;margin:0;font-size:14px;font-weight:800}.bulletin-card-body{color:#334155;white-space:pre-line;overflow-wrap:anywhere;-webkit-line-clamp:8;-webkit-box-orient:vertical;flex:1;margin:0;font-size:13px;line-height:1.45;display:-webkit-box;overflow:hidden}.bulletin-card-image{object-fit:cover;border:1px solid #0f172a1a;border-radius:6px;width:100%;max-height:180px}.bulletin-card-link{color:var(--primary);overflow-wrap:anywhere;font-size:12px}.bulletin-card-actions{flex-shrink:0;gap:6px;display:flex}.bulletin-textarea{resize:vertical;min-height:72px;font:inherit}.bulletin-form[hidden],.bulletin-readonly[hidden]{display:none}.bulletin-modal .booking-slots{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:12px}.bulletin-readonly{margin:0 0 12px}.bulletin-more{margin-top:10px}.bulletin-card-footer{border-top:1px dashed #0f172a1a;justify-content:space-between;align-items:center;gap:8px;padding-top:6px;font-size:11px;display:flex}.bulletin-like,.bulletin-comments{align-items:center;gap:4px;padding:4px 10px;font-size:12px;text-decoration:none;display:inline-flex}.bulletin-like svg,.bulletin-comments svg{width:16px;height:16px}.bulletin-like[aria-pressed=true]{color:#be123c;background:#ffe4e6;border-color:#e11d48}.bulletin-like[aria-pressed=true] svg{fill:currentColor}.stream-loading-pill{color:#1d4ed8;pointer-events:none;background:#eff6fffa;border-color:#93c5fd;font-weight:700;animation:.18s ease-out stream-pill-fade-in}.stream-spinner{border:2px solid #93c5fd;border-top-color:#1d4ed8;border-radius:50%;flex-shrink:0;width:12px;height:12px;animation:.75s linear infinite stream-spin}@keyframes stream-spin{to{transform:rotate(360deg)}}@keyframes stream-pill-fade-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:11px;gap:6px;padding:10px 12px;display:grid}.skeleton-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;gap:8px;padding:14px;display:grid}.skeleton-line{background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9 50%,#e2e8f0 75%) 0 0/200% 100%;border-radius:6px;height:10px;animation:1.35s ease-in-out infinite skeleton-shimmer}.skeleton-line.w-75{width:75%}.skeleton-line.w-50{width:50%}.skeleton-line.w-35{width:35%;height:8px}.skeleton-status-banner{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;align-items:center;gap:8px;padding:8px 12px;font-size:11px;font-weight:650;display:inline-flex}.explorer-course-header{letter-spacing:.04em;text-transform:uppercase;width:100%;color:var(--primary);cursor:pointer;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:9px;justify-content:space-between;align-items:center;margin:8px 0 2px;padding:6px 10px;font-size:11px;font-weight:800;transition:background .15s,border-color .15s;display:flex}.explorer-course-header:hover{background:#e0e7ff;border-color:#93c5fd}.explorer-course-header[aria-pressed=true]{border-color:var(--primary);background:#dbeafe}.explorer-course-header small{text-transform:none;letter-spacing:0;color:var(--muted);font-size:11px;font-weight:700}.center-icon img{object-fit:contain;border-radius:5px;width:22px;height:22px}.profile-readonly-copy{gap:2px;min-width:0;padding-right:6px;display:grid}.profile-readonly-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;max-width:148px;font-size:12px;font-weight:700;overflow:hidden}.giveaway-active-banner{color:var(--primary);margin:0 0 6px;font-size:12px;font-weight:800}.giveaway-card{gap:0;padding:0;overflow:hidden}.giveaway-card-media{background:#fff;border-bottom:1px solid #e2e8f0;justify-content:center;align-items:center;width:100%;height:170px;display:flex;overflow:hidden}.giveaway-card-media img{object-fit:contain;width:100%;height:100%}.giveaway-card .teacher-card-info{padding:12px 14px 8px}.giveaway-countdown{font-variant-numeric:tabular-nums;background:#f1f5f9;border-radius:8px;align-items:center;gap:6px;margin-top:4px;padding:4px 10px;font-size:12px;display:inline-flex}.giveaway-card-footer{justify-content:space-between;align-items:center;gap:10px;padding:10px 14px 14px;display:flex}.map-hud-center{pointer-events:auto;flex-wrap:wrap;align-items:center;gap:7px;display:flex}.hud-menu{pointer-events:auto;position:relative}.hud-menu>summary{cursor:pointer;list-style:none}.hud-menu>summary::-webkit-details-marker{display:none}.hud-menu[open]>summary{background:var(--primary);color:#fff;border-color:var(--primary)}.hud-menu-panel{z-index:7;border-radius:var(--radius-md);border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffffa;gap:6px;min-width:240px;padding:8px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 14px 40px #1422382b}.hud-menu-panel .hud-pill{justify-content:flex-start;width:100%}.map-hint-banner{z-index:3;color:#f8fafc;text-align:center;cursor:pointer;background:#1e293bd9;border-radius:999px;max-width:min(560px,100% - 32px);padding:7px 14px;font-size:12px;font-weight:600;line-height:1.4;position:absolute;bottom:74px;left:50%;transform:translate(-50%)}.map-hint-banner:empty,.map-hint-banner[hidden]{display:none}.game-modal{width:min(640px,100vw - 24px)}.train-modal,.backend-modal,.invite-modal,.booking-modal{width:min(560px,100vw - 24px)}.booking-form{gap:4px;display:grid}.note-type-badge{color:#334155;font-size:11px;font-weight:800}.quiz-tag{border-radius:var(--radius-sm,6px);color:#3730a3;white-space:nowrap;background:#eef2ff;margin-left:6px;padding:2px 7px;font-size:11px;font-weight:600}.quiz-tag.is-bot{color:#475569;background:#f1f5f9}.quiz-podium{gap:8px;margin:8px 0;display:grid}.quiz-podium-row{border-radius:var(--radius-md,10px);background:#fffbeb;border:1px solid #fde68a;align-items:center;gap:10px;padding:10px 12px;display:flex}.quiz-podium-row.is-self{outline:2px solid var(--primary,#004dea)}.quiz-podium-row strong{flex:1}.quiz-podium-medal{font-size:22px}.pomodoro-banner.is-focus{color:#991b1b;background:#fef2f2;border-color:#fca5a5}.pomodoro-banner.is-break{color:#065f46;background:#ecfdf5;border-color:#6ee7b7}.avatar-img{object-fit:cover;background:#e5e9fb}.beta-tag{border-radius:var(--radius-sm,6px);color:#92400e;letter-spacing:.02em;text-transform:uppercase;vertical-align:middle;background:#fef3c7;margin-left:8px;padding:2px 7px;font-size:10px;font-weight:700}.season-tag{color:#9a3412;background:#ffedd5}.special-tag{color:#5b21b6;background:#ede9fe}.owned-tag{color:#166534;background:#dcfce7}.wardrobe-modal{width:min(780px,100vw - 24px)}.dressing-room{z-index:2;border-bottom:2px solid var(--line);background:inherit;grid-template-columns:auto 1fr;align-items:start;gap:18px;padding-bottom:12px;display:grid;position:sticky;top:0}.dressing-stage{background:var(--primary-light);border-radius:4px;place-items:center;padding:6px;display:grid;position:relative}.dressing-avatar{width:120px;height:216px;image-rendering:pixelated;display:block}.dressing-lock{color:#fff;text-align:center;background:#0f172acc;border-radius:3px;width:max-content;max-width:calc(100% - 8px);padding:2px 6px;font-size:11px;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.dressing-detail{gap:4px;min-width:0;display:grid}.wardrobe-heading{align-items:flex-start}.wardrobe-heading h2{margin:0}.wardrobe-progress{color:var(--primary);margin:2px 0 0;font-size:12px;font-weight:700}.wardrobe-progress:empty{display:none}.dressing-card{justify-items:start;gap:6px;display:grid}.dressing-card h3{margin:0;font-size:18px}.dressing-card p{margin:0}.dressing-tags{flex-wrap:wrap;gap:6px;display:flex}.dressing-tags:empty{display:none}.wardrobe-section-label{letter-spacing:.5px;color:var(--muted);margin:12px 0 0;font-size:11px;font-weight:700}.wardrobe-login{margin:12px 0 0}.cosmetic-tiles{grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:6px;margin-top:6px;display:grid}.cosmetic-tile{border:2px solid var(--line);background:var(--primary-light);cursor:pointer;border-radius:4px;place-items:center;padding:6px 2px 4px;display:grid;position:relative}.cosmetic-tile canvas{width:40px;height:72px;image-rendering:pixelated;display:block}.cosmetic-tile:hover,.cosmetic-tile:focus-visible{border-color:var(--primary)}.cosmetic-tile[aria-pressed=true]{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary)}.cosmetic-tile.is-equipped{background:#dcfce7}.cosmetic-tile.is-locked canvas{filter:brightness(0)opacity(.35)}:root[data-theme=dark] .cosmetic-tile.is-locked canvas{filter:brightness(0)invert()opacity(.35)}:root[data-theme=dark] .cosmetic-tile.is-equipped{background:#14532d}.cosmetic-tile-badge{font-size:11px;line-height:1;position:absolute;top:2px;right:3px}@media (width<=560px){.dressing-room{gap:12px;padding-bottom:10px}.dressing-stage{padding:4px}.dressing-avatar{width:80px;height:144px}.dressing-card h3{font-size:16px}.dressing-card p{font-size:13px}.cosmetic-tiles{grid-template-columns:repeat(auto-fill,minmax(50px,1fr));gap:5px}.cosmetic-tile{padding:4px 2px 2px}}.cosmetic-tile.is-equipped .cosmetic-tile-badge{color:#166534;font-weight:700}:root[data-theme=dark] .cosmetic-tile.is-equipped .cosmetic-tile-badge{color:#bbf7d0}.cosmetic-hint{color:var(--muted);font-size:12px;line-height:1.4}.minigame-modal{width:min(1000px,100vw - 24px)}.minigame-host{gap:12px;display:grid}.minigame-header{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.minigame-emoji{font-size:32px;line-height:1}.minigame-heading{flex:240px;min-width:0}.minigame-tagline{margin:0;font-size:13px}.minigame-best{border:2px solid var(--pk-frame);background:var(--primary-light);color:var(--primary);white-space:nowrap;border-radius:4px;padding:4px 10px;font-size:12px;font-weight:700}.minigame-tabs{flex-wrap:wrap;margin:0}.minigame-result{border:2px solid var(--pk-frame);background:var(--surface);box-shadow:3px 3px 0 var(--pk-shadow);border-radius:4px;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:10px 12px;font-size:13px;display:flex}.minigame-result[data-tone=record]{background:#fef3c7}.minigame-result-detail{color:var(--muted)}.minigame-result .button{min-height:34px;margin-left:auto}.minigame-loading,.minigame-error{text-align:center;padding:32px 12px}.minigame-error{color:var(--danger)}.minigame-ranking-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.minigame-ranking-game .bulletin-select{min-height:38px}.minigame-period{margin:0}.minigame-ranking-list{gap:6px;max-height:min(52dvh,460px);margin:0;padding:0 4px 4px 0;list-style:none;display:grid;overflow-y:auto}.minigame-ranking-name{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.minigame-ranking-plays{font-size:11px}.minigame-ranking-gap{color:var(--muted);text-align:center}.minigame-ranking-me{margin-top:8px;font-size:12px}.minigame-rules p{max-width:64ch;font-size:14px}.beta-code-input{letter-spacing:.12em;text-align:center;text-transform:uppercase;font-size:18px}.beta-code-input::placeholder{letter-spacing:.12em}.beta-error{min-height:1.4em;color:var(--danger);margin:6px 0 4px;font-size:13px}.beta-error:empty{min-height:0;margin:0}.beta-switch{color:var(--primary);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.invites-numbers{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 10px;display:grid}#invites-code-hint{margin:6px 0 12px}.invites-list-title{margin-top:20px}}@layer responsive{@media (pointer:coarse){.joystick-zone{display:grid}}@media (width>=1500px){.app-layout{--explorer-width:272px}.scene-heading{padding-inline:32px}.scene-heading h1{font-size:28px}}@media (width<=1250px){.app-layout{--explorer-width:226px}.explorer{padding-inline:12px}.scene-heading{padding-inline:16px}.scene-heading h1{font-size:21px}}@media (width<=768px){html,body{overscroll-behavior:none;height:100dvh;overflow:hidden}.brand{gap:7px}.brand-word{font-size:23px}.brand-world{font-size:15px}.brand-divider{height:17px}.app-layout{width:100vw;height:100dvh;min-height:100dvh;padding-top:0;display:block}.world-main{width:100vw;height:100dvh;min-height:0;position:relative}.scene-heading,.map-hud-bottom-left{display:none}.map-section{flex:1;height:100%;min-height:0;padding:0}.map-frame{width:100%;height:100%;box-shadow:none;border:0;border-radius:0}.map-hud-top{gap:6px;top:10px;left:10px;right:10px}.map-hud-left,.map-hud-right{gap:6px}.map-location{padding:6px 9px;font-size:10px}.hud-pill{min-height:30px;padding:4px 8px;font-size:11px}.hud-zoom-readout{min-width:38px;font-size:10px}.joystick-zone{width:108px;height:108px;display:grid;bottom:72px;left:14px}.map-hud-bottom-right{gap:10px;bottom:72px;right:14px}.speech-bar{width:auto;bottom:14px;left:14px;right:14px;transform:none}.map-interaction{min-height:44px;padding:10px 16px;font-size:12px}.map-interaction kbd{display:none}.explorer{z-index:16;background:#fff;width:min(320px,88vw);padding:16px 14px 28px;display:none;position:fixed;top:0;bottom:0;left:0;box-shadow:16px 0 48px #12203438}.explorer.is-open{display:flex}.modal{padding:20px}.modal h2,.game-heading h2{font-size:21px}.invite-actions{flex-wrap:wrap;justify-content:stretch}.invite-actions .button{flex:1;padding-inline:11px;font-size:11px}.memory-grid{gap:8px}input{font-size:16px!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important}.skeleton-line,.stream-loading-pill{animation:none!important}.stream-spinner{animation-duration:2s!important}}@media (pointer:coarse){.hud-pill,.slot-pill,.icon-button,.hud-icon-btn,.send-button,.hud-zoom-readout{min-height:44px}.icon-button,.hud-icon-btn,.send-button{min-width:44px}}@media (width<=768px){.map-location,.hud-brand-btn>span:last-child,.backpack-pill>span{display:none}.hud-menu-panel{min-width:0;position:fixed;top:60px;left:10px;right:10px}.map-hint-banner{font-size:11px;bottom:132px}.map-hud-bottom-right{bottom:72px}}@media (width<=560px){.minigame-emoji{font-size:26px}.minigame-ranking-name{max-width:120px}.minigame-ranking-plays{display:none}.invites-numbers{grid-template-columns:1fr}}}@layer theme{:root{--font-display:"Pixelify Sans", "Tiny5", system-ui, sans-serif;--font-pixel:"Tiny5", "Pixelify Sans", system-ui, sans-serif;--font-text:"Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;font-family:var(--font-text);--primary:#2850a8;--primary-dark:#1c3a7e;--primary-light:#e3ecff;--primary-soft:#eef3ff;--accent:#d83030;--text:#2c2c3a;--muted:#5a5a6e;--line:#2c2c3a;--surface:#fdfcf4;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--hud-blur:none;--pk-frame:#2c2c3a;--pk-inner:#fff;--pk-accent-line:#9aa6c8;--pk-paper:#fdfcf4;--pk-bezel:#1a1f2e;--pk-shadow:#0000004d;--selected-bg:var(--primary);--selected-text:#fff;--selected-ring:#9db4ec;font-size:15px;line-height:1.45}body{background:var(--pk-bezel);color:var(--text)}h1,h2,h3,.eyebrow,.section-label,.hud-brand-word,.train-cutscene-box strong,.trainer-card-head,.battle-plate-top strong{font-family:var(--font-display);letter-spacing:0}h2{font-size:18px}.map-hint-banner,.toast,.speech-bar,.chat-room-list,.chat-room-form .share-input,.train-cutscene-box{font-family:var(--font-pixel);font-synthesis-weight:none}.map-hint-banner :is(strong,b),.toast :is(strong,b),.chat-room-list :is(strong,b){font-weight:400}.pk-box,.modal,.people-popover,.hud-menu-panel,.map-hint-banner,.toast,.speech-bar,.pomodoro-banner,.explorer-note,.skeleton-status-banner,.quiz-card,.train-cutscene-box{border:3px solid var(--pk-frame);background:var(--pk-paper);box-shadow:inset 0 0 0 2px var(--pk-inner), inset 0 0 0 4px var(--pk-accent-line), 4px 4px 0 var(--pk-shadow);-webkit-backdrop-filter:none;backdrop-filter:none;color:var(--text);border-radius:6px}.modal{border-width:4px;padding:24px}.modal::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0b1220b3}.modal h2{margin-bottom:8px;font-size:22px}.modal>p{font-size:15px}.eyebrow,.section-label{letter-spacing:.6px;color:var(--primary);font-size:12px;font-weight:700}.notes-upload-cta p,.profile-readonly-name,.hud-zoom-readout,.breadcrumb{font-size:13px}.pdf-mini-badge{font-size:12px}.icon-button{border:2px solid var(--pk-frame);box-shadow:2px 2px 0 var(--pk-shadow);background:#fff;border-radius:4px}.icon-button:hover{background:var(--primary-light)}.teacher-card,.center-button,.room-button,.quiz-option-btn,.memory-card,.bulletin-card,.quiz-leader-row,.quiz-podium-row,.giveaway-card,.skeleton-card,.world-nav,.explorer-course-header{border:2px solid var(--pk-frame);box-shadow:3px 3px 0 var(--pk-shadow);-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border-radius:4px}.teacher-card-info strong{font-size:16px}.teacher-card-info span,.teacher-card-meta,.teacher-card-bio{font-size:14px}.center-button[aria-pressed=true],.room-button[aria-pressed=true],.explorer-course-header[aria-pressed=true],.quiz-leader-row.is-self{background:var(--primary-light);border-color:var(--primary);box-shadow:inset 5px 0 0 var(--primary), 3px 3px 0 var(--pk-shadow)}.avatar{border:2px solid var(--pk-frame);border-radius:4px}.center-button,.room-button,.quiz-option-btn,.slot-pill,.hud-menu-panel .hud-pill,.world-nav,.explorer-course-header{padding-left:24px;position:relative}.center-button:before,.room-button:before,.quiz-option-btn:before,.slot-pill:before,.hud-menu-panel .hud-pill:before,.world-nav:before,.explorer-course-header:before{content:"▶";color:var(--pk-frame);opacity:0;font-size:10px;transition:opacity .1s;position:absolute;top:50%;left:8px;transform:translateY(-50%)}.center-button:hover:before,.center-button:focus-visible:before,.room-button:hover:before,.room-button:focus-visible:before,.quiz-option-btn:hover:before,.quiz-option-btn:focus-visible:before,.slot-pill:hover:before,.slot-pill:focus-visible:before,.slot-pill[aria-pressed=true]:before,.hud-menu-panel .hud-pill:hover:before,.hud-menu-panel .hud-pill:focus-visible:before,.world-nav:hover:before,.explorer-course-header:hover:before,.center-button[aria-pressed=true]:before,.room-button[aria-pressed=true]:before,.explorer-course-header[aria-pressed=true]:before{opacity:1}.button{background:var(--primary);color:#fff;box-shadow:inset 0 0 0 2px #7f9ee8, 3px 3px 0 var(--pk-shadow);border:2px solid #141a2a;border-radius:4px;font-size:15px;font-weight:600;transition:none}.button:hover{background:#3461c4}.button:active{box-shadow:inset 0 0 0 2px #7f9ee8, 1px 1px 0 var(--pk-shadow);transform:translate(2px,2px)}.button.secondary{background:var(--pk-paper);color:var(--text);border-color:var(--pk-frame);box-shadow:inset 0 0 0 2px #fff, 3px 3px 0 var(--pk-shadow)}.button.secondary:hover{background:var(--primary-light);border-color:var(--pk-frame)}.button:disabled{opacity:.6;transform:none}.slot-pill{border:2px solid var(--pk-frame);box-shadow:2px 2px 0 var(--pk-shadow);background:#fff;border-radius:4px;font-size:14px}.slot-pill[aria-pressed=true]{background:var(--selected-bg);color:var(--selected-text);border-color:var(--pk-frame);box-shadow:inset 0 0 0 2px var(--selected-ring), 2px 2px 0 var(--pk-shadow)}.slot-pill[aria-pressed=true]:before{color:var(--selected-text)}.toast{cursor:pointer}.hud-pill,.hud-brand-btn,.hud-profile-pill{border:2px solid var(--pk-frame);background:var(--pk-paper);color:var(--text);box-shadow:inset 0 0 0 2px #fff, 2px 2px 0 var(--pk-shadow);-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:4px;font-size:14px;font-weight:600;transition:none}.hud-pill:hover{border-color:var(--pk-frame);background:#fff}.hud-pill[data-active=true],.hud-pill[aria-expanded=true]{background:var(--primary);color:#fff;box-shadow:inset 0 0 0 2px #7f9ee8, 2px 2px 0 var(--pk-shadow);border-color:#141a2a}.hud-brand-word{letter-spacing:0;border-right-color:var(--pk-accent-line);font-size:14px}.hud-icon-btn,.hud-zoom-readout{color:var(--text)}.zoom-controls{border:2px solid var(--pk-frame);background:var(--pk-paper);box-shadow:inset 0 0 0 2px #fff, 2px 2px 0 var(--pk-shadow);border-radius:4px}.hud-menu-panel{gap:2px;min-width:220px;padding:8px;display:grid}.hud-menu-panel .hud-pill{box-shadow:none;background:0 0;border:0;justify-content:flex-start;width:100%}.hud-menu-panel .hud-pill:hover{background:var(--primary-light)}.map-location{border:2px solid var(--pk-frame);background:var(--pk-paper);box-shadow:inset 0 0 0 2px #fff, 2px 2px 0 var(--pk-shadow);color:var(--text);-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:4px;font-size:14px}.map-interaction kbd{color:var(--text);background:#fff;border:2px solid #141a2a;border-radius:3px;font-family:inherit}.share-input,.search-field,.bulletin-select{border:2px solid var(--pk-frame);color:var(--text);background:#fff;border-radius:4px;font-family:inherit;font-size:15px;box-shadow:inset 2px 2px #d9dceb}.share-input:focus,.search-field:focus-within{outline:2px solid var(--primary);outline-offset:1px}.speech-bar{padding:4px 6px 4px 10px}.speech-bar input{color:var(--text);background:0 0;font-family:inherit;font-size:16px}.send-button{background:var(--primary);color:#fff;border:2px solid #141a2a;border-radius:4px}.map-frame{background:var(--pk-bezel)}#world-map{image-rendering:pixelated;image-rendering:crisp-edges}.map-hint-banner{text-align:left;color:var(--text);background:var(--pk-paper);border-radius:6px;min-height:44px;padding:10px 30px 10px 14px;font-size:16px;font-weight:600;bottom:76px}.map-hint-banner:after{content:"▼";color:var(--primary);font-size:10px;animation:1s steps(2,start) infinite pk-blink;position:absolute;bottom:6px;right:10px}.place-banner{z-index:4;border:3px solid var(--pk-frame);background:var(--pk-paper);min-width:200px;max-width:calc(100% - 24px);box-shadow:inset 0 0 0 2px #fff, 4px 4px 0 var(--pk-shadow);color:var(--text);pointer-events:none;border-radius:6px;padding:10px 20px;font-size:17px;font-weight:700;transition:left .35s steps(7,end);position:absolute;top:58px;left:-340px}.place-banner.is-visible{left:12px}.toast{color:var(--text);background:var(--pk-paper);border-radius:6px;min-width:min(360px,100% - 32px);padding:12px 30px 12px 16px;font-size:16px;font-weight:600;bottom:20px}.toast:after{content:"▼";color:var(--primary);font-size:10px;animation:1s steps(2,start) infinite pk-blink;position:absolute;bottom:6px;right:10px}.explorer{background:var(--pk-paper);border-right:4px solid var(--pk-frame)}.people-popover{border-radius:6px}.people-popover-header,.people-popover-footer{border-color:var(--pk-accent-line);background:0 0}.status-dot{border:1px solid var(--pk-frame)}.pdf-mini-badge,.quiz-tag,.beta-tag,.bulletin-tag,.quiz-rank-badge,.quiz-choice-pill,.quiz-score-pill{border:1px solid var(--pk-frame);border-radius:3px}.train-cutscene{z-index:40;image-rendering:pixelated;background:#7ec8ff;position:fixed;inset:0;overflow:hidden}.train-cutscene.is-leaving{opacity:0;transition:opacity .2s steps(4,end)}.train-cutscene-sky{background:linear-gradient(#4ea4ff,#a9dcff);position:absolute;inset:0 0 42%}.train-cutscene-clouds{background:repeating-linear-gradient(90deg,#0000 0 180px,#fff 180px 260px,#0000 260px 300px,#fff 300px 340px,#0000 340px 420px) 0 0/420px 56px;height:56px;animation:8s linear infinite pk-scroll-slow;position:absolute;top:10%;left:0;right:0}.train-cutscene-hills{background:repeating-linear-gradient(90deg,#4f9d56 0 140px,#67b36b 140px 280px,#3f8a48 280px 320px) 0 0/320px 100%;height:16%;animation:2.4s linear infinite pk-scroll;position:absolute;top:42%;left:0;right:0}.train-cutscene-ground{background:linear-gradient(#8f7a52 0 14px,#5b4a30 14px 18px,#c9b07a 18px);position:absolute;inset:58% 0 0}.train-cutscene-ground:before{content:"";background:repeating-linear-gradient(90deg,#3a3a3a 0 14px,#0000 14px 30px) 0 0/30px 8px;height:8px;animation:.35s linear infinite pk-scroll-rails;position:absolute;top:34px;left:0;right:0}.train-cutscene-train{animation:.5s steps(2,start) infinite pk-bob;position:absolute;top:50%;left:50%;transform:translate(-50%,-58%)}.train-cutscene-train svg{width:min(72vw,560px);height:auto}.train-wheels{animation:.22s steps(2,start) infinite pk-wheels}.train-cutscene-box{width:min(560px,100% - 32px);padding:14px 20px;position:absolute;bottom:7%;left:50%;transform:translate(-50%)}.train-cutscene-box strong{letter-spacing:.6px;color:var(--primary);margin-bottom:6px;font-size:11px;display:block}.train-cutscene-box p{min-height:1.6em;font-size:18px;line-height:1.5}@keyframes pk-blink{50%{opacity:0}}@keyframes pk-scroll{to{background-position-x:-320px}}@keyframes pk-scroll-slow{to{background-position-x:-420px}}@keyframes pk-scroll-rails{to{background-position-x:-30px}}@keyframes pk-bob{50%{transform:translate(-50%,calc(2px - 58%))}}@keyframes pk-wheels{50%{transform:translateY(1px)}}@media (prefers-reduced-motion:reduce){.map-hint-banner:after,.toast:after,.train-cutscene-clouds,.train-cutscene-hills,.train-cutscene-ground:before,.train-cutscene-train,.train-wheels,.streak-day.is-stamping .streak-stamp{animation:none}.place-banner{transition:none}}.battle-plate{border:3px solid var(--pk-frame);box-shadow:inset 0 0 0 2px #fff, 3px 3px 0 var(--pk-shadow);background:#f8f4e0;border-radius:6px 6px 6px 18px;gap:6px;margin:8px 0 10px;padding:10px 14px;display:grid}.battle-plate-top{justify-content:space-between;gap:10px;font-size:15px;display:flex}.hp-row{grid-template-columns:auto 1fr auto;align-items:center;gap:8px;display:grid}.hp-label{color:#2c2c3a;background:#f0a830;border-radius:3px;padding:0 6px;font-size:11px;font-weight:700}.hp-track{border:2px solid var(--pk-frame);background:#4a4a5a;border-radius:6px;height:10px;padding:2px}.hp-fill{background:#48c048;border-radius:3px;height:100%;transition:width .9s steps(12,end)}.hp-fill[data-level=mid]{background:#f0c030}.hp-fill[data-level=low]{background:#e04040}.hp-value{text-align:right;min-width:3ch;font-size:15px;font-weight:700}.battle-box{margin:0 0 10px;padding:14px 16px}.battle-box .quiz-question-text{font-size:18px;line-height:1.45}.battle-moves{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px;display:grid}.battle-moves .quiz-option-btn{text-align:left;min-height:54px;font-size:15px}.battle-moves .quiz-podium{grid-column:1/-1}@media (width<=520px){.battle-moves{grid-template-columns:minmax(0,1fr)}}.options-modal{width:min(440px,100% - 32px)}.options-grid{grid-template-columns:auto 1fr;align-items:center;gap:12px 16px;margin:12px 0;display:grid}.options-label{letter-spacing:.5px;font-size:15px;font-weight:700}.options-choice{flex-wrap:wrap;gap:8px;display:flex}.options-choice .slot-pill{min-width:64px}.options-range{width:100%;accent-color:var(--primary)}.options-hint{font-size:14px}.trainer-modal{width:min(520px,100% - 32px)}.trainer-card{border:3px solid var(--pk-frame);box-shadow:inset 0 0 0 3px #fff6d6, 4px 4px 0 var(--pk-shadow);background:linear-gradient(160deg,#ffe9a8,#ffd56b 60%,#f2b84a);border-radius:10px;gap:12px;padding:14px 16px 16px;display:grid}.trainer-card-head{border:2px solid var(--pk-frame);background:#fffaf0;border-radius:4px;justify-content:space-between;gap:8px;padding:6px 10px;font-size:13px;font-weight:700;display:flex}.trainer-card-body{grid-template-columns:1fr auto;align-items:center;gap:14px;display:grid}.trainer-stats{border:2px solid var(--pk-frame);background:#fffaf0;border-radius:4px;grid-template-columns:auto 1fr;gap:6px 12px;margin:0;padding:10px 12px;font-size:16px;display:grid}.trainer-stats dt{color:var(--primary);font-weight:700}.trainer-stats dd{text-align:right;overflow-wrap:anywhere;margin:0;font-weight:700}.trainer-portrait{border:2px solid var(--pk-frame);background:repeating-linear-gradient(0deg,#e6f4ff 0 6px,#d4ebff 6px 12px);border-radius:4px;place-items:center;width:132px;height:150px;display:grid;position:relative}.trainer-portrait canvas{image-rendering:pixelated}.trainer-portrait img{object-fit:cover;border:2px solid var(--pk-frame);background:#fff;border-radius:4px;width:46px;height:46px;position:absolute;bottom:-10px;right:-10px}.trainer-badges{border:2px solid var(--pk-frame);background:#3a3a52;border-radius:4px;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;padding:8px;display:grid}.trainer-badge{aspect-ratio:1;color:var(--primary);background:#fff;border:2px solid #ffe08a;border-radius:50%;place-items:center;font-weight:700;display:grid;overflow:hidden}.trainer-badge img{object-fit:contain;width:100%;height:100%;padding:3px}.trainer-badge.is-empty{background:0 0;border:2px dashed #8080a0}.profile-record{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0 0 14px;display:grid}.profile-record[hidden]{display:none}.profile-record-cell{border:2px solid var(--pk-frame);text-align:center;background:#fffaf0;border-radius:4px;flex-direction:column-reverse;align-items:center;gap:2px;padding:8px 4px;display:flex}.profile-record dt{color:var(--muted);font-size:12px}.profile-record dd{font-family:var(--font-display);color:var(--text);margin:0;font-size:20px;line-height:1.1}.trainer-record{margin:0}.invite-section{gap:8px;display:grid}.invite-section[hidden]{display:none}.invite-section+.invite-section,#invite-no-code+.invite-section{border-top:2px dashed var(--line);margin-top:14px;padding-top:14px}.invite-section>.section-label{margin:0}.invite-section .share-label{margin:6px 0 0}.invite-section .invite-actions{margin:4px 0 0}.invite-share-row{flex-wrap:wrap}.invite-share-row a.button{text-decoration:none}.invite-code-card{border:2px solid var(--pk-frame);background:#fffaf0;border-radius:4px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.invite-code-label{color:var(--muted);font-size:12px}.invite-code{font-family:var(--font-display);letter-spacing:.08em;overflow-wrap:anywhere;font-size:24px}.invite-record{grid-template-columns:repeat(3,minmax(0,1fr));margin:6px 0 0}.invite-goal{gap:6px;font-size:15px;display:grid}.invite-goal[hidden]{display:none}.profile-follow-row{flex-wrap:wrap;justify-content:flex-start;gap:12px;margin-bottom:12px}.profile-follow-row[hidden]{display:none}.follow-button{align-items:center;gap:6px;display:inline-flex}.follow-button svg{width:18px;height:18px}.follow-button:not(.is-following) svg{fill:currentColor}.follow-button.is-following{color:#be123c}.profile-web-link{color:var(--primary);align-self:center;font-size:14px}.profile-web-link[hidden]{display:none}@media (width<=480px){.trainer-card-body{grid-template-columns:1fr;justify-items:center}.trainer-stats{width:100%}.trainer-badges{grid-template-columns:repeat(4,minmax(0,1fr))}}.hud-profile-pill{cursor:pointer;text-align:left}.hud-portrait{width:30px;height:37px;image-rendering:pixelated;border:2px solid var(--pk-frame);background:#e6f4ff;border-radius:3px}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--primary:#8fb0ff;--primary-strong:#3a5fc8;--primary-dark:#2c4aa3;--primary-light:#2a3a63;--primary-soft:#26314f;--accent:#ff7b7b;--text:#eef0f7;--muted:#aab1c7;--line:#5d6a94;--surface:#1e2433;--surface-2:#283044;--surface-3:#2f3a55;--success-soft:#1f3a2e;--success-text:#8be3b5;--danger-soft:#4a2228;--danger-text:#ffb4b4;--warning-soft:#4a3d1c;--warning-text:#ffe08a;--info-soft:#22324f;--pk-frame:#0b0e16;--pk-inner:#3a4466;--pk-accent-line:#5d6a94;--pk-paper:#1e2433;--pk-bezel:#0b0e16;--pk-shadow:#0009;--selected-bg:var(--primary-strong);--selected-text:#fff;--selected-ring:#8fb0ff}:root[data-theme=dark] body{background:var(--pk-bezel);color:var(--text)}:root[data-theme=dark] .modal::backdrop{background:#000000bf}:root[data-theme=dark] :is(.button,.send-button,.skip-link,.hud-pill[data-active=true],.hud-pill[aria-expanded=true]){background:var(--primary-strong);border-color:var(--primary-strong);color:#fff}:root[data-theme=dark] .button:hover{background:var(--primary-dark)}:root[data-theme=dark] :is(.button.secondary,.search-field,.room-button,.hud-pill,.hud-brand-btn,.hud-profile-pill,.map-location,.zoom-controls,.speech-bar,.speech-bar:focus-within,.people-popover,.hud-menu-panel,.slot-pill,.icon-button,.teacher-card,.center-button,.giveaway-card,.share-input,.bulletin-select,.bulletin-card,.quiz-option-btn,.quiz-leader-row,.quiz-podium-row,.memory-card,.memory-card.is-flipped,.skeleton-card,.explorer,.explorer-course-header,.trainer-badge,kbd,.map-interaction kbd,.joystick-knob,.wardrobe-pill,.presence-trigger,.reward-drop-btn,.giveaway-card-media,.chat-room-list,.chat-open-button,.mission-card,.moderation-card,.options-muted-list li,.intro-portrait){background:var(--surface-2);color:var(--text);border-color:var(--line)}:root[data-theme=dark] :is(.button.secondary:hover,.hud-pill:hover,.room-button:hover,.explorer-course-header:hover,.memory-card:hover){background:var(--surface-3)}:root[data-theme=dark] .streak-week{background:var(--surface-2)}:root[data-theme=dark] .streak-day.is-stamped .streak-stamp{color:#fdba74;background:#4a2a14;border-color:#fb923c}:root[data-theme=dark] .streak-day.is-stamped.is-current .streak-stamp{color:#fff7ed;box-shadow:none;background:#c2410c}:root[data-theme=dark] .streak-day.is-reward .streak-stamp{background:var(--warning-soft);color:var(--warning-text);border-color:var(--warning-text)}:root[data-theme=dark] .streak-pill{color:#fdba74}:root[data-theme=dark] .mail-letter,:root[data-theme=dark] .live-card{background:var(--surface-2);color:var(--text);border-color:var(--line)}:root[data-theme=dark] .league-row:nth-child(odd){background:#ffffff0a}:root[data-theme=dark] .league-standing.is-in{background:var(--warning-soft);color:var(--warning-text);border-color:var(--warning-text)}:root[data-theme=dark] .league-rank{background:var(--surface-3);color:var(--text)}:root[data-theme=dark] .wanted-row:nth-child(odd){background:#ffffff0a}:root[data-theme=dark] .wanted-course{background:var(--surface-3);color:var(--text)}:root[data-theme=dark] .wanted-summary{color:#fecaca;background:#4c1d1d;border-color:#f87171}:root[data-theme=dark] .wanted-count{color:#fcd34d}:root[data-theme=dark] .wanted-row.is-empty .wanted-count{color:#fca5a5}:root[data-theme=dark] .profile-record-cell,:root[data-theme=dark] .invite-code-card{background:var(--surface-2);border-color:var(--line)}:root[data-theme=dark] :is(.followed-label,.follow-button.is-following){color:#fda4af}:root[data-theme=dark] .bulletin-like[aria-pressed=true]{color:#fda4af;background:#4c1d2b;border-color:#fda4af}:root[data-theme=dark] .mail-pending{background:var(--warning-soft);color:var(--warning-text);border-color:var(--warning-text)}:root[data-theme=dark] .mail-pending-icon{color:var(--warning-text)}:root[data-theme=dark] .slot-pill[aria-pressed=true]{background:var(--selected-bg);color:var(--selected-text);border-color:var(--pk-frame)}:root[data-theme=dark] :is(.center-button,.room-button,.explorer-course-header)[aria-pressed=true]{background:var(--primary-light);border-color:var(--primary)}:root[data-theme=dark] :is(.quiz-card,.quiz-duel-board,.skeleton-row,.backend-status-pill,.quiz-choice-pill,.giveaway-countdown,.quiz-tag.is-bot,.center-icon,.explorer-note){background:var(--surface-3);color:var(--text)}:root[data-theme=dark] :is(.quiz-timer-pill,.stream-loading-pill,.skeleton-status-banner,.quiz-leader-row.is-self,.notes-upload-cta,.bulletin-card--doubt,.quiz-tag,.avatar,.avatar-img,.hud-portrait,.world-nav){background:var(--info-soft);color:var(--primary)}:root[data-theme=dark] :is(.toast,.backpack-pill,.quiz-option-btn.is-correct,.backend-status-pill[data-connected=true],.pomodoro-banner.is-break,.memory-card.is-matched){background:var(--success-soft);color:var(--success-text)}:root[data-theme=dark] :is(.quiz-option-btn.is-wrong,.pomodoro-banner,.pomodoro-banner.is-focus,.pdf-mini-badge){background:var(--danger-soft);color:var(--danger-text)}:root[data-theme=dark] :is(.beta-tag,.bulletin-form,.trainer-card-head,.trainer-stats,.battle-plate,.trainer-record .profile-record-cell){background:var(--warning-soft);color:var(--text)}:root[data-theme=dark] :is(.search-field,.hud-pill,.hud-icon-btn,.hud-zoom-readout,.quiz-rank-badge,.quiz-score-pill,.bulletin-tag,.bulletin-card-title,.bulletin-card-body,.note-type-badge,.muted,.teacher-card-info strong,.chat-log-text){color:var(--text)}:root[data-theme=dark] .muted,:root[data-theme=dark] :is(input,textarea,select)::placeholder{color:var(--muted)}:root[data-theme=dark] .pdf-native-iframe{background:#fff}.chat-open-button{border:2px solid var(--pk-frame);background:var(--surface);min-height:32px;color:var(--primary);font:inherit;white-space:nowrap;cursor:pointer;border-radius:4px;flex-shrink:0;align-items:center;gap:6px;padding:0 10px;font-size:13px;display:inline-flex;position:relative}.chat-open-button:hover,.chat-open-button:focus-visible{background:var(--pk-paper)}.chat-open-button svg{width:15px;height:15px}.hud-badge{border:2px solid var(--pk-frame);background:var(--accent);color:#fff;border-radius:9px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-size:11px;line-height:1;display:grid;position:absolute;top:-6px;right:-8px}.hud-menu-panel .hud-pill{position:relative}.map-hud-top:has(.hud-menu[open]){z-index:8}.hud-menu-panel .hud-badge{margin-left:auto;position:static}.chat-room-modal{width:min(720px,100vw - 24px)}.chat-room-note{margin:4px 0 0;font-size:12px}.chat-log-list.chat-room-list{border:3px solid var(--pk-frame);background:var(--pk-paper);height:min(60dvh,560px);box-shadow:inset 0 0 0 2px var(--pk-inner), inset 0 0 0 4px var(--pk-accent-line);border-radius:6px;align-content:start;margin-top:12px;padding:12px 14px;overflow-y:auto}.chat-room-list .chat-log-line{font-size:15px}.chat-room-list .chat-log-line.is-mine .chat-log-name{color:var(--accent)}.chat-room-form{gap:8px;margin-top:12px;display:flex}.chat-room-form .share-input{flex:1;min-width:0;font-size:15px}.chat-room-form .button{flex-shrink:0}.chat-log-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.chat-log-line{grid-template-columns:auto auto 1fr auto;align-items:baseline;gap:6px;font-size:14px;display:grid}.chat-log-time{color:var(--muted);font-size:12px}.chat-log-name{font-family:var(--font-display);color:var(--primary);white-space:nowrap}.chat-log-text{overflow-wrap:anywhere;color:var(--text)}.chat-log-actions{opacity:.7;width:28px;height:28px;padding:0}.chat-log-actions:hover,.chat-log-actions:focus-visible{opacity:1}.chat-log-actions svg{width:14px;height:14px}.chat-log-empty{grid-column:1/-1}.moderation-evidence .chat-log-line{grid-template-columns:auto 1fr}.moderation-evidence .chat-log-line.is-target .chat-log-name{color:var(--accent)}#chat-input:disabled{cursor:not-allowed;opacity:.75}.report-reasons{border:0;gap:6px;margin:0 0 8px;padding:0;display:grid}.report-reason{cursor:pointer;align-items:center;gap:8px;font-size:15px;display:flex}.report-reason input{width:18px;height:18px;accent-color:var(--primary)}.options-section-title{margin-top:14px}.options-muted-list{gap:6px;margin:6px 0 0;padding:0;list-style:none;display:grid}.options-muted-list li{justify-content:space-between;align-items:center;gap:8px;font-size:15px;display:flex}.missions-list,.moderation-list{gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.mission-card,.moderation-card{border:2px solid var(--pk-frame);background:#fff;border-radius:4px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.moderation-card{display:block}.moderation-card-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.moderation-note{margin:4px 0 8px;font-style:italic}.mission-card.is-claimed{opacity:.65}.mission-info{gap:4px;min-width:0;display:grid}.mission-info strong{font-family:var(--font-display);font-size:17px}.mission-side{flex-shrink:0;justify-items:end;gap:6px;display:grid}.mission-progress{accent-color:#48c048;width:100%;height:12px}.missions-section{margin-top:12px}.missions-section+.missions-section{border-top:2px dashed var(--line);margin-top:18px;padding-top:16px}.missions-section>.section-label{margin:0 0 4px}.challenge-card a.button{white-space:nowrap;text-decoration:none}.streak-modal{width:min(520px,100% - 32px)}.streak-week{border:2px solid var(--pk-frame);background:#fffaf0;border-radius:4px;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:14px 0 12px;padding:12px 10px;list-style:none;display:grid}.streak-day{justify-items:center;gap:6px;display:grid}.streak-stamp{aspect-ratio:1;color:#b9b2a0;border:2px dashed #b9b2a0;border-radius:50%;place-items:center;width:100%;max-width:48px;font-size:18px;font-weight:700;display:grid}.streak-stamp svg{width:62%;height:62%}.streak-day-letter{color:var(--muted);font-size:14px;font-weight:700}.streak-day.is-today .streak-day-letter{color:var(--text);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:2px}.streak-day.is-stamped .streak-stamp{color:#ea580c;background:#ffedd5;border:2px solid #c2410c}.streak-day.is-stamped.is-current .streak-stamp{color:#fff7ed;background:#fb923c;box-shadow:inset 0 0 0 2px #fed7aa}.streak-day.is-broken .streak-stamp{color:#6b7280;border-style:solid;border-color:#9ca3af}.streak-day.is-reward .streak-stamp{color:#b45309;background:#fef3c7;border:2px solid #b45309}.streak-day.is-stamping .streak-stamp{animation:.42s steps(4,end) .36s both streak-stamp}@keyframes streak-stamp{0%{opacity:0;transform:scale(2.2)rotate(-14deg)}to{opacity:1;transform:none}}.streak-goal{gap:6px;margin-bottom:14px;font-size:15px;display:grid}.streak-pill{color:#c2410c;position:relative}.streak-pill strong{color:var(--text)}.league-modal{width:min(600px,100% - 32px)}.league-tabs{margin-top:10px}.league-standing{border:2px dashed var(--line);border-radius:4px;margin:12px 0 0;padding:10px 12px;font-size:15px}.league-standing.is-in{color:#713f12;background:#fef9c3;border:2px solid #ca8a04}.league-standing[hidden]{display:none}.league-list{max-height:min(52vh,440px);margin:12px 0 0;overflow-y:auto}.league-table{gap:4px;margin:0;padding:0;list-style:none;display:grid}.league-row{border:2px solid #0000;border-radius:4px;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;padding:6px 10px;display:grid}.league-row:nth-child(odd){background:#0f172a0a}.league-row.is-mine{border-color:var(--primary);background:var(--primary-soft)}.league-rank{width:30px;height:30px;font-family:var(--font-display);color:#334155;background:#e2e8f0;border-radius:50%;place-items:center;font-size:15px;display:grid}.league-row.is-rank-1 .league-rank{color:#422006;background:#facc15}.league-row.is-rank-2 .league-rank{color:#1e293b;background:#cbd5e1}.league-row.is-rank-3 .league-rank{color:#431407;background:#fdba74}.league-name{align-items:center;gap:8px;min-width:0;font-size:15px;display:flex}.league-name>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.league-mine-tag{background:var(--primary);color:#fff;border-radius:3px;flex-shrink:0;padding:0 6px;font-size:11px}.league-points{color:var(--muted);white-space:nowrap;font-size:13px}.fame-row{grid-template-columns:36px minmax(0,1fr) auto}.fame-who a{color:inherit;text-overflow:ellipsis;white-space:nowrap;text-decoration:none;overflow:hidden}.fame-who a:hover,.fame-who a:focus-visible{color:var(--primary);text-decoration:underline}.fame-photo{object-fit:cover;border:2px solid var(--pk-frame);border-radius:50%;flex-shrink:0;width:30px;height:30px}.fame-side{align-items:center;gap:8px;display:flex}.fame-side .follow-button{padding:4px 10px;font-size:12px}@media (width<=480px){.fame-row{grid-template-columns:30px minmax(0,1fr)}.fame-side{grid-column:2}}.wanted-summary{color:#7f1d1d;background:#fef2f2;border:2px solid #f87171}.wanted-courses{flex-wrap:wrap;gap:6px;display:flex}.wanted-courses[hidden]{display:none}.wanted-courses .slot-pill{min-width:52px}.wanted-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.wanted-row{border-radius:4px;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;padding:6px 10px;display:grid}.wanted-row:nth-child(odd){background:#0f172a0a}.wanted-course{color:#334155;height:28px;font-family:var(--font-display);background:#e2e8f0;border-radius:4px;place-items:center;font-size:13px;display:grid}.wanted-info{gap:2px;min-width:0;display:grid}.wanted-name{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.wanted-count{color:#a16207;font-size:12px}.wanted-row.is-empty .wanted-count{color:#b91c1c}.wanted-actions{gap:6px;display:flex}.wanted-actions .button{min-height:32px;padding:4px 10px;font-size:12px;text-decoration:none}.wanted-actions .button svg{width:14px;height:14px}.wanted-more{width:100%;margin-top:8px}@media (width<=480px){.wanted-row{grid-template-columns:36px minmax(0,1fr)}.wanted-actions{grid-column:2}}.live-modal{width:min(600px,100% - 32px)}.live-list{gap:8px;max-height:min(56vh,480px);margin:12px 0;display:grid;overflow-y:auto}.live-list>.section-label{margin:6px 0 0}.live-card{border:2px solid var(--pk-frame);background:#fffdf7;border-radius:4px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.live-card:not(:has(.live-card-thumb)){grid-template-columns:minmax(0,1fr) auto}.live-card.is-live{box-shadow:inset 5px 0 #dc2626}.live-card-thumb{object-fit:cover;border:1px solid var(--line);border-radius:4px;width:72px;height:54px}.live-card-info{justify-items:start;gap:4px;min-width:0;display:grid}.live-card-info strong{font-family:var(--font-display);overflow-wrap:anywhere;font-size:17px}.live-card a.button{white-space:nowrap;text-decoration:none}.live-badge{color:#fff;letter-spacing:.04em;background:#dc2626;border-radius:3px;padding:1px 8px;font-size:12px}@media (width<=480px){:is(.live-card,.live-card:not(:has(.live-card-thumb))){grid-template-columns:minmax(0,1fr)}.live-card-thumb{width:100%;height:120px}}.mailbox-modal{width:min(560px,100% - 32px)}.mailbox-pill{color:var(--primary);position:relative}.mailbox-pill strong{color:var(--text)}.mail-pending{color:#78350f;background:#fef3c7;border:2px solid #b45309;border-radius:4px;align-items:center;gap:10px;margin:12px 0 0;padding:10px 12px;display:flex}.mail-pending[hidden]{display:none}.mail-pending p{margin:0;font-size:15px}.mail-pending-icon{color:#b45309;flex-shrink:0;place-items:center;display:grid}.mail-list{gap:8px;max-height:min(52vh,460px);margin:12px 0;display:grid;overflow-y:auto}.mail-letter{border:2px solid var(--pk-frame);background:#fffdf7;border-radius:4px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.mail-letter.is-new{box-shadow:inset 5px 0 0 var(--primary)}.mail-letter-icon{background:var(--primary-soft);width:36px;height:36px;color:var(--primary);border-radius:4px;place-items:center;display:grid}.mail-letter-body{gap:4px;min-width:0;display:grid}.mail-letter-text{overflow-wrap:anywhere;margin:0;font-size:15px}.mail-letter-quote{color:var(--muted);overflow-wrap:anywhere;quotes:"«" "»";font-size:14px}.mail-letter-meta{font-size:13px}.mail-new-tag{background:var(--primary);color:#fff;letter-spacing:.04em;border-radius:3px;padding:0 5px;font-size:11px;display:inline-block}.mail-letter a.button{white-space:nowrap;text-decoration:none}.mailbox-web-link{text-align:center;color:var(--primary);margin-top:10px;font-size:14px;display:block}@media (width<=480px){.mail-letter{grid-template-columns:auto minmax(0,1fr)}.mail-letter>:last-child{grid-column:2;justify-self:start}}.intro-modal{width:min(560px,100% - 32px)}.intro-modal[open]{gap:12px;display:grid}.intro-portrait{border:3px solid var(--pk-frame);background:#e6f4ff;border-radius:6px;justify-self:center;padding:8px}.intro-portrait canvas{image-rendering:pixelated;display:block}.intro-text{min-height:5.6em;margin:0;font-size:18px;line-height:1.55}@media (width<=768px){.map-hint-banner{max-width:none;min-height:0;padding:8px 28px 8px 12px;font-size:14px;bottom:192px;left:10px;right:10px;transform:none}.chat-open-label{display:none}.chat-open-button{padding:0 8px}.hud-menu-panel{max-height:calc(100dvh - 142px);top:130px;overflow-y:auto}.chat-log-line{font-size:13px}}.modal .minigame-heading h2{margin:0}@media (width<=560px){.modal.minigame-modal{width:calc(100vw - 8px);padding:12px 6px}}:root[data-theme=dark] .minigame-result{background:var(--surface-2)}:root[data-theme=dark] .minigame-result[data-tone=record]{background:var(--warning-soft);color:var(--warning-text)}:root[data-theme=dark] .beta-error{color:var(--danger-text)}.beta-invite-code{font-family:var(--font-text);letter-spacing:.1em;font-size:17px;font-weight:800}}
