@import "https://fonts.googleapis.com/css2?family=Noto+Serif+TC:wght@400;500;600;700&family=LXGW+WenKai+TC&family=Noto+Sans+TC:wght@400;500&display=swap";:root{--paper:#f6f1e7;--surface:#fdfaf3;--surface-2:#efe8d9;--ink:#2b2b2b;--ink-soft:#6b645a;--ink-faint:#9b9285;--line:#ddd3c0;--cinnabar:#b3402a;--matcha:#7a8b6f;--gold:#c9a227;--accent:var(--cinnabar);--accent-soft:color-mix(in oklch, var(--accent) 14%, var(--paper));--shadow:0 12px 34px #2b23141c;--shadow-sm:0 2px 10px #2b231414;--focus-ring:0 0 0 3px color-mix(in oklch, var(--gold) 35%, transparent);--font-display:"Noto Serif TC", "PMingLiU", serif;--font-body:"Noto Sans TC", sans-serif;--anim:1;--radius:14px}.theme-dark{--paper:#1b1916;--surface:#242019;--surface-2:#2e2921;--ink:#eae2d3;--ink-soft:#b0a695;--ink-faint:#7c7363;--line:#3c362c;--cinnabar:#d06a52;--matcha:#93a586;--gold:#d9b54a;--accent-soft:color-mix(in oklch, var(--accent) 20%, var(--paper));--shadow:0 10px 30px #00000073;--shadow-sm:0 2px 10px #00000059}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body.zen-app{background:var(--paper);color:var(--ink);font-family:var(--font-body);transition:background .5s,color .5s;overflow:hidden auto}button:focus-visible,select:focus-visible,textarea:focus-visible,input:focus-visible,a:focus-visible{box-shadow:var(--focus-ring);outline:none}body.zen-app:before{content:"";pointer-events:none;opacity:.5;z-index:0;background-image:radial-gradient(#2b231409 1px,#0000 1px);background-size:5px 5px;position:fixed;inset:0}.app-shell{z-index:1;grid-template-rows:auto minmax(0,1fr) auto;min-height:100svh;display:grid;position:relative}.top-bar{justify-content:space-between;align-items:center;width:100%;padding:clamp(10px,2vh,20px) 32px 0;display:flex}.brand{align-items:baseline;gap:12px;display:flex}.brand .seal{background:var(--cinnabar);color:#f6f1e7;width:34px;height:34px;font-family:var(--font-display);letter-spacing:1px;box-shadow:var(--shadow-sm);border-radius:7px;justify-content:center;align-self:center;align-items:center;font-size:15px;font-weight:700;display:inline-flex}.brand h1{font-family:var(--font-display);letter-spacing:2px;margin:0;font-size:22px;font-weight:600}.brand .en{font-family:var(--font-display);letter-spacing:2px;color:var(--ink-faint);font-size:13px}.top-actions{align-items:center;gap:10px;display:flex}.icon-btn{appearance:none;border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);font-family:var(--font-body);cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:8px 14px;font-size:13px;transition:all .25s;display:inline-flex}.icon-btn:hover{border-color:var(--ink-faint);color:var(--ink)}.icon-btn svg{display:block}.stage{align-content:center;place-items:center;gap:clamp(5px,1.15vh,13px);min-height:0;padding:clamp(10px,1.7vh,20px) 24px clamp(12px,2vh,24px);display:grid}.mode-tabs{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:999px;gap:6px;padding:5px;display:flex}.mode-tab{appearance:none;color:var(--ink-soft);font-family:var(--font-display);letter-spacing:1px;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:clamp(5px,1.2vh,8px) 20px;font-size:clamp(13px,2.2vh,15px);transition:all .3s}.mode-tab.active{background:var(--accent);color:var(--paper)}.enso-wrap{aspect-ratio:1;place-items:center;width:min(330px,46vmin,34vh);display:grid;position:relative}.enso-ring{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.enso-ring .track{stroke:var(--line);opacity:.8}.enso-ring .progress{stroke:var(--accent);transition:stroke .5s}.buddha-stage{aspect-ratio:1;place-items:center;width:72%;display:grid;position:relative}.buddha-stage svg.buddha{width:100%;height:100%;display:block;overflow:visible}.petals{pointer-events:none;z-index:4;position:absolute;inset:-42% -48% -20%;overflow:visible}.petal{background:color-mix(in oklch, var(--gold) 70%, var(--paper));opacity:0;width:11px;height:15px;transform:translate3d(0, -24px, 0) rotate(var(--start-rot,0deg));will-change:transform, opacity;border-radius:50% 50% 50% 0;position:absolute;top:0}.state-focus .petal{animation:petal-fall calc(var(--dur,7s) / var(--anim,1)) ease-in infinite;opacity:calc(.85 * var(--anim,1))}@keyframes petal-fall{0%{transform:translate3d(0, -24px, 0) rotate(var(--start-rot,0deg));opacity:0}8%{opacity:calc(.85 * var(--anim,1))}72%{opacity:calc(.72 * var(--anim,1))}to{transform:translate3d(var(--sway,24px), var(--fall,220px), 0) rotate(var(--rot,300deg));opacity:0}}@media (prefers-reduced-motion:reduce){.state-focus .petal{opacity:0;animation:none}}.time-display{font-family:var(--font-display);letter-spacing:4px;font-variant-numeric:tabular-nums;margin-top:-6px;font-size:clamp(34px,7vh,70px);font-weight:600;line-height:1}.round-beads{align-items:center;gap:12px;display:flex}.bead{border:1.5px solid var(--ink-faint);background:0 0;border-radius:50%;width:11px;height:11px;transition:all .4s}.bead.done{background:var(--gold);border-color:var(--gold);box-shadow:0 0 8px color-mix(in oklch, var(--gold) 60%, transparent)}.controls{align-items:center;gap:14px;display:flex}.session-strip{border:1px solid var(--line);color:var(--ink-faint);letter-spacing:1px;border-radius:999px;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 14px;max-width:min(560px,92vw);padding:7px 14px;font-size:12px;display:flex}.session-strip span{white-space:nowrap}.session-strip span:first-child{color:var(--ink-soft)}.btn-primary{appearance:none;background:var(--accent);color:var(--paper);font-family:var(--font-display);letter-spacing:6px;text-indent:6px;cursor:pointer;box-shadow:var(--shadow);border:none;border-radius:999px;padding:clamp(8px,1.8vh,13px) 44px;font-size:clamp(15px,2.6vh,18px);transition:all .25s}.btn-primary:hover{filter:brightness(1.07);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-ghost{appearance:none;border:1px solid var(--line);color:var(--ink-soft);font-family:var(--font-display);letter-spacing:2px;cursor:pointer;background:0 0;border-radius:999px;padding:clamp(7px,1.6vh,11px) 22px;font-size:clamp(13px,2.2vh,15px);transition:all .25s}.btn-ghost:hover{color:var(--ink);border-color:var(--ink-faint)}.zen-quote{font-family:var(--font-display);letter-spacing:3px;color:var(--ink-faint);text-align:center;min-height:22px;font-size:17px;transition:opacity 1.2s}.zen-quote.fading{opacity:0}.music-bar{flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:clamp(6px,1.4vh,14px) 32px clamp(10px,2vh,22px);display:flex}.music-inner{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:999px;flex-direction:column;align-items:stretch;gap:10px;max-width:min(1180px,94vw);padding:9px 12px 9px 18px;display:flex}.music-inner.is-bili-mode{border-radius:8px;width:min(760px,94vw);padding:10px}.music-controls{align-items:center;gap:14px;width:100%;min-width:0;display:flex}.music-inner.is-bili-mode .music-controls{flex-wrap:wrap}.play-btn[hidden],.vol-wrap[hidden],.ambient-chips[hidden],.bili-view-btn[hidden],.bili-player-shell[hidden]{display:none!important}.music-label{font-family:var(--font-display);letter-spacing:2px;color:var(--ink-faint);align-items:center;gap:8px;font-size:13px;display:flex}.source-select,.track-select{appearance:none;color:var(--ink);font-family:var(--font-display);letter-spacing:1px;cursor:pointer;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' fill='none' stroke='%239B9285' stroke-width='1.5' stroke-linecap='round'/></svg>") right 2px center no-repeat;border:none;padding:4px 18px 4px 4px;font-size:14px}.source-select{max-width:180px}.track-select{text-overflow:ellipsis;max-width:min(360px,32vw)}.music-inner.is-bili-mode .track-select{flex:280px;max-width:none}.source-select:focus,.track-select:focus{outline:none}.ambient-chips{scrollbar-width:thin;gap:7px;max-width:min(420px,40vw);padding:2px;display:flex;overflow-x:auto}.ambient-chip{appearance:none;border:1px solid var(--line);background:var(--paper);color:var(--ink-soft);cursor:pointer;font-family:var(--font-body);letter-spacing:1px;border-radius:999px;flex:none;min-height:28px;padding:5px 10px;font-size:12px;transition:all .2s}.ambient-chip:hover{border-color:var(--ink-faint);color:var(--ink)}.ambient-chip.active{background:color-mix(in oklch, var(--accent) 12%, var(--surface));border-color:var(--accent);color:var(--ink)}.play-btn{appearance:none;background:var(--ink);width:38px;height:38px;color:var(--paper);cursor:pointer;border:none;border-radius:50%;place-items:center;transition:all .25s;display:grid}.play-btn:hover{background:var(--accent)}.vol-wrap{color:var(--ink-faint);align-items:center;gap:8px;display:flex}.vol-wrap.is-disabled{opacity:.46}input[type=range].vol{appearance:none;accent-color:var(--ink-soft);background:var(--line);cursor:pointer;border-radius:2px;outline:none;width:86px;height:3px}input[type=range].vol::-webkit-slider-thumb{-webkit-appearance:none;background:var(--ink-soft);cursor:pointer;border-radius:50%;width:13px;height:13px}.bili-view-btn{appearance:none;border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;font-family:var(--font-body);background:0 0;border-radius:999px;flex:none;height:32px;padding:0 12px;font-size:12px;transition:all .2s}.bili-view-btn:hover{border-color:var(--accent);color:var(--ink)}.bili-player-shell{background:var(--paper);border:1px solid var(--line);border-radius:8px;width:100%;height:clamp(180px,28vh,300px);overflow:hidden}.bili-player-shell.is-compact{bottom:max(74px, env(safe-area-inset-bottom));z-index:90;width:200px;height:112px;position:fixed;right:18px}.bili-player{border:0;width:100%;height:100%;display:block}.woodfish-corner{z-index:30;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;justify-items:center;gap:6px;display:grid;position:fixed;bottom:96px;right:clamp(18px,3.5vw,44px)}.woodfish-corner svg{filter:drop-shadow(0 8px 16px #2b231433);transform-origin:50% 80%;width:clamp(92px,11vw,136px);height:auto;transition:transform .12s}.woodfish-corner.knock svg{transform:scale(.9)rotate(-4deg)}.woodfish-corner .wf-label{font-family:var(--font-display);letter-spacing:2px;color:var(--ink-faint);font-size:13px}.woodfish-page{z-index:120;background:radial-gradient(circle at 50% 46%, color-mix(in oklch, var(--gold) 13%, transparent) 0 23%, transparent 46%), linear-gradient(180deg, var(--surface) 0%, var(--paper) 100%);color:var(--ink);opacity:0;pointer-events:none;grid-template-rows:auto minmax(0,1fr);transition:opacity .28s,transform .28s;display:grid;position:fixed;inset:0;transform:translateY(10px)}.woodfish-page.open{opacity:1;pointer-events:auto;transform:translateY(0)}.woodfish-page-head{padding:max(16px, env(safe-area-inset-top)) 24px 0;justify-content:space-between;align-items:center;gap:18px;display:flex}.woodfish-page-status{color:var(--ink-faint);letter-spacing:1px;flex-wrap:wrap;justify-content:flex-end;gap:8px 14px;font-size:13px;display:flex}.woodfish-page-status span:first-child{color:var(--ink-soft)}.woodfish-page-main{min-height:0;padding:12px 20px max(28px, env(safe-area-inset-bottom));align-content:center;place-items:center;gap:clamp(14px,3vh,28px);display:grid}.woodfish-altar{appearance:none;cursor:pointer;aspect-ratio:1.12;-webkit-tap-highlight-color:transparent;background:0 0;border:none;place-items:center;width:min(68vmin,520px);padding:0;display:grid}.woodfish-altar-svg{width:100%;display:block}.woodfish-altar svg{filter:drop-shadow(0 24px 36px #2b231433);transform-origin:50% 82%;width:100%;height:auto;transition:transform .12s,filter .12s;display:block}.woodfish-altar.knock svg{filter:drop-shadow(0 16px 24px #2b23142e);transform:scale(.94)rotate(-3deg)}.woodfish-page-time{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:4px;font-size:clamp(48px,13vmin,116px);font-weight:600;line-height:1}.woodfish-page-count{border:1px solid var(--line);color:var(--ink-soft);font-family:var(--font-display);letter-spacing:2px;border-radius:999px;padding:8px 18px;font-size:15px}body.woodfish-mode{overflow:hidden}.merit-float{z-index:60;font-family:var(--font-display);color:var(--gold);text-shadow:0 1px 4px #2b231433;pointer-events:none;white-space:nowrap;font-weight:600;animation:1.4s ease-out forwards merit-rise;position:fixed}@keyframes merit-rise{0%{opacity:0;transform:translateY(0)scale(.85)}15%{opacity:1;transform:translateY(-12px)scale(1.05)}to{opacity:0;transform:translateY(-74px)scale(1)}}.stats-scrim{z-index:40;opacity:0;pointer-events:none;background:#14100a59;transition:opacity .35s;position:fixed;inset:0}.stats-scrim.open{opacity:1;pointer-events:auto}.stats-panel{background:var(--surface);border-left:1px solid var(--line);width:min(380px,92vw);height:100vh;box-shadow:var(--shadow);z-index:50;flex-direction:column;gap:22px;padding:28px;transition:transform .4s cubic-bezier(.22,1,.36,1);display:flex;position:fixed;top:0;right:0;overflow-y:auto;transform:translate(105%)}.stats-panel.open{transform:translate(0)}.stats-head{justify-content:space-between;align-items:center;display:flex}.stats-head h2{font-family:var(--font-display);letter-spacing:3px;margin:0;font-size:20px;font-weight:600}.stats-close{appearance:none;color:var(--ink-faint);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:20px}.stat-cards{grid-template-columns:1fr 1fr;gap:12px;display:grid}.stat-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);gap:4px;padding:14px 16px;display:grid}.stat-card .label{letter-spacing:2px;color:var(--ink-faint);font-size:12px}.stat-card .value{font-family:var(--font-display);color:var(--ink);font-size:26px;font-weight:600}.stat-card .value .unit{color:var(--ink-soft);margin-left:3px;font-size:13px}.stat-card.gold .value{color:var(--gold)}.week-chart-wrap{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.week-chart-wrap .label{letter-spacing:2px;color:var(--ink-faint);margin-bottom:10px;font-size:12px}.stats-note{color:var(--ink-faint);border-top:1px dashed var(--line);padding-top:16px;font-size:12.5px;line-height:1.8}.oracle-scrim{z-index:42;opacity:0;pointer-events:none;background:#14100a59;transition:opacity .35s;position:fixed;inset:0}.oracle-scrim.open{opacity:1;pointer-events:auto}.oracle-panel{background:var(--surface);border-left:1px solid var(--line);width:min(440px,94vw);height:100vh;box-shadow:var(--shadow);z-index:52;isolation:isolate;flex-direction:column;gap:18px;padding:26px;transition:transform .4s cubic-bezier(.22,1,.36,1);display:flex;position:fixed;top:0;right:0;overflow-y:auto;transform:translate(105%)}.oracle-panel:before{content:"";pointer-events:none;opacity:.36;background:radial-gradient(circle at 88% 12%, color-mix(in oklch, var(--gold) 20%, transparent) 0 18%, transparent 19%), linear-gradient(135deg, transparent 0 48%, color-mix(in oklch, var(--line) 40%, transparent) 48% 49%, transparent 49%);z-index:0;position:absolute;inset:0}.oracle-panel>*{z-index:1;position:relative}.oracle-panel[data-pantheon=east]:before{background:radial-gradient(circle at 86% 13%, color-mix(in oklch, var(--cinnabar) 16%, transparent) 0 13%, transparent 14%), repeating-linear-gradient(135deg, transparent 0 24px, color-mix(in oklch, var(--gold) 18%, transparent) 25px 26px)}.oracle-panel[data-pantheon=west]:before{background:radial-gradient(circle at 84% 12%, color-mix(in oklch, var(--gold) 22%, transparent) 0 12%, transparent 13%), repeating-linear-gradient(90deg, transparent 0 34px, color-mix(in oklch, var(--line) 55%, transparent) 35px 36px), repeating-linear-gradient(0deg, transparent 0 34px, color-mix(in oklch, var(--line) 35%, transparent) 35px 36px)}.oracle-panel.open{transform:translate(0)}.oracle-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.oracle-kicker{letter-spacing:2px;color:var(--gold);margin-bottom:4px;font-size:11px;display:block}.oracle-head h2{font-family:var(--font-display);letter-spacing:3px;margin:0;font-size:24px;font-weight:600}.oracle-tabs{background:var(--paper);border:1px solid var(--line);border-radius:999px;grid-template-columns:1fr 1fr;gap:5px;padding:5px;display:grid}.oracle-tab{appearance:none;color:var(--ink-soft);cursor:pointer;font-family:var(--font-display);letter-spacing:2px;background:0 0;border:none;border-radius:999px;padding:8px 14px;font-size:14px;transition:all .25s}.oracle-tab.active{background:var(--accent);color:var(--paper)}.deity-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.deity-card{appearance:none;border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;text-align:left;border-radius:8px;gap:5px;min-height:86px;padding:13px;transition:border-color .2s,transform .2s,background .2s;display:grid;position:relative;overflow:hidden}.deity-card:hover{border-color:var(--ink-faint);transform:translateY(-1px)}.deity-card.active{border-color:var(--accent);background:color-mix(in oklch, var(--accent) 9%, var(--paper))}.deity-card .symbol{color:color-mix(in oklch, var(--gold) 70%, var(--ink-faint));font-family:var(--font-display);opacity:.42;font-size:28px;line-height:1;position:absolute;top:9px;right:12px}.deity-card .name{font-family:var(--font-display);letter-spacing:1px;padding-right:30px;font-size:17px}.deity-card .title{color:var(--ink-faint);padding-right:18px;font-size:12px;line-height:1.45}.oracle-panel[data-pantheon=east] .deity-card .symbol{color:var(--cinnabar);border:1px solid;border-radius:6px;place-items:center;width:34px;height:34px;display:grid}.oracle-panel[data-pantheon=west] .deity-card .symbol{color:var(--gold);text-shadow:0 0 12px color-mix(in oklch, var(--gold) 30%, transparent);font-family:Georgia,Times New Roman,serif;font-size:31px}.oracle-form{gap:9px;display:grid}.oracle-label{letter-spacing:2px;color:var(--ink-faint);font-size:12px}.oracle-form textarea{appearance:none;resize:vertical;border:1px solid var(--line);background:var(--paper);min-height:118px;max-height:260px;color:var(--ink);font-family:var(--font-body);border-radius:8px;outline:none;padding:13px;font-size:15px;line-height:1.7}.oracle-form textarea:focus{border-color:var(--accent)}.oracle-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.oracle-actions .btn-primary{letter-spacing:3px;text-indent:3px;padding:10px 26px;font-size:15px}.oracle-actions .btn-primary:disabled{cursor:progress;filter:grayscale(.35);opacity:.72;transform:none}.oracle-status{min-height:20px;color:var(--ink-faint);font-size:12px}.oracle-answer{border-top:1px dashed var(--line);color:var(--ink-soft);font-family:var(--font-display);letter-spacing:1px;white-space:pre-wrap;min-height:120px;padding-top:16px;font-size:16px;line-height:2}.oracle-answer strong{color:var(--ink);font-weight:600}.oracle-empty{color:var(--ink-faint)}.intent-card{gap:6px;width:min(420px,88vw);margin:6px auto 0;display:grid}.intent-card label{color:var(--ink-faint);letter-spacing:2px;text-align:center;font-size:12px}.intent-card input,.prayer-form input,.prayer-form textarea,.reflection-card select{border:1px solid var(--line);background:var(--paper);width:100%;color:var(--ink);font-family:var(--font-body);border-radius:8px;outline:none;padding:9px 12px}.intent-card input{text-align:center}.intent-card input:focus,.prayer-form input:focus,.prayer-form textarea:focus,.reflection-card select:focus{border-color:var(--accent)}.ritual-rail{width:min(560px,92vw);color:var(--ink-faint);flex-wrap:wrap;justify-content:center;gap:8px;margin:6px auto 0;font-size:12px;display:flex}.ritual-chip{appearance:none;border:1px solid var(--line);background:var(--paper);color:var(--ink-soft);cursor:pointer;font-family:var(--font-display);letter-spacing:1px;border-radius:999px;padding:6px 12px}.ritual-chip:hover{border-color:var(--accent);color:var(--ink)}.community-panel{z-index:54}.prayer-form{gap:10px;display:grid}.prayer-form textarea{resize:vertical;min-height:90px;line-height:1.6}.prayer-list{gap:10px;display:grid}.prayer-item{border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:13px}.prayer-item strong{color:var(--gold);font-family:var(--font-display);margin-bottom:6px;display:block}.prayer-item p{color:var(--ink-soft);margin:0 0 8px;line-height:1.7}.prayer-item button{appearance:none;color:var(--ink-faint);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px}.share-btn{width:100%}.reflection-card{max-height:min(92vh,620px);overflow-y:auto}.mobile-nav{display:none}.session-toast{background:var(--ink);color:var(--paper);font-family:var(--font-display);letter-spacing:2px;z-index:70;opacity:0;pointer-events:none;border-radius:999px;padding:10px 22px;font-size:14px;transition:all .4s;position:fixed;top:26px;left:50%;transform:translate(-50%)translateY(-12px)}.session-toast.show{opacity:1;transform:translate(-50%)translateY(0)}.modal-scrim{z-index:80;opacity:0;pointer-events:none;background:#14100a66;transition:opacity .3s;position:fixed;inset:0}.modal-scrim.open{opacity:1;pointer-events:auto}.modal-card{background:var(--surface);border:1px solid var(--line);width:min(380px,92vw);box-shadow:var(--shadow);z-index:90;opacity:0;pointer-events:none;border-radius:18px;gap:16px;padding:30px 30px 26px;transition:all .35s cubic-bezier(.22,1,.36,1);display:grid;position:fixed;top:50%;left:50%;transform:translate(-50%,-46%)}.modal-card.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)}.modal-card h2{font-family:var(--font-display);letter-spacing:3px;justify-content:space-between;align-items:center;margin:0;font-size:20px;font-weight:600;display:flex}.modal-sub{color:var(--ink-faint);margin:-8px 0 0;font-size:12.5px;line-height:1.7}.field{gap:6px;display:grid}.field label{letter-spacing:2px;color:var(--ink-faint);font-size:12px}.field input{appearance:none;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-family:var(--font-body);border-radius:10px;outline:none;padding:11px 13px;font-size:14px;transition:border-color .2s}.field input:focus{border-color:var(--accent)}.field .err{color:var(--cinnabar);min-height:0;font-size:12px}.modal-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.modal-actions .btn-primary{letter-spacing:3px;text-indent:3px;padding:10px 28px;font-size:15px}.modal-actions .btn-ghost{padding:9px 20px;font-size:14px}.user-chip{border:1px solid var(--gold);background:color-mix(in oklch, var(--gold) 12%, var(--surface));color:var(--ink);cursor:pointer;font-size:13px;font-family:var(--font-body);border-radius:999px;align-items:center;gap:7px;padding:8px 14px;display:inline-flex}.v-text{writing-mode:vertical-rl;font-family:var(--font-display);letter-spacing:10px;color:var(--ink-faint);opacity:.65;-webkit-user-select:none;user-select:none;pointer-events:none;font-size:13px;position:fixed}.v-text.left{top:50%;left:34px;transform:translateY(-50%)}@media (max-width:720px){body.zen-app{overflow:hidden auto}.app-shell{grid-template-rows:auto auto auto;height:auto;min-height:100svh}.v-text{display:none}.woodfish-corner{gap:0;bottom:150px;right:10px}.woodfish-corner svg{width:72px}.woodfish-corner .wf-label{display:none}.top-bar{flex-direction:column;align-items:flex-start;gap:8px;width:calc(100vw - 32px);padding:10px 16px 0}.brand h1{font-size:19px}.brand .seal{width:30px;height:30px}.top-actions{scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;gap:7px;width:100%;padding:0 2px 5px 0;overflow-x:auto}.top-actions::-webkit-scrollbar{display:none}.icon-btn,.user-chip{white-space:nowrap;flex:none;padding:7px 10px}.stage{align-content:start;gap:10px;padding:16px 16px 18px}.enso-wrap{width:min(300px,54vw,30svh)}.time-display{font-size:clamp(42px,16vw,64px)}.zen-quote{min-height:22px;font-size:15px}.session-strip{border-radius:8px;justify-content:flex-start;width:min(100%,360px)}.music-bar{padding-inline:12px}.music-inner{border-radius:8px;align-items:stretch;gap:10px;width:100%;padding:10px}.music-controls{grid-template-columns:auto 1fr auto;gap:10px;display:grid}.music-inner.is-bili-mode{width:100%}.music-inner.is-bili-mode .music-controls{grid-template-columns:1fr}.source-select,.track-select{width:100%;min-width:0;max-width:none}.ambient-chips{order:5;grid-column:1/-1;max-width:100%}.vol-wrap{grid-column:1/-1}.bili-view-btn{grid-column:1/-1;width:100%}.bili-player-shell.is-compact{width:172px;height:96px;bottom:12px;right:12px}input[type=range].vol{width:100%}.oracle-panel{width:100vw;padding:20px}.deity-grid{grid-template-columns:1fr}.brand .en{display:none}.intent-card{width:min(360px,88vw);margin-top:8px}.ritual-rail{max-height:42px;overflow:hidden}.music-bar{z-index:1;margin-bottom:0;position:relative;bottom:auto;left:auto;right:auto}body{padding-bottom:max(10px, env(safe-area-inset-bottom))}.mobile-nav{z-index:95;margin:8px 10px max(10px, env(safe-area-inset-bottom));border:1px solid var(--line);background:color-mix(in oklch, var(--surface) 92%, transparent);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:16px;grid-template-columns:repeat(6,1fr);gap:5px;padding:6px;display:grid;position:relative;bottom:auto;left:auto;right:auto}.mobile-nav button{appearance:none;min-width:0;color:var(--ink-soft);font-family:var(--font-display);letter-spacing:1px;background:0 0;border:none;border-radius:12px;padding:9px 4px;font-size:11px}.mobile-nav button:active{background:var(--paper);color:var(--accent)}.woodfish-page-head{flex-direction:column;align-items:stretch;gap:10px;padding-inline:14px}.woodfish-page-status{justify-content:flex-start}.woodfish-altar{width:min(88vw,430px)}.woodfish-page-count{font-size:14px}}
