:root{color-scheme:light;--paper:#f7f1e5;--surface:#fffdf7;--ink:#20362f;--muted:#53665e;--moss:#286450;--moss-dark:#184737;--pollen:#e8b85a;--clay:#a84e3f;--line:#d8cfbe;--shadow:0 14px 34px #20362f17;--ring:#a84e3f;--serif:Georgia,"Times New Roman",serif;--sans:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}html[data-theme=dark]{color-scheme:dark;--paper:#14251f;--surface:#20352d;--ink:#f7f1e5;--muted:#c5d0c9;--moss:#8fc6a9;--moss-dark:#b6dec8;--pollen:#efd083;--clay:#ef9887;--line:#486057;--shadow:0 14px 34px #0005;--ring:#efd083}@media(prefers-color-scheme:dark){html[data-theme=system]{color-scheme:dark;--paper:#14251f;--surface:#20352d;--ink:#f7f1e5;--muted:#c5d0c9;--moss:#8fc6a9;--moss-dark:#b6dec8;--pollen:#efd083;--clay:#ef9887;--line:#486057;--shadow:0 14px 34px #0005;--ring:#efd083}}*{box-sizing:border-box}html{background:var(--paper)}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 var(--sans)}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button{cursor:pointer}.skip-link{position:fixed;z-index:20;left:1rem;top:-4rem;padding:.75rem 1rem;background:var(--ink);color:var(--paper);border-radius:.4rem}.skip-link:focus{top:1rem}.site-header{width:min(1100px,calc(100% - 40px));min-height:80px;margin:auto;display:flex;align-items:center;gap:24px;border-bottom:1px solid var(--line)}.wordmark{flex:0 0 auto;color:var(--ink);font:700 1.12rem var(--serif);text-decoration:none;letter-spacing:-.02em}.wordmark span{color:var(--moss);font-size:1.5rem;vertical-align:-.13em}.site-header nav{display:flex;gap:2px;overflow:auto;flex:1}.nav-item,.theme-button{min-width:44px;min-height:44px;border:0;background:transparent;color:var(--muted);border-radius:999px;padding:0 12px}.nav-item:hover,.nav-item.is-current{background:var(--surface);color:var(--ink);box-shadow:0 2px 0 var(--line)}.theme-button{font-size:1.25rem;padding:0}.offline-banner{padding:8px 20px;background:var(--pollen);color:#2d2a1b;text-align:center;font-weight:650;font-size:.9rem}main{width:min(900px,calc(100% - 40px));margin:0 auto;padding:56px 0 72px;min-height:calc(100vh - 180px)}h1,h2,p{margin-top:0}h1,h2{font-family:var(--serif);letter-spacing:-.035em;line-height:1.08}h1{font-size:clamp(2.45rem,5vw,4.6rem);max-width:13ch;margin-bottom:20px}h2{font-size:clamp(1.45rem,2.4vw,2rem);margin-bottom:12px}.eyebrow,.section-kicker{color:var(--moss);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:750;margin-bottom:12px}.lede{max-width:52ch;font-size:1.14rem;color:var(--muted)}.welcome{display:grid;grid-template-columns:1fr minmax(260px,380px);gap:48px;align-items:center;margin-bottom:56px}.welcome img{width:100%;height:auto;filter:drop-shadow(0 18px 20px #20362f1a);border-radius:4% 16% 7% 12%}.button{display:inline-flex;justify-content:center;align-items:center;min-height:46px;border-radius:.45rem;border:1px solid transparent;padding:10px 16px;font-weight:730;text-decoration:none;transition:transform .18s ease,background-color .18s ease,color .18s ease;gap:8px}.button:hover{transform:translateY(-1px)}.button:active{transform:translateY(1px)}.primary{background:var(--moss);color:#fff}.primary:hover{background:var(--moss-dark)}.quiet{border-color:var(--line);background:var(--surface);color:var(--ink)}.danger{background:var(--clay);color:#fff}.text-button{background:none;border:0;padding:10px 2px;color:var(--moss-dark);font-weight:720;text-decoration:underline;text-underline-offset:3px}.danger-text{color:var(--clay)}.form-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:20px}.form-sheet,.plan-sheet,.reflection-sheet,.unlock-sheet,.about-sheet{background:var(--surface);padding:clamp(24px,5vw,44px);box-shadow:var(--shadow);border:1px solid var(--line);border-radius:4px 21px 6px 14px}.form-sheet{max-width:680px}.form-sheet h2{max-width:19ch}form{display:grid;gap:16px}label{font-weight:700;display:grid;gap:6px}textarea,input,select{width:100%;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:4px;min-height:44px;padding:10px 12px;line-height:1.4}textarea{resize:vertical}.hint{font-weight:400;color:var(--muted);font-size:.85rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.collection{margin-top:56px}.section-title{display:flex;justify-content:space-between;gap:16px;align-items:center;border-bottom:1px solid var(--line)}.section-title h2{font-size:1.4rem;margin:0}.section-title h2 span{color:var(--muted);font:500 1rem var(--sans);vertical-align:middle}.card-list,.reflection-list{list-style:none;padding:0;margin:0}.card-list li{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:20px 4px;border-bottom:1px solid var(--line)}.card-mini-front{font:600 1.05rem var(--serif);margin-bottom:4px}.card-meta{color:var(--muted);font-size:.88rem;margin:0}.row-buttons{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.icon-button{min-height:44px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--ink);padding:8px 10px;font-weight:700}.icon-button.archive{color:var(--clay)}.archive-list{content-visibility:auto}.empty-inline,.soft-note{padding:20px 0;color:var(--muted)}.page-head{margin-bottom:42px}.review-wrap{max-width:660px;margin:auto}.review-head{display:flex;align-items:end;justify-content:space-between;gap:20px}.review-head h1{font-size:clamp(2.3rem,6vw,4.1rem);margin-bottom:8px}.set-count{margin:0 0 12px;color:var(--muted);font-variant-numeric:tabular-nums}.progress{height:6px;background:var(--line);overflow:hidden;border-radius:999px;margin:14px 0 28px}.progress span{height:100%;display:block;background:var(--pollen);transition:width .2s ease}.review-card{min-height:280px;padding:clamp(28px,6vw,60px);display:flex;flex-direction:column;justify-content:center;background:var(--surface);border:1px solid var(--line);border-radius:2px 18px 4px 12px;box-shadow:var(--shadow);position:relative;overflow:hidden}.review-card:after{content:"";position:absolute;inset:auto -20px -38px auto;width:100px;height:70px;background:var(--pollen);opacity:.35;border-radius:50% 50% 0 0}.card-language{color:var(--moss);font-weight:750;text-transform:uppercase;letter-spacing:.1em;font-size:.75rem}.card-text{font:clamp(1.75rem,4.5vw,3rem)/1.2 var(--serif);letter-spacing:-.03em;margin:8px 0}.card-note{color:var(--muted);max-width:50ch;margin:8px 0}.reveal{display:flex;width:100%;margin-top:22px}.review-actions{display:grid;grid-template-columns:1.25fr 1fr;gap:10px;margin-top:22px}.review-actions .danger{grid-column:span 2}.action-help{color:var(--muted);font-size:.88rem;text-align:center;margin-top:12px}.completion{max-width:630px;margin:5vh auto;text-align:center;padding:36px 20px}.completion h1{margin-inline:auto;max-width:12ch}.completion p:not(.eyebrow){color:var(--muted);max-width:45ch;margin:0 auto 24px}.paper-sun{width:80px;height:80px;border-radius:48% 52% 56% 44%;background:var(--pollen);margin:0 auto 24px;display:grid;place-items:center;font:2rem var(--serif);color:var(--moss-dark);box-shadow:8px 8px 0 var(--moss)}.plan-sheet{max-width:700px}.plan-toggle{display:flex;justify-content:space-between;align-items:center;gap:22px;padding-bottom:28px;border-bottom:1px solid var(--line)}.plan-toggle h2{margin-bottom:6px}.plan-toggle p{color:var(--muted);margin:0;max-width:36ch}.switch{position:relative;display:block;width:54px;height:32px;flex:0 0 auto}.switch input{opacity:0;width:1px;position:absolute}.switch span:not(.sr-only){position:absolute;inset:0;background:var(--line);border-radius:999px;transition:.18s}.switch span:not(.sr-only):after{content:"";position:absolute;width:24px;height:24px;left:4px;top:4px;background:var(--surface);border-radius:50%;transition:.18s}.switch input:checked+span{background:var(--moss)}.switch input:checked+span:after{transform:translate(22px)}.limit-control{display:grid;grid-template-columns:1fr auto;gap:12px;margin-top:28px}.limit-control label span{color:var(--muted);font-weight:400}.limit-control input{grid-column:span 2;padding:0;border:0;accent-color:var(--moss)}.limit-control output{align-self:start;color:var(--moss);font-weight:760;font-variant-numeric:tabular-nums}.range-labels{grid-column:span 2;display:flex;justify-content:space-between;color:var(--muted);font-size:.82rem}.week-tabs{border-top:1px solid var(--line);margin-top:28px;padding-top:22px}.week-tabs>div{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.week-tabs span{padding:12px 3px;text-align:center;background:var(--paper);border-radius:15px 15px 4px 4px;font-size:.8rem;font-weight:700}.plan-note{color:var(--muted);margin:18px 0 0}.unlock-sheet,.reflection-sheet,.about-sheet{max-width:680px}.unlock-sheet p:not(.eyebrow),.about-sheet>p{color:var(--muted);max-width:58ch}.unlock-sheet details{margin-top:24px;border-top:1px solid var(--line);padding-top:16px}.unlock-sheet summary{cursor:pointer;font-weight:720;color:var(--moss-dark)}.unlock-sheet details form{margin-top:16px}.reflection-sheet form{margin-bottom:28px}.reflection-list li{padding:16px 0;border-top:1px solid var(--line)}.reflection-list p{font:1.08rem/1.5 var(--serif);margin-bottom:4px}.reflection-list small,.legal-note{color:var(--muted)}.about-sheet ul{padding-left:20px;max-width:55ch}.about-sheet li{margin:9px 0}.about-actions{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0}.file-button{cursor:pointer}.file-button input{position:absolute;width:1px;height:1px;opacity:0}.toast{position:fixed;z-index:20;left:50%;bottom:22px;transform:translate(-50%);max-width:calc(100vw - 40px);background:var(--ink);color:var(--paper);padding:10px 14px;border-radius:4px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity .18s}.toast:not(:empty){opacity:1}dialog{border:1px solid var(--line);border-radius:4px 18px 4px 14px;background:var(--surface);color:var(--ink);max-width:min(480px,calc(100% - 32px));box-shadow:0 28px 70px #0007}dialog::backdrop{background:#14251fa8}dialog h2{font-size:1.7rem}dialog menu{display:flex;gap:10px;justify-content:flex-end;margin:8px 0 0;padding:0}footer{width:min(1100px,calc(100% - 40px));margin:auto;border-top:1px solid var(--line);padding:22px 0 34px;color:var(--muted);font-size:.86rem;display:flex;justify-content:space-between;gap:20px}footer p{margin:0}footer a,.legal-note a{color:var(--moss-dark)}.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}:focus-visible{outline:3px solid var(--ring);outline-offset:3px}@media(max-width:650px){.site-header{width:calc(100% - 28px);min-height:68px;gap:8px}.site-header nav{gap:0}.nav-item{padding:0 9px;font-size:.85rem}.wordmark{font-size:1rem}.theme-button{padding:0 4px}.site-header nav::-webkit-scrollbar{display:none}main{width:calc(100% - 32px);padding:38px 0 54px}.welcome{grid-template-columns:1fr;gap:22px}.welcome img{max-width:340px;margin:auto;order:-1}.form-row,.review-actions{grid-template-columns:1fr}.review-actions .danger{grid-column:auto}.card-list li{align-items:flex-start;flex-direction:column}.row-buttons{justify-content:flex-start}.page-head{margin-bottom:30px}.week-tabs span{font-size:.65rem;padding:10px 1px}footer{width:calc(100% - 32px);display:block}footer p+p{margin-top:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
