@import"https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;500;600&family=Urbanist:wght@400;500;600&display=swap";@font-face{font-family:Xiguang Numerals;src:local("HarmonyOS Sans SC"),local("HarmonyOS Sans"),local("Avenir Next"),local("Helvetica Neue"),local("Arial"),local("Liberation Sans"),local("DejaVu Sans");font-style:normal;font-weight:400 600;font-display:block;unicode-range:U+0025,U+002E,U+002F,U+0030-0039,U+003A}:root{--paper: #f6f3eb;--ink: #222622;--muted: #8d8f88;--line: rgba(34, 38, 34, .16);--sage: #879b88;--sage-soft: #dfe7dd;--red: #a44b45;--red-soft: #f2dddd;--yellow: #e8b949;--shadow: 0 18px 45px rgba(50, 48, 42, .08);--ease-out: cubic-bezier(.22, .78, .24, 1);--ease-spring: cubic-bezier(.2, .9, .25, 1.18);--font-numeric: "Xiguang Numerals", "HarmonyOS Sans SC", "HarmonyOS Sans", "Avenir Next", "Helvetica Neue", Arial, sans-serif;--font-sans: "Xiguang Numerals", "Urbanist", "Avenir Next", "Helvetica Neue", "HarmonyOS Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--font-serif: "Xiguang Numerals", "Noto Serif SC", "Source Han Serif SC", "Noto Serif CJK SC", "Songti SC", "STSong", serif}*{box-sizing:border-box}html{background:#dedbd3;overscroll-behavior:none}body{margin:0;min-width:320px;min-height:100vh;color:var(--ink);background:var(--paper);font-family:var(--font-sans);-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-x:clip;overscroll-behavior-x:none;touch-action:pan-y}button,input,textarea{color:inherit;font:inherit}button{border:0;background:none;cursor:pointer}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}#app{min-height:100vh;overflow-x:hidden;overflow-x:clip;overscroll-behavior-x:none;touch-action:pan-y}.page{width:min(100%,780px);min-height:100vh;margin:0 auto;padding:max(18px,env(safe-area-inset-top)) 22px calc(42px + env(safe-area-inset-bottom));position:relative;isolation:isolate;background:var(--paper)}.page:after{content:"";position:absolute;inset:0;z-index:999;pointer-events:none}body.page-turn-active .page:after{background:var(--paper)}.page:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.42;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.025'/%3E%3C/svg%3E")}.topbar{height:42px;display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.icon-button{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;transition:.25s ease}.icon-button:active{transform:scale(.9);background:#fff}.topbar-spacer{width:42px;height:42px;flex:0 0 42px}.view-title{font-family:var(--font-serif);font-size:15px;letter-spacing:.22em}.quote-wrap{display:flex;align-items:flex-start;gap:10px;margin:4px auto 28px;max-width:620px;padding:0 4px;animation:revealUp .52s var(--ease-out) both}.quote{position:relative;display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:18px 18px 13px 25px;border-left:1px solid var(--sage);text-align:left;font-family:var(--font-serif);font-size:clamp(14px,3.8vw,17px);line-height:1.9;transition:.25s ease}.quote:active{transform:translate(4px)}.quote-mark{position:absolute;top:0;left:9px;color:var(--sage);font-size:26px}.quote small{display:flex;align-items:center;gap:4px;margin-top:7px;color:var(--muted);font:9px var(--font-sans);letter-spacing:.16em;opacity:.7}.quote small svg{width:11px;height:11px}.like{width:38px;height:38px;margin-top:14px;color:#a5a39d;transition:.3s cubic-bezier(.2,.8,.2,1)}.like.is-liked{color:#b26063;transform:scale(1.08)}.like.is-liked svg{fill:currentColor;animation:heartbeat .42s ease}.date-heading{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;gap:12px;margin:0 auto 24px;max-width:620px;text-align:center;animation:revealUp .52s .05s var(--ease-out) both}.date-heading strong{display:block;font-family:var(--font-numeric);font-size:clamp(28px,8vw,42px);font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:.03em}.date-heading span{display:block;margin-top:4px;color:var(--muted);font-size:10px;letter-spacing:.26em}.day-arrow{width:34px;height:34px;display:grid;place-items:center;color:var(--muted);border-radius:50%;transition:transform .22s var(--ease-spring),color .22s,background .22s}.day-arrow.prev{transform:rotate(180deg)}.day-arrow:not(:disabled):active{color:var(--ink);background:#879b881f;transform:scale(.86)}.day-arrow.prev:not(:disabled):active{transform:rotate(180deg) scale(.86)}.day-arrow:disabled,button:disabled{opacity:.22;cursor:default}.task-list{max-width:620px;margin:0 auto;border-top:1px solid var(--line)}.task{min-height:58px;display:grid;grid-template-columns:30px 1fr 38px;align-items:center;border-bottom:1px solid var(--line);position:relative;transition:background .35s,color .35s,opacity .35s,box-shadow .35s;overflow:hidden;animation:taskEnter .42s calc(var(--item-order, 0) * 28ms) var(--ease-out) both}.task:after{content:"";position:absolute;left:26px;right:48px;top:50%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .42s cubic-bezier(.3,.8,.2,1);pointer-events:none}.task-number{color:var(--muted);font-size:12px;align-self:center}.task-content{min-width:0;padding:10px 0;display:flex;align-items:flex-start;gap:5px;font-family:var(--font-serif);font-size:14px;line-height:1.7}.task-content>span:not(.line-input-shell){flex:0 0 auto;white-space:nowrap}.line-input-shell{--input-rule: var(--sage);--input-line-step: 1.7em;display:block;position:relative;flex:0 0 auto;width:42px;min-width:42px;max-width:100%}.line-input-rules{position:absolute;z-index:0;inset:2px 0;display:flex;flex-direction:column;align-items:flex-start;overflow:hidden;pointer-events:none}.line-input-rule{display:block;flex:0 0 var(--input-line-step);width:42px;max-width:100%;border-bottom:1px solid var(--input-rule)}.line-input{display:block;position:relative;z-index:1;width:100%;min-width:0;min-height:calc(var(--input-line-step) + 4px);padding:2px 3px;resize:none;overflow:hidden;border:0;outline:none;border-radius:0;background:transparent;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.page-turn-static-field{pointer-events:none;-webkit-user-select:none;user-select:none;white-space:pre-wrap;overflow-wrap:anywhere}.page-turn-static-field.is-placeholder{color:var(--muted)}.line-input-shell:focus-within{--input-rule: var(--ink)}.status-button{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;justify-self:end;align-self:center;transition:transform .28s var(--ease-spring),color .28s,background .28s,border-color .28s,box-shadow .28s}.status-button svg{width:15px;height:15px}.status-button:active{transform:scale(.82)}.task.done{color:var(--muted);opacity:.57}.task.done:after,.task.exempt:after{transform:scaleX(1)}.task.done .status-button{color:var(--paper);background:var(--sage);border-color:var(--sage)}.task.done .status-button svg{animation:checkPop .42s var(--ease-spring)}.task.missed{color:var(--red);background:var(--red-soft);border-radius:0;border-bottom-color:transparent;box-shadow:inset 0 0 0 1px #a44b451f,inset 3px 0 #a44b456b;animation:alertIn .38s var(--ease-out)}.task.missed .status-button{color:#8b6412;background:var(--yellow);border-color:var(--yellow)}.task.missed .status-button svg{animation:warnPulse .48s var(--ease-spring)}.task.exempt{color:#577d70;background:linear-gradient(100deg,transparent 10%,rgba(145,210,191,.25) 43%,rgba(208,169,227,.25) 55%,transparent 90%);background-size:220% 100%;animation:shimmer 3s linear infinite}.task.exempt:after{height:2px;background:linear-gradient(90deg,#72bda5,#ad88c8,#e0ad70)}.task.exempt .status-button{color:#fff;background:linear-gradient(135deg,#75ae9a,#a58ac2);border:0}.journal{max-width:620px;margin:34px auto 0;padding:18px 0 0;border-top:1px solid var(--ink);position:relative;animation:revealUp .5s .16s var(--ease-out) both}.journal label{font-family:var(--font-serif);font-size:13px;letter-spacing:.16em}.journal textarea,.journal .page-turn-static-field{display:block;width:100%;min-height:150px;margin-top:14px;padding:0;resize:vertical;border:0;outline:0;background:repeating-linear-gradient(transparent,transparent 30px,var(--line) 31px);font-family:var(--font-serif);font-size:13px;line-height:31px}.journal>span{position:absolute;top:20px;right:0;color:var(--muted);font-size:9px;letter-spacing:.14em}.week-stat-jump{width:min(100%,620px);height:50px;margin:30px auto 0;padding:0 17px;border:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:12px;letter-spacing:.14em;transition:transform .25s var(--ease-out),background .25s,border-color .25s;animation:revealUp .5s .2s var(--ease-out) both}.week-stat-jump:hover{background:#fff}.week-stat-jump:active{transform:translateY(2px);border-color:var(--sage)}.week-stat-jump.reverse{justify-content:flex-start;gap:10px}.week-stat-jump.reverse svg{transform:rotate(180deg)}.saturday-title{margin:8px 0 30px;text-align:center;font-family:var(--font-serif);font-size:clamp(27px,8vw,40px);font-weight:500;letter-spacing:.17em}.saturday-list{border-top-color:#22262247}.saturday-task{min-height:87px;grid-template-columns:42px 1fr 54px;border-bottom-width:1.5px}.saturday-task .task-number{font-size:18px}.saturday-task textarea,.saturday-task .page-turn-static-field{width:100%;min-height:44px;padding:10px 8px;resize:none;overflow:hidden;border:0;outline:0;background:transparent;font-family:var(--font-serif);font-size:21px;line-height:1.5}.status-button.large{width:44px;height:44px;border-width:1.5px}.status-button.large svg{width:21px;height:21px}.saturday-task:after{left:38px;right:64px;height:1.5px}.menu-sheet{position:fixed;z-index:50;top:0;left:0;width:min(82vw,340px);height:100dvh;padding:max(28px,env(safe-area-inset-top)) 22px 30px;background:#efede6;border-right:1px solid var(--line);transform:translate(-102%);transition:transform .42s cubic-bezier(.25,.85,.25,1);box-shadow:var(--shadow)}.menu-sheet.is-open{transform:translate(0)}.menu-scrim{position:fixed;z-index:40;inset:0;background:#23242040;opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:opacity .35s}.menu-scrim.is-open{opacity:1;pointer-events:auto}.menu-head{height:82px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;position:relative}.menu-head span{font-family:var(--font-serif);font-size:22px;letter-spacing:.3em}.menu-head small{margin-top:7px;color:var(--muted);font-size:9px;letter-spacing:.18em}.menu-head button{position:absolute;right:0;top:20px;width:36px;height:36px;display:grid;place-items:center}.menu-sheet nav{padding-top:18px}.menu-sheet nav button{width:100%;height:54px;display:flex;align-items:center;gap:16px;border-bottom:1px solid rgba(34,38,34,.08);text-align:left;transition:.2s ease}.menu-sheet nav button:active{padding-left:7px;background:#ffffff80}.menu-sheet.is-open nav button{animation:menuItemIn .38s calc((var(--menu-order, 0) + 1) * 35ms) var(--ease-out) both}.menu-sheet.is-open nav button:nth-child(1){--menu-order: 0}.menu-sheet.is-open nav button:nth-child(2){--menu-order: 1}.menu-sheet.is-open nav button:nth-child(3){--menu-order: 2}.menu-sheet.is-open nav button:nth-child(4){--menu-order: 3}.menu-sheet.is-open nav button:nth-child(5){--menu-order: 4}.menu-sheet.is-open nav button:nth-child(6){--menu-order: 5}.menu-sheet.is-open nav button:nth-child(7){--menu-order: 6}.menu-sheet nav i{width:28px;height:28px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font:normal 10px var(--font-serif)}.menu-sheet nav span{font-size:13px;letter-spacing:.12em}.stats-hero{margin:40px 0 32px;text-align:center;animation:revealUp .52s var(--ease-out) both}.stats-hero small,.overview-intro small,.favorites-head small,.wheel-head small{color:var(--sage);font-size:10px;letter-spacing:.24em}.stats-hero h1{margin:10px 0;font:500 clamp(26px,7vw,38px) var(--font-serif)}.stats-hero p{color:var(--muted);font:12px var(--font-serif)}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);max-width:620px;margin:0 auto;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.stat-grid div{min-height:92px;padding:18px 8px 12px;text-align:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line);animation:statCellIn .46s var(--ease-out) both}.stat-grid div:nth-child(2){animation-delay:35ms}.stat-grid div:nth-child(3){animation-delay:70ms}.stat-grid div:nth-child(4){animation-delay:105ms}.stat-grid div:nth-child(5){animation-delay:.14s}.stat-grid div:nth-child(6){animation-delay:175ms}.stat-grid div:nth-child(3n){border-right:0}.stat-grid div:nth-child(n+4){border-bottom:0}.stat-grid strong{display:block;font-size:25px;font-weight:500}.stat-grid span{display:block;margin-top:8px;color:var(--muted);font-size:9px;letter-spacing:.12em}.stat-section{max-width:620px;margin:35px auto 0;animation:revealUp .52s .12s var(--ease-out) both}.section-title{display:flex;align-items:baseline;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid var(--ink)}.section-title h2{margin:0;font:500 15px var(--font-serif);letter-spacing:.12em}.section-title span{color:var(--muted);font-size:9px;letter-spacing:.1em}.subject-bars{padding:14px 0}.subject-bars>div{display:grid;grid-template-columns:42px 1fr 25px;align-items:center;gap:10px;height:34px}.subject-bars span,.subject-bars em{font-size:10px;font-style:normal}.subject-bars em{color:var(--muted);text-align:right}.subject-bars i{height:3px;background:#22262214}.subject-bars b{display:block;height:100%;background:var(--red);transform-origin:left;animation:growX .7s .2s var(--ease-out) both}.highlight-stats{max-width:620px;margin:22px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.highlight-stats div{padding:18px 10px;border:1px solid var(--line);animation:statCellIn .46s var(--ease-out) both}.highlight-stats div:nth-child(2){animation-delay:55ms}.highlight-stats div:nth-child(3){animation-delay:.11s}.highlight-stats span{display:block;color:var(--muted);font-size:9px}.highlight-stats strong{display:block;margin-top:12px;font-size:22px;font-weight:500}.highlight-stats strong small{font-size:9px;font-weight:400;color:var(--muted)}.weekly-bars{height:180px;display:flex;align-items:flex-end;gap:7px;padding-top:28px}.weekly-bars div{flex:1;height:120px;position:relative;display:flex;align-items:flex-end;justify-content:center;border-bottom:1px solid var(--line)}.weekly-bars i{width:42%;max-width:20px;background:var(--red-soft);border-top:2px solid var(--red);animation:rise .65s ease both}.weekly-bars span{position:absolute;bottom:-19px;font-size:8px;color:var(--muted)}.weekly-bars em{position:absolute;top:-18px;font:normal 8px var(--font-sans)}.win-list div{min-height:42px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:11px}.win-list strong{font-weight:500}.win-list p{color:var(--muted);font:12px var(--font-serif)}.overview-intro{margin:38px 0 28px;animation:revealUp .52s var(--ease-out) both}.overview-intro h1,.favorites-head h1,.wheel-head h1{margin:10px 0;font:500 clamp(25px,7vw,36px) var(--font-serif)}.week-strip{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid var(--line)}.mini-day{min-width:0;height:150px;padding:14px 5px;display:flex;flex-direction:column;align-items:center;border-right:1px solid var(--line);transition:transform .25s var(--ease-spring),background .25s,box-shadow .25s;animation:statCellIn .42s calc(var(--item-order, 0) * 35ms) var(--ease-out) both}.mini-day:last-child{border-right:0}.mini-day.selected{background:#ebece5;box-shadow:inset 0 -2px var(--sage)}.mini-day:not(:disabled):active{transform:translateY(3px)}.mini-day.muted{opacity:.28}.mini-day span{color:var(--muted);font-size:9px}.mini-day strong{margin:15px 0 auto;font-size:clamp(16px,5vw,24px);font-weight:500}.mini-day i{width:70%;height:2px;background:var(--line)}.mini-day i b{display:block;height:100%;background:var(--sage);transform-origin:left;animation:growX .65s .18s var(--ease-out) both}.mini-day small{margin-top:9px;color:var(--muted);font-size:8px}.week-progress{margin:30px 0;display:grid;grid-template-columns:1fr auto;gap:12px;font-size:11px}.week-progress strong{font-size:13px}.week-progress i{grid-column:1 / -1;height:4px;background:var(--line)}.week-progress b{display:block;height:100%;background:var(--sage);transform-origin:left;animation:growX .7s .16s var(--ease-out) both}.outline-action{width:100%;height:52px;border:1px solid var(--ink);display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px;letter-spacing:.12em;transition:transform .24s var(--ease-out),color .24s,background .24s;animation:revealUp .5s .16s var(--ease-out) both}.outline-action:active{color:var(--paper);background:var(--ink);transform:translateY(2px)}.outline-action svg{width:15px}.month-head{display:flex;align-items:center;justify-content:space-between;margin:36px 0 30px;text-align:center;animation:revealUp .5s var(--ease-out) both}.month-head h1{margin:5px 0 0;font:500 32px var(--font-serif)}.month-head small{color:var(--muted);font-size:9px;letter-spacing:.2em}.month-head button{width:40px;height:40px}.month-head button:first-child{transform:rotate(180deg)}.month-weekdays,.month-grid{display:grid;grid-template-columns:repeat(7,1fr)}.month-weekdays{padding-bottom:10px;border-bottom:1px solid var(--ink)}.month-weekdays span{text-align:center;color:var(--muted);font-size:9px}.calendar-day{aspect-ratio:.85;padding:8px 4px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:11px;transition:transform .22s var(--ease-spring),background .22s;animation:calendarIn .4s calc(var(--item-order, 0) * 24ms) var(--ease-out) both}.calendar-day:nth-child(7n){border-right:0}.calendar-day.selected{background:var(--sage-soft)}.calendar-day:not(:disabled):active{transform:scale(.92)}.calendar-day.muted{opacity:.16}.calendar-day i{width:23px;height:23px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--muted);font:normal 7px var(--font-sans)}.calendar-day i.has-missed{color:var(--red);border-color:var(--red)}.month-legend{display:flex;gap:20px;margin-top:18px;color:var(--muted);font-size:9px}.month-legend span{display:flex;align-items:center;gap:6px}.month-legend i{width:8px;height:8px;background:var(--sage-soft)}.month-legend i.missed{background:var(--red-soft)}.favorites-head,.wheel-head{margin:42px 0 34px;animation:revealUp .52s var(--ease-out) both}.favorite-list article{min-height:108px;display:grid;grid-template-columns:34px 1fr auto 34px;align-items:center;gap:8px;border-top:1px solid var(--line);animation:taskEnter .45s calc(var(--item-order, 0) * 35ms) var(--ease-out) both}.favorite-list article:last-child{border-bottom:1px solid var(--line)}.favorite-list article>span{color:var(--sage);font-size:10px}.favorite-list article>button:nth-child(2){text-align:left;font:13px/1.8 var(--font-serif)}.favorite-list article small{color:var(--muted);font-size:9px}.remove-like{color:#b26063}.remove-like svg{width:16px;fill:currentColor}.empty-state{min-height:340px;display:grid;place-content:center;justify-items:center;color:var(--muted)}.empty-state span{animation:softFloat 2.4s ease-in-out infinite}.empty-state span{font-size:30px}.empty-state p{font:12px var(--font-serif)}.wheel-page{overflow:hidden}.wheel-head{margin-bottom:8px}.wheel-stage{width:min(80vw,390px);aspect-ratio:1;margin:44px auto 14px;position:relative;animation:wheelEnter .68s .06s var(--ease-out) both}.stage-marks{position:absolute;inset:-4.5%;width:109%;height:109%;stroke:#2226224d;stroke-width:.3;pointer-events:none}.wheel-pointer{position:absolute;z-index:3;top:-39px;left:50%;width:44px;height:62px;transform:translate(-50%);pointer-events:none}.wheel-pointer svg{width:44px;height:62px;overflow:visible;filter:drop-shadow(0 5px 5px rgba(34,38,34,.16))}.pointer-tail{fill:var(--ink);stroke:var(--ink);stroke-width:1}.pointer-ring{fill:var(--paper);stroke:var(--ink);stroke-width:1.5}.pointer-core{fill:var(--red);stroke:var(--ink);stroke-width:1}.pointer-glint{fill:#ffffffb8;stroke:none}.wheel-pointer.is-spinning svg{animation:pointerTick .14s ease-in-out infinite alternate;transform-origin:50% 22%}.wheel{width:100%;height:100%;position:relative;border-radius:50%;background:radial-gradient(circle at 50% 36%,#fcfaf4,var(--paper) 72%);box-shadow:0 18px 40px #32302a1a,0 2px 6px #32302a0d}.wheel-face{position:absolute;z-index:1;inset:0;width:100%;height:100%;overflow:visible;display:block}.wheel-face .ring-rim{fill:none;stroke:#2226228c;stroke-width:.4}.wheel-face .ring-line{fill:none;stroke:var(--line);stroke-width:.3}.wheel-face .ring-dash{fill:none;stroke:#2226222e;stroke-width:.3;stroke-dasharray:1.1 2.6}.wheel-face .tick{stroke:#2226224d;stroke-width:.35}.wheel-face .tick-major{stroke:#2226228c;stroke-width:.45}.wheel-face .separator{stroke:var(--line);stroke-width:.3}.wheel-face .wedge{stroke:none}.wheel-face .wedge.blank{fill:transparent}.wheel-face .wedge.sage{fill:#879b8821}.wheel-face .wedge.gold{fill:#e8b94926}.wheel-face text{stroke:none;font:3.4px var(--font-serif);letter-spacing:.22px;text-anchor:middle;dominant-baseline:central}.wheel-face text.is-blank{fill:#8d8f88d9}.wheel-face text.is-prize{fill:#39423a}.wheel-face .rarity{stroke:none}.wheel-face .rarity.sage{fill:var(--sage)}.wheel-face .rarity.gold{fill:#cf9c36}.wheel-hub{position:absolute;z-index:2;inset:36%;display:grid;place-content:center;justify-items:center;gap:4px;border:1px solid var(--ink);border-radius:50%;background:var(--paper);box-shadow:0 4px 14px #32302a1a}.wheel-hub:before{content:"";position:absolute;inset:5px;border:1px dashed rgba(34,38,34,.25);border-radius:50%}.wheel-hub b{font:500 14px var(--font-serif);letter-spacing:.3em;padding-left:.3em}.wheel-hub small{color:var(--muted);font:6.5px var(--font-sans);letter-spacing:.34em;padding-left:.34em}.wheel-result{min-height:56px;margin:0 auto 16px;display:grid;place-items:center;text-align:center}.result-hint{color:var(--muted);font:11px var(--font-serif);letter-spacing:.06em}.result-slip{position:relative;display:inline-flex;align-items:center;gap:11px;max-width:min(100%,460px);padding:11px 16px;border:1px solid var(--line);background:#ffffff80;font:12px/1.7 var(--font-serif);text-align:left;animation:resultIn .5s var(--ease-out)}.wheel-result.is-win .result-slip:after{content:"";position:absolute;left:-1px;right:-1px;bottom:-2px;height:2px;background:linear-gradient(90deg,#72bda5,#ad88c8,#e0ad70)}.wheel-result.is-miss .result-slip{color:var(--muted)}.result-seal{flex:0 0 auto;width:24px;height:24px;display:grid;place-items:center;border:1px solid currentColor;border-radius:5px;font:11px var(--font-serif);font-style:normal;transform:rotate(-6deg);animation:sealStamp .5s .18s var(--ease-spring) backwards}.wheel-result.is-win .result-seal{color:var(--red);background:#a44b4512}.wheel-result.is-miss .result-seal{color:var(--muted)}.wheel-actions{width:min(100%,460px);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:9px}.wheel-actions button{min-height:48px;border:1px solid var(--ink);font-size:11px;letter-spacing:.08em;transition:transform .24s var(--ease-spring),color .24s,background .24s,opacity .24s}.wheel-actions button:not(:disabled):active{transform:translateY(2px) scale(.98)}.wheel-actions button.primary{color:var(--paper);background:var(--ink)}.probability{max-width:620px;margin:36px auto 0;animation:revealUp .5s .14s var(--ease-out) both}.probability-list{padding-top:5px}.prob-row{min-height:40px;display:flex;align-items:center;gap:10px;font-size:10px}.prob-row span{color:var(--muted);letter-spacing:.04em}.prob-row u{flex:1;border-bottom:1px dotted rgba(34,38,34,.32);text-decoration:none;transform:translateY(-2px)}.prob-row em{font-style:normal;font-family:var(--font-sans);letter-spacing:.04em}.prob-marks{display:inline-flex;gap:2.5px}.prob-marks b{width:4px;height:4px;border-radius:50%}.prob-marks.sage b{background:var(--sage)}.prob-marks.gold b{background:#cf9c36}.toast{position:fixed;z-index:100;left:50%;bottom:max(30px,env(safe-area-inset-bottom));padding:10px 17px;color:#fff;background:#222622e0;border-radius:20px;font-size:10px;letter-spacing:.1em;opacity:0;transform:translate(-50%,15px);pointer-events:none;transition:.3s}.toast.show{opacity:1;transform:translate(-50%)}@keyframes revealUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes taskEnter{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes statCellIn{0%{opacity:0;transform:translateY(9px) scale(.98)}to{opacity:1;transform:none}}@keyframes calendarIn{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}@keyframes menuItemIn{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:none}}@keyframes wheelEnter{0%{opacity:0;transform:scale(.94) rotate(-5deg)}to{opacity:1;transform:none}}@keyframes growX{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes checkPop{45%{transform:scale(1.3) rotate(-7deg)}}@keyframes warnPulse{45%{transform:scale(1.22)}}@keyframes pointerTick{0%{transform:rotate(-2.6deg)}to{transform:rotate(2.6deg)}}@keyframes softFloat{50%{transform:translateY(-5px)}}@keyframes heartbeat{45%{transform:scale(1.35)}}@keyframes alertIn{0%{transform:translate(-5px);opacity:.4}}@keyframes shimmer{to{background-position:-220% 0}}@keyframes rise{0%{height:0}}@keyframes resultIn{0%{opacity:0;transform:translateY(8px)}}@keyframes sealStamp{0%{opacity:0;transform:rotate(8deg) scale(1.9)}}@media(min-width:760px){body{padding:22px 0}.page{min-height:calc(100vh - 44px);border:1px solid rgba(34,38,34,.1);box-shadow:var(--shadow);padding-left:58px;padding-right:58px}}@media(max-width:390px){.page{padding-left:16px;padding-right:16px}.task-content{font-size:12.5px}.task{grid-template-columns:25px 1fr 34px}.status-button{width:27px;height:27px}.line-input-shell{min-width:42px}.mini-day{height:130px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
