:root{--bg:#f6f0ea;--paper:#fffdf9;--text:#2f2928;--muted:#756b67;--rose:#8f5961;--rose2:#b77d85;--olive:#75806d;--lav:#978a9d;--gold:#b99667;--line:#e4d9d1;--shadow:0 18px 48px rgba(78,57,50,.08)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 10% 0%,color-mix(in srgb,var(--rose2) 10%,transparent),transparent 32%),radial-gradient(circle at 90% 10%,color-mix(in srgb,var(--olive) 8%,transparent),transparent 30%),var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Inter,Arial,sans-serif;transition:background-color .25s,color .25s}.shell{max-width:620px;margin:auto;min-height:100vh;padding:18px 16px 110px}.top{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:4px 2px 16px}.brand{font-size:12px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:var(--rose)}button,input,textarea{font:inherit}button{cursor:pointer}.linkbtn{border:0;background:transparent;color:var(--muted)}h1{font-size:clamp(32px,8vw,48px);line-height:1.02;letter-spacing:-.04em;margin:7px 0 12px}h2{font-size:24px;letter-spacing:-.02em;margin:0 0 8px}h3{font-size:18px;margin:0 0 8px}p{line-height:1.55}.lead{font-size:17px;color:var(--muted);margin:0}.label{font-size:12px;font-weight:850;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.card{background:color-mix(in srgb,var(--paper) 95%,transparent);border:1px solid var(--line);border-radius:24px;padding:18px;margin:14px 0;box-shadow:var(--shadow);transition:background .25s,border-color .25s}.flat{box-shadow:none;background:color-mix(in srgb,var(--bg) 65%,var(--paper))}.hidden{display:none!important}.small{font-size:13px;color:var(--muted);line-height:1.45}.notice{font-size:13px;line-height:1.45;background:color-mix(in srgb,var(--rose) 7%,var(--paper));border:1px solid var(--line);padding:12px 13px;border-radius:15px}.notice strong{color:var(--rose)}input,textarea{width:100%;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:14px 15px;color:var(--text);outline:none;margin-top:9px}input:focus,textarea:focus{border-color:var(--rose2);box-shadow:0 0 0 3px color-mix(in srgb,var(--rose2) 15%,transparent)}textarea{min-height:105px;resize:vertical}.btn{width:100%;border:0;border-radius:17px;padding:15px 17px;margin-top:10px;font-weight:850;background:var(--rose);color:white;box-shadow:0 8px 20px color-mix(in srgb,var(--rose) 18%,transparent)}.btn.secondary{background:color-mix(in srgb,var(--rose) 10%,var(--paper));color:var(--text);box-shadow:none}.btn.olive{background:var(--olive)}.btn:disabled{opacity:.5;cursor:not-allowed}.check{display:flex;align-items:flex-start;gap:9px;margin:11px 0;color:var(--muted);font-size:13px;line-height:1.4}.check input{width:auto;margin:3px 0 0}.check a{color:var(--rose)}.chips,.effect-row{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.chip,.effect{border:1px solid var(--line);background:var(--paper);color:var(--text);border-radius:999px;padding:9px 12px}.chip.on,.effect.on{background:var(--rose);color:white;border-color:var(--rose)}.rangebox{margin:14px 0}.rangehead{display:flex;justify-content:space-between;gap:10px;align-items:center}.rangeval{font-size:26px;font-weight:850;color:var(--rose)}input[type=range]{padding:0;border:0;box-shadow:none;accent-color:var(--rose)}.modes{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:12px 0}.mode{border:1px solid var(--line);background:var(--paper);border-radius:18px;padding:14px;text-align:left;min-height:84px;color:var(--text)}.mode strong{display:block;margin-top:6px}.mode span{font-size:12px;color:var(--muted)}.mode.on{border-color:var(--rose2);background:color-mix(in srgb,var(--rose) 5%,var(--paper))}.surprise-choice{width:100%;display:flex;align-items:center;gap:12px;text-align:left;border:1px dashed var(--rose2);background:color-mix(in srgb,var(--rose) 8%,var(--paper));color:var(--text);border-radius:18px;padding:13px 15px;margin:12px 0}.surprise-choice span:last-child{display:flex;flex-direction:column;gap:2px}.surprise-choice small{color:var(--muted);line-height:1.35}.surprise-icon{width:36px;height:36px;display:grid;place-items:center;flex:0 0 36px;border-radius:50%;background:var(--rose);color:#fff;font-size:18px}.panel{border-top:1px solid var(--line);margin-top:12px;padding-top:14px}.orb{width:158px;height:158px;border:0;border-radius:50%;display:block;margin:20px auto 10px;background:radial-gradient(circle at 35% 28%,color-mix(in srgb,var(--rose2) 88%,white),var(--rose) 48%,color-mix(in srgb,var(--rose) 82%,black));color:#fff;font-weight:850;font-size:18px;box-shadow:0 18px 42px color-mix(in srgb,var(--rose) 25%,transparent)}.orb.recording{animation:pulse 1.2s infinite}@keyframes pulse{50%{transform:scale(1.035)}}.timer{text-align:center;font-size:34px;font-variant-numeric:tabular-nums}.status{text-align:center;color:var(--muted);font-size:13px}audio,video{width:100%;margin-top:10px;border-radius:16px;background:#000}.palette{display:flex;flex-wrap:wrap;gap:10px;margin:13px 0 15px}.swatch{width:36px;height:36px;padding:0;border-radius:50%;border:2px solid #fff;background:var(--swatch);box-shadow:0 0 0 1px var(--line);transition:transform .15s,box-shadow .15s}.swatch.on{transform:scale(1.13);box-shadow:0 0 0 3px var(--rose),0 4px 10px rgba(78,57,50,.14)}.swatch.light{box-shadow:inset 0 0 0 1px #d7cec7,0 0 0 1px var(--line)}canvas{display:block;width:100%;height:260px;background:var(--paper);border:1px solid var(--line);border-radius:18px;touch-action:none}.canvasbar{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.divider{height:1px;background:var(--line);margin:18px 0}.summary{display:grid;grid-template-columns:1fr 1fr;gap:9px}.stat{background:var(--paper);border:1px solid var(--line);border-radius:17px;padding:13px}.stat b{display:block;font-size:24px;color:var(--rose)}.weekly-voice{background:linear-gradient(145deg,var(--paper),color-mix(in srgb,var(--rose) 7%,var(--paper)));margin-top:14px}.weekly-voice h2{margin-top:5px}.weekly-list{margin-top:12px}.weekly-item{padding:10px 0;border-top:1px solid var(--line)}.weekly-item:first-child{border-top:0}.weekly-meta{font-size:12px;font-weight:800;color:var(--rose);text-transform:capitalize}.weekly-item audio{margin-top:6px}.entry{padding:16px 0;border-bottom:1px solid var(--line)}.entry:last-child{border-bottom:0}.entryhead{display:flex;justify-content:space-between;gap:10px}.entrytitle{font-weight:850}.date{font-size:12px;color:var(--muted)}.pill{display:inline-block;padding:5px 8px;border-radius:999px;background:color-mix(in srgb,var(--rose) 10%,var(--paper));color:var(--rose);font-size:11px;font-weight:800;margin:6px 4px 0 0}.nav{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(620px,100%);display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:7px 8px calc(7px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--paper) 95%,transparent);border-top:1px solid var(--line);backdrop-filter:blur(14px)}.nav button{border:0;background:transparent;color:var(--muted);padding:10px 5px;border-radius:13px;font-weight:750}.nav button.on{background:color-mix(in srgb,var(--rose) 10%,var(--paper));color:var(--rose)}.footerlinks{text-align:center;font-size:12px;color:var(--muted);margin:22px 0}.footerlinks a{color:inherit}.toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%) translateY(12px);background:#332b2a;color:#fff;border-radius:14px;padding:11px 14px;opacity:0;pointer-events:none;transition:.2s;z-index:20;max-width:calc(100% - 32px)}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.theme-tester{margin:0 0 18px;padding:12px 13px;background:color-mix(in srgb,var(--paper) 92%,transparent);border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 26px color-mix(in srgb,var(--text) 6%,transparent)}.theme-tester-title{font-size:11px;font-weight:850;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:9px}.theme-tester-row{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.theme-choice{display:flex;align-items:center;justify-content:center;gap:6px;min-height:38px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--text);font-size:11px;font-weight:750;padding:7px 6px}.theme-choice.on{border-color:var(--rose);box-shadow:0 0 0 2px color-mix(in srgb,var(--rose) 14%,transparent)}.theme-dot{width:13px;height:13px;border-radius:50%;flex:0 0 13px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}@media(max-width:430px){.modes,.summary{grid-template-columns:1fr}.shell{padding-left:14px;padding-right:14px}.palette{gap:9px}.swatch{width:34px;height:34px}.theme-tester-row{grid-template-columns:1fr 1fr}.theme-choice{justify-content:flex-start;padding-left:12px}}.period-card{overflow:hidden}.period-head{display:flex;flex-direction:column;gap:12px}.period-head h2{margin-top:4px}.period-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;background:color-mix(in srgb,var(--rose) 6%,var(--paper));padding:5px;border-radius:15px}.period-tab{border:0;background:transparent;color:var(--muted);border-radius:11px;padding:10px 9px;font-weight:800}.period-tab.on{background:var(--paper);color:var(--rose);box-shadow:0 3px 10px rgba(78,57,50,.08)}.period-intro{display:flex;flex-direction:column;gap:4px;padding:16px 0 8px}.period-intro b{font-size:25px;color:var(--rose)}.period-intro span{font-size:13px;color:var(--muted)}.period-modes{margin-bottom:8px}.period-section{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}.period-section h3{margin-bottom:10px}.period-drawings{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.period-drawings img{width:100%;aspect-ratio:1/1;object-fit:cover;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.period-quote{margin:8px 0;padding:11px 12px;border-radius:14px;background:color-mix(in srgb,var(--rose) 6%,var(--paper));font-size:14px}.period-videos{display:grid;grid-template-columns:1fr 1fr;gap:8px}.period-videos video{margin:0;aspect-ratio:3/4;object-fit:cover}.period-empty{margin-top:14px;padding:18px;border:1px dashed var(--line);border-radius:16px;color:var(--muted);font-size:14px;text-align:center}@media(max-width:430px){.period-drawings{grid-template-columns:repeat(2,1fr)}.period-videos{grid-template-columns:1fr}}