@charset "UTF-8";
:root{color-scheme:dark;--bg:#0b1220;--card:#142138;--surface:#101c2e;--line:#25344a;--text:#f3f6fc;--muted:#9aaac0;--blue:#9ac7ff;--teal:#87cfbd;--amber:#edc587}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.65 "Microsoft YaHei","PingFang SC",system-ui,sans-serif}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid transparent;border-radius:10px;padding:10px 18px;transition:background .15s;color:var(--text);background:var(--surface)}button:hover:not(:disabled){filter:brightness(1.13)}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:2px solid var(--blue);outline-offset:4px}a{color:var(--blue);text-decoration:none}h1,h2,h3,p{margin:0}input,select,textarea{background:var(--bg);border:1px solid var(--line);color:var(--text);border-radius:9px;padding:10px 12px;max-width:100%;min-width:0}input[type=checkbox]{accent-color:var(--teal);width:18px;height:18px;flex-shrink:0;cursor:pointer}input[type=range]{accent-color:var(--blue);padding:0;width:100px;height:24px}select{cursor:pointer}input::placeholder,textarea::placeholder{color:#71839c}.shell{max-width:1024px;padding:0 32px;margin:auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);padding:24px 0}.brand{color:var(--text);display:flex;align-items:center;gap:10px;font-size:17px;font-weight:600;white-space:nowrap}.brand small{display:block;color:var(--muted);font-size:8px;letter-spacing:1.7px;font-weight:400}.brand-icon{width:38px;height:42px;background:#263c50;border:1px solid #425c6c;border-radius:11px;display:grid;place-items:center;color:#bad7c9;font-family:serif;font-size:24px}.topbar nav{display:flex;gap:8px}.topbar nav button{background:transparent;color:var(--muted);padding:9px 15px;font-size:13px}.topbar nav button.active{background:#1b2d43;color:#d8e8fd}.subtle{background:#17253a;border-color:#2d4058;color:#becde0}.blue{background:#2f63a5;color:white;border-color:#4177b9}.primary{background:var(--blue);color:#0a2444;font-weight:700;min-width:164px;padding:13px 30px}.amber{background:var(--amber);color:#38270e}.link{background:none;border:0;border-radius:0;color:var(--blue);padding:3px 0;font-size:12px}.danger{color:#e1a5a2}.storage-warning:empty{display:none}.storage-warning{background:#392c1d;color:var(--amber);padding:12px 16px;border-radius:10px;margin-top:20px}.intro{text-align:center;padding:43px 0 30px}.eyebrow{color:var(--teal);font-size:10px;letter-spacing:2.1px}.intro h1{font-size:32px;font-weight:600;letter-spacing:.8px;margin:8px 0 9px}.intro h1 span{color:#c3d0e2}.intro p,.page-heading p{color:var(--muted);font-size:13px}.practice-area{max-width:800px;margin:auto}.practice-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:16px}.select-label{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px}.select-label select{padding:7px 12px;font-size:12px;max-width:220px}.pool-count{color:var(--muted);font-size:11px;white-space:nowrap}.pool-count strong{color:#c7d9ed}.topic-card{height:220px;background:var(--card);border:1px solid #314662;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;padding:24px 32px;overflow:hidden;isolation:isolate}.card-tag{font-size:11px;letter-spacing:1px;color:var(--teal);margin-bottom:12px}.topic-card h2{font-size:44px;font-weight:600;text-align:center;line-height:1.35;overflow-wrap:anywhere;z-index:1;max-width:100%;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.topic-card h2.long{font-size:30px}.topic-card p{font-size:12px;color:var(--muted);margin-top:14px;text-align:center;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;z-index:1}.card-number{position:absolute;right:20px;bottom:-40px;font-size:160px;line-height:1;color:#203651;z-index:-1;transform:rotate(14deg);user-select:none}.topic-card.rolling{border-color:#57789c}.selected-flash{animation:selected .32s ease-out}@keyframes selected{0%,100%{transform:scale(1)}45%{transform:scale(1.025);border-color:#a2dacb;box-shadow:0 0 24px #89c6cb15}}.draw-bar{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:19px;flex-wrap:wrap;min-height:54px}.draw-bar span{font-size:12px;color:var(--muted)}#resume-draw,#cancel-draw{font-size:12px}.round-note{text-align:center;color:var(--amber);font-size:12px;margin-top:12px}.round-note button{padding:6px 12px;margin-left:5px}.timer-panel{text-align:center;border-top:1px solid var(--line);margin-top:29px;padding:25px 0 20px}.phase-line{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;color:#bdcde2}.phase-dot{width:6px;height:6px;border-radius:50%;background:var(--amber)}.phase-state{margin-left:7px;color:var(--muted);border-left:1px solid var(--line);padding-left:13px}.clock{font-family:"Cascadia Mono",Consolas,ui-monospace,monospace;font-variant-numeric:tabular-nums;letter-spacing:3px;font-size:84px;font-weight:400;line-height:1.25;margin:13px 0 7px}.timer-hint{color:var(--muted);font-size:12px;min-height:20px}.timer-actions{display:flex;justify-content:center;gap:10px;margin-top:22px}.timer-actions button{font-size:12px;min-width:104px}.stage-steps{display:flex;justify-content:center;align-items:center;gap:14px;color:#657b96;font-size:10px;margin-top:25px}.stage-steps i{width:28px;height:1px;background:var(--line)}.stage-steps .current{color:var(--teal)}.complete-task{margin:14px 0;display:flex;align-items:center;gap:13px;padding:18px 20px;background:#132c31;border:1px solid #2a4c4d;border-radius:12px;cursor:pointer}.complete-task b{font-size:13px;font-weight:500;color:#b3e1d1}.complete-task small{display:block;font-size:10px;color:#819f9d;margin-top:4px}.complete-task>span:last-child{margin-left:auto;color:var(--teal)}.reference{margin:18px 0;border:1px solid var(--line);border-radius:12px;color:#b5c7de}.reference summary{cursor:pointer;padding:15px 20px;font-size:12px}.reference summary span{float:right;font-size:10px;color:#738ba8}.reference-body{padding:0 20px 22px;color:#bccbdf;font-size:13px;line-height:1.9;overflow-wrap:anywhere}.reference-body h3{font-size:12px;color:var(--teal);margin:18px 0 5px}.reference-body p{margin-top:8px}.reference-body small{display:block;margin-top:16px;font-size:10px;color:var(--muted)}.source-line{color:var(--amber);font-size:11px}.reference-links{display:flex;gap:20px;flex-wrap:wrap;font-size:11px;margin-top:20px}.sound-bar{display:flex;justify-content:center;align-items:center;gap:20px;flex-wrap:wrap;margin:22px 0 0;color:#8ba1bc;font-size:11px}.sound-bar label{display:flex;align-items:center;gap:6px}.sound-bar input[type=checkbox]{width:14px;height:14px}.sound-bar small{font-size:10px}.daily-quote{border-top:1px solid var(--line);text-align:center;padding:32px 8px 24px;margin:36px auto 0;max-width:800px}.daily-quote>span{font-size:10px;color:#6d86a1;letter-spacing:1px}.daily-quote p{font-size:23px;color:#cbd9e9;font-weight:500;margin:13px 0 10px;line-height:1.65}.daily-quote small{color:#647c97;font-size:10px}.local-note{text-align:center;color:#5f7691;font-size:10px;margin:0 0 24px}.local-note button{color:#799abf;font-size:10px}.page-heading{padding:42px 0 30px}.page-heading h1{font-size:31px;font-weight:600;margin:8px 0 10px}.panel{border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:22px}.growth-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:20px;align-items:start}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.calendar-head h2{font-size:17px;font-weight:500}.calendar-head button{padding:2px 12px;font-size:22px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.weekdays{color:var(--muted);font-size:11px;text-align:center;margin-bottom:10px}.calendar-day{padding:5px 1px;min-height:59px;border:1px solid transparent;border-radius:9px;font-size:13px;background:transparent;position:relative;display:flex;align-items:center;flex-direction:column;justify-content:start}.calendar-day.is-today>span{color:var(--teal);font-weight:700}.calendar-day.selected{background:#203751;border-color:#42678e}.calendar-day small{height:22px;font-size:12px;color:var(--teal);letter-spacing:1px}.calendar-day i{position:absolute;bottom:4px;width:3px;height:3px;background:var(--teal);border-radius:50%}.calendar-legend{border-top:1px solid var(--line);margin-top:12px;padding-top:14px;color:#839bb8;font-size:9px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.calendar-legend i{display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--teal);vertical-align:middle;margin-right:5px}.calendar-legend button{font-size:10px;margin-left:auto}.day-panel h2{font-size:19px;margin:8px 0 16px;font-weight:500}.day-panel .muted{font-size:12px}.day-tasks{display:flex;flex-direction:column;gap:13px;max-height:260px;overflow:auto;margin:14px 0 20px}.day-tasks label{display:flex;align-items:center;gap:10px;font-size:13px;cursor:pointer}.day-tasks small{display:block;font-size:10px;color:var(--muted)}.day-check{display:flex;align-items:center;gap:8px;padding-top:16px;border-top:1px solid var(--line);font-size:12px;margin-top:20px}.day-panel .small{font-size:10px;margin-top:8px}.emoji-picker{display:flex;gap:5px;margin-top:16px;flex-wrap:wrap}.emoji-picker button{padding:7px 4px;font-size:22px;flex:1;min-width:46px;background:transparent;border:1px solid var(--line)}.emoji-picker button.selected{background:#203b46;border-color:var(--teal)}.emoji-picker small{font-size:8px;display:block;color:var(--muted);white-space:nowrap}.section-title{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:33px 0 20px}.section-title h2{font-weight:500;font-size:20px;margin-top:7px}.section-title>span{color:var(--muted);font-size:11px;white-space:nowrap}.collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.collected-card{padding:21px;border:1px solid #2c4358;background:linear-gradient(135deg,#162b3d,#152035);text-align:left;overflow-wrap:anywhere}.mini-date{display:flex;justify-content:space-between;color:#7e9cb4;font-size:10px;letter-spacing:.4px}.mini-date b{color:var(--teal)}.collected-card h3{font-size:22px;font-weight:500;line-height:1.45;margin:20px 0 7px}.collected-card p{font-size:10px;color:var(--muted)}.collected-card>small{display:block;border-top:1px solid var(--line);margin-top:24px;padding-top:12px;color:#8faac0;font-size:10px}.empty{grid-column:1/-1;border:1px dashed #314861;border-radius:12px;text-align:center;padding:40px 20px;color:var(--muted);font-size:14px;line-height:2}.empty small{font-size:11px;color:#7188a3}.draw-history{margin-top:30px;border-top:1px solid var(--line);padding-top:20px}.draw-history summary{cursor:pointer;color:var(--muted);font-size:12px}.draw-history p{margin:12px 0}.draw-history ol{padding:0;list-style:none;max-height:300px;overflow:auto}.draw-history li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:10px 0;color:#becde0}.draw-history small{font-size:10px;color:var(--muted)}.library-tools{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.library-tools input[type=search]{flex:1;min-width:150px}.library-tools select{max-width:185px}.library-tools button,.file-button{font-size:12px;white-space:nowrap}.file-button{position:relative;cursor:pointer;border:1px solid #2d4058;background:#17253a;border-radius:10px;padding:10px 18px;color:#becde0}.file-button:focus-within{outline:2px solid var(--blue);outline-offset:3px}.library-count{color:var(--muted);font-size:11px;margin:20px 0}.library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.library-card{background:var(--surface);border:1px solid var(--line);padding:24px;border-radius:13px;overflow-wrap:anywhere}.library-card .eyebrow{font-size:9px;letter-spacing:1px}.topic-link{background:none;padding:0;text-align:left;display:block;margin:10px 0}.topic-link h2{font-size:22px;font-weight:500}.library-card p{font-size:12px;color:var(--muted)}.library-card-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:20px;border-top:1px solid var(--line);padding-top:12px;gap:10px;font-size:10px;color:#708ba9}.library-card-bottom button{margin-left:15px;font-size:10px}.library-grid+p{margin-top:20px}.muted{color:var(--muted)}.small{font-size:11px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.modal{position:fixed;inset:0;background:#030811bd;backdrop-filter:blur(5px);z-index:20;display:flex;align-items:center;justify-content:center;padding:22px}.modal-card{width:100%;max-width:600px;max-height:90dvh;overflow:auto;padding:28px;border:1px solid #334963;border-radius:18px;background:#111e31;box-shadow:0 25px 100px #0007}.modal-heading{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:25px}.modal-heading h2{font-size:24px;font-weight:500;overflow-wrap:anywhere}.icon-button{font-size:23px;padding:0 11px;background:#20334a}.modal .reference-body{padding:0}.modal-open{overflow:hidden}.form-field{display:flex;flex-direction:column;gap:7px;color:#b1c5de;font-size:12px;margin:16px 0}.form-field textarea{min-height:100px;resize:vertical}.form-row{display:flex;gap:18px}.form-row>*{flex:1;min-width:0}.setting-check{display:flex;align-items:center;gap:10px;font-size:12px;margin:18px 0;color:#bed0e5}.advanced{margin-top:20px}.advanced summary{color:#8faac9;font-size:12px;cursor:pointer}.form-error{color:#f4b2a4;font-size:12px;margin:15px 0}.form-error:empty{display:none}form>button[type=submit]{margin-top:20px;width:100%}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:12px 20px;background:#c6dfed;color:#13263f;border-radius:12px;max-width:90vw;z-index:50;opacity:0;pointer-events:none;font-size:12px;box-shadow:0 5px 25px #0004}#toast.show{opacity:1}[hidden]{display:none!important}.goal-panel{margin-top:30px}.goal-panel h2{font-size:22px;font-weight:500;margin:8px 0 12px}.goal-progress{height:7px;background:#20344c;border-radius:6px;overflow:hidden;margin:16px 0 7px}.goal-progress i{display:block;background:var(--teal);height:100%}.goal-stats{color:var(--teal);font-size:12px}.reward-section{border-top:1px solid var(--line);margin-top:24px;padding-top:8px}.reward-section h3{font-size:18px;font-weight:500;margin:15px 0 8px}.reward-status{color:var(--amber);font-size:13px;margin:14px 0}.goal-form button{margin-top:10px}.goal-form input[type=number]{max-width:200px}
@media(max-width:760px){.shell{padding:0 22px}.topbar{gap:12px;flex-wrap:wrap;padding:20px 0 14px}.topbar nav{order:3;width:100%;justify-content:center;border-top:1px solid #1c2c40;padding-top:12px;margin-top:3px}.topbar nav button{flex:1}.brand{font-size:16px}.topbar>#settings{margin-left:auto;padding:7px 15px;font-size:11px}.intro{padding:27px 0 25px}.intro h1{font-size:27px}.intro p{font-size:11px}.topic-card h2{font-size:35px}.topic-card h2.long{font-size:26px}.growth-layout{grid-template-columns:1fr}.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-tools{gap:8px}.library-tools input[type=search]{min-width:100%;order:-1}.library-tools select{flex:1;max-width:100%}.library-tools button,.file-button{font-size:10px;padding:8px 10px}.library-card{padding:20px}.library-card p{font-size:11px}.library-grid{gap:12px}.page-heading{padding:28px 0 24px}.page-heading h1{font-size:27px}.daily-quote p{font-size:21px}.calendar-day{min-height:62px}}@media(max-width:460px){.shell{padding:0 18px}.intro .eyebrow{font-size:9px}.intro h1{font-size:24px;letter-spacing:0}.intro p{font-size:10px}.topic-card{height:220px;padding:23px 20px}.topic-card h2{font-size:31px}.topic-card h2.long{font-size:23px;-webkit-line-clamp:4}.topic-card p{font-size:10px}.card-tag{font-size:10px}.select-label{gap:7px;font-size:10px}.select-label select{max-width:160px;font-size:10px}.pool-count{font-size:9px}.draw-bar{gap:8px;margin-top:15px}.draw-bar>span{width:100%;text-align:center;font-size:10px}.primary{min-width:152px;padding:11px 24px;font-size:13px}.timer-panel{margin-top:20px;padding-top:18px}.clock{font-size:72px;margin-top:9px}.timer-hint{font-size:10px}.timer-actions{gap:8px;margin-top:18px}.timer-actions button{padding:9px 10px;min-width:88px;font-size:11px}.stage-steps{gap:9px;font-size:9px}.stage-steps i{width:15px}.complete-task{padding:14px;gap:10px}.complete-task b{font-size:11px}.complete-task small{font-size:9px}.sound-bar{gap:12px;font-size:10px;margin-top:18px}.sound-bar small{width:100%;text-align:center;font-size:9px}.sound-bar input[type=range]{width:75px}.sound-bar .link{font-size:10px}.daily-quote{margin-top:28px;padding-top:26px}.daily-quote p{font-size:20px;margin:12px 0}.reference summary{padding:13px 14px;font-size:10px}.reference summary span{font-size:8px}.panel{padding:17px}.calendar-grid{gap:3px}.calendar-day{min-height:55px}.calendar-legend{font-size:8px}.collection-grid{gap:10px}.collected-card{padding:16px}.collected-card h3{font-size:19px;margin-top:17px}.section-title h2{font-size:17px}.section-title>span{font-size:10px}.collection .eyebrow{font-size:8px}.library-grid{grid-template-columns:1fr}.modal{padding:15px}.modal-card{padding:22px}.modal-heading h2{font-size:22px}.form-row{gap:12px}.library-tools select{width:140px}.page-heading p{font-size:11px}.emoji-picker button{font-size:24px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}@media(max-height:620px) and (min-width:600px){.intro{padding:20px 0}.topic-card{height:180px}.timer-panel{margin-top:20px}.clock{font-size:64px}.topbar{padding:14px 0}}
.topic-card h2,.topic-card h2.long{-webkit-line-clamp:unset;max-height:124px;overflow:auto;flex-shrink:0}.goal-form select{width:100%}
