*,*:before,*:after{box-sizing:border-box}html,body{margin:0}body{font-family:var(--md-font);background:var(--md-surface);color:var(--md-on-surface);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;transition:background-color .4s var(--md-ease),color .4s var(--md-ease)}button,input,textarea,select{font:inherit;color:inherit}::selection{background:var(--md-primary-container);color:var(--md-on-primary-container)}.zh{font-family:var(--md-font-zh)}.display-l{font-size:57px;line-height:64px;font-weight:var(--a0x-display-weight, 400);letter-spacing:var(--a0x-display-tracking, -.25px)}.display-m{font-size:45px;line-height:52px;font-weight:var(--a0x-display-weight, 400);letter-spacing:var(--a0x-display-tracking, 0)}.display-s{font-size:36px;line-height:44px;font-weight:var(--a0x-display-weight, 400);letter-spacing:var(--a0x-display-tracking, 0)}.headline-l{font-size:32px;line-height:40px;font-weight:var(--a0x-display-weight, 400);letter-spacing:var(--a0x-display-tracking, 0)}.headline-m{font-size:28px;line-height:36px;font-weight:var(--a0x-display-weight, 400);letter-spacing:var(--a0x-display-tracking, 0)}.headline-s{font-size:24px;line-height:32px;font-weight:400}.title-l{font-size:22px;line-height:28px;font-weight:500}.title-m{font-size:16px;line-height:24px;font-weight:500;letter-spacing:.15px}.title-s{font-size:14px;line-height:20px;font-weight:500;letter-spacing:.1px}.body-l{font-size:16px;line-height:24px;letter-spacing:.5px}.body-m{font-size:14px;line-height:20px;letter-spacing:.25px}.body-s{font-size:12px;line-height:16px;letter-spacing:.4px}.label-l{font-size:14px;line-height:20px;font-weight:500;letter-spacing:.1px}.label-m{font-size:12px;line-height:16px;font-weight:500;letter-spacing:.5px}.label-s{font-size:11px;line-height:16px;font-weight:500;letter-spacing:.5px}.hint-zh{font-family:var(--md-font-zh);font-size:.78em;color:var(--md-on-surface-variant);font-weight:400;letter-spacing:0}.md-icon{display:inline-flex;flex:none}.md-icon svg{width:100%;height:100%;fill:currentColor}.md-interactive{position:relative;overflow:hidden;cursor:pointer;isolation:isolate;-webkit-user-select:none;user-select:none}.md-interactive:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:currentColor;opacity:0;transition:opacity .2s var(--md-ease);pointer-events:none;z-index:-1;border-radius:inherit}@media (hover: hover){.md-interactive:hover:before{opacity:.08}}.md-interactive:focus-visible{outline:3px solid var(--md-secondary);outline-offset:2px}.md-interactive:focus-visible:before{opacity:.1}.md-interactive[disabled]{pointer-events:none;opacity:.38}.md-ripple{position:absolute;border-radius:50%;background:currentColor;pointer-events:none;transform:scale(0);opacity:.14;animation:md-ripple .55s var(--md-ease-decel) forwards;z-index:-1}.md-ripple.out{animation:md-ripple .55s var(--md-ease-decel) forwards,md-fade .3s linear forwards}@keyframes md-ripple{to{transform:scale(1)}}@keyframes md-fade{to{opacity:0}}.md-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 24px;border:none;border-radius:var(--a0x-btn-radius, 14px);background:none;font-size:14px;font-weight:500;letter-spacing:.1px;white-space:nowrap;transition:border-radius var(--a0x-morph),box-shadow .25s var(--md-ease),background-color .3s}@media (hover: hover){.md-btn:hover{border-radius:var(--a0x-btn-radius-hover, 999px)}.md-btn.filled:hover,.md-btn.danger:hover{box-shadow:var(--md-elev-1)}}.md-btn.has-icon{padding-left:16px}.md-btn .md-icon{width:18px!important;height:18px!important}.md-btn.lg{height:56px;padding:0 28px;font-size:16px}.md-btn.lg .md-icon{width:22px!important;height:22px!important}.md-btn:active,.md-btn:hover:active{border-radius:var(--a0x-btn-radius-press, 8px);transition-duration:.18s}.md-btn.filled{background:var(--md-primary);color:var(--md-on-primary)}.md-btn.tonal{background:var(--md-secondary-container);color:var(--md-on-secondary-container)}.md-btn.outlined{color:var(--md-primary);box-shadow:inset 0 0 0 1px var(--md-outline-variant)}.md-btn.text{color:var(--md-primary);padding:0 12px}.md-btn.elevated{background:var(--md-surface-container-low);color:var(--md-primary);box-shadow:var(--md-elev-1)}.md-btn.danger{background:var(--md-error);color:var(--md-on-error)}.md-btn.full{width:100%}.md-iconbtn{width:40px;height:40px;border-radius:12px;border:none;background:none;display:inline-grid;place-items:center;color:var(--md-on-surface-variant);transition:border-radius var(--a0x-morph),background-color .3s}@media (hover: hover){.md-iconbtn:hover{border-radius:50%}}.md-iconbtn:active,.md-iconbtn:hover:active{border-radius:8px;transition-duration:.18s}.md-iconbtn.filled{background:var(--md-primary);color:var(--md-on-primary)}.md-iconbtn.tonal{background:var(--md-secondary-container);color:var(--md-on-secondary-container)}.md-iconbtn.outlined{box-shadow:inset 0 0 0 1px var(--md-outline-variant)}.md-iconbtn.selected{color:var(--md-primary)}.md-fab{display:inline-flex;align-items:center;gap:12px;height:56px;min-width:56px;padding:0 16px;border:none;border-radius:var(--md-shape-lg);background:var(--md-primary-container);color:var(--md-on-primary-container);box-shadow:var(--md-elev-3);font-size:16px;font-weight:500;overflow:hidden;transition:border-radius var(--a0x-morph),box-shadow .25s}@media (hover: hover){.md-fab:hover{border-radius:28px}}.md-fab:active,.md-fab:hover:active{border-radius:10px;transition-duration:.18s}.md-fab.lg{height:96px;min-width:96px;border-radius:var(--md-shape-xl);padding:0 30px}.md-fab.lg .md-icon{width:36px!important;height:36px!important}.md-fab.primary{background:var(--md-primary);color:var(--md-on-primary)}.md-fab.tertiary{background:var(--md-tertiary-container);color:var(--md-on-tertiary-container)}.md-card{border-radius:var(--md-shape-lg);padding:var(--a0x-card-pad, 16px);position:relative}.a0x-morph,.a0x-morph-card{border-radius:var(--a0x-card-radius, 24px);transition:border-radius var(--a0x-morph),box-shadow .3s var(--md-ease),background-color .3s}@media (hover: hover){.a0x-morph:hover,.a0x-morph-card:hover{border-radius:var(--a0x-card-radius-hover, 32px);box-shadow:var(--md-elev-2)}}.a0x-morph:active,.a0x-morph-card:active{border-radius:var(--a0x-card-radius-press, 16px);transition-duration:.18s}.md-card.filled{background:var(--md-surface-container-highest)}.md-card.elevated{background:var(--md-surface-container-low);box-shadow:var(--md-elev-1)}.md-card.outlined{background:var(--md-surface);box-shadow:inset 0 0 0 1px var(--md-outline-variant)}.md-card.tonal{background:var(--md-surface-container)}.md-card.lg{border-radius:var(--md-shape-xl);padding:24px}.md-chip{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 16px;border-radius:var(--md-shape-sm);border:none;background:none;box-shadow:inset 0 0 0 1px var(--md-outline-variant);color:var(--md-on-surface-variant);font-size:14px;font-weight:500;transition:background-color .25s var(--md-ease),box-shadow .25s,padding .3s var(--md-ease),border-radius var(--a0x-morph)}@media (hover: hover){.md-chip:hover{border-radius:16px}}.md-chip:active{border-radius:4px;transition-duration:.18s}.md-chip .md-icon{width:18px!important;height:18px!important}.md-chip.selected{background:var(--md-secondary-container);color:var(--md-on-secondary-container);box-shadow:none;padding-left:8px}.md-field{position:relative;display:block}.md-field input,.md-field textarea{display:block;width:100%;border:none;outline:none;background:var(--md-surface-container-highest);color:var(--md-on-surface);border-radius:var(--md-shape-xs) var(--md-shape-xs) 0 0;padding:24px 16px 8px;font-size:16px;line-height:24px;min-height:56px;caret-color:var(--md-primary);resize:vertical}.md-field.has-lead input{padding-left:52px}.md-field.has-trail input{padding-right:52px}.md-field .md-lead,.md-field .md-trail{position:absolute;top:16px;color:var(--md-on-surface-variant)}.md-field .md-lead{left:14px}.md-field .md-trail{right:8px;top:8px}.md-field label{position:absolute;left:16px;top:16px;font-size:16px;line-height:24px;color:var(--md-on-surface-variant);pointer-events:none;transform-origin:left top;transition:transform .2s var(--md-ease),color .2s}.md-field.has-lead label{left:52px}.md-field.float label{transform:translateY(-9px) scale(.75)}.md-box{position:relative;display:block}.md-box:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--md-on-surface-variant)}.md-field .md-bar{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--md-primary);transform:scaleX(0);transition:transform .3s var(--md-ease);z-index:1}.md-field.focus .md-bar{transform:scaleX(1)}.md-field.focus label{color:var(--md-primary)}.md-field.error .md-bar{background:var(--md-error);transform:scaleX(1)}.md-field.error label,.md-field .md-support.err{color:var(--md-error)}.md-field .md-support{display:block;padding:4px 16px 0;font-size:12px;line-height:16px;color:var(--md-on-surface-variant);min-height:20px}.md-switch{width:52px;height:32px;border-radius:16px;border:none;padding:0;position:relative;flex:none;background:var(--md-surface-container-highest);box-shadow:inset 0 0 0 2px var(--md-outline);transition:background-color .25s,box-shadow .25s}.md-switch.on{background:var(--md-primary);box-shadow:none}.md-switch .thumb{position:absolute;top:50%;border-radius:50%;background:var(--md-outline);display:grid;place-items:center;color:var(--md-primary-container)}.md-switch.on .thumb{background:var(--md-on-primary);color:var(--md-on-primary-container)}.md-list{display:flex;flex-direction:column}.md-item{display:flex;align-items:center;gap:var(--a0x-space-4, 16px);min-height:56px;padding:var(--a0x-space-2, 8px) var(--a0x-space-4, 16px);border-radius:var(--md-shape-lg);transition:border-radius var(--a0x-morph);text-align:left;background:none;border:none;width:100%}.md-item .lead{color:var(--md-on-surface-variant);display:grid;place-items:center}.md-item .txt{flex:1;min-width:0;display:flex;flex-direction:column}.md-item .txt .sup{font-size:14px;color:var(--md-on-surface-variant)}.md-topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:4px;height:64px;padding:0 4px;background:var(--md-surface);transition:background-color .3s var(--md-ease)}.md-topbar.scrolled{background:var(--md-surface-container)}.md-topbar .title{flex:1;padding:0 12px;font-size:22px;line-height:28px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.md-topbar.center .title{text-align:center}.md-navbar{position:fixed;z-index:30;left:0;right:0;bottom:0;display:flex;justify-content:space-around;background:var(--md-surface-container);padding:12px 8px calc(16px + env(safe-area-inset-bottom))}.md-navbar .dest,.md-rail .dest{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:none;color:var(--md-on-surface-variant);cursor:pointer;padding:0;max-width:120px}.md-navbar .pill,.md-rail .pill{position:relative;width:64px;height:32px;border-radius:16px;display:grid;place-items:center;isolation:isolate;transition:border-radius var(--a0x-morph)}@media (hover: hover){.md-navbar .dest:hover .pill,.md-rail .dest:hover .pill{border-radius:10px}}.md-navbar .ind,.md-rail .ind{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:16px;background:var(--md-secondary-container);z-index:-1}.md-navbar .dest.on,.md-rail .dest.on{color:var(--md-on-surface)}.md-navbar .dest.on .md-icon,.md-rail .dest.on .md-icon{color:var(--md-on-secondary-container)}.md-navbar .lbl,.md-rail .lbl{font-size:12px;font-weight:500;letter-spacing:.5px}.md-navbar .dest.on .lbl{font-weight:700}.md-rail{position:fixed;z-index:30;left:0;top:0;bottom:0;width:88px;display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px 0;background:var(--md-surface)}.md-rail .dest{flex:none;width:100%}.md-rail .head{margin-bottom:28px;display:flex;flex-direction:column;align-items:center;gap:16px}.md-badge{position:absolute;top:2px;right:14px;min-width:16px;height:16px;border-radius:8px;background:var(--md-error);color:var(--md-on-error);font-size:11px;font-weight:500;display:grid;place-items:center;padding:0 4px}.md-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--md-scrim);z-index:90}.md-sheet{position:fixed;z-index:91;left:0;right:0;bottom:0;margin:0 auto;max-width:640px;max-height:92dvh;overflow-y:auto;overscroll-behavior:contain;background:var(--md-surface-container-low);border-radius:var(--md-shape-xl) var(--md-shape-xl) 0 0;padding:0 16px calc(24px + env(safe-area-inset-bottom));touch-action:none}.md-sheet .handle{width:32px;height:4px;border-radius:2px;background:var(--md-on-surface-variant);opacity:.4;margin:16px auto 12px}.md-dialog{position:fixed;z-index:91;left:50%;top:50%;width:min(560px,calc(100vw - 48px));max-height:86vh;overflow:auto;background:var(--md-surface-container-high);border-radius:var(--md-shape-xl);padding:24px;box-shadow:var(--md-elev-3)}.md-dialog .icon{display:flex;justify-content:center;color:var(--md-secondary);margin-bottom:16px}.md-dialog h2{margin:0 0 16px;font-size:24px;line-height:32px;font-weight:400}.md-dialog .actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}.md-snackbar{position:fixed;z-index:95;left:50%;bottom:calc(96px + env(safe-area-inset-bottom));min-height:48px;max-width:min(560px,calc(100vw - 32px));display:flex;align-items:center;gap:8px;padding:4px 8px 4px 16px;border-radius:var(--md-shape-xs);background:var(--md-inverse-surface);color:var(--md-inverse-on-surface);box-shadow:var(--md-elev-3);font-size:14px}.md-snackbar .md-btn.text{color:var(--md-inverse-primary)}@media (min-width: 840px){.md-snackbar{bottom:24px}}.md-linear{height:4px;border-radius:2px;background:var(--md-secondary-container);overflow:hidden;position:relative}.md-linear>i{position:absolute;inset:0 auto 0 0;background:var(--md-primary);border-radius:2px}.md-linear.indet>i{width:40%;animation:md-indet 1.6s var(--md-ease) infinite}@keyframes md-indet{0%{left:-40%}to{left:100%}}.md-circular{animation:md-spin 1.4s linear infinite;color:var(--md-primary)}.md-circular circle{stroke:currentColor;stroke-linecap:round;animation:md-dash 1.4s var(--md-ease) infinite}@keyframes md-spin{to{transform:rotate(360deg)}}@keyframes md-dash{0%{stroke-dasharray:1 200;stroke-dashoffset:0}50%{stroke-dasharray:90 200;stroke-dashoffset:-15}to{stroke-dasharray:90 200;stroke-dashoffset:-124}}.md-seg{display:inline-flex;border-radius:var(--md-shape-full);box-shadow:inset 0 0 0 1px var(--md-outline);overflow:hidden}.md-seg button{height:40px;padding:0 16px;border:none;background:none;display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;position:relative}.md-seg button+button{box-shadow:-1px 0 0 var(--md-outline)}.md-seg button.on{background:var(--md-secondary-container);color:var(--md-on-secondary-container)}.md-seg .md-icon{width:18px!important;height:18px!important}.md-divider{height:1px;background:var(--md-outline-variant);border:none;margin:8px 0}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.md-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:16px;border-radius:8px;outline:none;cursor:pointer;background:linear-gradient(90deg,var(--md-primary) 0 var(--p, 50%),var(--md-secondary-container) var(--p, 50%) 100%)}.md-slider::-webkit-slider-thumb{-webkit-appearance:none;width:4px;height:44px;border-radius:2px;background:var(--md-primary);box-shadow:0 0 0 6px var(--md-surface-container-low);transition:transform .2s var(--md-ease)}.md-slider:active::-webkit-slider-thumb{transform:scaleX(.6)}.md-slider::-moz-range-thumb{width:4px;height:44px;border:none;border-radius:2px;background:var(--md-primary)}.md-drawer{position:fixed;z-index:30;left:0;top:0;bottom:0;width:264px;padding:16px 12px;display:flex;flex-direction:column;gap:4px;background:var(--md-surface-container-low)}.md-drawer-head{display:flex;align-items:center;gap:12px;padding:4px 4px 20px 8px}.md-drawer-item{position:relative;isolation:isolate;display:flex;align-items:center;gap:12px;height:52px;padding:0 16px;border:none;background:none;border-radius:var(--md-shape-full);color:var(--md-on-surface-variant);cursor:pointer;text-align:left;transition:border-radius var(--a0x-morph),background-color .2s}.md-drawer-item:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:currentColor;opacity:0;transition:opacity .2s;z-index:-1}@media (hover: hover){.md-drawer-item:hover:before{opacity:.08}.md-drawer-item:hover{border-radius:14px}}.md-drawer-item:active{border-radius:8px}.md-drawer-item.on{color:var(--md-on-secondary-container);font-weight:600}.md-drawer-ind{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:var(--md-secondary-container);z-index:-2}.md-drawer-badge{margin-left:auto;font-size:12px;font-weight:600}.md-modal{position:fixed;z-index:91;left:50%;top:50%;width:min(600px,calc(100vw - 64px));max-height:86vh;display:flex;flex-direction:column;background:var(--md-surface-container-high);border-radius:var(--md-shape-xl);box-shadow:var(--md-elev-3);overflow:hidden}.md-sidesheet{position:fixed;z-index:91;right:0;top:0;bottom:0;width:min(460px,92vw);display:flex;flex-direction:column;background:var(--md-surface-container-low);border-radius:var(--md-shape-xl) 0 0 var(--md-shape-xl);box-shadow:var(--md-elev-3)}.md-sheet-head{display:flex;align-items:center;gap:8px;padding:20px 16px 8px 24px}.md-sheet-body{padding:4px 16px 24px;overflow:auto;flex:1}.md-dialog{width:min(480px,calc(100vw - 48px))}@media (min-width: 840px){.md-snackbar{left:24px;transform:none!important;bottom:24px}}.md-chip{border-radius:var(--md-shape-full)}.md-chip.selected{padding-left:10px}@media (hover: hover){.md-chip:hover{border-radius:var(--md-shape-sm)}}.md-chip:active{border-radius:var(--md-shape-xs)}.md-box{border-radius:var(--md-shape-lg);overflow:hidden}.md-field input,.md-field textarea{border-radius:var(--md-shape-lg)}.md-box:after{left:18px;right:18px;border-radius:1px;opacity:.5}.md-field .md-bar{left:12px;right:12px;border-radius:2px}.md-snackbar{border-radius:var(--md-shape-lg);padding-left:20px}.md-seg{border-radius:var(--md-shape-full)}.md-dialog,.md-modal{border-radius:var(--md-shape-xl-inc)}.md-sheet{border-radius:var(--md-shape-xl-inc) var(--md-shape-xl-inc) 0 0}.md-sidesheet{border-radius:var(--md-shape-xl-inc) 0 0 var(--md-shape-xl-inc)}.md-linear,.md-linear>i{border-radius:999px}.md-drawer-item{height:56px}@media (min-width: 840px){.md-item{min-height:64px;padding:12px 20px}.md-btn{height:44px;padding:0 26px}.md-btn.lg{height:58px}.md-drawer{padding:24px 16px;gap:6px}}.a0x-skel-list{display:flex;flex-direction:column;gap:var(--a0x-list-gap, 8px);padding:8px 0}.a0x-skel{border-radius:var(--md-shape-lg);background:linear-gradient(90deg,var(--md-surface-container) 0%,var(--md-surface-container-high) 40%,var(--md-surface-container) 80%);background-size:300% 100%;animation:a0x-shimmer 1.4s ease-in-out infinite}@keyframes a0x-shimmer{0%{background-position:100% 0}to{background-position:-50% 0}}@media (prefers-reduced-motion: reduce){.a0x-skel{animation:none}}.md-chip{white-space:nowrap}.shell-main{padding:8px 16px calc(112px + env(safe-area-inset-bottom));max-width:880px;margin:0 auto}.shell-main.bleed{padding:0 0 calc(96px + env(safe-area-inset-bottom));max-width:none}.shell.wide .shell-main{margin-left:88px;padding:32px 40px 48px;max-width:none}.shell.wide .shell-main.bleed{padding:0}.shell.wide .shell-main:not(.bleed)>div{max-width:920px;margin:0 auto}.page{padding-top:16px}.center-fill{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center}.center-pad{display:grid;place-items:center;padding:28px}.sec-row{display:flex;align-items:baseline;justify-content:space-between;margin:var(--a0x-space-5) var(--a0x-space-1) var(--a0x-space-3)}.sec-t{margin:var(--a0x-section-gap) var(--a0x-space-1) var(--a0x-space-3)}.chip-row{display:flex;gap:var(--a0x-space-2);flex-wrap:wrap;margin:var(--a0x-space-3) 0}@media (min-width: 840px){.fab-slot{bottom:32px;right:32px}.only-m{display:none}}.empty-card{display:flex;align-items:center;gap:var(--a0x-space-4);padding:var(--a0x-card-pad);border-radius:var(--md-shape-xl);background:var(--md-surface-container);color:var(--md-on-surface-variant)}.only-xl{display:none!important}.fab-slot{position:fixed;right:16px;bottom:calc(100px + env(safe-area-inset-bottom));z-index:25}@media (min-width: 840px){.fab-slot{bottom:32px;right:32px}}.empty-card{display:flex;align-items:center;gap:var(--a0x-space-4);padding:var(--a0x-card-pad);border-radius:var(--md-shape-xl);background:var(--md-surface-container);color:var(--md-on-surface-variant);flex-wrap:wrap}.shell.nav-drawer .shell-main{margin-left:264px}.muted{color:var(--md-on-surface-variant)}.hint-zh{color:var(--md-on-surface-variant);font-size:.62em;font-weight:400;margin-left:6px;white-space:nowrap;display:inline-block}.sec-row{flex-wrap:wrap;gap:8px}.md-seg button,.md-seg>*{white-space:nowrap}.page-title{margin:var(--a0x-space-5) var(--a0x-space-1) var(--a0x-space-3)}.tnum{font-variant-numeric:tabular-nums}.center-text{text-align:center}.err{color:var(--md-error)}.subj-dot{display:inline-block;border-radius:50%;flex:none;vertical-align:middle}.ring{position:relative;display:inline-grid;place-items:center;flex:none}.ring svg{position:absolute;top:0;right:0;bottom:0;left:0}.ring-in{position:relative;display:flex;flex-direction:column;align-items:center;line-height:1.15;text-align:center}.today-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:4px 4px 20px}.welcome{display:flex;flex-direction:column;gap:12px;align-items:flex-start}.run-card,.plan-banner,.done-card,.break-card{display:flex;align-items:center;gap:14px;margin-bottom:12px;flex-wrap:wrap}.material-dot{width:12px;height:12px;border-radius:50%;background:var(--md-primary);box-shadow:0 0 0 0 var(--md-primary);animation:pulse 1.6s infinite}@keyframes pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--md-primary) 60%,transparent)}to{box-shadow:0 0 0 12px transparent}}.subj-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.subj-card{display:flex;flex-direction:column;gap:8px;border-top:4px solid var(--subj)}.subj-top{display:flex;align-items:center;gap:10px;min-width:0}.subj-goal{margin-top:-4px}.subj-bar{height:8px;border-radius:4px;background:var(--md-surface-container-highest);overflow:hidden}.subj-bar i{display:block;height:100%;border-radius:4px;background:var(--subj);transition:width .6s cubic-bezier(.2,0,0,1)}.subj-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.exam-list{display:flex;flex-direction:column;gap:4px}.exam-row{display:flex;align-items:center;gap:10px;padding:8px 4px}.exam-row b.soon{color:var(--md-error)}.foot-links{display:flex;gap:8px;justify-content:center;margin:32px 0 8px;font-size:13px}.foot-links a{color:var(--md-primary);text-decoration:none}.subj-list{display:flex;flex-direction:column;gap:12px}.subj-row{display:flex;flex-direction:column;gap:4px}.form{display:flex;flex-direction:column;gap:12px;padding-bottom:8px}.field-label{font-size:13px;font-weight:500;color:var(--md-on-surface-variant);margin:6px 4px -4px}.form-actions{display:flex;gap:8px;align-items:center;margin-top:4px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}@media (max-width: 480px){.two-col{grid-template-columns:1fr}}.date-field{display:flex;flex-direction:column;gap:2px;padding:8px 16px;min-height:56px;border-radius:var(--md-shape-xs) var(--md-shape-xs) 0 0;background:var(--md-surface-container-highest);border-bottom:1px solid var(--md-on-surface-variant)}.date-field span{font-size:12px;color:var(--md-on-surface-variant)}.date-field input{border:none;background:none;font:inherit;font-size:16px;color:var(--md-on-surface);color-scheme:light dark;padding:0}.swatches{display:flex;gap:10px;flex-wrap:wrap}.swatch{width:36px;height:36px;border-radius:50%;border:none;cursor:pointer;box-shadow:inset 0 0 0 2px color-mix(in srgb,#000 12%,transparent);transition:transform .2s}.swatch.on{box-shadow:0 0 0 3px var(--md-surface-container-low),0 0 0 5px var(--md-on-surface);transform:scale(1.06)}.help-list{padding-left:20px;display:flex;flex-direction:column;gap:10px;margin:4px 0 12px}.help-list a{color:var(--md-primary)}.help-list code,.help-list b{word-break:break-all}.note{border-radius:var(--md-shape-md);background:var(--md-surface-container);padding:8px 12px 12px}.note-head{display:flex;align-items:center;justify-content:space-between}.note-text{white-space:pre-wrap;word-break:break-word}.chip-subj{display:inline-flex;align-items:center;gap:6px}.plan-sum{margin:-4px 4px 16px}.agenda{display:flex;flex-direction:column;gap:2px;margin-bottom:16px}.agenda-day{display:grid;grid-template-columns:96px 1fr;gap:12px;padding:12px 8px;border-radius:var(--md-shape-lg)}.agenda-day.today{background:var(--md-surface-container)}.agenda-day.wkend .agenda-date b{color:var(--md-tertiary)}.agenda-date{display:flex;flex-direction:column;padding-top:6px}.agenda-items{display:flex;flex-direction:column;gap:6px;min-width:0}.agenda-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--md-shape-md);background:var(--md-surface-container-high);font-size:14px;min-width:0}.agenda-item span:first-of-type{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agenda-item.planned{background:none;box-shadow:inset 0 0 0 1.5px var(--md-outline-variant);border:1.5px dashed var(--md-outline);box-shadow:none}.agenda-item.done{opacity:.6}.agenda-item.done span:first-of-type{text-decoration:line-through}.agenda-item.exam{background:var(--md-error-container);color:var(--md-on-error-container)}.agenda-rest{padding:8px 4px}.agenda-add{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;border:none;background:none;color:var(--md-primary);font:inherit;font-size:13px;padding:4px 6px;border-radius:8px;cursor:pointer}.agenda-add:hover{background:var(--md-surface-container-high)}.room{display:flex;flex-direction:column;align-items:center;gap:16px}.room-subj{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center}.room-ring{margin:8px 0}.room-clock{font-size:56px;line-height:64px;font-weight:300;font-variant-numeric:tabular-nums;letter-spacing:-1px}.room-btns{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.room-notes{width:100%;max-width:640px;display:flex;flex-direction:column;gap:6px}.start-wrap{display:flex;justify-content:center;margin:24px 0 12px}.done-actions{display:flex;gap:6px;flex-wrap:wrap}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:8px}@media (max-width: 560px){.tiles{grid-template-columns:1fr 1fr}.tiles .tile:last-child{grid-column:span 2}.tile .display-s{font-size:28px;line-height:36px}}.tile{display:flex;flex-direction:column;gap:2px}.chart-card{padding:16px 12px 8px;overflow:hidden}.chart{position:relative;width:100%}.chart svg{display:block;overflow:visible}.chart .grid{stroke:var(--md-outline-variant);stroke-width:1;opacity:.6}.chart .baseline{stroke:var(--md-outline);stroke-width:1}.chart .axis{fill:var(--md-on-surface-variant);font-size:11px;font-family:inherit}.chart path{transition:opacity .2s;cursor:default;outline:none}.chart path:focus-visible{stroke:var(--md-on-surface);stroke-width:2}.chart .day-bar{fill:var(--md-primary)}.tip{position:absolute;pointer-events:none;z-index:2;min-width:150px;max-width:220px;padding:8px 10px;border-radius:10px;background:var(--md-inverse-surface);color:var(--md-inverse-on-surface);font-size:12px;line-height:18px;box-shadow:var(--md-elev-2)}.tip .muted{color:color-mix(in srgb,var(--md-inverse-on-surface) 70%,transparent)}.legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0 4px 12px;font-size:13px;color:var(--md-on-surface)}.legend-i{display:inline-flex;align-items:center;gap:6px}.chart-empty{padding:32px 8px;text-align:center}.link-btn{border:none;background:none;color:var(--md-primary);font:inherit;font-size:13px;cursor:pointer;padding:4px 8px;border-radius:8px}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th,.data-table td{padding:8px 10px;text-align:right;border-bottom:1px solid var(--md-outline-variant);white-space:nowrap}.data-table th:first-child,.data-table td:first-child{text-align:left}.data-table th{font-weight:500;color:var(--md-on-surface-variant)}.cat-list{display:flex;flex-direction:column;gap:10px}.cat-row{display:grid;grid-template-columns:120px 1fr 64px;align-items:center;gap:12px;font-size:14px}.cat-row b{text-align:right}.cat-bar{height:8px;border-radius:4px;background:var(--md-surface-container-highest);overflow:hidden}.cat-bar i{display:block;height:100%;background:var(--md-primary);border-radius:4px}.coach-intro,.nlm-card{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:12px}.nlm-card{flex-direction:column;align-items:stretch}.nlm-top{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.nlm-how{display:flex;flex-direction:column;gap:8px;margin-top:8px}.pre{white-space:pre-wrap;word-break:break-word;margin:6px 0}.report{display:flex;flex-direction:column;gap:12px;margin-top:8px}.rep-head{display:flex;align-items:center;gap:18px}.rep-headline{margin-top:4px}.rep-warn{background:var(--md-error-container);color:var(--md-on-error-container);display:flex;flex-direction:column;gap:8px}.warn-row{display:flex;gap:10px;align-items:flex-start}.rep-sec .sec-t{display:flex;align-items:center;gap:8px}.rep-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.pt{display:flex;flex-direction:column;gap:4px}.exam-card{border-left:4px solid var(--md-outline);grid-column:1 / -1}.exam-card.behind{border-left-color:var(--md-error)}.exam-card.on_track,.exam-card.ahead{border-left-color:#1baf7a}.exam-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.badge{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 8px;border-radius:12px;font-size:12px;font-weight:600;background:var(--md-surface-container-highest)}.badge.behind{background:var(--md-error-container);color:var(--md-on-error-container)}.badge.on_track,.badge.ahead{background:#d3f3e5;color:#0d5c3f}.plan-list{margin:8px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:6px}.plan-list li span{display:block}.plan-list li b{font-size:13px;color:var(--md-primary)}.sug-list{margin:0 0 10px;padding-left:20px;display:flex;flex-direction:column;gap:8px}.sug-list li{display:list-item}.sug-list li>span:last-child{display:inline}.sug-tag{display:inline-block;font-size:11px;padding:0 6px;margin-right:6px;border-radius:6px;background:var(--md-secondary-container);color:var(--md-on-secondary-container)}.hist{display:flex;flex-direction:column;gap:6px}.hist-i{display:grid;grid-template-columns:1fr auto;gap:2px 12px;text-align:left;padding:12px 14px;border-radius:14px;border:none;background:var(--md-surface-container);color:var(--md-on-surface);font:inherit;cursor:pointer}.hist-i:disabled{opacity:.6;cursor:default}.hist-i.on{background:var(--md-secondary-container)}.hist-h{grid-column:1}.hist-i b{grid-row:1 / span 2;grid-column:2;align-self:center}.quiz{display:flex;flex-direction:column;gap:12px}.quiz-head{display:flex;align-items:center}.qcard{display:flex;flex-direction:column;gap:6px}.q-top{display:flex;align-items:center;gap:10px}.q-score{margin-left:auto;padding:2px 10px;border-radius:10px}.q-score.ok{background:#d3f3e5;color:#0d5c3f}.q-score.mid{background:#fff0c2;color:#6b4b00}.q-score.bad{background:var(--md-error-container);color:var(--md-on-error-container)}.q-ans{padding:8px 12px;border-radius:12px;background:var(--md-surface-container-high)}.q-fb{padding:4px 2px}.q-model summary{cursor:pointer;color:var(--md-primary);font-weight:500;padding:4px 0}.rep-grid>:only-child{grid-column:1 / -1}@media (max-width: 560px){.coach-intro,.nlm-top,.plan-banner,.run-card{flex-direction:column;align-items:stretch}.coach-intro>.md-icon,.nlm-top>.md-icon,.plan-banner>.md-icon{display:none}}.disc-card{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.disc-card.open{box-shadow:inset 4px 0 0 var(--md-error)}.disc-card.met{box-shadow:inset 4px 0 0 var(--md-primary)}.disc-top{display:flex;align-items:center;gap:14px}.disc-warn{color:#b26a00;display:flex;align-items:center;gap:4px;margin-top:2px}.disc-deds{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:var(--md-shape-md);background:var(--md-surface-container-high)}.disc-minus{color:var(--md-error);margin-right:4px}.disc-actions{display:flex;gap:4px;flex-wrap:wrap;margin:-4px -8px -8px}.debt-card{display:flex;align-items:center;gap:14px;margin-bottom:12px}.debt-card.owing{border-color:var(--md-error);background:color-mix(in srgb,var(--md-error) 6%,transparent)}.debt-card.owing>.md-icon{color:var(--md-error)}.debt-hist{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.debt-w{font-size:12px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--md-surface-container-highest)}.debt-w.perfect{background:var(--md-primary-container);color:var(--md-on-primary-container)}.debt-w.bad{background:var(--md-error-container);color:var(--md-on-error-container)}.tt-list{display:flex;flex-direction:column;gap:4px;margin:8px 0;max-height:40vh;overflow:auto}.proof-shot{display:flex;align-items:center;gap:10px;padding:14px 16px;border-radius:var(--md-shape-lg);border:2px dashed var(--md-outline);cursor:pointer;color:var(--md-on-surface-variant)}.proof-shot.ok{border-style:solid;border-color:var(--md-primary);color:var(--md-primary)}.proof-wait{display:flex;align-items:center;gap:12px;padding:16px 0}.proof-result{display:flex;gap:14px;align-items:flex-start;padding:12px;border-radius:var(--md-shape-lg)}.proof-result.passed{background:var(--md-primary-container);color:var(--md-on-primary-container)}.proof-result.failed{background:var(--md-error-container);color:var(--md-on-error-container)}.proof-fb{white-space:pre-line;margin-top:4px}.tut-start{display:flex;flex-direction:column;gap:10px}.tut-hero{display:flex;gap:14px;align-items:center}.tut-orb{display:inline-grid;place-items:center;width:52px;height:52px;flex:none;border-radius:50%;color:var(--md-on-tertiary);background:radial-gradient(circle at 30% 30%,color-mix(in srgb,var(--md-tertiary) 70%,white),var(--md-tertiary));box-shadow:0 6px 18px color-mix(in srgb,var(--md-tertiary) 35%,transparent);animation:orb 4s ease-in-out infinite}.tut-orb.sm{width:32px;height:32px;animation:none}@keyframes orb{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-4px) rotate(-6deg)}}.link{color:var(--md-primary);cursor:pointer}.tut-hist{display:flex;flex-direction:column;gap:8px}.tut-hist-i{display:flex;align-items:center;gap:12px;padding:12px 14px;border:none;border-radius:var(--md-shape-lg);background:var(--md-surface-container);color:var(--md-on-surface);text-align:left;cursor:pointer;font:inherit}.tut-hist-i:hover{background:var(--md-surface-container-high)}.tut-hist-t{flex:1;min-width:0;display:flex;flex-direction:column}.tut-hist-t b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tut{padding-bottom:96px}.tut-bar{display:flex;align-items:center;gap:10px;position:sticky;top:env(safe-area-inset-top,0px);z-index:5;padding:8px 0;background:var(--md-surface)}.tut-title{flex:1;min-width:0;display:flex;flex-direction:column}.tut-title b,.tut-title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tut-steps{display:flex;flex-direction:column;gap:12px;margin-top:8px}.tut-explain{display:flex;flex-direction:column;gap:8px}.tut-explain p{margin:0;line-height:1.55}.tut-analogy{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border-radius:var(--md-shape-md);background:color-mix(in srgb,#eda100 14%,transparent)}.tut-analogy .md-icon{color:#b26a00;flex:none;margin-top:2px}.tut-svg{display:block;width:100%;max-width:420px;height:auto;margin:4px auto 0;border-radius:var(--md-shape-md);background:#fff}.tut-check{display:flex;flex-direction:column;gap:10px;transition:box-shadow .3s}.tut-check p{margin:0;line-height:1.5}.tut-check.open{box-shadow:0 0 0 2px var(--md-primary)}.tut-check-h{display:flex;align-items:center;gap:6px;color:var(--md-primary)}.tut-opts{display:grid;gap:8px}.tut-opt{display:flex;gap:10px;align-items:center;text-align:left;padding:12px 14px;border-radius:var(--md-shape-lg);border:1px solid var(--md-outline-variant);background:var(--md-surface-container-low);color:var(--md-on-surface);font:inherit;cursor:pointer}.tut-opt:not(:disabled):hover{background:var(--md-secondary-container)}.tut-opt:disabled{cursor:default;opacity:.7}.tut-opt b{display:inline-grid;place-items:center;width:26px;height:26px;flex:none;border-radius:50%;background:var(--md-surface-container-highest);font-size:13px}.tut-row{display:flex;gap:8px;align-items:flex-start}.tut-row>:first-child{flex:1}.tut-you{display:flex;justify-content:flex-end}.tut-bubble.you{max-width:85%;padding:10px 14px;border-radius:18px 18px 4px;background:var(--md-primary);color:var(--md-on-primary);white-space:pre-wrap;overflow-wrap:anywhere}.tut-fb{display:flex;gap:8px;align-items:flex-start;padding:10px 14px;border-radius:var(--md-shape-lg)}.tut-fb.ok{background:var(--md-primary-container);color:var(--md-on-primary-container)}.tut-fb.bad{background:color-mix(in srgb,#eda100 18%,var(--md-surface))}.tut-fb .md-icon{flex:none;margin-top:1px}.tut-editor{width:100%;box-sizing:border-box;font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;padding:12px;border-radius:var(--md-shape-md);border:1px solid var(--md-outline-variant);background:#1e1e2e;color:#e6e6f0;resize:vertical;-moz-tab-size:4;tab-size:4}.tut-code,.tut-out{margin:6px 0 0;padding:10px 12px;border-radius:var(--md-shape-md);font:12px/1.45 ui-monospace,Menlo,Consolas,monospace;white-space:pre-wrap;overflow-x:auto;max-height:260px}.tut-code{background:color-mix(in srgb,#000 25%,transparent)}.tut-out{background:var(--md-surface-container-highest);color:var(--md-on-surface)}.tut-thinking{display:flex;align-items:center;gap:10px;padding:6px 2px}.dots{display:inline-flex;gap:4px}.dots i{width:7px;height:7px;border-radius:50%;background:var(--md-tertiary);animation:dot 1.2s infinite ease-in-out}.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}@keyframes dot{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.tut-err,.tut-done-hint,.tut-result{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.tut-foot{position:fixed;left:0;right:0;bottom:calc(92px + env(safe-area-inset-bottom));display:flex;justify-content:center;pointer-events:none;z-index:20}.tut-foot>*{pointer-events:auto;box-shadow:var(--md-elev-2)}@media (min-width: 840px){.tut-foot{bottom:24px;left:88px}}@media (prefers-reduced-motion: reduce){.tut-orb,.dots i{animation:none}}.ftasks{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.ftask{display:flex;align-items:center;gap:8px;padding:4px 2px}.ftask .md-icon{color:var(--md-primary);flex:none}.ftask.done span{text-decoration:line-through;color:var(--md-on-surface-variant)}.tut-quote{margin:0;padding:8px 12px;border-left:3px solid var(--md-tertiary);background:color-mix(in srgb,var(--md-tertiary) 8%,transparent);border-radius:0 var(--md-shape-md) var(--md-shape-md) 0;font-style:italic;display:flex;flex-direction:column;gap:2px}.tut-quote .label-s{font-style:normal;color:var(--md-tertiary)}.classes-card{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.cls{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:var(--md-shape-md);background:var(--md-surface-container-low)}.cls-time{width:46px;flex:none;font-size:13px;font-weight:600;line-height:1.25}.cls-body{flex:1;min-width:0;display:flex;flex-direction:column}.cls-body b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cls-state{flex:none}.cls-now{box-shadow:inset 3px 0 0 var(--md-primary);background:var(--md-primary-container);color:var(--md-on-primary-container)}.cls-done{opacity:.65}.cls-over .cls-state{color:#b26a00}.agenda-item.class,.agenda-item.class .md-icon{color:var(--md-tertiary)}.week-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin:8px 0}.wg-day{display:flex;flex-direction:column;gap:4px;padding:8px;border-radius:var(--md-shape-md);background:var(--md-surface-container)}.wg-c{display:flex;flex-direction:column;font-size:12px;padding:4px 6px;border-radius:6px;background:var(--md-surface-container-highest)}.wg-c .tnum{font-weight:600}@font-face{font-family:Fusion Pixel;src:url(/fonts/fusion-pixel-12-zh.woff2) format("woff2");font-display:swap}@font-face{font-family:Pixelify Sans;src:url(/fonts/pixelify-sans.woff2) format("woff2");font-weight:400 700;font-display:swap}:root[data-px]{--px-b: 3px;--px-font: "Fusion Pixel", "Noto Sans SC", ui-monospace, monospace;--px-display: "Pixelify Sans", "Fusion Pixel", "Noto Sans SC", monospace;--md-font: var(--px-font);--md-font-zh: var(--px-font);--md-font-mono: "Fusion Pixel", ui-monospace, monospace;--md-shape-xs: 0px;--md-shape-sm: 0px;--md-shape-md: 0px;--md-shape-lg: 0px;--md-shape-lg-inc: 0px;--md-shape-xl: 0px;--md-shape-xl-inc: 0px;--md-shape-full: 0px;--a0x-btn-radius: 0px;--a0x-btn-radius-hover: 0px;--a0x-btn-radius-press: 0px;--a0x-card-radius: 0px;--a0x-card-radius-hover: 0px;--a0x-card-radius-press: 0px;--a0x-morph: 0s linear;--md-elev-1: none;--md-elev-2: none;--md-elev-3: none;--px-line: 0 calc(-1 * var(--px-b)) 0 0 var(--px-ink), 0 var(--px-b) 0 0 var(--px-ink), calc(-1 * var(--px-b)) 0 0 0 var(--px-ink), var(--px-b) 0 0 0 var(--px-ink);--px-line2: 0 -2px 0 0 var(--px-ink), 0 2px 0 0 var(--px-ink), -2px 0 0 0 var(--px-ink), 2px 0 0 0 var(--px-ink);--px-shadow: 0 calc(var(--px-b) + 4px) 0 0 var(--px-drop);--px-cur: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' shape-rendering='crispEdges'%3E%3Cpath d='M1 1h2v2h2v2h2v2h2v2h2v2h2v2H9v2h2v2H9v2H7v-2H5v-2H3v2H1z' fill='%233a2546'/%3E%3Cpath d='M3 3v12h2v-2h2v2h2v-2h2v-2H9V9H7V7H5V5H3z' fill='%23fff'/%3E%3C/svg%3E") 1 1, auto;--px-cur-hand: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' shape-rendering='crispEdges'%3E%3Cpath d='M7 1h4v6h6v2h2v2h2v8h-2v2H7v-2H5v-2H3v-2H1v-4h4V1z' fill='%233a2546'/%3E%3Cpath d='M9 3v10H7v-2H3v2h2v2h2v2h2v2h8v-2h2v-6h-2v-2h-2v2h-2V9h-2V3z' fill='%23fff'/%3E%3C/svg%3E") 8 2, pointer}[data-px] body{font-family:var(--px-font);background:var(--md-surface);color:var(--md-on-surface);letter-spacing:0;-webkit-font-smoothing:none;font-smooth:never;text-rendering:optimizeSpeed}[data-px] body,[data-px] button,[data-px] input,[data-px] textarea,[data-px] select{font-family:var(--px-font);letter-spacing:0}@media (hover: hover) and (pointer: fine){[data-px] body{cursor:var(--px-cur)}[data-px] button,[data-px] a,[data-px] [role=button],[data-px] .md-interactive,[data-px] label.proof-shot,[data-px] select,[data-px] summary{cursor:var(--px-cur-hand)}}[data-px] ::selection{background:var(--px-coral);color:#fff}[data-px] *:focus-visible{outline:3px dashed var(--px-coral)!important;outline-offset:3px}[data-px] ::-webkit-scrollbar{width:12px;height:12px}[data-px] ::-webkit-scrollbar-track{background:var(--md-surface-container-high)}[data-px] ::-webkit-scrollbar-thumb{background:var(--md-on-surface-variant);border:3px solid var(--md-surface-container-high)}[data-px] .display-l{font:700 48px/1.15 var(--px-display);letter-spacing:0}[data-px] .display-m{font:700 40px/1.15 var(--px-display);letter-spacing:0}[data-px] .display-s{font:700 32px/1.2 var(--px-display);letter-spacing:0}[data-px] .headline-l{font:700 32px/1.25 var(--px-display);letter-spacing:0}[data-px] .headline-m{font:700 28px/1.25 var(--px-display);letter-spacing:0}[data-px] .headline-s{font:600 24px/1.3 var(--px-display);letter-spacing:0}[data-px] .title-l{font-size:24px;line-height:1.35;font-weight:400;letter-spacing:0}[data-px] .title-m,[data-px] .title-s{font-size:16px;line-height:1.5;font-weight:400;letter-spacing:0}[data-px] .body-l{font-size:16px;line-height:1.75;letter-spacing:0}[data-px] .body-m{font-size:16px;line-height:1.65;letter-spacing:0}[data-px] .body-s{font-size:12px;line-height:1.6;letter-spacing:0}[data-px] .label-l{font-size:16px;line-height:1.5;font-weight:400;letter-spacing:0}[data-px] .label-m,[data-px] .label-s{font-size:12px;line-height:1.5;font-weight:400;letter-spacing:0}[data-px] b,[data-px] strong,[data-px] h1,[data-px] h2,[data-px] h3{font-weight:400}[data-px] b,[data-px] strong{color:var(--md-on-surface)}[data-px] .hint-zh{font-family:var(--px-font);font-size:12px;color:var(--md-on-surface-variant)}[data-px] .muted,[data-px] .md-item .txt .sup{color:var(--md-on-surface-variant)}[data-px] .tnum{font-variant-numeric:normal}[data-px] .px-shell{min-height:100dvh}[data-px] .px-main{min-width:0}[data-px] .px-shell.side .px-main{margin-left:232px}[data-px] .shell-main{padding:16px 16px calc(112px + env(safe-area-inset-bottom));max-width:880px;margin:0 auto}[data-px] .shell.wide .shell-main{margin:0 auto;padding:28px 40px 56px;max-width:960px}[data-px] .shell.wide .shell-main:not(.bleed)>div{max-width:none}[data-px] .page{padding-top:4px}[data-px] .px-page{min-height:40vh}.px-sky{position:relative;height:156px;overflow:hidden;background:var(--md-surface-container-highest);box-shadow:0 var(--px-b) 0 0 var(--px-ink);margin-bottom:var(--px-b);isolation:isolate}.px-sky.compact{height:64px}.px-shell.side .px-sky{height:176px}.px-shell.side .px-sky.compact{height:64px}.px-sky-cv{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;image-rendering:pixelated;z-index:-1}.px-sky-in{position:relative;height:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:max(14px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left))}.px-sky.compact .px-sky-in{align-items:center;padding-top:max(8px,env(safe-area-inset-top));padding-bottom:8px}.px-sky-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.px-sky-title{margin:0;font:700 clamp(26px,7.5vw,36px)/1.05 var(--px-display);color:#fff;letter-spacing:0;text-wrap:balance;text-shadow:-2px 0 0 var(--px-sky-ink, #3a2546),2px 0 0 var(--px-sky-ink, #3a2546),0 -2px 0 var(--px-sky-ink, #3a2546),0 2px 0 var(--px-sky-ink, #3a2546),-2px -2px 0 var(--px-sky-ink, #3a2546),2px -2px 0 var(--px-sky-ink, #3a2546),-2px 2px 0 var(--px-sky-ink, #3a2546),2px 2px 0 var(--px-sky-ink, #3a2546),4px 4px 0 var(--px-sky-ink, #3a2546);animation:px-drop .36s steps(4) both}.px-sky.compact .px-sky-title{font-size:22px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.px-sky-sub{font:16px/1.4 var(--px-font);color:#fff;text-shadow:2px 2px 0 var(--px-sky-ink, #3a2546);animation:px-drop .36s .08s steps(4) both}.px-sky.ph-night{--px-sky-ink: #120b24}.px-sky.ph-day{--px-sky-ink: #23315c}.px-sky.ph-dawn{--px-sky-ink: #2f2a55}.px-sky-act{display:flex;gap:8px;flex:none}.px-skybtn{width:32px;height:32px;display:grid;place-items:center;border:none;padding:0;background:#fff4e3e6;color:#3a2546;--pi-fill: #ff7a59;--pi-hi: #fff;box-shadow:0 -2px #3a2546,0 2px #3a2546,-2px 0 #3a2546,2px 0 #3a2546}.px-skybtn:active{transform:translateY(2px)}@keyframes px-drop{0%{transform:translateY(-10px);opacity:0}to{transform:none;opacity:1}}.px-bar{position:fixed;z-index:30;left:0;right:0;bottom:0;display:flex;justify-content:space-around;gap:2px;padding:6px max(6px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));background:var(--px-paper);box-shadow:0 calc(-1 * var(--px-b)) 0 0 var(--px-ink),0 -9px 0 0 var(--px-drop)}.px-navi{position:relative;flex:1;max-width:88px;min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 0 2px;border:none;background:none;color:var(--px-ink);font:12px/1.2 var(--px-font);--pi-fill: var(--md-outline-variant);--pi-hi: var(--px-paper);isolation:isolate}[data-px=night] .px-navi{color:var(--md-on-surface-variant)}.px-navi span{white-space:nowrap;color:var(--md-on-surface-variant)}.px-navi .px-icon{transition:transform .12s steps(2)}.px-navi.on{--pi-fill: var(--px-coral);--pi-hi: #fff;color:var(--px-ink)}[data-px=night] .px-navi.on{color:#0f0a1a}.px-navi.on span{color:var(--md-on-surface)}.px-navi.on .px-icon{transform:translateY(-3px);animation:px-hop .5s steps(3)}.px-navi:active .px-icon{transform:translateY(1px)}.px-navi-ind{position:absolute;z-index:-1;left:50%;top:2px;width:44px;height:36px;margin-left:-22px;background:var(--md-secondary-container);box-shadow:var(--px-line2)}@keyframes px-hop{0%{transform:translateY(0)}50%{transform:translateY(-7px)}to{transform:translateY(-3px)}}.px-side{position:fixed;z-index:30;left:0;top:0;bottom:0;width:232px;padding:18px 14px;display:flex;flex-direction:column;gap:6px;overflow-y:auto;background:var(--px-paper);box-shadow:var(--px-b) 0 0 0 var(--px-ink)}.px-side-hd{display:flex;align-items:center;gap:10px;padding:4px 6px 18px;color:var(--px-ink);--pi-fill: var(--px-gold);--pi-hi: #fff}[data-px=night] .px-side-hd{color:#0f0a1a}.px-side-hd b{display:block;font:700 24px/1 var(--px-display);color:var(--md-on-surface)}.px-side-hd span{font-size:12px;color:var(--md-on-surface-variant)}.px-navi.row{flex:none;max-width:none;flex-direction:row;justify-content:flex-start;gap:12px;padding:8px 10px;text-align:left}.px-navi.row .px-icon{flex:none}.px-navi.row:hover{background:var(--md-surface-container-high)}.px-navi.row.on{background:var(--md-secondary-container);box-shadow:var(--px-line2)}.px-navi.row.on .px-icon{transform:none;animation:px-hop2 .5s steps(3)}@keyframes px-hop2{50%{transform:translateY(-5px)}}.px-side-l{display:flex;flex-direction:column;min-width:0}.px-side-l b{font-size:16px;color:var(--md-on-surface);white-space:nowrap}.px-side-l small{font-size:12px;color:var(--md-on-surface-variant);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.px-side-cur{margin-left:auto;color:var(--px-coral);animation:px-blink 1s steps(1) infinite}@keyframes px-blink{50%{opacity:0}}[data-px] .md-card{border-radius:0;background:var(--px-paper);box-shadow:var(--px-line),var(--px-shadow);margin:var(--px-b) var(--px-b) calc(var(--px-b) + 10px)}[data-px] .md-card.filled,[data-px] .md-card.elevated{background:var(--px-paper)}[data-px] .md-card.tonal{background:var(--md-secondary-container);color:var(--md-on-secondary-container)}[data-px] .md-card.outlined{background:transparent;box-shadow:none;outline:3px dashed var(--md-outline-variant);outline-offset:-3px;margin:0 0 12px}[data-px] .md-card.md-interactive:hover{transform:translateY(-2px);box-shadow:var(--px-line),0 calc(var(--px-b) + 6px) 0 0 var(--px-drop)}[data-px] .md-card.md-interactive:active{transform:translateY(2px);box-shadow:var(--px-line),0 var(--px-b) 0 0 var(--px-drop)}[data-px] .md-ripple{display:none}[data-px] .md-interactive:before{border-radius:0}[data-px] .subj-grid{gap:18px 16px}[data-px] .subj-grid .md-card,[data-px] .rep-grid .md-card,[data-px] .tiles .md-card{margin-bottom:4px}[data-px] .subj-card{border-top:none;box-shadow:var(--px-line),var(--px-shadow),inset 0 6px 0 0 var(--subj);padding-top:18px}[data-px] .subj-dot{border-radius:0;box-shadow:0 0 0 2px var(--px-ink)}[data-px] .page>*,[data-px] .lab>*{animation:px-in .3s steps(3) both}[data-px] .page>:nth-child(2){animation-delay:.04s}[data-px] .page>:nth-child(3){animation-delay:.08s}[data-px] .page>:nth-child(4){animation-delay:.12s}[data-px] .page>:nth-child(5){animation-delay:.16s}[data-px] .page>:nth-child(6){animation-delay:.2s}[data-px] .page>:nth-child(n+7){animation-delay:.24s}@keyframes px-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}[data-px] .md-btn{border-radius:0;height:44px;padding:0 18px;font:16px/1 var(--px-font);letter-spacing:0;gap:8px;margin:var(--px-b);transition:transform .08s steps(1),box-shadow .08s steps(1)}[data-px] .md-btn.lg{height:52px;padding:0 22px;font-size:16px}[data-px] .md-btn.has-icon{padding-left:14px}[data-px] .md-btn.filled{background:var(--px-coral);color:#fff;text-shadow:2px 2px 0 rgba(58,37,70,.45);box-shadow:var(--px-line),inset 0 -4px #00000029,inset 0 3px #ffffff47,0 7px 0 0 var(--px-drop)}[data-px=night] .md-btn.filled{color:#2a0f06;text-shadow:1px 1px 0 rgba(255,255,255,.25)}[data-px] .md-btn.tonal{background:var(--md-secondary-container);color:var(--md-on-secondary-container);box-shadow:var(--px-line),inset 0 -4px #00000014,0 7px 0 0 var(--px-drop)}[data-px] .md-btn.outlined,[data-px] .md-btn.elevated{background:var(--px-paper);color:var(--md-on-surface);box-shadow:var(--px-line),0 7px 0 0 var(--px-drop)}[data-px] .md-btn.danger{background:var(--md-error);color:var(--md-on-error);box-shadow:var(--px-line),inset 0 -4px #0000002e,0 7px 0 0 var(--px-drop)}[data-px] .md-btn.text{color:var(--md-primary);margin:0;padding:0 10px;height:40px}[data-px=dusk] .md-btn.text{color:#c4452a}[data-px] .md-btn.text:hover{background:transparent;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:5px}@media (hover: hover){[data-px] .md-btn:hover{border-radius:0}[data-px] .md-btn.filled:hover,[data-px] .md-btn.tonal:hover,[data-px] .md-btn.danger:hover,[data-px] .md-btn.outlined:hover{transform:translateY(-2px)}}[data-px] .md-btn:not(.text):active{transform:translateY(4px)!important;box-shadow:var(--px-line)!important}[data-px] .md-btn[disabled]{opacity:.5;filter:grayscale(.6)}[data-px] .md-btn.full{width:calc(100% - 2 * var(--px-b))}[data-px] .md-iconbtn{border-radius:0}[data-px] .md-iconbtn:hover{background:var(--md-surface-container-high);border-radius:0}[data-px] .md-fab{border-radius:0;height:56px;background:var(--px-coral);color:#fff;font:16px var(--px-font);box-shadow:var(--px-line),inset 0 -4px #00000029,0 8px 0 0 var(--px-drop);text-shadow:2px 2px 0 rgba(58,37,70,.45)}[data-px] .md-fab:active{transform:translateY(4px);box-shadow:var(--px-line);border-radius:0}[data-px] .md-chip{border-radius:0;height:36px;padding:0 12px;font-size:16px;margin:2px;background:var(--px-paper);color:var(--md-on-surface);box-shadow:var(--px-line2),0 4px 0 0 var(--px-drop)}[data-px] .md-chip.selected{background:var(--md-secondary-container);color:var(--md-on-secondary-container);box-shadow:var(--px-line2),inset 0 -3px #0000001a;transform:translateY(2px);padding-left:8px}@media (hover: hover){[data-px] .md-chip:hover{border-radius:0;background:var(--md-surface-container-high)}[data-px] .md-chip.selected:hover{background:var(--md-secondary-container)}}[data-px] .md-seg{border-radius:0;box-shadow:var(--px-line2);overflow:visible;margin:2px;background:var(--px-paper)}[data-px] .md-seg button{height:38px;font-size:16px;border-radius:0}[data-px] .md-seg button+button{box-shadow:-2px 0 0 var(--px-ink)}[data-px] .md-seg button.on{background:var(--px-coral);color:#fff;text-shadow:1px 1px 0 rgba(58,37,70,.45)}[data-px=night] .md-seg button.on{color:#2a0f06;text-shadow:none}[data-px] .md-switch{border-radius:0;box-shadow:var(--px-line2);background:var(--md-surface-container-highest)}[data-px] .md-switch.on{background:var(--px-mint);box-shadow:var(--px-line2)}[data-px] .md-switch .thumb{border-radius:0!important;background:var(--px-ink);color:var(--px-paper)}[data-px] .md-switch.on .thumb{background:#fff;color:var(--px-ink)}[data-px] .md-field{margin:2px}[data-px] .md-box{border-radius:0;overflow:visible;box-shadow:var(--px-line2);background:var(--md-surface-container-lowest)}[data-px] .md-box:after{display:none}[data-px] .md-field input,[data-px] .md-field textarea{border-radius:0;background:transparent;font:16px/1.6 var(--px-font);caret-color:var(--px-coral)}[data-px] .md-field label{font-size:16px;right:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-px] .field-label{margin:12px 4px 4px;font-size:12px;font-weight:400}[data-px] .md-field.float label{transform:translateY(-11px) scale(.75)}[data-px] .md-field .md-bar{left:0;right:0;height:3px;background:var(--px-coral);border-radius:0;transition:transform .15s steps(3)}[data-px] .md-field.focus .md-box{box-shadow:0 -2px 0 0 var(--px-coral),0 2px 0 0 var(--px-coral),-2px 0 0 0 var(--px-coral),2px 0 0 0 var(--px-coral)}[data-px] .md-field.focus label{color:#c4452a}[data-px=night] .md-field.focus label{color:var(--px-coral)}[data-px] .date-field{border-radius:0;box-shadow:var(--px-line2);border:none;background:var(--md-surface-container-lowest);margin:2px}[data-px] select,[data-px] .md-item{border-radius:0}[data-px] .md-item.md-interactive:hover{background:var(--md-surface-container-high)}[data-px] .md-divider{height:0;background:none;border-top:3px dashed var(--md-outline-variant)}[data-px] .md-scrim{background:var(--md-scrim)}[data-px] .md-dialog,[data-px] .md-modal{border-radius:0;background:var(--px-paper);box-shadow:var(--px-line),0 10px #00000040}[data-px] .md-dialog{padding:0 20px 18px}[data-px] .md-dialog:before,[data-px] .md-modal:before,[data-px] .md-sheet:before,[data-px] .md-sidesheet:before{content:"";display:block;height:12px;flex:none;margin:0 -20px 16px;background:linear-gradient(90deg,transparent 10px,#fff 10px 16px,transparent 16px 20px,#fff 20px 26px,transparent 26px 30px,#fff 30px 36px,transparent 36px) no-repeat,var(--px-coral);box-shadow:0 3px 0 0 var(--px-ink)}[data-px] .md-modal:before,[data-px] .md-sidesheet:before{margin:0 0 4px}[data-px] .md-dialog .icon{color:var(--px-coral)}[data-px] .md-dialog h2{font:700 24px/1.3 var(--px-display);color:var(--md-on-surface)}[data-px] .md-dialog .body-m.muted{color:var(--md-on-surface)}[data-px] .md-dialog .actions{gap:4px;flex-wrap:wrap}[data-px] .md-sheet{border-radius:0;background:var(--px-paper);box-shadow:0 calc(-1 * var(--px-b)) 0 0 var(--px-ink);padding-top:0}[data-px] .md-sheet:before{margin:0 -16px;position:sticky;top:0;z-index:2}[data-px] .md-sheet .handle{width:40px;height:6px;border-radius:0;background:var(--px-ink);opacity:.35;margin:12px auto 8px}[data-px] .md-sheet .title-l,[data-px] .md-sheet-head .title-l{font:700 22px/1.3 var(--px-display)}[data-px] .md-sidesheet{border-radius:0;background:var(--px-paper);box-shadow:calc(-1 * var(--px-b)) 0 0 0 var(--px-ink)}[data-px] .md-snackbar{border-radius:0;background:var(--md-inverse-surface);color:var(--md-inverse-on-surface);box-shadow:0 -3px 0 0 var(--px-coral),0 3px 0 0 var(--px-coral),-3px 0 0 0 var(--px-coral),3px 0 0 0 var(--px-coral),0 9px #00000040;font-size:16px}[data-px] .md-snackbar .md-btn.text{color:var(--md-inverse-primary)}[data-px] .md-badge{border-radius:0}[data-px] .md-circular{animation:px-spin 1s steps(8) infinite;shape-rendering:crispEdges;color:var(--px-coral)}[data-px] .md-circular circle{animation:none;stroke-dasharray:9 7.3!important;stroke-linecap:butt;stroke-dashoffset:0}@keyframes px-spin{to{transform:rotate(360deg)}}[data-px] .md-linear{height:12px;border-radius:0;background:var(--px-track);box-shadow:var(--px-line2);margin:2px}[data-px] .md-linear>i{border-radius:0;background:repeating-linear-gradient(90deg,var(--px-mint) 0 10px,var(--px-mint2) 10px 12px)}[data-px] .a0x-skel{border-radius:0;background:repeating-linear-gradient(90deg,var(--md-surface-container-high) 0 12px,var(--md-surface-container) 12px 24px);background-size:48px 100%;animation:px-skel .8s steps(4) infinite;box-shadow:var(--px-line2);margin:2px}@keyframes px-skel{to{background-position:48px 0}}[data-px] .dots i{border-radius:0;background:var(--px-coral);animation:px-dot 1s steps(2) infinite}@keyframes px-dot{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}[data-px] .material-dot{border-radius:0;background:var(--px-coral);animation:px-blink 1s steps(1) infinite;box-shadow:none}[data-px] .today-head{margin:4px 2px 18px}[data-px] .ring-in b{color:var(--md-on-surface)}[data-px] .ring-in>*{line-height:1.1}[data-px] .ring-in .label-s{font-size:12px}[data-px] .disc-card.open,[data-px] .disc-card.met{box-shadow:var(--px-line),var(--px-shadow),inset 6px 0 0 var(--md-error);padding-left:22px}[data-px] .disc-card.met{box-shadow:var(--px-line),var(--px-shadow),inset 6px 0 0 var(--px-mint)}[data-px] .disc-deds,[data-px] .cls,[data-px] .wg-day,[data-px] .wg-c,[data-px] .note,[data-px] .q-ans,[data-px] .hist-i,[data-px] .agenda-item,[data-px] .agenda-day,[data-px] .tut-hist-i{border-radius:0}[data-px] .disc-deds{background:var(--md-surface-container-high);box-shadow:var(--px-line2);margin:2px}[data-px] .debt-w,[data-px] .badge,[data-px] .sug-tag{border-radius:0;box-shadow:var(--px-line2);margin:2px}[data-px] .debt-card.owing{outline-color:var(--md-error);background:color-mix(in srgb,var(--md-error) 8%,transparent)}[data-px] .cls{background:var(--md-surface-container-high);box-shadow:var(--px-line2);margin:2px}[data-px] .cls-now{box-shadow:var(--px-line2),inset 6px 0 0 var(--px-coral);background:var(--md-primary-container)}[data-px] .ftask .md-icon{color:var(--px-mint2)}[data-px] .subj-bar,[data-px] .cat-bar{height:12px;border-radius:0;background:var(--px-track);box-shadow:var(--px-line2);margin:2px}[data-px] .subj-bar i,[data-px] .cat-bar i{border-radius:0;background:repeating-linear-gradient(90deg,var(--subj, var(--px-mint)) 0 10px,color-mix(in srgb,var(--subj, var(--px-mint)) 75%,#000) 10px 12px);transition:width .6s steps(8)}[data-px] .exam-row b.soon{color:var(--md-error);animation:px-blink 1.2s steps(1) infinite}[data-px] .foot-links a,[data-px] .link,[data-px] .help-list a,[data-px] .link-btn,[data-px] .agenda-add{color:#c4452a}[data-px=night] .foot-links a,[data-px=night] .link,[data-px=night] .help-list a,[data-px=night] .link-btn,[data-px=night] .agenda-add{color:var(--px-coral)}[data-px] .empty-card{border-radius:0;box-shadow:var(--px-line2);margin:2px 2px 12px;background:var(--md-surface-container)}[data-px] .agenda{gap:6px}[data-px] .agenda-day.today{background:var(--md-secondary-container);box-shadow:var(--px-line2);margin:2px}[data-px] .agenda-item{background:var(--px-paper);box-shadow:var(--px-line2);margin:2px}[data-px] .agenda-item.planned{border:none;box-shadow:none;outline:2px dashed var(--md-on-surface-variant);outline-offset:-2px;background:transparent}[data-px] .agenda-item.exam{background:var(--md-error-container)}[data-px] .room-clock{font:700 56px/1 var(--px-display);letter-spacing:2px;color:var(--md-on-surface)}[data-px] .room-ring .ring{filter:drop-shadow(0 6px 0 var(--px-drop))}[data-px] .room-notes{width:calc(100% - 6px)}[data-px] .tile .display-s{font-size:32px;color:var(--md-on-surface)}[data-px] .chart svg{shape-rendering:crispEdges}[data-px] .chart .axis{font-family:var(--px-font);font-size:12px}[data-px] .chart .grid{stroke-dasharray:3 3}[data-px] .tip{border-radius:0;box-shadow:var(--px-line2);font-size:12px}[data-px] .data-table th,[data-px] .data-table td{border-bottom:2px dashed var(--md-outline-variant)}[data-px] .rep-warn{background:var(--md-error-container)}[data-px] .hist-i{background:var(--px-paper);box-shadow:var(--px-line2);margin:2px}[data-px] .hist-i.on{background:var(--md-secondary-container)}[data-px] .q-score{border-radius:0;box-shadow:var(--px-line2)}[data-px] .q-ans{box-shadow:var(--px-line2);margin:2px}[data-px] .badge.on_track,[data-px] .badge.ahead,[data-px] .q-score.ok{background:var(--md-tertiary-container);color:var(--md-on-tertiary-container)}[data-px] .exam-card{border-left:none;box-shadow:var(--px-line),var(--px-shadow),inset 6px 0 0 var(--md-outline-variant);padding-left:22px}[data-px] .exam-card.behind{box-shadow:var(--px-line),var(--px-shadow),inset 6px 0 0 var(--md-error)}[data-px] .exam-card.on_track,[data-px] .exam-card.ahead{box-shadow:var(--px-line),var(--px-shadow),inset 6px 0 0 var(--px-mint)}[data-px] .swatch{border-radius:0;box-shadow:var(--px-line2)}[data-px] .swatch.on{box-shadow:0 0 0 3px var(--px-paper),0 0 0 6px var(--px-ink);transform:translateY(-2px)}[data-px] .note{background:var(--md-surface-container-high);box-shadow:var(--px-line2);margin:2px}[data-px] .fab-slot{bottom:calc(96px + env(safe-area-inset-bottom))}[data-px] .proof-shot{border-radius:0;border:none;outline:3px dashed var(--md-on-surface-variant);outline-offset:-3px}[data-px] .proof-shot.ok{outline:3px solid var(--px-mint2);color:var(--md-on-surface)}[data-px] .proof-result{border-radius:0;box-shadow:var(--px-line2);margin:2px}[data-px] .proof-result.passed{background:var(--md-tertiary-container);color:var(--md-on-tertiary-container)}[data-px] .tut-orb{width:64px;height:64px;border-radius:0;background:var(--px-paper2);box-shadow:var(--px-line2);animation:none}[data-px] .tut-orb .pixel{animation:px-bob 1.6s steps(2) infinite}[data-px] .tut-orb.sm{width:40px;height:40px}@keyframes px-bob{50%{transform:translateY(-3px)}}[data-px] .tut-hist{gap:10px}[data-px] .tut-hist-i{background:var(--px-paper);box-shadow:var(--px-line2),0 5px 0 0 var(--px-drop);margin:2px}[data-px] .tut-hist-i:hover{background:var(--md-surface-container-high);transform:translate(3px)}[data-px] .tut-bar{background:var(--md-surface);box-shadow:0 3px 0 0 var(--md-outline-variant)}[data-px] .tut-explain p,[data-px] .tut-check p{line-height:1.75}[data-px] .tut-analogy{border-radius:0;background:color-mix(in srgb,var(--px-gold) 22%,var(--px-paper));box-shadow:var(--px-line2);margin:2px}[data-px] .tut-analogy .md-icon{color:#b26a00}[data-px] .tut-svg{border-radius:0;box-shadow:var(--px-line2)}[data-px] .tut-check.open{box-shadow:var(--px-line),var(--px-shadow),0 0 0 0 transparent;outline:3px dashed var(--px-coral);outline-offset:4px}[data-px] .tut-check-h{color:#c4452a}[data-px=night] .tut-check-h{color:var(--px-coral)}[data-px] .tut-opts{gap:10px}[data-px] .tut-opt{border-radius:0;border:none;background:var(--md-surface-container-lowest);box-shadow:var(--px-line2),0 4px 0 0 var(--px-drop);margin:2px;font-size:16px;line-height:1.5;transition:transform .08s steps(1)}[data-px] .tut-opt:not(:disabled):hover{background:var(--md-secondary-container);transform:translate(3px)}[data-px] .tut-opt:not(:disabled):active{transform:translateY(3px);box-shadow:var(--px-line2)}[data-px] .tut-opt b{border-radius:0;background:var(--md-on-surface);color:var(--md-surface);font-size:12px;width:24px;height:24px}[data-px] .tut-opt.sel b{background:var(--px-coral);color:#fff}[data-px] .tut-opt.sel{background:var(--md-secondary-container)}[data-px] .tut-opt.ok{background:var(--md-tertiary-container)!important;color:var(--md-on-tertiary-container)}[data-px] .tut-opt.ok b{background:var(--px-mint2);color:#fff}[data-px] .tut-opt.bad{background:var(--md-error-container)!important;color:var(--md-on-error-container);animation:px-shake .3s steps(4)}@keyframes px-shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}[data-px] .tut-bubble.you{border-radius:0;background:var(--px-coral);color:#fff;box-shadow:var(--px-line2);text-shadow:1px 1px 0 rgba(58,37,70,.4);margin:2px}[data-px] .tut-fb{border-radius:0;box-shadow:var(--px-line2);margin:2px}[data-px] .tut-fb.ok{background:var(--md-tertiary-container);color:var(--md-on-tertiary-container)}[data-px] .tut-fb.bad{background:color-mix(in srgb,var(--px-gold) 25%,var(--px-paper))}[data-px] .tut-editor,[data-px] .tut-code,[data-px] .tut-out{border-radius:0;font:16px/1.5 var(--px-font);box-shadow:var(--px-line2);border:none;margin:2px}[data-px] .tut-editor{background:#241a33;color:#ffe9cc;caret-color:var(--px-coral)}[data-px] .tut-code{background:#241a33;color:#ffe9cc}[data-px] .tut-out{background:var(--md-surface-container-highest)}[data-px] .tut-quote{border-radius:0;border-left:6px solid var(--px-plum);background:color-mix(in srgb,var(--px-plum) 10%,transparent);font-style:normal}[data-px] .tut-quote .label-s{color:var(--md-secondary)}[data-px] .tut-foot{bottom:calc(96px + env(safe-area-inset-bottom))}[data-px] .tut-foot>*{box-shadow:var(--px-line),0 8px 0 0 var(--px-drop)}@media (min-width: 840px){[data-px] .tut-foot{bottom:24px;left:232px}}.px-burst{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:300;image-rendering:pixelated}@media (prefers-reduced-motion: reduce){.px-sky-title,.px-sky-sub,[data-px] .page>*,[data-px] .lab>*,.px-navi.on .px-icon,.px-side-cur,[data-px] .tut-orb .pixel,[data-px] .exam-row b.soon,[data-px] .material-dot{animation:none!important}}[data-px] .px-tools{margin-top:4px}.lab{padding-bottom:32px;display:flex;flex-direction:column;gap:16px}.lab>*{margin:0}.px-box{background:var(--px-paper);box-shadow:var(--px-line),var(--px-shadow);padding:12px 14px;margin:var(--px-b) var(--px-b) 7px}.px-font{font-family:var(--px-display)}.pixel{image-rendering:pixelated;display:block;flex:none}.bob{animation:px-bob 1.6s steps(2) infinite}.lab-hud{display:flex;gap:12px;align-items:center}.lab-ava{flex:none;display:grid;place-items:center;width:60px;height:60px;background:var(--px-paper2);box-shadow:var(--px-line2);margin:2px}.lab-ava .pixel{animation:px-bob 1.8s steps(2) infinite}.lab-hud-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.lab-hud-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}.lab-hud-row b{font:700 20px/1.1 var(--px-display);color:var(--md-on-surface)}.lab-hud-row span{font-size:12px;color:var(--md-on-surface-variant)}.lab-xp{height:12px;background:var(--px-track);box-shadow:var(--px-line2);position:relative;margin:2px;overflow:hidden}.lab-xp.sm{height:8px}.lab-xp i{position:absolute;inset:0 auto 0 0;background:repeating-linear-gradient(90deg,var(--px-mint) 0 10px,var(--px-mint2) 10px 12px);animation:lab-fill .9s steps(9) both}.lab-xp i:after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:#ffffff59}@keyframes lab-fill{0%{width:0}}.lab-chips{display:flex;gap:6px;flex-wrap:wrap}.lab-chips span{font-size:12px;background:var(--px-paper2);color:var(--md-secondary);padding:2px 8px;box-shadow:0 2px 0 0 var(--md-outline-variant)}.lab-mentor{display:flex;align-items:flex-end;gap:12px}.lab-mentor>.pixel{margin-bottom:6px}.lab-bub{position:relative;flex:1;min-width:0;line-height:1.65;padding:10px 12px}.lab-bub:before{content:"";position:absolute;left:-12px;bottom:12px;width:6px;height:6px;background:var(--px-ink);box-shadow:3px 0 0 var(--px-ink),-3px 3px 0 var(--px-ink),0 3px 0 var(--px-ink)}.tw-caret{animation:px-blink 1s steps(1) infinite;font-style:normal;color:var(--px-coral)}.lab-card{display:flex;flex-direction:column;gap:12px}.lab-card .chip-row{margin:0}.lab-gen{flex-direction:row;align-items:center;gap:14px}.lab-passage{padding:10px 12px;background:var(--md-surface-container-lowest);box-shadow:inset 6px 0 0 var(--px-plum),var(--px-line2);max-height:34vh;overflow:auto;line-height:1.75;margin:2px}.lab-story{display:flex;gap:12px;align-items:flex-start}.lab-story-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.lab-story p{margin:4px 0 0;line-height:1.75}.lab-ep-title{font:700 22px/1.2 var(--px-display);color:var(--md-on-surface);text-wrap:balance}.lab-loot{flex:none;width:84px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;text-align:center;font-size:12px;line-height:1.3;color:var(--md-on-surface-variant);background:repeating-conic-gradient(var(--px-paper2) 0 25%,var(--px-paper) 0 50%) 0 0 / 8px 8px;box-shadow:var(--px-line2);margin:2px}.lab-loot .pixel{animation:lab-float 2s steps(4) infinite}@keyframes lab-float{50%{transform:translateY(-4px)}}.lab-list{padding:12px 12px 4px;display:flex;flex-direction:column}.lab-lh{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font:600 18px/1.3 var(--px-display);color:var(--md-on-surface);margin-bottom:6px}.lab-lh span:last-child{font:12px var(--px-font);color:var(--md-on-surface-variant)}.lab-it{display:grid;grid-template-columns:22px 1fr auto;gap:12px;align-items:center;padding:11px 8px;text-align:left;color:inherit;font:inherit;background:none;border:none;border-top:3px dashed var(--md-outline-variant);position:relative;transition:background-color .1s steps(1)}.lab-lh+.lab-it{border-top:none}.lab-it:hover{background:color-mix(in srgb,var(--md-secondary-container) 55%,transparent)}.lab-box{width:18px;height:18px;display:grid;place-items:center;background:var(--md-surface-container-lowest);box-shadow:var(--px-line2);margin:2px;font-size:12px;color:var(--md-on-surface)}.lab-it.done .lab-box{background:var(--px-mint)}.lab-it.done .lab-box:empty:after{content:"";width:7px;height:3px;border-left:3px solid #fff;border-bottom:3px solid #fff;transform:rotate(-45deg) translate(1px,-1px)}.lab-it.locked .lab-box{background:none;box-shadow:none}[data-px=night] .lab-it.locked .lab-box .pixel,[data-px=night] .lab-box .pixel{filter:brightness(2.4) saturate(.6)}.lab-it-t{min-width:0;display:flex;flex-direction:column;gap:2px}.lab-it-t b{font-size:16px;line-height:1.35;color:var(--md-on-surface)}.lab-it-t small{font-size:12px;color:var(--md-on-surface-variant);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lab-it.done b{text-decoration:line-through;text-decoration-thickness:2px;text-decoration-color:color-mix(in srgb,var(--md-on-surface) 40%,transparent);color:var(--md-on-surface-variant)}.lab-t{font:12px var(--px-font);color:var(--md-secondary);background:var(--px-paper2);padding:2px 6px}.lab-it.now{background:color-mix(in srgb,var(--px-coral) 16%,transparent)}.lab-it.now .lab-box{background:var(--px-coral);animation:lab-pulse 1.2s steps(2) infinite}.lab-it.now:before{content:"▶";position:absolute;left:-16px;top:50%;margin-top:-9px;font-size:12px;color:var(--px-coral);animation:lab-point .6s steps(2) infinite}@keyframes lab-pulse{50%{box-shadow:0 -2px 0 0 var(--px-coral),0 2px 0 0 var(--px-coral),-2px 0 0 0 var(--px-coral),2px 0 0 0 var(--px-coral)}}@keyframes lab-point{50%{transform:translate(3px)}}.lab-it.doing:not(.now) .lab-box{background:var(--px-gold)}.lab-it.locked{opacity:.55}.lab-cta{display:flex;justify-content:space-between;align-items:center;gap:10px;width:calc(100% - 6px);margin:3px 3px 10px;padding:14px 16px;border:none;text-align:left;background:var(--px-coral);color:#fff;font:600 18px/1.3 var(--px-display);text-shadow:2px 2px 0 rgba(58,37,70,.5);box-shadow:var(--px-line),inset 0 -5px #00000029,inset 0 3px #ffffff40,0 8px 0 0 var(--px-drop);transition:transform .06s steps(1)}[data-px=night] .lab-cta{color:#2a0f06;text-shadow:1px 1px 0 rgba(255,255,255,.3)}.lab-cta span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lab-cta span:last-child{flex:none;animation:lab-point .6s steps(2) infinite}.lab-cta:hover{transform:translateY(-2px)}.lab-cta:active{transform:translateY(5px);box-shadow:var(--px-line)}.lab-cta:disabled{opacity:.7}.lab-win{display:flex;gap:14px;align-items:center;background:color-mix(in srgb,var(--px-gold) 30%,var(--px-paper))}.lab-win-star{color:var(--px-ink);--pi-fill: var(--px-gold);--pi-hi: #fff;animation:lab-spin 2.4s steps(8) infinite}@keyframes lab-spin{0%,to{transform:scale(1)}50%{transform:scale(1.15) rotate(8deg)}}.lab-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.lab-night{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.px-chip{font:16px var(--px-font);padding:7px 12px;margin:2px;border:none;background:var(--md-surface-container-lowest);color:var(--md-on-surface);box-shadow:var(--px-line2),0 4px 0 0 var(--px-drop);transition:transform .06s steps(1)}.px-chip:hover{background:var(--md-surface-container-high)}.px-chip.on{background:var(--px-coral);color:#fff;text-shadow:1px 1px 0 rgba(58,37,70,.45);transform:translateY(3px);box-shadow:var(--px-line2)}[data-px=night] .px-chip.on{color:#2a0f06;text-shadow:none}.px-select{font:16px var(--px-font);border:none;padding:6px 8px;margin:2px;background:var(--md-surface-container-lowest);color:var(--md-on-surface);box-shadow:var(--px-line2)}.lab-tree{display:flex;flex-direction:column;gap:12px}.lab-tree-hd{display:flex;align-items:center;gap:10px;border:none;background:none;font:inherit;color:var(--px-ink);padding:0;width:100%;text-align:left;--pi-fill: var(--px-gold);--pi-hi: #fff}[data-px=night] .lab-tree-hd{color:#0f0a1a}.lab-tree-hd b{flex:1;font:600 18px/1.3 var(--px-display);color:var(--md-on-surface)}.lab-tree-hd .label-s{color:var(--md-on-surface-variant)}.lab-tree-arrow{color:var(--md-on-surface-variant);font-size:12px;transition:transform .12s steps(2)}.lab-tree-arrow.on{transform:rotate(180deg)}.lab-ch{display:flex;flex-direction:column;gap:8px}.lab-ch>.label-l{color:var(--md-secondary)}.lab-ch-nodes{display:flex;flex-wrap:wrap;gap:8px}.lab-sk{position:relative;overflow:hidden;font-size:12px;padding:4px 9px;margin:2px;background:var(--md-surface-container-highest);color:var(--md-on-surface);box-shadow:var(--px-line2);isolation:isolate}.lab-sk i{position:absolute;inset:0 auto 0 0;z-index:-1;background:color-mix(in srgb,var(--px-mint) 55%,transparent)}.lab-sk.l{opacity:.45}.lab-sk.m{background:var(--px-mint);color:#0f3a2b;box-shadow:var(--px-line2),inset 0 -3px #0000001f}.lab-sk.m:after{content:"★";margin-left:4px;color:var(--px-gold);text-shadow:1px 1px 0 var(--px-ink)}.lab-block{gap:14px}.lab-read-hd{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:space-between}.lab-read-hd .title-m{font:700 20px/1.3 var(--px-display)}.lab-tts{display:flex;gap:6px;align-items:center}.lab-para{line-height:2.3;margin:0}.lab-w{cursor:pointer;position:relative}.lab-w:hover{background:color-mix(in srgb,var(--px-coral) 18%,transparent)}.lab-w.hard{text-decoration:underline dotted var(--px-coral);text-decoration-thickness:3px;text-underline-offset:5px}.lab-gloss{position:absolute;left:0;top:-1.1em;font-size:12px;line-height:1;white-space:nowrap;color:#c4452a;pointer-events:none}[data-px=night] .lab-gloss{color:var(--px-coral)}.lab-pplay{border:none;background:none;color:#c4452a;padding:2px 4px;vertical-align:middle}[data-px=night] .lab-pplay{color:var(--px-coral)}.lab-def{position:sticky;bottom:8px;z-index:3;display:flex;flex-direction:column;gap:4px;padding:10px 40px 10px 12px;background:var(--px-paper)}.lab-def b{font:700 20px/1.2 var(--px-display)}.lab-def-x{position:absolute;right:6px;top:6px;border:none;background:none;color:var(--md-on-surface-variant)}.lab-q{display:flex;flex-direction:column;gap:6px}.lab-card-flip{display:flex;flex-direction:column;gap:10px;align-items:center;text-align:center;background:var(--md-surface-container-lowest);padding:18px 14px}.lab-card-flip .tut-opts{width:100%;text-align:left}.lab-vword{font:700 32px/1.2 var(--px-display);margin-top:6px;color:var(--md-on-surface)}.lab-rec{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.lab-fb{display:flex;flex-direction:column;gap:10px}.lab-fb>.px-font{font-size:28px;font-weight:700;color:var(--px-coral);text-shadow:2px 2px 0 var(--px-ink)}.lab-fix s{color:var(--md-error)}.px-bubble{position:relative;background:var(--md-surface-container-lowest);color:var(--md-on-surface);padding:10px 12px;box-shadow:var(--px-line2);margin:2px;line-height:1.65}@media (prefers-reduced-motion: reduce){.bob,.lab-ava .pixel,.lab-loot .pixel,.lab-it.now .lab-box,.lab-it.now:before,.lab-cta span:last-child,.lab-win-star,.lab-xp i,.tw-caret{animation:none!important}}.game{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;font-family:var(--px-font);color:var(--px-ink);user-select:none;-webkit-user-select:none;touch-action:none}.game-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(#4b3470,#8e4a82 35%,#da7275 62%,#f8b578)}.game.ph-dawn .game-bg{background:linear-gradient(#2f3b6e,#7b6299 35%,#e19b9e 65%,#fddcb0)}.game.ph-day .game-bg{background:linear-gradient(#3b86d1,#5fa5e1 40%,#93c5ee,#cfe6f6)}.game.ph-night .game-bg{background:linear-gradient(#0d0820,#1a1134 45%,#2c1c4a 75%,#43295f)}.game-bg .stars{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(1px 1px at 12% 18%,#fff 99%,transparent),radial-gradient(1px 1px at 34% 8%,#c9b8ff 99%,transparent),radial-gradient(2px 2px at 58% 22%,#fff 99%,transparent),radial-gradient(1px 1px at 76% 12%,#fff 99%,transparent),radial-gradient(1px 1px at 88% 30%,#c9b8ff 99%,transparent),radial-gradient(1px 1px at 22% 40%,#fff 99%,transparent),radial-gradient(2px 2px at 92% 6%,#fff 99%,transparent),radial-gradient(1px 1px at 6% 52%,#c9b8ff 99%,transparent);animation:px-blink 3s steps(1) infinite;opacity:.9}.game-host{position:absolute;top:0;right:0;bottom:0;left:0}.town-cv{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;image-rendering:pixelated;touch-action:none}.game-labels{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.town-label{position:absolute;left:0;top:0;white-space:nowrap;font:12px/1 var(--px-font);color:#fff;padding:3px 6px;background:#3a2546c7;box-shadow:0 2px #00000040;will-change:transform}.town-label.npc{background:#ff7a59e6}.town-label.lock{background:#ffffffd9;color:#3a2546}.town-arrow{position:absolute;left:0;top:0;display:none;font-size:22px;color:#ffc94a;text-shadow:2px 2px 0 #3a2546,-2px 0 0 #3a2546,0 -2px 0 #3a2546;animation:px-blink .8s steps(1) infinite}.game .pxf,.hud-me,.hud-stat,.hud-btn,.hud-quest,.hud-day,.ctl-rot,.ctl-a,.gw,.dlg{box-shadow:0 -3px #3a2546,0 3px #3a2546,-3px 0 #3a2546,3px 0 #3a2546,0 7px #00000047}.hud-l{position:absolute;left:max(12px,env(safe-area-inset-left));top:max(12px,env(safe-area-inset-top));display:flex;gap:8px;align-items:stretch;z-index:5}.hud-me{width:52px;height:52px;padding:0;border:none;background:#ffe9cc;display:grid;place-items:center}.hud-me img{width:30px;image-rendering:pixelated}.hud-stat{background:#fff4e3;padding:6px 10px;display:flex;flex-direction:column;gap:3px;min-width:128px}.hud-stat b{font:700 15px/1.1 var(--px-display);color:#3a2546}.hud-stat small{font-size:12px;color:#7a5f86}.hud-xp{height:8px;background:#f1d9bd;box-shadow:0 0 0 2px #3a2546;margin:2px;position:relative}.hud-xp i{position:absolute;inset:0 auto 0 0;background:repeating-linear-gradient(90deg,#4fbf98 0,#4fbf98 6px,#3fae87 6px,#3fae87 8px)}.hud-r{position:absolute;right:max(12px,env(safe-area-inset-right));top:max(12px,env(safe-area-inset-top));display:flex;gap:10px;z-index:5}.hud-btn{width:44px;height:44px;border:none;background:#fff4e3;font-size:20px;display:grid;place-items:center}.hud-btn:active,.ctl-rot:active,.ctl-a:active,.hud-quest:active{transform:translateY(3px)}.hud-quest{position:absolute;left:max(12px,env(safe-area-inset-left));top:calc(max(12px,env(safe-area-inset-top)) + 66px);z-index:5;max-width:min(78vw,360px);display:flex;flex-direction:column;gap:2px;text-align:left;border:none;padding:7px 10px;background:#3a2546e6;color:#fff;font:inherit;box-shadow:0 -3px #ffc94a,0 3px #ffc94a,-3px 0 #ffc94a,3px 0 #ffc94a,0 7px #00000047}.hud-qh{font-size:12px;color:#ffc94a}.hud-qh em{font-style:normal;color:#ffd9de}.hud-qh em.ok{color:#6fe0b8}.hud-qh em.warn{color:#ff7b8f;animation:px-blink 1s steps(1) infinite}.hud-qt{font-size:15px;line-height:1.4}.hud-qgo{font-size:12px;color:#c9b8ff;animation:px-blink 1.4s steps(1) infinite}.hud-day{position:absolute;right:max(12px,env(safe-area-inset-right));top:calc(max(12px,env(safe-area-inset-top)) + 58px);z-index:4;font-size:12px;padding:4px 8px;background:#fff4e3;color:#3a2546}.hud-day.ok{background:#c9f0df;color:#0f4a36}.hud-day.warn{background:#ffd9de;color:#5c1020;animation:px-blink 1s steps(1) infinite}.hud-err{position:absolute;left:50%;top:40%;transform:translate(-50%);background:#ffd9de;padding:8px 12px;z-index:6}.game-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;gap:12px;color:#fff;text-shadow:2px 2px 0 #3a2546;z-index:7}.ctl-r{position:absolute;right:max(14px,env(safe-area-inset-right));bottom:calc(max(16px,env(safe-area-inset-bottom)) + 4px);display:flex;flex-direction:column;gap:12px;align-items:flex-end;z-index:5}.ctl-rots{display:flex;gap:10px}.town-label.me{background:none;color:#fff;text-shadow:2px 2px 0 #3a2546,-1px -1px 0 #3a2546;font-size:12px}.ctl-rot{width:44px;height:44px;border:none;background:#fff4e3;font-size:22px;color:#3a2546}.ctl-a{display:flex;align-items:center;gap:8px;height:56px;padding:0 14px 0 8px;border:none;background:#ff7a59;color:#fff;font:15px var(--px-font);text-shadow:1px 1px 0 rgba(58,37,70,.5);animation:ctl-pop .3s steps(3)}.ctl-a b{width:38px;height:38px;display:grid;place-items:center;background:#fff;color:#ff7a59;font:700 20px var(--px-display);text-shadow:none;box-shadow:0 0 0 3px #3a2546;border-radius:50%}@keyframes ctl-pop{0%{transform:translateY(16px);opacity:0}}.joy{position:absolute;left:max(18px,env(safe-area-inset-left));bottom:calc(max(18px,env(safe-area-inset-bottom)) + 4px);width:108px;height:108px;border-radius:50%;z-index:5;touch-action:none;background:#fff4e359;box-shadow:inset 0 0 0 3px #3a254699;display:grid;place-items:center}.joy i{width:46px;height:46px;border-radius:50%;background:#fff4e3;box-shadow:0 0 0 3px #3a2546,0 4px #0000004d;pointer-events:none}.dlg-wrap{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:flex-end;justify-content:center;padding:0 max(12px,env(safe-area-inset-right)) calc(max(14px,env(safe-area-inset-bottom)) + 4px) max(12px,env(safe-area-inset-left));background:linear-gradient(transparent 55%,#1a113059)}.dlg{position:relative;width:min(100%,640px);min-height:118px;background:#fff4e3;padding:18px 16px 16px 92px;animation:dlg-in .22s steps(3)}.dlg.sys{padding-left:16px;background:#2a1d3a;color:#ffe9cc;box-shadow:0 -3px #ffc94a,0 3px #ffc94a,-3px 0 #ffc94a,3px 0 #ffc94a,0 7px #00000047;font-style:normal}.dlg.sys .dlg-zh{color:#c9b8ff}.dlg.glitch{animation:dlg-in .22s steps(3),dlg-glitch 2.2s steps(1) infinite}@keyframes dlg-in{0%{transform:translateY(24px);opacity:0}}@keyframes dlg-glitch{0%,92%,to{transform:none}93%{transform:translate(-4px)}95%{transform:translate(3px)}}.dlg-nm{position:absolute;left:88px;top:-16px;background:#ff7a59;color:#fff;padding:2px 10px;font-size:14px;box-shadow:0 0 0 3px #3a2546}.dlg-por{position:absolute;left:14px;top:18px;width:64px;height:64px;background:#ffe9cc;box-shadow:0 0 0 3px #3a2546;display:grid;place-items:center;overflow:hidden}.dlg-por img{width:44px;image-rendering:pixelated;animation:px-bob 1.2s steps(2) infinite}.dlg-t{font-size:16px;line-height:1.65;min-height:3.2em}.dlg-zh{display:block;font-size:13px;color:#7a5f86;margin-top:4px}.dlg-nx{position:absolute;right:12px;bottom:6px;color:#ff7a59;animation:px-blink 1s steps(1) infinite}.dlg-ch{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.dlg-ch button{font:15px var(--px-font);padding:8px 14px;border:none;background:#fff;color:#3a2546;box-shadow:0 -2px #3a2546,0 2px #3a2546,-2px 0 #3a2546,2px 0 #3a2546,0 5px #0003}.dlg-ch button:first-child{background:#ff7a59;color:#fff;text-shadow:1px 1px 0 rgba(58,37,70,.5)}.dlg-ch button:hover{transform:translateY(-2px)}.dlg-ch button:active{transform:translateY(3px)}.tcard{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;background:#0d0820d1;animation:tc-bg 3.2s steps(8) both}@keyframes tc-bg{0%{background:#0d082000}15%,80%{background:#0d0820d1}to{background:#0d082080}}.tcard-in{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:0 20px}.tcard-in span{font:700 18px var(--px-display);color:#ffc94a;letter-spacing:4px;animation:tc-in .5s steps(4) both}.tcard-in b{font:700 clamp(30px,9vw,52px)/1.1 var(--px-display);color:#fff;text-shadow:4px 4px 0 #ff7a59,-2px 0 0 #3a2546,2px 0 0 #3a2546,0 2px 0 #3a2546,0 -2px 0 #3a2546;animation:tc-in .5s .25s steps(4) both;text-wrap:balance}.tcard-in i{font-style:normal;color:#c9b8ff;animation:tc-in .5s .5s steps(4) both}@keyframes tc-in{0%{transform:scale(1.6);opacity:0}}.gw-scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:25;background:#1a11308c;display:grid;place-items:center;padding:max(12px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.gw{position:relative;width:min(100%,680px);max-height:100%;display:flex;flex-direction:column;background:var(--px-paper);color:var(--md-on-surface);animation:dlg-in .22s steps(3);user-select:text;-webkit-user-select:text;touch-action:auto}.gw.small{width:min(100%,360px)}.gw-bar{display:flex;align-items:center;gap:10px;padding:10px 12px 10px 14px;background:#ff7a59;color:#fff;box-shadow:0 3px #3a2546;flex:none}.gw-bar b{flex:1;min-width:0;font:700 18px/1.25 var(--px-display);text-shadow:2px 2px 0 rgba(58,37,70,.45);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gw-x{width:34px;height:34px;border:none;background:#fff4e3;color:#3a2546;font-size:16px;box-shadow:0 0 0 3px #3a2546;flex:none}.gw-body{padding:16px 14px 20px;overflow-y:auto;overscroll-behavior:contain}.gw-body.center{display:grid;justify-items:center;gap:10px;text-align:center}.gw-col{display:flex;flex-direction:column;gap:14px}.gw-cta{display:flex;justify-content:center;align-items:center;gap:8px;padding:13px 16px;margin:3px;border:none;text-decoration:none;text-align:center;background:#ff7a59;color:#fff;font:600 17px/1.3 var(--px-display);text-shadow:2px 2px 0 rgba(58,37,70,.45);box-shadow:0 -3px #3a2546,0 3px #3a2546,-3px 0 #3a2546,3px 0 #3a2546,inset 0 -4px #00000026,0 7px #0003}.gw-cta:active{transform:translateY(4px)}.gw-cta:disabled{opacity:.6}.menu-b{padding:14px;display:flex;flex-direction:column;gap:10px}.menu-b button{text-align:left;font:16px var(--px-font);padding:12px 14px;border:none;background:var(--md-surface-container-lowest);color:var(--md-on-surface);box-shadow:0 -2px #3a2546,0 2px #3a2546,-2px 0 #3a2546,2px 0 #3a2546;margin:2px}.menu-tip{font-size:12px;color:var(--md-on-surface-variant);line-height:1.6;margin:4px 2px 0}.qb-ep{display:flex;flex-direction:column;gap:4px;padding:12px;background:#2a1d3a;color:#ffe9cc;box-shadow:0 0 0 3px #3a2546;margin:3px}.qb-ep span{font-size:12px;color:#ffc94a}.qb-ep b{font:700 22px/1.2 var(--px-display);color:#fff}.qb-ep p{margin:2px 0 0;font-size:14px;line-height:1.6;color:#e8dcf5}.qb-list{display:flex;flex-direction:column}.qb-it{display:grid;grid-template-columns:24px 1fr auto;gap:10px;align-items:center;padding:10px 6px;border-top:3px dashed var(--md-outline-variant)}.qb-it:first-child{border-top:none}.qb-box{width:20px;height:20px;display:grid;place-items:center;font-size:12px;background:var(--md-surface-container-lowest);box-shadow:0 0 0 2px #3a2546;color:#3a2546}.qb-it.done .qb-box{background:#4fbf98;color:#fff}.qb-it.now .qb-box{background:#ff7a59;color:#fff;animation:px-blink 1s steps(1) infinite}.qb-t{display:flex;flex-direction:column;min-width:0}.qb-t b{font-size:16px}.qb-t small{font-size:12px;color:var(--md-on-surface-variant)}.qb-it.done b{text-decoration:line-through;color:var(--md-on-surface-variant)}.qb-go{border:none;background:#ff7a59;color:#fff;font:13px var(--px-font);padding:6px 10px;box-shadow:0 0 0 2px #3a2546}.qb-note{font-size:12px;color:var(--md-on-surface-variant);line-height:1.6;padding:8px 10px;background:var(--md-surface-container-high)}.lab-office{display:flex;gap:12px;align-items:center}.lab-office p{margin:0;font-size:14px;line-height:1.6}.lab-por{flex:none;width:60px;height:60px;display:grid;place-items:center;background:#ffe9cc;box-shadow:0 0 0 3px #3a2546}.lab-por img{width:40px;image-rendering:pixelated}.lab-loot-row{display:flex;gap:10px;align-items:center;font-size:14px}.lab-loot-row img{width:48px;image-rendering:pixelated}.replan{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--md-surface-container-high)}.dorm-mirror{font:16px var(--px-font);padding:12px;border:none;background:var(--md-secondary-container);color:var(--md-on-secondary-container);box-shadow:0 -2px #3a2546,0 2px #3a2546,-2px 0 #3a2546,2px 0 #3a2546;margin:2px}.nlm-sign{font-size:14px;padding:10px 12px;background:var(--md-surface-container-high);box-shadow:inset 6px 0 0 var(--md-outline-variant)}.nlm-sign.ok{box-shadow:inset 6px 0 #4fbf98}.nlm-sign.bad{box-shadow:inset 6px 0 #d9485f}.gw.cr{width:min(100%,460px)}.cr-body{padding:14px;display:flex;flex-direction:column;gap:12px;overflow-y:auto}.cr-stage{align-self:center;width:150px;height:170px;display:grid;place-items:center;position:relative;cursor:pointer;background:repeating-conic-gradient(#ffe9cc 0,#ffe9cc 25%,#fff4e3 0,#fff4e3 50%) 0 0 / 16px 16px;box-shadow:0 0 0 3px #3a2546}.cr-img{width:96px;image-rendering:pixelated;animation:px-bob 1.4s steps(2) infinite}.cr-turn{position:absolute;bottom:4px;font-size:12px;color:#7a5f86}.cr-intro{margin:0;font-size:14px;line-height:1.6}.cr-row{display:grid;grid-template-columns:48px 1fr;gap:10px;align-items:center}.cr-row>span{font-size:14px}.cr-sw{display:flex;flex-wrap:wrap;gap:8px}.cr-c{width:30px;height:30px;border:none;padding:0;box-shadow:0 0 0 2px #3a2546;margin:2px}.cr-c.on{box-shadow:0 0 0 3px #fff4e3,0 0 0 6px #ff7a59;transform:translateY(-2px)}.cr-t{font:14px var(--px-font);padding:6px 10px;border:none;background:var(--md-surface-container-lowest);color:#3a2546;box-shadow:0 0 0 2px #3a2546;margin:2px}.cr-t.on{background:#ff7a59;color:#fff}.cr-acts{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-top:4px}.cr-rand{font:15px var(--px-font);padding:10px 14px;border:none;background:var(--md-secondary-container);color:var(--md-on-secondary-container);box-shadow:0 0 0 3px #3a2546}.gw.clear{width:min(100%,420px);padding:22px 18px;align-items:center;text-align:center;gap:12px;background:#2a1d3a;color:#ffe9cc}.clear-t{font:700 36px/1.1 var(--px-display);color:#ffc94a;text-shadow:4px 4px 0 #ff7a59;animation:tc-in .5s steps(4) both}.clear-s{color:#c9b8ff}.clear-rw{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.clear-rw span{background:#3a2a52;padding:4px 10px;box-shadow:0 0 0 2px #ffc94a;font-size:14px}.clear-loot{display:flex;flex-direction:column;align-items:center;gap:4px}.clear-loot img{width:72px;image-rendering:pixelated;animation:lab-float 2s steps(4) infinite}.clear-area{color:#6fe0b8}.clear-next{font-size:12px;color:#c9b8ff}.bt{position:absolute;top:0;right:0;bottom:0;left:0;z-index:28;display:flex;flex-direction:column;background:#1a1130;color:#ffe9cc;touch-action:auto}.bt.shake{animation:bt-shake .35s steps(5)}.bt.flash:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#ff3c5a40;pointer-events:none;animation:px-blink .3s steps(1) 2}@keyframes bt-shake{20%{transform:translate(-6px,2px)}40%{transform:translate(5px,-3px)}60%{transform:translate(-4px,1px)}80%{transform:translate(3px)}}.bt-scene{position:relative;flex:1;min-height:46%;overflow:hidden}.bt-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;image-rendering:pixelated}.bt-mon{position:absolute;left:50%;top:22%;width:min(46vw,230px);transform:translate(-30%);image-rendering:pixelated;filter:drop-shadow(0 8px 0 rgba(0,0,0,.35));animation:px-bob 1s steps(2) infinite}.bt-mon.boss{width:min(58vw,300px);top:16%}.bt-mon.enter{animation:bt-enter .8s steps(6) both}@keyframes bt-enter{0%{transform:translate(120%)}to{transform:translate(-30%)}}.bt-mon.hit{animation:bt-hit .5s steps(5)}@keyframes bt-hit{0%,40%,80%{filter:brightness(3) drop-shadow(0 8px 0 rgba(0,0,0,.35));transform:translate(-26%)}20%,60%,to{filter:none;transform:translate(-34%)}}.bt-mon.atk{animation:bt-atk .6s steps(4)}@keyframes bt-atk{50%{transform:translate(-80%,30%) scale(1.15)}}.bt-mon.dead{animation:bt-dead 1s steps(8) forwards}@keyframes bt-dead{30%{filter:brightness(4)}to{transform:translate(-30%) scale(1.4,.1);opacity:0}}.bt-me{position:absolute;left:10%;bottom:4%;width:min(26vw,120px);image-rendering:pixelated;filter:drop-shadow(0 6px 0 rgba(0,0,0,.35))}.bt-me.atk{animation:bt-lunge .5s steps(4)}@keyframes bt-lunge{50%{transform:translate(60%,-30%)}}.bt-me.hit{animation:bt-shake .35s steps(5);filter:brightness(2) sepia(1) hue-rotate(-40deg)}.bt-slash{position:absolute;left:50%;top:30%;width:120px;height:120px;margin-left:-20px;background:linear-gradient(135deg,transparent 44%,#fff 45% 55%,transparent 56%);animation:bt-slash .35s steps(3) forwards}@keyframes bt-slash{0%{transform:scale(.3);opacity:1}to{transform:scale(1.3);opacity:0}}.bt-enemy-ui,.bt-me-ui{position:absolute;background:#fff4e3;color:#3a2546;padding:6px 10px;min-width:150px;box-shadow:0 -3px #3a2546,0 3px #3a2546,-3px 0 #3a2546,3px 0 #3a2546;display:flex;flex-direction:column;gap:2px}.bt-enemy-ui{left:max(12px,env(safe-area-inset-left));top:max(14px,env(safe-area-inset-top))}.bt-me-ui{right:max(12px,env(safe-area-inset-right));bottom:10px}.bt-enemy-ui b,.bt-me-ui b{font:700 15px var(--px-display)}.bt-enemy-ui span,.bt-enemy-ui small,.bt-me-ui small{font-size:12px;color:#7a5f86}.bt-hp{height:10px;background:#3a2546;position:relative;margin-top:2px}.bt-hp i{position:absolute;inset:2px auto 2px 2px;max-width:calc(100% - 4px);background:#d9485f;transition:width .4s steps(6)}.bt-hp.me i{background:#4fbf98}.bt-fx{position:absolute;left:52%;top:26%;font:700 28px var(--px-display);color:#fff;text-shadow:3px 3px 0 #3a2546;animation:bt-pop 1.1s steps(8) forwards;pointer-events:none}.bt-fx.crit{color:#ffc94a;font-size:32px}.bt-fx.hurt{left:18%;top:auto;bottom:30%;color:#ff5a7a}.bt-fx.skill{left:30%;top:50%;color:#6fe0b8;font-size:22px}@keyframes bt-pop{0%{transform:translateY(10px) scale(.6);opacity:0}20%{transform:translateY(-10px) scale(1.2);opacity:1}to{transform:translateY(-50px);opacity:0}}.bt-banner{position:absolute;left:0;right:0;top:46%;text-align:center;font:700 22px var(--px-display);color:#fff;text-shadow:3px 3px 0 #3a2546;background:#3a2546b3;padding:10px;animation:tc-in .4s steps(4) both}.bt-msg{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;gap:8px;text-align:center;padding:20px}.bt-msg b{font:700 24px var(--px-display)}.bt-panel{flex:none;background:#fff4e3;color:#3a2546;padding:14px max(14px,env(safe-area-inset-right)) calc(14px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));box-shadow:0 -4px #3a2546;display:flex;flex-direction:column;gap:12px;max-height:56%;overflow-y:auto}.bt-q{font-size:17px;line-height:1.55}.bt-qn{display:inline-block;background:#3a2546;color:#fff4e3;font-size:12px;padding:1px 6px;margin-right:8px;vertical-align:2px}.bt-say{border:none;background:none;font-size:16px}.bt-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media (max-width: 420px){.bt-opts{grid-template-columns:1fr}}.bt-opt{display:flex;gap:10px;align-items:center;text-align:left;padding:10px 12px;border:none;background:#fff;color:#3a2546;font:15px/1.4 var(--px-font);margin:2px;box-shadow:0 -2px #3a2546,0 2px #3a2546,-2px 0 #3a2546,2px 0 #3a2546,0 5px #0000002e}.bt-opt b{flex:none;width:24px;height:24px;display:grid;place-items:center;background:#3a2546;color:#fff4e3;font-size:12px}.bt-opt:not(:disabled):hover{background:#ecd9f2;transform:translate(3px)}.bt-opt:not(:disabled):active{transform:translateY(3px)}.bt-opt.ok{background:#c9f0df}.bt-opt.ok b{background:#2f9e7a}.bt-opt.bad{background:#ffd9de;animation:px-shake .3s steps(4)}.bt-opt.gone{visibility:hidden}.bt-acts{display:flex;justify-content:space-between;gap:10px}.bt-skill{font:14px var(--px-font);padding:8px 12px;border:none;background:#7a4f8f;color:#fff;box-shadow:0 0 0 2px #3a2546}.bt-skill:disabled{opacity:.45}.bt-run{font:14px var(--px-font);padding:8px 12px;border:none;background:none;color:#7a5f86;text-decoration:underline dotted}.bt-end{display:flex;flex-direction:column;gap:10px;align-items:center;text-align:center}.bt-title{font:700 34px var(--px-display);color:#ff7a59;text-shadow:3px 3px 0 #3a2546;animation:tc-in .5s steps(4) both}.bt-title.lose{color:#7a5f86}.bt-loot{display:flex;align-items:center;gap:10px}.bt-loot img{width:56px;image-rendering:pixelated;animation:lab-float 2s steps(4) infinite}.bt-big{width:100%;padding:13px;border:none;background:#ff7a59;color:#fff;font:600 18px var(--px-display);text-shadow:2px 2px 0 rgba(58,37,70,.45);box-shadow:0 -3px #3a2546,0 3px #3a2546,-3px 0 #3a2546,3px 0 #3a2546,inset 0 -4px #00000026}.px-shell.interior .px-sky{height:64px}.px-back{font:15px var(--px-font);padding:6px 12px;border:none;background:#fff4e3;color:#3a2546;box-shadow:0 -2px #3a2546,0 2px #3a2546,-2px 0 #3a2546,2px 0 #3a2546}.px-shell.interior .shell-main{padding-bottom:calc(40px + env(safe-area-inset-bottom))}.px-shell.interior .tut-foot{bottom:calc(20px + env(safe-area-inset-bottom));left:0}@media (prefers-reduced-motion: reduce){.game-bg .stars,.town-arrow,.hud-qgo,.hud-day.warn,.dlg,.dlg.glitch,.dlg-por img,.dlg-nx,.tcard,.tcard-in *,.cr-img,.bt-mon,.bt.shake,.bt-fx,.ctl-a,.clear-loot img,.bt-loot img{animation:none!important}}
