:root{--ink:#0a1633;--tide:#1f4e79;--dusk:#8e7cc3;--coral:#ff9a8b;--foam:#eaf4f4;--foam-soft:#eaf4f4c7;--foam-faint:#eaf4f480;--veil:#0a163357;--shadow:0 1px 14px #0a163373, 0 0 2px #0a16334d;--mincho:"Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;--gothic:"Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", sans-serif;--gutter:max(16px, env(safe-area-inset-left));--pearl:#f6efe3;--pearl-line:#f6efe39e;--pearl-hair:#f6efe347;--nacre:linear-gradient(115deg, #fbf6ec 0%, #f3e6dd 38%, #ece7ef 64%, #f7f1e6 100%);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{background:var(--ink);height:100%;color:var(--foam);font-family:var(--gothic);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;font-size:16px;line-height:1.7;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}button:focus-visible,input:focus-visible{outline:2px solid var(--foam);outline-offset:4px;border-radius:999px}.sky{width:100%;height:100%;display:block;position:fixed;inset:0}.gl-error{inset:auto var(--gutter) 40% var(--gutter);text-align:center;color:var(--foam-soft);position:fixed}.app{padding:max(16px, env(safe-area-inset-top)) var(--gutter) max(20px, env(safe-area-inset-bottom));text-shadow:var(--shadow);flex-direction:column;animation:2.4s cubic-bezier(.2,.7,.2,1) both rise;display:flex;position:fixed;inset:0}@property --glow{syntax:"<number>";inherits:true;initial-value:0}.app{--glow:0;transition:--glow 3s}.app:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(ellipse min(78vw, 720px) 62% at 50% 58%, rgb(10 22 51/calc(var(--glow) * .5)) 0%, rgb(10 22 51/calc(var(--glow) * .32)) 45%, #0a163300 100%);position:fixed;inset:0}@keyframes rise{0%{opacity:0;filter:blur(6px)}to{opacity:1;filter:none}}.topbar{justify-content:space-between;align-items:center;gap:12px;transition:opacity 1.2s;display:flex}.topbar.is-dim{opacity:.35}.wordmark{white-space:nowrap;font-family:var(--mincho);letter-spacing:.34em;text-transform:uppercase;color:#f6efe3;text-shadow:0 0 18px #fff4e447,0 1px 10px #0a163359;align-items:center;gap:14px;margin:0;font-size:17px;font-weight:400;line-height:1;display:flex}.wordmark-icon{opacity:.82;filter:drop-shadow(0 0 6px #fff8ec4d);display:block}.wordmark-rule{background:linear-gradient(#0000,#f6efe38c,#0000);width:1px;height:22px}.wordmark-text{margin-right:-.34em}.topbar-right{align-items:center;gap:14px;min-width:0;display:flex}.presence{white-space:nowrap;color:var(--foam-soft);align-items:center;gap:8px;margin:0;font-size:13px;display:flex}.presence-dot{background:var(--coral);border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:3.2s ease-out infinite ripple;box-shadow:0 0 #ff9a8b99}@keyframes ripple{to{box-shadow:0 0 0 10px #ff9a8b00}}.icon-button{filter:drop-shadow(0 1px 8px #0a163373);border-radius:50%;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.home{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:18px;min-height:0;display:flex}.phrase{writing-mode:vertical-rl;min-height:0;font-family:var(--mincho);letter-spacing:.22em;text-align:start;cursor:pointer;opacity:0;flex:0 auto;align-self:flex-end;max-height:min(56vh,30em);margin:20px 4px auto 0;font-size:clamp(19px,2.4vh,24px);font-weight:500;line-height:1.9;transition:opacity 2.2s,transform 2.2s;overflow:hidden;transform:translateY(-10px)}.phrase.is-ready{opacity:1;transform:none}.dial{align-items:center;gap:clamp(8px,4vw,40px);display:flex}.dial-step{border:1px solid var(--pearl-line);width:48px;height:48px;color:var(--pearl);-webkit-backdrop-filter:blur(6px);background:#0a16331f;border-radius:50%;place-items:center;transition:border-color .4s,box-shadow .4s,opacity .3s;display:grid;position:relative;box-shadow:0 4px 18px #0a16334d}.dial-step:before{content:"";border:1px solid var(--pearl-hair);pointer-events:none;border-radius:50%;position:absolute;inset:3px}.dial-step:hover:not(:disabled){border-color:var(--pearl);box-shadow:0 4px 18px #0a16334d,0 0 16px #fff4e438}.dial-step:disabled{opacity:.3;cursor:default}.dial-value{min-width:3.2ch;font-family:var(--mincho);justify-content:center;align-items:baseline;display:flex}.dial-number{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:clamp(104px,22vh,210px);font-weight:400;line-height:1}.dial-unit{margin-left:.2em;font-size:clamp(20px,3vh,28px)}.scenes{flex-direction:column;align-items:center;gap:6px;display:flex}.scene-row{border:0;gap:16px;margin:0;padding:0;display:flex}.scene-swatch:has(input:focus-visible){outline:2px solid var(--foam);outline-offset:6px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.scene-swatch{cursor:pointer;background-size:cover;border-radius:50%;width:44px;height:44px;transition:box-shadow .4s,transform .4s;position:relative;box-shadow:0 0 0 1px #eaf4f459,0 6px 18px #0a163359}.scene-swatch:has(input:checked){box-shadow:0 0 0 2px #0a1633b3, 0 0 0 3px var(--pearl), 0 0 18px #fff4e44d, 0 6px 22px #0a163373;transform:scale(1.12)}.scene-name{font-family:var(--mincho);letter-spacing:.12em;color:var(--foam-soft);margin:0;font-size:15px}.actions{flex-direction:column;align-items:center;gap:6px;display:flex}.start{isolation:isolate;background:var(--nacre);color:#17223f;min-width:232px;font-family:var(--mincho);letter-spacing:.34em;text-indent:.34em;text-shadow:0 1px #fff9;border-radius:999px;padding:16px 44px;font-size:18px;font-weight:500;transition:transform .4s,box-shadow .4s,opacity .3s;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffe6,inset 0 -1px 2px #78606e2e,0 0 0 1px #fff4e459,0 0 28px #ffeede2e,0 12px 40px #0a163361}.start:before{content:"";border-radius:inherit;pointer-events:none;border:1px solid #17223f29;position:absolute;inset:4px}.start:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(105deg,#0000 35%,#ffffffbf 50%,#0000 65%);position:absolute;inset:0;transform:translate(-100%)}.start:hover:not(:disabled){transform:translateY(-1px);box-shadow:inset 0 1px #ffffffe6,inset 0 -1px 2px #78606e2e,0 0 0 1px #fff4e48c,0 0 40px #ffeede4d,0 16px 48px #0a163373}.start:hover:not(:disabled):after{transition:transform 1.4s cubic-bezier(.3,.6,.2,1);transform:translate(100%)}.start:active:not(:disabled){transform:scale(.985)}.start:disabled{opacity:.55;cursor:default}.text-button{letter-spacing:.08em;color:var(--foam-soft);text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--pearl-hair);text-decoration-color:var(--pearl-hair);text-underline-offset:6px;padding:10px 14px;font-size:14px;transition:color .3s,text-decoration-color .3s}.text-button:hover{color:var(--pearl);-webkit-text-decoration-color:var(--pearl-line);text-decoration-color:var(--pearl-line)}.stats-line{color:var(--foam-faint);margin:0;font-size:13px}.home>.dial,.home>.scenes,.home>.actions,.home>.stats-line{transition:opacity .4s}.home.is-settings>.dial,.home.is-settings>.scenes,.home.is-settings>.actions,.home.is-settings>.stats-line{opacity:0;visibility:hidden}.settings{max-width:560px;padding:24px var(--gutter) max(20px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(22px)saturate(1.3);text-shadow:none;background:#0a1633b8;border-radius:28px 28px 0 0;flex-direction:column;gap:14px;margin:0 auto;animation:.45s cubic-bezier(.2,.8,.2,1) sheet;display:flex;position:absolute;inset:auto 0 0}@keyframes sheet{0%{opacity:0;transform:translateY(40px)}}.choice{border:0;margin:0;padding:0}.legend{color:var(--foam-faint);margin-bottom:8px;padding:0;font-size:13px;display:block}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid #eaf4f438;border-radius:999px;padding:7px 14px;font-size:14px;transition:background .25s,border-color .25s}.chip[aria-pressed=true]{background:var(--nacre);border-color:var(--pearl);color:#17223f}.volume input{width:100%;accent-color:var(--pearl)}.settings-close{align-self:center}.session{cursor:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:18px;display:flex}.session.is-awake{cursor:auto}.breath{aspect-ratio:1;place-items:center;width:min(64vmin,340px);display:grid;position:relative}.breath-canvas{pointer-events:none;width:150%;height:150%;position:absolute;inset:-25%}.breath-label{font-family:var(--mincho);letter-spacing:.4em;text-indent:.4em;margin:0;font-size:22px}.remaining{font-family:var(--mincho);letter-spacing:.04em;font-variant-numeric:tabular-nums;margin:0;font-size:clamp(40px,7vh,64px);font-weight:400}.progress{background:#eaf4f438;width:min(220px,50vw);height:1px}.progress span{background:var(--foam);transform-origin:0;height:100%;display:block}.session-controls{opacity:0;pointer-events:none;gap:12px;transition:opacity 1s;display:flex}.session.is-awake .session-controls{opacity:1;pointer-events:auto}.end{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:22px;min-height:0;display:flex}.end-heading{font-family:var(--mincho);letter-spacing:.3em;color:var(--foam-soft);margin:0;font-size:17px}.poem{min-height:0;font-family:var(--mincho);flex-direction:row-reverse;justify-content:center;gap:.9em;font-size:clamp(17px,5dvh - 18px,34px);font-weight:500;display:flex}.poem-line{white-space:nowrap;writing-mode:vertical-rl;letter-spacing:.2em;opacity:0;margin:0;line-height:1.4;animation:2.4s forwards ink}.poem-line:nth-child(2){margin-top:1.4em}.poem-line:nth-child(3){margin-top:2.8em}@keyframes ink{0%{opacity:0;filter:blur(8px);transform:translateY(-8px)}to{opacity:1;filter:none;transform:none}}.poem-waiting{letter-spacing:.2em;color:var(--foam-faint);align-self:center;margin:0;font-size:15px;animation:3s ease-in-out infinite breathe}@keyframes breathe{50%{opacity:.4}}.end-summary{color:var(--foam-soft);text-align:center;margin:0;font-size:15px}.end-links{gap:4px;display:flex}.notice{color:var(--foam-soft);margin:0;font-size:13px}.card-sheet{padding:24px var(--gutter);-webkit-backdrop-filter:blur(16px);background:#060a1eb3;flex-direction:column;justify-content:center;align-items:center;gap:20px;animation:.6s both rise;display:flex;position:fixed;inset:0}.card-sheet img{border-radius:18px;max-width:min(420px,100%);min-height:0;max-height:56vh;box-shadow:0 30px 80px #00000080}.card-actions{flex-direction:column;align-items:center;gap:8px;width:min(420px,100%);display:flex}.share-buttons{grid-template-columns:1fr 1fr;gap:10px;width:100%;display:grid}.share-button{border:1px solid var(--pearl-line);color:var(--foam);letter-spacing:.06em;background:#0a1633d1;border-radius:999px;padding:12px 10px;font-size:14px;transition:background .3s,opacity .3s}.share-button:hover:not(:disabled){background:#1f385ee6}.share-button:disabled{opacity:.5;cursor:default}.share-url{width:100%;color:var(--foam);font:inherit;background:#060a1e80;border:1px solid #eaf4f44d;border-radius:12px;padding:10px 14px;font-size:13px}.lang{color:var(--foam-soft);flex-shrink:0;align-items:center;transition:color .3s;display:flex;position:relative}.lang:hover{color:var(--foam)}.lang-icon{pointer-events:none;opacity:.85;position:absolute;left:12px}.lang-select{appearance:none;font:inherit;letter-spacing:.04em;color:inherit;text-underline-offset:5px;cursor:pointer;background:0 0;border:0;flex-shrink:0;padding:10px 14px 10px 34px;font-size:13px;-webkit-text-decoration:underline #eaf4f44d;text-decoration:underline #eaf4f44d}.lang-select option{color:var(--foam);background:var(--ink)}:root:not(:lang(ja)) .phrase{writing-mode:horizontal-tb;letter-spacing:.02em;text-align:center;align-self:center;max-width:min(32em,100%);max-height:none;margin:20px 0 auto;font-style:italic;line-height:1.5}:root:not(:lang(ja)) .poem{flex-direction:column;align-items:flex-start;gap:.2em;font-size:clamp(22px,3.6vh,34px);font-style:italic}:root:not(:lang(ja)) .poem-line{writing-mode:horizontal-tb;white-space:normal;letter-spacing:.01em}:root:not(:lang(ja)) .poem-line:nth-child(2){margin:0 0 0 1.4em}:root:not(:lang(ja)) .poem-line:nth-child(3){margin:0 0 0 2.8em}:root:not(:lang(ja)) :is(.start,.end-heading,.breath-label,.poem-waiting,.scene-name){letter-spacing:.08em;text-indent:0}:root:lang(zh){--mincho:"Noto Serif SC", "Songti SC", serif;--gothic:"Noto Sans SC", "PingFang SC", sans-serif}:root:lang(zh-Hant){--mincho:"Noto Serif TC", "Songti TC", serif;--gothic:"Noto Sans TC", "PingFang TC", sans-serif}:root:lang(ko){--mincho:"Noto Serif KR", "AppleMyungjo", serif;--gothic:"Noto Sans KR", "Apple SD Gothic Neo", sans-serif;word-break:keep-all}:root:is(:lang(ru),:lang(vi)){--mincho:"Noto Serif", serif;--gothic:"Noto Sans", sans-serif}:root:lang(hi){--mincho:"Noto Serif Devanagari", serif;--gothic:"Noto Sans Devanagari", sans-serif}:root:lang(hi) :not(.wordmark){letter-spacing:normal!important}:root:is(:lang(zh),:lang(ko),:lang(hi)) :is(.phrase,.poem){font-style:normal}@media (width<=480px){.wordmark{letter-spacing:.3em;gap:10px;font-size:15px}.wordmark-icon{width:28px;height:28px}.wordmark-rule{height:18px}.wordmark-text{margin-right:-.3em}.presence{white-space:normal;min-width:0;font-size:12px;line-height:1.35}.topbar-right{gap:4px}.lang-icon{left:0}.lang-select{padding:10px 4px 10px 20px}.scene-row{gap:12px}}@media (height<=640px){.home{gap:10px}.dial-number{font-size:88px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
