:root{--night:#0a1422;--panel:#0e1824db;--line:#e8dec429;--text:#ece5d3;--muted:#9aa5b1;--warm:#ffc978;--warm-ink:#2a1c08;--danger:#f0a58f;--radius:14px}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--night);height:100%;color:var(--text);-webkit-font-smoothing:antialiased;font-family:Songti SC,Noto Serif CJK SC,Source Han Serif SC,Noto Serif SC,Georgia,Times New Roman,serif;overflow:hidden}button,textarea{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation}button:focus-visible,textarea:focus-visible{outline:2px solid var(--warm);outline-offset:2px}.world{position:fixed;inset:0}.world canvas{touch-action:none}.btn{border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);white-space:nowrap;border-radius:999px;min-height:44px;padding:0 18px;transition:background .15s,border-color .15s,transform .1s}.btn:hover{border-color:#ffc97880}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--warm);border-color:var(--warm);color:var(--warm-ink);font-weight:600}.btn-wide{width:100%;margin-top:18px}.chip{border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;min-height:36px;padding:0 13px;font-size:14px;display:inline-flex}button.chip:hover{border-color:#ffc97880}.chip[aria-pressed=true]{border-color:var(--warm);color:var(--warm)}.chip-static{cursor:default}.mood-chip i,.dot{background:var(--mood);width:10px;height:10px;box-shadow:0 0 8px var(--mood);border-radius:50%;flex:none}.mood-chip[aria-pressed=true]{border-color:var(--mood);color:var(--text);background:color-mix(in srgb, var(--mood) 18%, var(--panel))}.sample-tag{color:var(--muted);margin-left:8px}.icon-btn{width:40px;height:40px;color:var(--muted);background:0 0;border:0;border-radius:50%;font-size:24px;line-height:1}.bar{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.bar-left{justify-content:flex-start}.hud-top{padding:max(14px, env(safe-area-inset-top)) 16px 0;pointer-events:none;justify-content:space-between;align-items:flex-start;gap:12px;display:flex;position:fixed;top:0;left:0;right:0}.hud-top>*{pointer-events:auto}.hud-id{text-shadow:0 1px 6px #000000b3;flex-direction:column;gap:2px;display:flex}.hud-id strong{letter-spacing:.12em;font-size:19px}.hud-id span{color:var(--muted);font-size:13px}.hud-right{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.hud-note{top:max(68px, calc(env(safe-area-inset-top) + 58px));text-align:center;color:var(--text);text-shadow:0 1px 6px #000000d9;pointer-events:none;font-size:13px;position:fixed;left:16px;right:16px}.hud-proto{color:var(--muted);margin-top:4px;font-size:11px;display:block}.hud-bottom{padding:0 12px max(16px, env(safe-area-inset-bottom));pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:0;left:0;right:0}.hud-bottom .bar>*{pointer-events:auto}.backdrop{z-index:20;background:#050a128c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);width:min(520px,100%);max-height:min(86dvh,720px);padding:18px 20px 22px;animation:.22s ease-out rise;overflow-y:auto}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}.panel-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.panel h2{text-wrap:balance;font-size:19px;font-weight:600}.panel h3{color:var(--muted);letter-spacing:.06em;margin:18px 0 9px;font-size:13px;font-weight:400}.note-input{border:1px solid var(--line);resize:vertical;background:#00000047;border-radius:10px;width:100%;padding:13px 14px;font-size:16px;line-height:1.7;display:block}.note-input::placeholder{color:#7d8894}.note-meta{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums;margin-top:5px;font-size:12px}.warn{color:var(--danger);background:#f0a58f1a;border-radius:10px;margin-top:14px;padding:10px 12px;font-size:14px;line-height:1.7}.warn-top{margin:0 0 12px}.warn-soft{color:var(--warm);background:#ffc9781a}.warn code{word-break:break-all;background:#f0a58f29;border-radius:5px;margin-left:6px;padding:1px 6px;font-family:ui-monospace,Menlo,monospace;font-size:13px}.rituals{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.ritual{border:1px solid var(--line);text-align:left;background:#00000038;border-radius:12px;flex-direction:column;gap:6px;padding:13px 12px;transition:border-color .15s,background .15s;display:flex}.ritual strong{color:var(--warm);font-size:17px}.ritual span{color:var(--muted);font-size:13px;line-height:1.55}.ritual:hover:enabled{border-color:var(--warm);background:#ffc97814}.ritual:disabled{opacity:.5;cursor:default}.body-text{font-size:15px;line-height:1.8}.body-text+.body-text{margin-top:6px}.muted{color:var(--muted);font-size:13px}.lantern-text{text-wrap:pretty;margin:14px 0 12px;font-size:18px;line-height:1.85}.me-too-count{color:var(--warm);font-size:14px}.help-lines,.list{list-style:none}.help-lines{border-top:1px solid var(--line);margin-top:14px}.help-lines li{border-bottom:1px solid var(--line);grid-template-columns:62px 1fr auto;align-items:baseline;gap:10px;padding:11px 0;font-size:14px;display:grid}.help-lines li span:first-child{color:var(--muted)}.help-lines strong{color:var(--warm);font-variant-numeric:tabular-nums;font-size:16px}.list li{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:9px 0;display:flex}.list-text{overflow-wrap:anywhere;flex:1;min-width:0;font-size:14px;line-height:1.6}.entrance{z-index:30;background:radial-gradient(at 50% 60%,#0a142280,#060b14f0);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.entrance-lang{top:max(14px, env(safe-area-inset-top));position:absolute;right:16px}.entrance-body{text-align:center;width:min(420px,100%)}.entrance h1{letter-spacing:.12em;text-indent:.12em;white-space:nowrap;font-size:clamp(34px,10vw,56px);font-weight:600}.entrance-tagline{text-wrap:balance;margin-top:12px;font-size:17px;line-height:1.7}.entrance-promises{border-top:1px solid var(--line);text-align:left;margin:28px 0 30px;list-style:none}.entrance-promises li{border-bottom:1px solid var(--line);color:#d5cdb9;padding:12px 2px;font-size:15px}.entrance .btn-primary{min-width:180px;min-height:50px;font-size:17px}.ritual-overlay{z-index:25;background:#050910c7;justify-content:center;align-items:center;padding:24px;animation:.4s ease-out rise;display:flex;position:fixed;inset:0}.ritual-burn{background:radial-gradient(at 50% 100%,#782c0a8c,#050910db 70%)}.ritual-text{white-space:pre-wrap;overflow-wrap:anywhere;width:min(560px,100%);font-size:20px;line-height:1.9}.burn-char{white-space:pre;animation:2s ease-in forwards burn;display:inline-block}@keyframes burn{0%{color:var(--text);opacity:1;transform:none}30%{color:#ffb04a;text-shadow:0 0 12px #ff7a1a}60%{color:#ff5a1f;opacity:.9;filter:blur(.6px)}to{color:#3a1a0c;opacity:0;filter:blur(3px);transform:translateY(-70px)scale(.3)rotate(12deg)}}.bury-text{animation:3s ease-in forwards bury}@keyframes bury{60%{opacity:.9;filter:blur(.5px);transform:scale(.4)}to{opacity:0;transform:translateY(42vh)scale(.05)}}.float-text{animation:3s ease-in-out forwards float-away}@keyframes float-away{45%{color:var(--warm);text-shadow:0 0 30px var(--warm);opacity:1;transform:scale(.18)}to{color:var(--warm);opacity:0;transform:translate(46vw,-8vh)scale(.05)}}.ritual-done{text-align:center;flex-direction:column;align-items:center;gap:22px;max-width:440px;animation:.6s ease-out rise;display:flex}.ritual-done p{text-wrap:balance;font-size:19px;line-height:1.8}.shout{--level:0;justify-content:center;align-items:flex-end;display:flex;position:absolute;inset:0;overflow:hidden}.shout-core,.shout-ring{border-radius:50%;width:120px;height:120px;margin:-60px 0 0 -60px;position:absolute;top:40%;left:50%}.shout-core{transform:scale(calc(.5 + var(--level) * 2.2));opacity:calc(.35 + var(--level) * .65);background:radial-gradient(circle,#ffe2ad,#ff9a4a 60%,#0000 72%);transition:transform 80ms linear}.shout-ring{border:2px solid var(--warm);animation:2.4s ease-out forwards echo}@keyframes echo{0%{opacity:.9;transform:scale(1)}to{transform:scale(calc(4 + var(--size) * 9));opacity:0}}.shout-panel{width:min(460px,100%);margin-bottom:max(28px, env(safe-area-inset-bottom));text-align:center;padding:0 20px;position:relative}.shout-panel h2{font-size:22px}.shout-panel p{color:#c9c2b0;text-wrap:balance;margin:10px 0 18px;font-size:14px;line-height:1.7}.link{color:var(--muted);text-underline-offset:3px;background:0 0;border:0;margin-top:16px;padding:10px 6px;font-size:13px;text-decoration:underline}.link:hover{color:var(--text)}.link-block{margin:14px auto 0;display:block}.about-list{list-style:none}.about-list li{border-bottom:1px solid var(--line);text-wrap:pretty;padding:11px 0;font-size:14px;line-height:1.75}.about-list li:last-child{color:var(--warm);border-bottom:0}.review{height:100%;padding:24px 16px 60px;overflow-y:auto}.review-inner{width:min(680px,100%);margin:0 auto}.review h1{margin-bottom:6px;font-size:24px}.review-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);margin-top:14px;padding:14px 16px}.review-card p{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 12px;font-size:16px;line-height:1.8}.review-token{border:1px solid var(--line);width:100%;min-height:44px;color:var(--text);font:inherit;background:#00000047;border-radius:10px;margin:14px 0 10px;padding:0 12px;font-size:16px}.entrance .link{margin:12px auto 0;display:block}html,body{overscroll-behavior:none}.hud-top,.hud-bottom,.hud-note{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}@media (max-width:640px){.backdrop{align-items:flex-end;padding:0}.panel{border-radius:var(--radius) var(--radius) 0 0;width:100%;max-height:88dvh;padding-bottom:max(22px, env(safe-area-inset-bottom))}.rituals{grid-template-columns:1fr;gap:7px}.ritual{flex-direction:row;align-items:center;gap:12px;padding:12px}.ritual strong{flex:none;min-width:3.2em}.note-input{min-height:120px}.hud-bottom{gap:8px;padding-left:0;padding-right:0}.hud-bottom .bar{scrollbar-width:none;flex-wrap:nowrap;justify-content:safe center;padding:2px 12px;overflow-x:auto}.hud-bottom .bar::-webkit-scrollbar{display:none}.hud-bottom .bar>*{flex:none}.hide-small{display:none}.btn{padding:0 13px;font-size:15px}.chip{min-height:40px}.hud-id strong{font-size:17px}.hud-right{gap:6px}.hud-right .chip{padding:0 10px;font-size:13px}.hud-note{top:max(62px, calc(env(safe-area-inset-top) + 52px));font-size:12px}.ritual-text{font-size:18px}}@media (prefers-reduced-motion:reduce){.burn-char,.bury-text,.float-text,.shout-ring{animation-duration:10ms}}
