@font-face{font-family:UruMincho;src:url(../assets/fonts/uru-mincho.otf) format('opentype');font-display:swap}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#050c14;color:#e4dcc9;font-family:UruMincho,'Yu Mincho',serif}#stage,#experience,#shade{position:fixed;inset:0}#stage{background:radial-gradient(ellipse at 50% 70%,#23353d 0, #0a1721 36%,#03080e 80%)}#stage canvas{display:block;width:100%;height:100%}#shade{pointer-events:none;background:radial-gradient(ellipse at 50% 40%,transparent 30%,#0205098c 100%)}#experience{z-index:2;pointer-events:none}#brand{position:absolute;top:max(4%,env(safe-area-inset-top));width:100%;text-align:center;font-size:13px;letter-spacing:.2em;color:#bdb8a0;opacity:0}#season{position:absolute;left:7%;bottom:13%;display:flex;align-items:center;gap:25px;opacity:0;text-shadow:0 2px 15px #000}#season-name{font-size:clamp(35px,5vw,68px);font-weight:400}#season-caption{font-size:clamp(13px,1.15vw,18px);letter-spacing:.18em;border-left:1px solid #b9ae8255;padding:12px 0 12px 24px}
#copy{position:absolute;top:58%;width:100%;text-align:center;padding:0 20px;text-shadow:0 2px 16px #000,0 2px 5px #000;opacity:0}#copy h1{font-size:clamp(28px,2.7vw,46px);font-weight:400;line-height:1.4;letter-spacing:.12em;margin:0 0 12px}#copy p{margin:0;line-height:1.7}#copy .anniversary{font-size:clamp(17px,1.6vw,27px);letter-spacing:.06em;color:#d7c398}.rule{width:130px;height:1px;background:linear-gradient(90deg,transparent,#ad9260,transparent);margin:18px auto}#copy .poem{font-size:clamp(19px,1.8vw,29px);letter-spacing:.09em}#copy .gratitude{font-size:clamp(14px,1.2vw,20px);color:#c5c3b9;letter-spacing:.07em;margin-top:14px}#copy .gratitude span{display:inline}#copy>*{opacity:0;transform:translateY(8px)}#black{position:absolute;inset:0;background:#020408;opacity:0;pointer-events:none}.panel{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:22px;text-align:center;pointer-events:auto;background:radial-gradient(ellipse at center,#06131bc4, #02070bb8 75%)}.panel .store{font-size:15px;letter-spacing:.2em;color:#c8bd9d;margin:0 0 24px}.panel h2{font-size:clamp(52px,6.6vw,94px);font-weight:400;letter-spacing:.2em;margin:0;padding-left:.2em;line-height:1.5}.subtitle{font-size:clamp(15px,1.4vw,22px);letter-spacing:.17em;line-height:2;margin:15px 0 30px;color:#bcbfb9}.hairline{width:52px;height:1px;background:#b5a476;opacity:.7;margin:2px 0 35px}.seal{border:1px solid #a0916777;border-radius:50%;width:34px;height:42px;display:grid;place-items:center;font-size:17px;color:#bdad84;margin-bottom:30px}.panel h2.end-title{font-size:clamp(25px,3.7vw,48px);letter-spacing:.06em}button{font:14px UruMincho,serif;min-height:44px;padding:14px 28px;border:1px solid #a292675e;background:#0d1b23d9;color:#e2d7b9;cursor:pointer;letter-spacing:.08em;border-radius:1px}button:hover{background:#293336}button:focus-visible{outline:2px solid #eadbb6;outline-offset:4px}button:disabled{opacity:.45;cursor:wait}.text-button{border-color:transparent;background:transparent;font-size:12px;color:#a7b1b3;margin-top:10px}#status,#reduced{font:12px/1.7 system-ui,sans-serif;color:#a4afb7;max-width:36em;margin:18px 0 0}#controls{position:absolute;right:max(15px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));display:flex;gap:6px;pointer-events:auto;z-index:5}#controls button{font-size:11px;padding:10px 12px;background:#04101ac9;min-height:42px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}[hidden]{display:none!important}body.capture .panel,body.capture #controls{display:none!important}
@media(orientation:portrait){#brand{font-size:11px;top:max(4%,env(safe-area-inset-top))}#season{left:8%;bottom:16%;gap:17px}#season-name{font-size:48px}#season-caption{font-size:13px;padding-left:17px}#copy{top:54%;padding:0 14px}#copy h1{font-size:clamp(25px,6.4vw,39px);margin-bottom:10px}#copy .anniversary{font-size:clamp(16px,4vw,24px)}#copy .poem{font-size:clamp(17px,4.4vw,26px);letter-spacing:.035em}#copy .gratitude{font-size:clamp(14px,3.6vw,20px);line-height:1.85;margin-top:14px;letter-spacing:.025em}#copy .gratitude span{display:block}.rule{margin:14px auto;width:100px}#controls{left:8px;right:8px;justify-content:center}#controls button{padding:10px;font-size:11px}.seal{margin-bottom:22px}.panel .store{font-size:13px}.panel h2{font-size:52px}.subtitle{font-size:14px;letter-spacing:.1em}}
@media(max-height:600px){#copy{top:52%}#copy h1{font-size:24px;margin-bottom:4px}#copy .anniversary{font-size:15px}#copy .poem{font-size:17px}#copy .gratitude{font-size:13px;margin-top:7px;line-height:1.5}.rule{margin:8px auto}#controls{bottom:5px}#controls button{min-height:36px;padding:8px}#season{bottom:16%}.panel h2{font-size:42px}.panel .store{margin-bottom:8px}.seal{display:none}.subtitle{margin:8px 0 16px}.hairline{margin:0 0 16px}#status{margin-top:10px}}

#welcome{transition:opacity .6s ease}
