*,*:before,*:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;height:100%}body{font-family:var(--font);background:linear-gradient(168deg,var(--bg-page) 0%,var(--bg-page-2) 100%);background-attachment:fixed;color:var(--tx-1);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;transition:background var(--t-mid);overscroll-behavior:none}button{font-family:inherit;font-size:inherit;color:inherit;border:0;background:none;padding:0;cursor:pointer}ul{margin:0;padding:0;list-style:none}h3{margin:0}svg{display:block}.flex1{flex:1;min-width:0}.board-ic svg,.subj-ic svg,.panel-ic svg,.reward-ic svg,.navbtn svg,.btn svg,.cta svg,.badge svg,.undo svg,.tcard-reward svg,.slot-ph svg,.bring-box svg,.fix-ic svg,.preset-ic svg{width:100%;height:100%}.shell{height:100dvh;overflow:hidden;display:grid;grid-template-columns:var(--nav-w) minmax(0,1fr) var(--side-w);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"nav top top" "nav main side";gap:var(--gap);padding:var(--pad)}.sidenav{grid-area:nav;display:flex;flex-direction:column;align-items:center;gap:14px;background:var(--bg-panel);border-radius:var(--r-shell);padding:16px 10px;box-shadow:var(--sh-1)}.avatar{width:56px;height:56px;border-radius:18px;flex:0 0 56px;border:1.5px dashed var(--bd);background:var(--bg-board);display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--tx-3);transition:border-color var(--t-fast),transform var(--t-fast)}.avatar svg{width:24px;height:24px}.avatar img{width:100%;height:100%;object-fit:contain}.avatar:has(img){border-style:solid;border-color:transparent;background:transparent}.who{font-size:11px;color:var(--tx-2);text-align:center;max-width:76px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navlist{display:flex;flex-direction:column;gap:8px;width:100%;margin-top:2px}.navbtn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:62px;border-radius:18px;color:var(--tx-2);font-size:11px;transition:background var(--t-fast),color var(--t-fast),transform var(--t-fast)}.navbtn svg{width:23px;height:23px}.navbtn[aria-current=page]{background:var(--bg-board);color:var(--c-main-deep);font-weight:var(--fw-2);box-shadow:inset 0 0 0 1px var(--bd-soft)}.navbtn:active{transform:scale(.95)}.navfoot{margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:9px}.theme-btn{display:flex;align-items:center;justify-content:center;width:100%;padding:8px 4px;border-radius:12px;background:var(--bg-board);color:var(--tx-2);font-size:11.5px;font-weight:var(--fw-2);letter-spacing:.2px;white-space:nowrap;box-shadow:inset 0 0 0 1px var(--bd-soft);transition:transform var(--t-fast)}.theme-btn:active{transform:scale(.96)}.me-btn{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;padding:5px 3px 7px;border-radius:16px;transition:background var(--t-fast),transform var(--t-fast)}.me-btn:active{transform:scale(.96)}.me-btn:hover{background:var(--bg-board)}.me-btn:focus-visible{outline:2px solid var(--c-main);outline-offset:2px}.avatar-wrap{position:relative;flex:none;line-height:0}.me-sw{position:absolute;right:-3px;bottom:-3px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:var(--c-main);color:#fff;box-shadow:0 1px 3px #28203c4d;opacity:.9;transition:opacity var(--t-fast),transform var(--t-fast)}.me-sw svg{width:11px;height:11px;display:block}.me-btn:hover .me-sw,.me-btn:focus-visible .me-sw{opacity:1;transform:scale(1.08)}.topbar{grid-area:top;display:flex;align-items:center;gap:14px;background:var(--bg-panel);border-radius:var(--r-shell);padding:0 22px;min-height:66px;box-shadow:var(--sh-1)}.tb-title{font-size:19px;font-weight:var(--fw-2);white-space:nowrap}.tb-date{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--tx-2);white-space:nowrap}.tb-date svg{width:15px;height:15px}.tb-spacer{flex:1}.tb-chip{display:flex;align-items:center;gap:7px;background:var(--bg-board);border-radius:var(--r-pill);padding:9px 16px;font-size:13px;color:var(--c-main-deep);white-space:nowrap}.tb-chip svg{width:16px;height:16px}.tb-chip b{font-size:16px;font-weight:var(--fw-2)}.tb-chip.gold{background:var(--c-acc-soft);color:var(--c-acc-tx)}.tb-net{display:flex;align-items:center;gap:6px;border-radius:var(--r-pill);padding:8px 14px;font-size:12px;white-space:nowrap}.tb-net svg{width:15px;height:15px;flex:0 0 15px}.tb-net.ok{background:var(--c-done-soft);color:var(--c-done-tx)}.tb-net.busy{background:var(--c-main-soft);color:var(--c-main-deep)}.tb-net.bad{background:var(--c-warn-soft);color:var(--c-warn);font-weight:var(--fw-2)}.main,.side{min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:16px;scrollbar-width:thin}.main>*,.side>*{flex:0 0 auto}.stack>*{flex:0 0 auto}.main{grid-area:main}.side{grid-area:side}.main::-webkit-scrollbar,.side::-webkit-scrollbar{width:6px}.main::-webkit-scrollbar-thumb,.side::-webkit-scrollbar-thumb{background:var(--bd);border-radius:3px}.stack{display:flex;flex-direction:column;gap:10px}.board{background:linear-gradient(180deg,var(--bg-board) 0%,var(--bg-board-2) 100%);border-radius:var(--r-board);padding:16px 16px 18px;box-shadow:inset 0 1px #ffffff80}.board.alt{background:linear-gradient(180deg,var(--bg-board-2) 0%,var(--bg-board) 100%)}.board-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}.board-dot{width:9px;height:9px;border-radius:50%;flex:0 0 9px}.board-ic{width:30px;height:30px;border-radius:11px;flex:0 0 30px;background:var(--bg-panel);display:flex;align-items:center;justify-content:center;padding:7px;box-shadow:0 1px 3px #28203c17}.board-name{font-size:15px;font-weight:var(--fw-2)}.board-count{font-size:13px;color:var(--tx-2)}.board-count b{font-weight:var(--fw-2);color:var(--c-main-deep)}.board-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.board-foot{margin-top:13px;font-size:12px;color:var(--tx-2);display:flex;align-items:center;gap:8px}.tcard{position:relative;background:linear-gradient(180deg,#fff 0%,var(--bg-panel) 100%);border-radius:var(--r-card);padding:12px 13px 11px 16px;min-height:98px;display:flex;flex-direction:column;box-shadow:var(--sh-2);transition:box-shadow var(--t-fast),transform var(--t-fast),opacity var(--t-fast)}.tcard:before{content:"";position:absolute;left:6px;top:14px;bottom:14px;width:3px;border-radius:2px;background:var(--subj,var(--c-main))}.tcard.nobar:before{display:none}.tcard.tap{cursor:pointer}.tcard.tap:active{transform:scale(.976);box-shadow:var(--sh-1)}.tcard.done{opacity:.56}.tcard.done .tcard-title{text-decoration:line-through;text-decoration-thickness:1.5px}.tcard.locked{opacity:.5}.tcard-subj{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:var(--fw-2);color:var(--subj,var(--c-main));margin-bottom:5px;letter-spacing:.2px}.subj-ic{width:14px;height:14px;flex:0 0 14px;opacity:.9}.tcard-title-in{width:100%;font:inherit;color:inherit;background:transparent;border:0;border-bottom:1px dashed var(--bd);padding:0 0 2px}.tcard-title-in:focus{outline:none;border-bottom-color:var(--c-acc)}.tcard-skip{flex:0 0 auto;font-size:12px;color:var(--tx-3);padding:3px 8px;border-radius:var(--r-pill);background:var(--bg-board);border:1px solid var(--bd)}.tcard-skip:hover{color:var(--tx-1)}.tcard-title{font-size:14px;line-height:1.5;flex:1;padding-bottom:2px}.tcard-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;min-height:33px}.tcard-reward{display:flex;align-items:center;gap:3px;font-size:12px;font-weight:var(--fw-2);color:var(--c-main)}.tcard-reward svg{width:13px;height:13px}.tcard.done .tcard-reward{color:var(--tx-3)}.tcard-state{font-size:12px;color:var(--tx-2)}.reward-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:10px}.reward-note{font-size:11px;color:var(--tx-2);margin:6px 0 0;line-height:1.5}.tcard.locked .reward-note{color:var(--c-acc-tx)}.switch{position:relative;width:52px;height:31px;border-radius:16px;flex:0 0 52px;background:var(--bg-chip);box-shadow:inset 0 1px 3px #28203c1f,inset 0 0 0 1px #28203c0a;transition:background var(--t-mid),box-shadow var(--t-mid)}.switch:after{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:linear-gradient(180deg,#fff,#f4f2f8);box-shadow:0 2px 5px #28203c3d,0 0 0 .5px #28203c0d;transition:transform var(--t-mid)}.switch[aria-checked=true]{background:var(--c-done);box-shadow:inset 0 1px 3px #0000001a}.switch[aria-checked=true]:after{transform:translate(21px)}.switch:active:after{width:30px}.switch[aria-checked=true]:active:after{transform:translate(18px)}.slot{border-radius:var(--r-board);border:1.5px dashed var(--bd);background:var(--bg-board);display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--tx-3);text-align:center;width:100%;transition:border-color var(--t-fast),transform var(--t-fast)}.slot:has(img){border-style:solid;border-color:transparent;background:transparent}.slot:active{border-color:var(--c-main);transform:scale(.985)}.slot:has(img):active{transform:none;border-color:transparent}.slot img{width:100%;height:100%;object-fit:contain;display:block}.slot-hero{height:296px}.slot.layered{position:relative}.slot.layered img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}.slot.layered .lay-hand{transform-origin:50% 50%}:root[data-theme=magic] .slot-hero.layered .lay-hand{transform-origin:76% 85%}:root[data-theme=cloud] .slot-hero.layered .lay-hand{transform-origin:45% 73%}:root[data-theme=capybara] .slot-hero.layered .lay-hand{transform-origin:60% 24%}@keyframes hero-breathe{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.slot-hero:not(.layered){animation:hero-breathe 4.6s ease-in-out infinite}.slot-hero.layered{animation:hero-breathe 4.6s ease-in-out infinite}@keyframes hand-write{0%,to{transform:rotate(0)}50%{transform:rotate(-6deg)}}@keyframes bird-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes hero-nod{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(3px) rotate(-1.4deg)}}.slot-hero.layered.writing .lay-hand{animation:hand-write .36s ease-in-out 4}:root[data-theme=capybara] .slot-hero.layered.writing .lay-hand{animation:bird-bob .4s ease-in-out 4}.slot-hero.layered.writing{animation:none}.slot-hero:not(.layered).writing{animation:hero-nod .36s ease-in-out 4}@keyframes star-pop{0%{transform:scale(1)}40%{transform:scale(1.22)}to{transform:scale(1)}}.star-pop{animation:star-pop .42s cubic-bezier(.34,1.4,.64,1)}.slot-icon{width:46px;height:46px;border-radius:15px;flex:0 0 46px;border-width:1px;border-style:solid;background:var(--bg-board)}.slot-ph{width:22px;height:22px;opacity:.55;color:var(--c-main-deep)}.slot-hint b{display:block;font-size:13px;font-weight:var(--fw-2);color:var(--tx-1);margin-bottom:3px}.slot-hint span{font-size:11px;opacity:.85}.panel{background:linear-gradient(180deg,#fff 0%,var(--bg-panel) 100%);border-radius:var(--r-board);padding:16px;box-shadow:var(--sh-2)}.panel-k{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--tx-2);margin-bottom:6px}.panel-ic{width:14px;height:14px;flex:0 0 14px;color:var(--c-main)}.panel-v{font-size:30px;font-weight:var(--fw-2);line-height:1.1;letter-spacing:-.5px}.panel-v em{font-style:normal;font-size:14px;color:var(--tx-2);font-weight:var(--fw-1);letter-spacing:0}.steps{display:flex;gap:4px;margin-top:13px}.steps i{flex:1;height:8px;border-radius:4px;background:var(--bg-chip);box-shadow:inset 0 1px 2px #28203c12;transition:background var(--t-fast)}.steps i.on{background:linear-gradient(180deg,var(--c-main) 0%,var(--c-main-deep) 100%)}.badges{display:flex;gap:9px;flex-wrap:wrap;margin-top:2px}.badge{width:40px;height:40px;border-radius:14px;padding:10px;background:linear-gradient(180deg,var(--bg-board) 0%,var(--bg-chip) 100%);box-shadow:0 1px 3px #28203c12;color:var(--c-main-deep);display:flex;align-items:center;justify-content:center}.badge.off{background:transparent;box-shadow:none;border:1.5px dashed var(--bd);opacity:.5}.cta{display:flex;gap:11px;align-items:flex-start;background:linear-gradient(180deg,var(--c-acc-soft) 0%,var(--c-acc-soft) 100%);border-radius:var(--r-board);padding:15px 16px;font-size:13px;line-height:1.7;color:var(--c-acc-tx);box-shadow:inset 0 1px #ffffff73}.cta svg{width:18px;height:18px;flex:0 0 18px;margin-top:1px;opacity:.85}.cta b{font-weight:var(--fw-2)}.cta-ok{background:linear-gradient(180deg,var(--c-done-soft) 0%,var(--c-done-soft) 100%);color:var(--c-done)}.hint-list{font-size:12px;color:var(--tx-2);line-height:1.85}.hint-list>div+div{margin-top:7px}.hint-list b{color:var(--tx-1);font-weight:var(--fw-2)}.src-text{font-size:13px;line-height:1.8;white-space:pre-wrap;max-height:260px;overflow:auto}.num{width:88px;padding:9px;border-radius:12px;border:1px solid var(--bd);text-align:center;background:var(--bg-panel);color:var(--tx-1);box-shadow:inset 0 1px 2px #28203c0d}.slot-row{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:12px}.reward{display:flex;align-items:center;gap:12px;background:linear-gradient(180deg,#fff 0%,var(--bg-panel) 100%);border-radius:var(--r-card);padding:12px 14px;min-height:64px;box-shadow:var(--sh-2)}.reward-ic{width:34px;height:34px;border-radius:12px;flex:0 0 34px;padding:8px;background:var(--bg-board);color:var(--c-main-deep);display:flex;align-items:center;justify-content:center}.reward-ic.out{color:var(--tx-3);background:var(--bg-chip)}.reward .info{flex:1;min-width:0}.reward .info .t{font-size:14px}.reward .info .n{font-size:11px;color:var(--tx-2);margin-top:2px}.reward .price{font-size:13px;font-weight:var(--fw-2);background:var(--c-acc-soft);color:var(--c-acc-tx);padding:6px 14px;border-radius:var(--r-pill);white-space:nowrap}.reward .price.out{background:var(--bg-chip);color:var(--tx-2)}.reward.locked{opacity:.45}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--tap);padding:0 20px;border-radius:var(--r-card);background:linear-gradient(180deg,#fff 0%,var(--bg-panel) 100%);border:1px solid var(--bd);font-size:14px;font-weight:var(--fw-2);box-shadow:var(--sh-2);transition:transform var(--t-fast),box-shadow var(--t-fast)}.btn svg{width:17px;height:17px;flex:0 0 17px}.btn:active{transform:scale(.975);box-shadow:var(--sh-1)}.btn-main{background:linear-gradient(180deg,var(--c-main) 0%,var(--c-main-deep) 100%);border-color:var(--c-main-deep);color:var(--tx-on);box-shadow:0 2px 8px var(--glow-main),0 1px 2px #28203c1f}.btn-soft{background:var(--bg-board);border-color:transparent;color:var(--c-main-deep)}.btn-warn{background:var(--c-warn);border-color:var(--c-warn);color:var(--tx-on);box-shadow:0 2px 8px var(--glow-warn)}.btn-sm{min-height:38px;padding:0 14px;font-size:13px;gap:6px}.btn-sm svg{width:15px;height:15px;flex-basis:15px}.btn-block{width:100%}.btn[disabled]{opacity:.45;pointer-events:none;box-shadow:none}.btn-row{display:flex;gap:10px}.btn-row .btn{flex:1}.undo{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--c-main-deep);padding:7px 12px;border-radius:var(--r-pill);background:var(--bg-board);white-space:nowrap;transition:transform var(--t-fast)}.undo svg{width:13px;height:13px}.undo:active{transform:scale(.95)}.tag{font-size:11px;padding:3px 10px;border-radius:var(--r-pill);background:var(--bg-board);color:var(--c-main-deep);white-space:nowrap}.tag-warn{background:var(--c-acc-soft);color:var(--c-acc-tx)}.notice{text-align:center;border-radius:var(--r-card);padding:15px;background:var(--bg-board);color:var(--c-main-deep);font-size:13px}.subj-pick{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 11px}.subj-pick .sp-lab{font-size:12.5px;color:var(--tx-2);flex:0 0 auto}.subj-pick select.ls-in{flex:0 0 auto;width:auto;min-width:104px;height:30px;padding:3px 8px;font-size:13px;border:1px solid var(--bd);border-radius:var(--r-pill);background:var(--bg-panel);color:var(--tx-1)}.subj-pick .sp-hint{flex:1 1 100%;font-size:11.5px;color:var(--tx-3);line-height:1.5}.field{margin-bottom:12px}.field label{display:block;font-size:12px;color:var(--tx-2);margin-bottom:6px}.field textarea,.field input{width:100%;padding:13px 14px;border-radius:var(--r-card);border:1px solid var(--bd);background:var(--bg-panel);color:var(--tx-1);font-size:14px;font-family:inherit;resize:vertical;box-shadow:inset 0 1px 3px #28203c0d}.field textarea{min-height:150px;line-height:1.75}.field textarea:focus,.field input:focus{outline:2px solid var(--c-main-soft);outline-offset:0;border-color:var(--c-main)}.parsed{display:flex;flex-direction:column;gap:1px;border-radius:var(--r-card);overflow:hidden;box-shadow:var(--sh-2)}.parsed li{background:var(--bg-panel);padding:13px 15px;font-size:14px;display:flex;align-items:center;gap:12px}.parsed .subj{display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:3px 10px;border-radius:var(--r-pill);background:var(--bg-board);color:var(--c-main-deep);flex:0 0 auto}.parsed .subj-ic{width:12px;height:12px;flex-basis:12px}.parsed-meta{font-size:11px;color:var(--tx-3);white-space:nowrap}.empty{display:flex;flex-direction:column;align-items:center;gap:11px;padding:38px 20px;color:var(--tx-2);font-size:13px;text-align:center}.empty-sub{font-size:12px;opacity:.85}.sheet-mask{position:fixed;inset:0;background:var(--mask);display:flex;align-items:center;justify-content:center;z-index:40;padding:24px;backdrop-filter:blur(2px)}.sheet-mask[hidden]{display:none}.sheet{width:100%;max-width:520px;background:var(--bg-page-2);border-radius:var(--r-shell);padding:22px 24px;max-height:82dvh;overflow:auto;box-shadow:var(--sh-modal);animation:pop .24s cubic-bezier(.34,1.3,.64,1)}@keyframes pop{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}.sheet h3{font-size:17px;font-weight:var(--fw-2);margin-bottom:16px}.sheet .row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--bd-soft);font-size:14px}.sheet .row:last-of-type{border-bottom:0}.sheet-tabs{display:flex;gap:6px;margin:0 0 14px;padding:3px;border-radius:var(--r-pill);background:var(--bg-board)}.sheet-tabs button{flex:1;min-height:38px;border-radius:var(--r-pill);font-size:14px;color:var(--tx-2);display:inline-flex;align-items:center;justify-content:center;gap:5px}.sheet-tabs button[aria-pressed=true]{background:var(--bg-panel);color:var(--tx-1);font-weight:var(--fw-2);box-shadow:var(--sh-1)}.sheet-tabs .pc-ic{width:16px;height:16px;flex:0 0 16px;color:currentColor}.sheet-tabs .pc-ic svg{width:16px;height:16px}.dl-list{display:flex;flex-direction:column;gap:8px}.dl-row{display:flex;align-items:flex-start;gap:11px;padding:10px 12px;border-radius:var(--r-card);background:var(--bg-panel);box-shadow:var(--sh-1);border-left:3px solid var(--subj,var(--c-main))}.dl-n{width:26px;flex:0 0 26px;text-align:center;font-size:12px;color:var(--tx-3);line-height:1.5}.dl-m{flex:1;min-width:0}.dl-mt{font-size:15px;font-weight:var(--fw-2)}.dl-mr{font-size:11.5px;color:var(--tx-3);margin-top:1px}.dl-mb{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.dl-mb span{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--r-pill);background:var(--c-acc-soft);color:var(--c-acc-tx);font-size:11px}.hint-empty{padding:14px 12px;border-radius:var(--r-card);background:var(--bg-board);color:var(--tx-2);font-size:13.5px;text-align:center}.bring-strip{margin:0 0 16px;padding:13px 14px 11px;border-radius:var(--r-card);background:var(--bg-panel);border-left:3px solid var(--c-acc);box-shadow:var(--sh-1)}.bring-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.bring-k{display:inline-flex;align-items:center;gap:7px;font-size:15px;font-weight:var(--fw-2);color:var(--tx-1)}.bring-n{font-size:13px;color:var(--tx-3);font-variant-numeric:tabular-nums}.bring-list{display:flex;flex-wrap:wrap;gap:7px}.bring-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 12px 7px 9px;border-radius:var(--r-pill);background:var(--bg-board);border:1.5px solid var(--line,var(--sh-1));color:var(--tx-1);font-size:13.5px;text-align:left;transition:background var(--t-fast),border-color var(--t-fast)}.bring-chip:active{transform:scale(.98)}.bring-box{width:18px;height:18px;flex:0 0 18px;border-radius:var(--r-pill);border:1.5px solid var(--tx-3);display:inline-flex;align-items:center;justify-content:center;color:var(--c-acc-tx)}.bring-box svg{width:13px;height:13px}.bring-chip.on{background:var(--c-acc-soft);border-color:var(--c-acc)}.bring-chip.on .bring-box{background:var(--c-acc);border-color:var(--c-acc);color:var(--bg-panel)}.bring-name{white-space:nowrap}.bring-src{font-size:11px;color:var(--tx-3)}.bring-chip.on .bring-src{color:var(--c-acc-tx)}.bring-ok{display:flex;align-items:center;gap:6px;margin-top:9px;font-size:13.5px;color:var(--c-done);font-weight:var(--fw-2)}.bring-ok svg{width:15px;height:15px}.bring-foot{margin-top:8px;font-size:11.5px;color:var(--tx-3)}.bring-day+.bring-day{margin-top:11px}.bring-day-h{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:0 0 6px;font-size:12px;color:var(--tx-3)}.bring-day-h b{font-size:13.5px;color:var(--tx-1);font-weight:var(--fw-2)}.bring-date{flex:0 0 auto;min-width:132px}.nt-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:7px}.nt-d{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--tx-3)}.nt-d input{font-size:12.5px;padding:4px 7px;border-radius:var(--r-sm,8px);background:var(--bg-board);color:var(--tx-1);border:1px solid var(--line,var(--sh-1));font-family:inherit}.nt-d input:focus{outline:2px solid var(--c-acc);outline-offset:1px}.nt-when{color:var(--c-acc-tx);font-weight:var(--fw-2)}.bring-chip-ro{cursor:default}.bring-chip-ro:active{transform:none}.bring-x{width:20px;height:20px;margin:-2px -4px -2px 2px;border:0;border-radius:var(--r-pill);background:var(--bg-panel);color:var(--tx-3);font-size:13px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.bring-x:hover{background:var(--bg-board);color:var(--tx-1)}.bring-name-in{font-family:inherit;font-size:inherit;color:inherit;background:transparent;border:0;border-bottom:1px dashed var(--bd);padding:0 1px;width:auto;min-width:2.2em;max-width:96px}.bring-name-in:focus{outline:none;border-bottom-color:var(--c-acc);background:var(--bg-panel)}.bring-empty{font-size:12.5px;color:var(--tx-3);padding:2px 0 4px}.bring-admin-list{margin-bottom:10px}.bring-add{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bring-in{flex:1;min-width:150px;font-size:13.5px;padding:8px 10px;border-radius:var(--r-sm,8px);background:var(--bg-board);color:var(--tx-1);border:1px solid var(--line,var(--sh-1));font-family:inherit}.bring-in:focus{outline:2px solid var(--c-acc);outline-offset:1px}.ls-wrap{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;align-items:start}@media(max-width:760px){.ls-wrap{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:560px){.ls-wrap{grid-template-columns:repeat(2,minmax(0,1fr))}}.ls-day{margin:0;padding:11px 12px;border-radius:var(--r-card);background:var(--bg-panel);box-shadow:var(--sh-1)}.ls-day-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.ls-day-h b{font-size:15px}.ls-day-h .ls-cnt{font-size:12px;color:var(--tx-3)}.ls-row{display:block;padding:6px 0;border-top:1px solid var(--bd)}.ls-row:first-of-type{border-top:0}.ls-rh{display:flex;align-items:center;gap:4px;margin-bottom:3px}.ls-rh .ls-sub{flex:1;min-width:0;font-size:12.5px;color:var(--tx-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ls-x{flex:0 0 18px;width:18px;height:18px;border-radius:var(--r-pill);background:var(--bg-panel);color:var(--tx-3);font-size:12px;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.ls-x:hover{background:var(--bg-board);color:var(--tx-1)}.ls-row .ls-in{width:100%;font-size:11.5px;padding:3px 5px;height:24px;margin-top:3px}.ls-add{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px;padding-top:7px;border-top:1px dashed var(--bd)}.ls-add .ls-in{width:100%;font-size:11.5px;padding:3px 5px;height:24px;margin:0}.ls-add input[type=number]{flex:1 1 40px;width:auto;text-align:center}.ls-add .btn-sm{flex:0 0 auto;padding:3px 9px;font-size:12px}.ls-p{width:26px;height:26px;flex:0 0 26px;border-radius:var(--r-pill);background:var(--bg-board);color:var(--tx-3);display:inline-flex;align-items:center;justify-content:center;font-size:12px}.ls-main{flex:1;min-width:0}.ls-main .ls-in{width:100%}.ls-sub{font-size:14.5px;color:var(--tx-1)}.ls-meta{font-size:11.5px;color:var(--tx-3);margin-top:1px}.ls-in{font-size:13px;padding:6px 9px;border-radius:var(--r-sm,8px);background:var(--bg-board);color:var(--tx-1);border:1px solid var(--tx-3)}.ls-in:hover{border-color:var(--tx-2)}.ls-in:focus{border-color:var(--c-main);outline:none}.ls-dot{width:9px;height:9px;flex:0 0 9px;border-radius:var(--r-pill);background:var(--subj,var(--c-main))}.preset-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 0;border-top:1px solid var(--sh-1)}.preset-row:first-of-type{border-top:0}.preset-ic{width:22px;height:22px;flex:0 0 22px;border-radius:var(--r-pill);display:inline-flex;align-items:center;justify-content:center;background:var(--c-acc-soft);color:var(--c-acc-tx)}.preset-ic svg{width:14px;height:14px}.preset-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.preset-main .ls-in{width:100%}.preset-row .p-label{flex:0 1 128px;min-width:96px}.preset-row .p-title{flex:1 1 150px;min-width:120px}.preset-row .num{flex:0 0 62px;width:62px;text-align:center}.preset-row .preset-daily{flex:0 0 auto;font-size:12px;color:var(--tx-3);white-space:nowrap}.preset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:10px}@media(max-width:760px){.preset-grid{grid-template-columns:1fr}}.preset-grid .preset-row{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;padding:6px 9px;margin:0;border-top:0;border-radius:var(--r-card);background:var(--bg-board)}.preset-grid .ls-in{padding:4px 7px;font-size:12.5px;height:28px;min-height:0}.preset-grid .preset-row .p-label{flex:0 1 92px;min-width:64px;width:auto}.preset-grid .preset-row .p-title{flex:1 1 auto;min-width:70px;width:auto}.preset-grid .preset-row .num{flex:0 0 44px;width:44px;height:28px;padding:2px 4px;text-align:center;font-size:12.5px}.preset-grid .preset-row .btn-sm{flex:0 0 auto;padding:4px 8px;font-size:12px}.preset-grid .preset-daily{flex:0 0 auto;font-size:11.5px;gap:3px}.adv-row{display:flex;gap:8px;flex-wrap:wrap}.adv-row .btn{flex:1 1 140px;justify-content:center}.back-row{margin-bottom:10px}.hb-details{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}.hb-details .hb-detail{margin-bottom:0}.preset-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:11.5px;color:var(--tx-3)}.preset-meta code{font-size:11px;padding:1px 6px;border-radius:var(--r-pill);background:var(--bg-board);color:var(--tx-3)}.preset-daily{display:inline-flex;align-items:center;gap:4px;cursor:pointer}.preset-new{margin-top:6px;padding-top:12px;border-top:1px dashed var(--sh-1)}.preset-off{opacity:.62}.preset-links{margin-top:12px}.preset-arch .preset-row{border-top:0}.hb-period{margin-bottom:16px}.hb-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:9px}.hb-head b{font-size:15px}.hb-range{font-size:12px;color:var(--tx-3);font-variant-numeric:tabular-nums}.hb-row{display:flex;align-items:center;gap:10px;padding:5px 0;font-size:13.5px}.hb-name{flex:0 0 78px;color:var(--tx-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hb-bar{flex:1;min-width:40px;height:9px;border-radius:var(--r-pill);background:var(--bg-board);overflow:hidden;display:block}.hb-bar i{display:block;height:100%;border-radius:var(--r-pill);background:var(--c-acc)}.hb-num{flex:0 0 auto;font-size:12px;color:var(--tx-2);font-variant-numeric:tabular-nums}.hb-num em{font-style:normal;color:var(--tx-3)}.hb-rate{margin-left:6px;color:var(--c-acc-tx)}.hb-foot{margin-top:8px;padding-top:8px;border-top:1px solid var(--sh-1);font-size:12px;color:var(--tx-3)}.hb-detail{margin-bottom:14px;padding:10px 12px;border-radius:var(--r-card);background:var(--bg-board)}.hb-d-title{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:var(--fw-2);color:var(--tx-1);margin-bottom:7px}.hb-d-title svg{width:15px;height:15px}.hb-cards{display:flex;gap:8px}.hb-card{flex:1;min-width:0;padding:9px 10px;border-radius:var(--r-card);background:var(--bg-board);text-align:center}.hb-c-t{font-size:11.5px;color:var(--tx-3);margin-bottom:3px}.hb-c-n{font-size:17px;color:var(--tx-1);font-variant-numeric:tabular-nums}.hb-c-n em{font-style:normal;font-size:12px;color:var(--tx-3)}.hb-c-s{font-size:11px;color:var(--tx-3);margin-top:2px}.fix-row{display:flex;align-items:flex-start;gap:10px;padding:11px 0;border-top:1px solid var(--sh-1)}.fix-row:first-of-type{border-top:0}.fix-ic{width:22px;height:22px;flex:0 0 22px;border-radius:var(--r-pill);display:inline-flex;align-items:center;justify-content:center;background:var(--c-acc-soft);color:var(--c-acc-tx)}.fix-ic svg{width:14px;height:14px}.fix-main{flex:1;min-width:0}.fix-t{font-size:14.5px;color:var(--tx-1)}.fix-n{font-size:11.5px;color:var(--tx-3);margin-top:2px}.fix-acts{display:flex;gap:6px;flex-wrap:wrap;flex:0 0 auto}.tcard-due{display:inline-flex;align-items:center;gap:4px;margin-left:6px;padding:1px 7px;border-radius:var(--r-pill);background:var(--bg-board);color:var(--tx-3);font-size:11px}.tcard-due svg{width:12px;height:12px}.tcard-due.over{background:var(--c-warn-soft);color:var(--c-warn);font-weight:var(--fw-2)}.tcard.overdue{border-left:3px solid var(--c-warn)}.themes{display:flex;gap:12px}.theme-pick{flex:1;border-radius:var(--r-card);padding:14px;text-align:center;border:2px solid transparent;background:linear-gradient(180deg,#fff 0%,var(--bg-panel) 100%);font-size:13px;box-shadow:var(--sh-2);transition:border-color var(--t-fast),transform var(--t-fast)}.theme-pick[aria-pressed=true]{border-color:var(--c-main)}.theme-pick:active{transform:scale(.98)}.theme-pick .sw{height:38px;border-radius:12px;margin-bottom:10px;display:flex;overflow:hidden;box-shadow:inset 0 1px 2px #28203c14}.theme-pick .sw i{flex:1}.confetti{position:fixed;inset:0;pointer-events:none;z-index:80;overflow:hidden}.confetti i{position:absolute;top:-18px;display:block;animation-name:confetti-fall;animation-timing-function:cubic-bezier(.25,.55,.55,1);animation-fill-mode:forwards}.confetti i:nth-child(5n+1){background:var(--c-main)}.confetti i:nth-child(5n+2){background:var(--c-acc)}.confetti i:nth-child(5n+3){background:var(--c-done)}.confetti i:nth-child(5n+4){background:var(--s-english)}.confetti i:nth-child(5n+5){background:var(--s-math)}@keyframes confetti-fall{0%{transform:translateY(-24px) rotate(0);opacity:1}72%{opacity:1}to{transform:translateY(104vh) rotate(660deg);opacity:0}}@media(prefers-reduced-motion:reduce){.confetti{display:none}.slot-hero,.slot-hero.writing,.slot-hero .lay-hand,.star-pop{animation:none!important;transform:none!important}}.toast-wrap{position:fixed;left:0;right:0;bottom:34px;display:flex;flex-direction:column;align-items:center;gap:9px;z-index:60;pointer-events:none}.toast{background:var(--tx-1);color:#fff;padding:12px 22px;border-radius:var(--r-pill);font-size:14px;box-shadow:0 6px 20px #28203c47;animation:toast-in .22s cubic-bezier(.34,1.4,.64,1);max-width:70vw;text-align:center;will-change:opacity,transform}.toast.out{animation:toast-out .26s ease forwards}@keyframes toast-in{0%{opacity:0;transform:translateY(10px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-7px) scale(.96)}}.site-foot{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;padding:0 12px calc(3px + env(safe-area-inset-bottom,0px));font-size:11px;line-height:16px;color:var(--tx-2);z-index:3;pointer-events:none}.site-foot a{color:inherit;text-decoration:none;pointer-events:auto}.site-foot .beian-gongan{display:inline-flex;align-items:center;gap:5px;pointer-events:auto}.site-foot .beian-gongan img{width:18px;height:18px;display:block;border-radius:3px}.site-foot .build-tag{font-size:10.5px;color:var(--tx-3);opacity:.75;font-variant-numeric:tabular-nums;letter-spacing:.02em;padding-left:10px;border-left:1px solid var(--bd)}.site-foot .build-tag:empty{display:none}.site-foot a:hover{text-decoration:underline}.tb-rolebtn,.tb-only-sm{display:none}@media(max-width:980px){.shell{display:flex;flex-direction:column;height:auto;min-height:100dvh;overflow:visible;padding:14px 14px 96px;gap:14px}.topbar{order:1;min-height:58px;padding:0 16px}.side{order:2;overflow:visible}.main{order:3;overflow:visible}.sidenav{order:4;position:fixed;left:10px;right:10px;bottom:10px;z-index:30;flex-direction:row;gap:6px;padding:8px;border-radius:22px;box-shadow:0 4px 20px #28203c24}.navlist{flex-direction:row;gap:4px;margin-top:0}.navbtn{flex:1;min-height:56px}.navfoot{margin-left:auto}.slot-hero{height:190px}.board-grid{grid-template-columns:minmax(0,1fr)}.tb-title{font-size:17px}.stack{gap:9px}}@media(max-width:620px){.tb-hide-sm{display:none}.panel-v{font-size:26px}.sidenav{flex-wrap:nowrap;align-items:center;padding:6px 8px;gap:4px}.sidenav .navfoot,.sidenav .me-btn{display:none}.sidenav .navlist{width:100%;flex:1;gap:4px}.sidenav .navbtn{min-height:52px;font-size:12px;padding:6px 2px;flex:1;min-width:0}.sidenav .navbtn span{font-size:12px}.topbar{min-height:52px;padding:6px 8px;gap:6px;flex-wrap:nowrap;overflow:visible}.topbar>*{flex:0 0 auto;min-width:0}.tb-title{font-size:15px;flex:1 1 auto;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tb-spacer{display:none}.tb-net{padding:0;width:18px;height:18px;justify-content:center;overflow:hidden;flex:0 0 18px}.tb-net svg{display:none}.tb-net.ok,.tb-net.busy{background:transparent;color:transparent;pointer-events:none;border-radius:50%}.tb-net.ok{box-shadow:inset 0 0 0 5px var(--c-done)}.tb-net.busy{box-shadow:inset 0 0 0 5px var(--c-main)}.tb-net.bad{background:var(--c-warn-soft);color:var(--c-warn);width:auto;height:auto;flex:0 0 auto;padding:4px 8px;font-size:11px;font-weight:var(--fw-2)}.tb-net.bad svg{display:block;width:13px;height:13px}.tb-chip{padding:7px 10px;font-size:12px;gap:5px}.tb-chip b{font-size:14px}.tb-chip svg{width:14px;height:14px}.tb-only-sm{display:flex}.tb-rolebtn{display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:38px;border-radius:11px;border:1.5px solid var(--bd,#E3D9F3);background:var(--bg-card,#fff);color:var(--tx-2,#665E80);line-height:1;cursor:pointer}.tb-rolebtn svg{width:20px;height:20px}.tb-rolebtn:active{background:var(--bg-chip,#E2D8F4)}.reward .info .n{white-space:normal!important;word-break:break-word;overflow-wrap:anywhere;line-height:1.5;writing-mode:horizontal-tb!important}.reward .info{min-width:0;flex:1 1 auto}.reward{flex-wrap:wrap}.sidenav{bottom:calc(8px + env(safe-area-inset-bottom,0px))}.shell{padding:10px 10px 100px}}@media(max-width:390px){.sidenav .navbtn span{font-size:11px}.sidenav .navbtn{min-height:46px}.tb-title{max-width:30vw}}.login-root{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto;background:var(--bg, #F5F0FC)}.login-gate{width:100%;max-width:400px;background:var(--bg-card, #fff);border:2px solid var(--bd, #E3D9F3);border-radius:20px;padding:26px 24px 20px;box-shadow:0 12px 40px #5a3ea624}.login-gate h3{margin:0 0 6px;font-size:22px;color:var(--tx-1, #3A2F57)}.login-sub{margin:0 0 18px;font-size:13px;line-height:1.6;color:var(--tx-2, #665E80)}.login-hint{margin:2px 0 12px;font-size:12px;color:var(--tx-3, #8E87A3)}.login-in{width:100%}.login-code-row{display:flex;gap:8px;align-items:stretch}.login-code-row .login-in{flex:1;min-width:0}.btn-code{flex:0 0 auto;white-space:nowrap;padding:0 14px;font-size:14px;border:2px solid var(--c-main, #7A5BC9);background:var(--c-main-soft, #E0D8F6);color:var(--c-main-deep, #5A3EA6);border-radius:12px;cursor:pointer;font-weight:600}.btn-code:hover{background:var(--c-main, #7A5BC9);color:var(--tx-on, #fff)}.login-alt{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:16px;padding-top:14px;border-top:1px solid var(--bd-soft, #EFE8FA)}.login-alt button{background:none;border:0;padding:0;cursor:pointer;font-size:13px;color:var(--c-main-deep, #5A3EA6);text-decoration:underline;text-underline-offset:3px}.login-alt button:hover{color:var(--c-main, #7A5BC9)}.login-note{margin-top:14px;font-size:12px;line-height:1.6;color:var(--tx-3, #8E87A3);background:var(--bg-chip, #E2D8F4);border-radius:10px;padding:8px 10px}.rw-form{display:flex;flex-direction:column;gap:12px}.rw-form-h{display:flex;align-items:center;justify-content:space-between;gap:8px}.rw-f{display:flex;flex-direction:column;gap:5px}.rw-f>span{font-size:12px;color:var(--tx-3);font-weight:var(--fw-2)}.rw-f>span em{font-style:normal;opacity:.7;margin-left:4px}.rw-f input,.rw-f select{width:100%;padding:10px 12px;font:inherit;font-size:14px;color:var(--tx-1);background:var(--bg-board);border:1px solid var(--bd);border-radius:var(--r-pill)}.rw-f input:focus,.rw-f select:focus{outline:none;border-color:var(--c-main);box-shadow:0 0 0 3px var(--c-main-soft)}.rw-f input:disabled{opacity:.45;cursor:not-allowed}.rw-seg{display:flex;gap:6px}.rw-seg button{flex:1;padding:9px 0;font:inherit;font-size:13px;cursor:pointer;color:var(--tx-2);background:var(--bg-board);border:1px solid var(--bd);border-radius:var(--r-pill)}.rw-seg button.on{color:var(--tx-on);background:var(--c-main);border-color:var(--c-main);font-weight:var(--fw-2)}.rw-ic-row{display:flex;flex-wrap:wrap;gap:6px}.rw-ic-pick{width:38px;height:38px;display:grid;place-items:center;cursor:pointer;font-size:19px;line-height:1;background:var(--bg-board);border:1px solid var(--bd);border-radius:12px}.rw-ic-pick.on{background:var(--c-main-soft);border-color:var(--c-main);box-shadow:0 0 0 2px var(--c-main-soft)}.rw-lim{display:flex;gap:8px}.rw-lim select{flex:1}.rw-lim input{width:96px;flex:none}.rw-item{align-items:flex-start}.rw-item .info{min-width:0;flex:1}.rw-item .info .t{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.rw-sub{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:3px;font-size:12px;color:var(--tx-3)}.rw-sub b{display:inline-flex;align-items:center;gap:2px;color:var(--c-acc)}.rw-off{padding:1px 7px;border-radius:var(--r-pill);background:var(--bg-chip);color:var(--tx-3);font-size:11px}.rw-note{margin-top:3px;font-size:12px;color:var(--tx-3);opacity:.85}.rw-tag{padding:1px 7px;border-radius:var(--r-pill);background:var(--c-main-soft);color:var(--c-main-deep);font-size:11px;font-weight:var(--fw-1)}.rw-item.off .slot,.rw-item.off .info{opacity:.5}.rw-ops{display:flex;gap:6px;flex:none;align-self:center}.rw-del-btn{color:var(--c-warn)}.rw-wish{background:var(--bg-chip)}.rw-ops input.rw-cost-in{width:88px;flex:none;align-self:center;padding:6px 9px;font-size:14px}@media(max-width:560px){.rw-wish{flex-wrap:wrap}.rw-wish .rw-ops{width:100%;align-self:stretch}.rw-wish .rw-cost-in{flex:1;width:auto;min-width:0}}.rw-redm{background:var(--bg-chip)}@media(max-width:560px){.rw-redm{flex-wrap:wrap}.rw-redm .rw-ops{width:100%;align-self:stretch;justify-content:flex-end}}.reward.rd-rejected .reward-ic,.reward.rd-rejected .info{opacity:.6}.reward.rd-rejected .price.out{color:var(--c-main)}.rw-empty{padding:18px 12px;text-align:center;font-size:13px;color:var(--tx-3);background:var(--bg-board-2);border-radius:var(--r-card)}.rw-side p{margin:0 0 8px;font-size:13px;line-height:1.6;color:var(--tx-2)}.rw-side p.dim{color:var(--tx-3);font-size:12px}.sandbox-banner{position:fixed;top:0;left:0;right:0;z-index:9999;display:flex;align-items:center;gap:10px;padding:7px 14px;font-size:12.5px;line-height:1.4;color:var(--c-warn);background:var(--c-warn-soft);border-bottom:1.5px solid var(--c-warn);box-shadow:0 1px 6px #0000001a}.sandbox-banner strong{font-weight:var(--fw-2);letter-spacing:.02em;white-space:nowrap}.sandbox-banner span{color:var(--tx-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sandbox-banner a{margin-left:auto;color:var(--c-main-deep);font-weight:var(--fw-2);white-space:nowrap;text-decoration:none;padding:3px 10px;border-radius:var(--r-pill);background:var(--bg-board);box-shadow:inset 0 0 0 1px var(--bd-soft)}.sandbox-banner a:hover{background:var(--bg-board-2)}@media(max-width:640px){.sandbox-banner span{display:none}.sandbox-banner{gap:8px;padding:6px 10px}}
