:root{--bg:#0b0a09;--bg-soft:#14110e;--ink:#e9e2d6;--ink-dim:#a99f90;--gold:#e0bd7d;--gold-dim:#8a6f42;--line:rgba(224,189,125,0.16);--serif:"Iowan Old Style","Palatino Linotype","Songti SC","Hiragino Mincho ProN","Yu Mincho",Georgia,serif;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue","Hiragino Sans","Noto Sans JP","PingFang TC",sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}body{background-image:radial-gradient(ellipse 70% 45% at 50% -10%,rgba(224,189,125,.1),transparent 70%),radial-gradient(ellipse 50% 40% at 50% 110%,rgba(224,189,125,.05),transparent 70%);background-attachment:fixed}a{color:var(--gold);text-decoration:none}a:hover{text-decoration:underline}.wrap{position:relative;z-index:1;max-width:720px;margin:0 auto;padding:0 24px 120px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 0 0;font-size:13px;letter-spacing:.06em;color:var(--ink-dim)}.topbar nav{display:flex;gap:18px}.topbar nav a{color:var(--ink-dim)}.topbar nav a:hover{color:var(--gold)}.langs{display:flex;gap:10px;font-size:12px}.langs a{color:var(--ink-dim)}.langs a[aria-current=true]{color:var(--gold);border-bottom:1px solid var(--gold)}.hero{padding:38px 0 40px;text-align:center}.figure-wrap{margin:0 auto 18px}.figure-wrap svg{display:block;width:100%;height:auto}.figure-photo{margin:0}.figure-photo img{display:block;width:auto;height:min(700px,72vh);max-width:100%}.figure-photo figcaption{margin-top:10px;font-size:10.5px;line-height:1.7;color:#6f6759;letter-spacing:.01em}.figure-caption{margin:22px auto 8px;max-width:26em;font-size:12px;line-height:1.85;color:#8c8375}.figure-credit{margin:0 auto;max-width:26em;font-size:10.5px;line-height:1.7;color:#635c50;letter-spacing:.02em}.halo{animation:haloBreath 11s ease-in-out infinite;transform-origin:200px 210px}.jewel-glow{animation:jewelPulse 5.4s ease-in-out infinite;transform-origin:272px 318px}@keyframes haloBreath{0%,to{opacity:.72}50%{opacity:1}}@keyframes jewelPulse{0%,to{opacity:.55}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.halo,.jewel-glow{animation:none}}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(30px,5.2vw,46px);line-height:1.25;margin:0 0 18px;letter-spacing:.02em}.hero p{color:var(--ink-dim);font-size:15px;line-height:1.9;max-width:30em;margin:0 auto 8px}.hero .mark{font-family:var(--serif);color:var(--gold-dim);font-size:11px;letter-spacing:.34em;text-transform:uppercase;margin-bottom:22px}.section{padding:40px 0;border-top:1px solid var(--line)}.section h2{font-family:var(--serif);font-weight:400;font-size:21px;margin:0 0 10px;letter-spacing:.04em}.section .lede{color:var(--ink-dim);font-size:14px;line-height:1.85;margin:0 0 28px;max-width:34em}.lamp-stage{display:flex;justify-content:center;align-items:flex-end;min-height:240px;padding:20px 0 8px}.lamp{position:relative;width:120px;height:190px;background:none;border:0;padding:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;-webkit-tap-highlight-color:transparent}.lamp .bowl{width:92px;height:34px;border-radius:0 0 46px 46px/0 0 34px 34px;background:linear-gradient(180deg,#2a211a,#171210);border-top:1px solid rgba(224,189,125,.35);box-shadow:inset 0 6px 14px rgba(0,0,0,.65)}.lamp .flame{width:16px;height:26px;margin-bottom:4px;border-radius:50% 50% 50% 50%/62% 62% 38% 38%;background:radial-gradient(circle at 50% 72%,#fff6dd 0,#f2c66a 38%,rgba(224,160,60,.25) 70%,transparent 72%);opacity:0;transform:scaleY(.35);transition:opacity .9s ease,transform .9s ease}.lamp.lit .flame{opacity:1;transform:scaleY(1);animation:flicker 3.6s ease-in-out infinite}.lamp .glow{position:absolute;bottom:30px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(240,196,120,.3) 0,rgba(240,196,120,.1) 34%,transparent 66%);opacity:0;transition:opacity 1.4s ease;pointer-events:none}.lamp.lit .glow{opacity:1}@keyframes flicker{0%,to{transform:scaleY(1) translateX(0);opacity:1}42%{transform:scaleY(1.08) translateX(-.6px);opacity:.92}70%{transform:scaleY(.94) translateX(.8px);opacity:.97}}@media (prefers-reduced-motion:reduce){.lamp.lit .flame{animation:none}.breath-circle{animation:none!important}}.status{font-family:var(--serif);color:var(--gold);font-size:16px;min-height:1.6em;margin:18px 0 6px;letter-spacing:.04em}.hint,.status{text-align:center}.hint{font-size:13px;line-height:1.8;margin:0 auto 18px;max-width:26em}.ghost,.hint{color:var(--ink-dim)}.ghost{display:block;margin:0 auto;background:none;border:1px solid var(--line);font-size:12px;letter-spacing:.1em;padding:9px 20px;border-radius:999px;cursor:pointer;transition:color .2s,border-color .2s}.ghost:hover{color:var(--gold);border-color:var(--gold-dim)}.ghost:disabled{opacity:.4;cursor:default}.mala-stage{text-align:center}.mala-count{font-family:var(--serif);font-size:54px;color:var(--gold);line-height:1;margin:8px 0 4px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mala-btn{width:168px;height:168px;border-radius:50%;margin:26px auto 0;display:block;background:radial-gradient(circle at 50% 40%,#241c16 0,#14100d 100%);border:1px solid var(--line);color:var(--ink);font-family:var(--serif);font-size:15px;letter-spacing:.12em;cursor:pointer;transition:transform .12s ease,border-color .12s}.mala-btn:active{transform:scale(.965);border-color:var(--gold-dim)}.breath-stage{display:flex;flex-direction:column;align-items:center}.breath-circle{width:150px;height:150px;border-radius:50%;border:1px solid var(--gold-dim);background:radial-gradient(circle,rgba(224,189,125,.1),transparent 70%);transition:transform 4s cubic-bezier(.4,0,.4,1),opacity 1s;margin:18px 0 22px}.breath-circle.in{transform:scale(1.28)}.breath-circle.out{transform:scale(.82)}.breath-label{color:var(--gold);font-size:16px;letter-spacing:.14em;min-height:1.6em}.breath-label,.verse{font-family:var(--serif)}.verse{font-size:19px;line-height:2;letter-spacing:.02em;margin:0 0 16px;white-space:pre-line}.verse-source{font-size:13px;letter-spacing:.06em}.foot,.verse-source{color:var(--ink-dim)}.foot{border-top:1px solid var(--line);padding:34px 0 60px;font-size:12px;line-height:1.9}.foot p{margin:0 0 14px}.foot .disclaimer{color:#8f8678;border-left:2px solid var(--line);padding-left:14px}.figure-photo{position:relative}.figure-photo img{transition:filter 2.2s ease;will-change:filter}.figure-photo.lit img{filter:brightness(1.3) contrast(1.05) saturate(1.08)}.figure-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(50% 42% at 50% 36%,rgba(255,222,165,.2) 0,rgba(255,210,150,.07) 46%,transparent 74%),radial-gradient(46% 26% at 50% 97%,rgba(240,178,96,.28) 0,rgba(240,178,96,.08) 45%,transparent 72%);mask-image:radial-gradient(62% 62% at 50% 50%,#000 58%,transparent 100%);-webkit-mask-image:radial-gradient(62% 62% at 50% 50%,#000 58%,transparent 100%);opacity:0;transition:opacity 2.2s ease;mix-blend-mode:screen}.figure-photo.lit .figure-glow{opacity:1}.wish-box{max-width:34em}.wish-input{width:100%;background:rgba(255,255,255,.02);border:1px solid var(--line);border-radius:10px;color:var(--ink);font-family:var(--serif);font-size:15px;line-height:1.8;padding:14px 16px;resize:none;outline:none;transition:border-color .2s}.wish-input:focus{border-color:var(--gold-dim)}.wish-input::placeholder{color:#6b6355}.wish-row{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.wish-count{font-size:11px;color:#6b6355;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.wish-btn{margin:0;padding:8px 22px}.wish-note{margin:14px 0 0;font-size:11px;letter-spacing:.03em;color:#6b6355}.wish-stage{height:72px;margin-top:8px;position:relative;overflow:hidden}.wish-ghost{position:absolute;left:0;bottom:0;margin:0;font-family:var(--serif);font-size:16px;color:var(--gold);white-space:nowrap;animation:wishRise 3.6s ease-out forwards}@keyframes wishRise{0%{opacity:0;transform:translateY(10px);filter:blur(2px)}18%{opacity:.95;transform:translateY(0);filter:blur(0)}70%{opacity:.55}to{opacity:0;transform:translateY(-56px);filter:blur(3px)}}@media (prefers-reduced-motion:reduce){.wish-ghost{animation:none;opacity:.9}.figure-glow{transition:none}}.altar{margin:0 auto 20px;display:flex;flex-direction:column;align-items:center;position:relative}.altar .figure-wrap{margin-bottom:0}.altar-lamp{display:flex;flex-direction:column;align-items:center;margin-top:-64px;position:relative;z-index:2}.altar-lamp .lamp{width:116px;height:146px}.altar-lamp .lamp .bowl{width:92px;height:32px;background:linear-gradient(180deg,#33271c,#140f0b);border-top:1px solid rgba(224,189,125,.45);box-shadow:0 6px 18px rgba(0,0,0,.6),inset 0 2px 6px rgba(240,196,120,.12)}.altar-lamp .lamp .flame{width:16px;height:27px}.altar-lamp .lamp .glow{width:240px;height:240px;bottom:26px}.altar-lamp .status{font-size:14px;margin:10px 0 4px}.altar-lamp .hint{font-size:11.5px;margin:0 auto 10px;max-width:22em}.altar-lamp .ghost{padding:7px 16px;font-size:11px}.duo{display:grid;grid-template-columns:1fr;grid-gap:0;gap:0}@media (min-width:660px){.duo{grid-template-columns:1fr 1fr;gap:0 32px}.duo .section{padding:36px 0}.duo .mala-btn{width:140px;height:140px;margin-top:18px}.duo .mala-count{font-size:46px}.duo .breath-circle{width:132px;height:132px}}.altar-lamp .wick{width:1.5px;height:7px;margin-bottom:-2px;background:rgba(224,189,125,.4);transition:background .6s}.altar-lamp .lamp.lit .wick{background:#ffd98a}@media (max-width:560px){.wrap{padding-left:16px;padding-right:16px}.topbar{flex-direction:column;align-items:center;font-size:11px;letter-spacing:.02em;gap:8px;padding-top:16px}.topbar nav{gap:10px}.langs{gap:7px;font-size:11px}}.altar-lamp .lamp-shadow{position:absolute;left:50%;transform:translateX(-50%);bottom:-4px;width:128px;height:16px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(0,0,0,.55) 0,rgba(0,0,0,.25) 45%,transparent 72%);filter:blur(3px);pointer-events:none}.top-right{display:flex;align-items:center;gap:14px}.icon-btn{width:28px;height:28px;padding:0;display:grid;place-items:center;background:none;border:1px solid var(--line);border-radius:999px;color:var(--ink-dim);cursor:pointer;transition:color .22s,border-color .22s,box-shadow .4s}.icon-btn.active,.icon-btn:hover{color:var(--gold);border-color:var(--gold-dim)}.icon-btn.active{box-shadow:0 0 16px rgba(224,189,125,.28)}.icon-label{display:block;line-height:0}@media (max-width:560px){.top-right{gap:10px}.icon-btn{width:26px;height:26px}}.practice-box{max-width:34em}.practice-clock{font-family:var(--serif);font-size:44px;line-height:1;color:var(--gold);letter-spacing:.06em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin:4px 0 18px}.practice-btn{background:none;border:1px solid var(--line);color:var(--ink);font-size:12px;letter-spacing:.12em;padding:10px 24px;border-radius:999px;cursor:pointer;transition:color .2s,border-color .2s,background .2s}.practice-btn:hover{color:var(--gold);border-color:var(--gold-dim)}.practice-btn.running{color:#12100c;background:var(--gold);border-color:var(--gold)}.practice-stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px;margin:26px 0 0}.practice-stats div{border-top:1px solid var(--line);padding-top:12px}.practice-stats dt{font-size:11px;color:#6b6355;letter-spacing:.04em;margin-bottom:6px}.practice-stats dd{margin:0;font-family:var(--serif);font-size:22px;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.practice-note{margin:22px 0 0;font-size:11px;line-height:1.75;color:#6b6355}@media (max-width:420px){.practice-clock{font-size:36px}.practice-stats dd{font-size:19px}}.account{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}.account-title{font-size:12px;letter-spacing:.04em;color:var(--ink);margin:0 0 8px}.account-note{font-size:11.5px;line-height:1.8;color:#8c8375;margin:0 0 12px}.account-fine{color:#6b6355;margin:12px 0 0}.account-row{display:flex;gap:10px;flex-wrap:wrap}.account-input{flex:1 1 190px;background:rgba(255,255,255,.02);border:1px solid var(--line);border-radius:8px;padding:9px 12px;color:var(--ink);font-size:13px;outline:none}.account-input:focus{border-color:var(--gold-dim)}.account-btn{margin:0;padding:8px 16px;font-size:11px}.account-msg{font-size:11.5px;color:var(--gold);margin:10px 0 0}.account-danger{margin-top:16px;background:none;border:0;padding:0;color:#7a6a58;font-size:11px;text-decoration:underline;cursor:pointer}.account-danger:hover{color:#b0604d}@media (prefers-reduced-motion:reduce){.figure-glow,.figure-photo img{transition:none}}.ambient-bg{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(78% 56% at 50% 12%,rgba(255,208,148,.24) 0,rgba(255,200,140,.08) 45%,transparent 74%),radial-gradient(95% 64% at 50% 96%,rgba(240,172,92,.14) 0,rgba(240,172,92,.05) 45%,transparent 76%),linear-gradient(180deg,rgba(96,64,32,.2),rgba(76,50,26,.13));opacity:0;transition:opacity 2.4s ease}.ambient-bg.lit{opacity:1}@media (prefers-reduced-motion:reduce){.ambient-bg{transition:none}}.page.lit{--ink-dim:#c8bda8;--line:rgba(224,189,125,0.22)}.page.lit .figure-caption,.page.lit .figure-credit{color:#a99c86}.figure-photo img{position:relative;z-index:1}.figure-halo{position:absolute;left:50%;top:9.4%;width:84%;aspect-ratio:1/1;transform:translate(-50%,-50%) scale(.9);border-radius:50%;pointer-events:none;z-index:0;opacity:0;transition:opacity 2.2s ease,transform 2.6s cubic-bezier(.22,1,.36,1);background:radial-gradient(circle,rgba(255,226,170,0) 63%,rgba(255,214,150,.16) 65.5%,rgba(255,214,150,0) 68%),radial-gradient(circle,rgba(255,230,180,0) 43%,rgba(255,222,166,.34) 46.5%,rgba(255,226,172,.52) 49%,rgba(255,214,152,.16) 54%,rgba(255,206,140,0) 63%),radial-gradient(circle,rgba(255,228,176,.2) 0,rgba(255,214,158,.07) 48%,rgba(255,210,150,0) 70%);filter:blur(.8px)}.figure-photo.lit .figure-halo{opacity:1;transform:translate(-50%,-50%) scale(1)}@media (prefers-reduced-motion:reduce){.figure-halo{transition:opacity .4s ease;transform:translate(-50%,-50%) scale(1)}}