:root{color-scheme:dark;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;color:#eee9df;background:#0b0d0e;--ink:#0b0d0e;--paper:#e8e4da;--muted:#8e9692;--line:#ffffff1c;--ember:#e16b35;--gold:#d6ab76}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--ink)}
body{overflow:hidden}
button,a{font:inherit}
button{cursor:pointer}
.site-shell{position:relative;isolation:isolate;min-height:100svh;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(ellipse at 57% 45%,#293033 0%,#151a1b 36%,#0b0d0e 76%)}
.site-shell:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.22;pointer-events:none;background-image:radial-gradient(#d7d2c4 .55px,transparent .55px);background-size:5px 5px;mask-image:linear-gradient(115deg,transparent 0%,#000 35%,#000 72%,transparent 100%)}
.site-shell:after{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--ember),transparent);opacity:.65}
.masthead{height:88px;flex:0 0 88px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(24px,4.7vw,72px);border-bottom:1px solid var(--line);z-index:4}
.wordmark{display:inline-flex;align-items:center;gap:12px;color:var(--paper);text-decoration:none;width:max-content}
.wordmark-mark{display:grid;place-items:center;width:32px;height:32px;border:1px solid #c8855b;border-radius:50%;color:#efb17e;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:16px;transform:rotate(-9deg)}
.wordmark-copy{display:flex;flex-direction:column;gap:4px}.wordmark-copy small,.masthead-center,.edition small{font-size:9px;letter-spacing:.2em;color:var(--muted)}.wordmark-copy strong{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:15px;letter-spacing:.14em;font-weight:500}
.masthead-center{display:flex;align-items:center;gap:14px;white-space:nowrap}.masthead-center i{width:34px;height:1px;background:#b47a58;display:block}.edition{text-align:right;justify-self:end}.edition>span{font-family:Georgia,serif;font-size:31px;font-style:italic;color:var(--gold);transition:color .4s}.edition small{display:block;margin-top:3px}
.hero{position:relative;flex:1;min-height:0;display:grid;place-items:center;padding:10px clamp(20px,4vw,64px) 14px}
.hero-copy{position:absolute;left:clamp(56px,9vw,150px);top:clamp(54px,9vh,104px);z-index:2;pointer-events:none}.kicker{margin:0 0 18px;color:var(--gold);font-size:10px;letter-spacing:.22em}.hero-copy h1{margin:0;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:400;font-size:clamp(42px,5.3vw,78px);line-height:1.07;letter-spacing:.08em}.hero-copy h1 em{font-style:normal;color:#e19967}.copy-note{margin:23px 0 0;color:#d0d2ca;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:13px;line-height:1.9;letter-spacing:.08em}.copy-note span{font-family:inherit;color:#838b88;font-size:11px;letter-spacing:.04em}
.hero-rail{position:absolute;left:clamp(22px,3.8vw,58px);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:13px;color:#a5aaa2;z-index:3;font-size:10px;letter-spacing:.15em}.hero-rail span{font-family:Georgia,serif;color:var(--ember);font-size:13px;font-style:italic}.hero-rail i{display:block;width:1px;height:74px;background:linear-gradient(var(--ember),transparent)}.hero-rail b{font-weight:400;writing-mode:vertical-rl;letter-spacing:.25em;color:#777f7c}
.viewer-frame{position:relative;width:min(100%,1160px);height:100%;min-height:440px;overflow:hidden;border:1px solid #ffffff1a;background:radial-gradient(ellipse at 50% 57%,#4a4d4a36,#15191a 67%,#0e1112 100%);box-shadow:0 22px 80px #0008,0 0 0 1px #0008;clip-path:polygon(0 16px,16px 0,calc(100% - 16px) 0,100% 16px,100% calc(100% - 16px),calc(100% - 16px) 100%,16px 100%,0 calc(100% - 16px))}
.viewer-frame:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:radial-gradient(ellipse at 50% 60%,transparent 42%,#0506063b 100%)}
.frame-label{position:absolute;z-index:3;font-size:9px;letter-spacing:.18em;color:#89918c;pointer-events:none}.frame-label--top{top:17px;left:25px}.frame-label--bottom{bottom:17px;right:25px;color:#66706d}.corner{position:absolute;z-index:3;width:18px;height:18px;pointer-events:none}.corner--tl{top:14px;left:14px;border-top:1px solid var(--gold);border-left:1px solid var(--gold)}.corner--tr{top:14px;right:14px;border-top:1px solid var(--gold);border-right:1px solid var(--gold)}.corner--bl{bottom:14px;left:14px;border-bottom:1px solid var(--gold);border-left:1px solid var(--gold)}.corner--br{bottom:14px;right:14px;border-bottom:1px solid var(--gold);border-right:1px solid var(--gold)}
canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:grab;z-index:2}canvas:active{cursor:grabbing}canvas:focus-visible{outline:1px solid var(--gold);outline-offset:-8px}.stage-word{position:absolute;top:51%;left:50%;transform:translate(-50%,-50%);font-family:Georgia,serif;font-size:clamp(100px,17vw,245px);letter-spacing:.08em;color:#ffffff05;user-select:none;z-index:1}
#loading{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#d3c0a7;font-size:12px;letter-spacing:.13em}.loading-line{width:82px;height:1px;background:#d3c0a7;animation:pulse 1s ease-in-out infinite alternate}@keyframes pulse{to{opacity:.2;transform:scaleX(.5)}}
#error{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#0d1112e8}#error img{width:min(78%,520px);height:47%;object-fit:contain}#error p{font-size:13px;line-height:1.8;color:#c9ccc5}#error button{margin-top:4px}
.stage-status{position:absolute;left:clamp(56px,9vw,150px);bottom:29px;z-index:3;display:flex;align-items:center;gap:10px;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:13px;letter-spacing:.16em;color:#d6b28f}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--ember);box-shadow:0 0 12px #e16b35}.status-divider{color:#58605c}.status-hint{font-family:inherit;color:#858d89;font-size:11px;letter-spacing:.04em}.hero-note{position:absolute;right:clamp(22px,4vw,62px);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;color:#717a76;writing-mode:vertical-rl;font-size:9px;letter-spacing:.23em}.hero-note i{height:46px;width:1px;background:linear-gradient(var(--gold),transparent)}
.control-dock{position:relative;z-index:4;display:grid;grid-template-columns:minmax(200px,.8fr) minmax(380px,1.35fr) minmax(180px,.8fr);align-items:center;gap:clamp(18px,3vw,54px);min-height:106px;padding:17px clamp(24px,4.7vw,72px) 19px;border-top:1px solid var(--line);background:#0b0e0fe6;backdrop-filter:blur(16px)}
.caption{display:flex;align-items:center;gap:17px;color:var(--paper);font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:15px;letter-spacing:.08em}.caption-number{min-width:34px;color:var(--ember);font-family:Georgia,serif;font-style:italic;font-size:27px}.caption small{display:block;margin-top:6px;color:#7f8984;font-family:inherit;font-size:9px;letter-spacing:.16em}
.cook-panel{display:flex;align-items:center;gap:19px}.cook-button{height:48px;min-width:142px;display:inline-flex;align-items:center;justify-content:flex-start;gap:11px;padding:0 14px;border:1px solid #be70477a;border-radius:2px;background:#3a1c12;color:#f2c39d;box-shadow:inset 0 1px #f4b1782b,0 8px 24px #0007;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:14px;letter-spacing:.1em;transition:background .25s,border-color .25s,transform .25s}.cook-button:hover{background:#552719;border-color:#da9165;transform:translateY(-1px)}.cook-button:disabled{cursor:default;opacity:.84;transform:none}.ember-dot{width:8px;height:8px;border-radius:50%;background:#df5b2e;box-shadow:0 0 12px #ff6b2b;transition:.4s}.cook-button.is-burning .ember-dot{animation:ember 1s ease-in-out infinite alternate;background:#ff9a43}.button-arrow{margin-left:auto;color:#d89061;font-size:19px;line-height:1}.timeline{flex:1;min-width:120px}.timeline-track{height:2px;position:relative;background:#ffffff1b}.timeline-track:before,.timeline-track:after{content:"";position:absolute;top:-2px;width:6px;height:6px;border-radius:50%;background:#626b67}.timeline-track:before{left:0}.timeline-track:after{right:0}.timeline-track span{display:block;width:0;height:2px;background:linear-gradient(90deg,#637a83,#da632f,#f0a05b);box-shadow:0 0 10px #e4602e99}.timeline-labels{display:flex;justify-content:space-between;margin-top:9px;color:#737d78;font-size:9px;letter-spacing:.12em}
.controls{display:flex;justify-content:flex-end;align-items:center;gap:7px}button{min-height:42px;padding:0 13px;border:1px solid #ffffff24;border-radius:2px;background:transparent;color:#deddd5;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:13px;transition:background .2s,border-color .2s}button:hover{background:#ffffff0b;border-color:#c7ad8a77}button:focus-visible{outline:2px solid #d1bc99;outline-offset:3px}button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.square{width:42px;padding:0;font-size:20px}.season-mark{position:absolute;right:clamp(24px,4.7vw,72px);bottom:5px;z-index:5;color:#4e5753;font-size:8px;letter-spacing:.25em;pointer-events:none}
[hidden]{display:none!important}
@keyframes ember{to{box-shadow:0 0 20px 4px #ff572244;transform:scale(1.2)}}
@media(max-width:900px){.masthead-center{display:none}.hero-copy{left:10vw}.hero-note{right:20px}.control-dock{grid-template-columns:1fr auto;gap:13px}.caption{grid-column:1;grid-row:2}.cook-panel{grid-column:1/-1;grid-row:1}.controls{grid-column:2;grid-row:2}.season-mark{display:none}}
@media(max-width:650px){body{overflow:auto}.site-shell{min-height:100svh;overflow:hidden}.masthead{height:74px;flex-basis:74px;padding:0 6vw}.wordmark-copy strong{font-size:13px}.wordmark-copy small{font-size:8px}.wordmark-mark{width:29px;height:29px}.edition>span{font-size:26px}.edition small{font-size:8px}.hero{display:block;min-height:560px;padding:0}.viewer-frame{position:absolute;inset:94px 4vw 83px;width:auto;height:auto;min-height:0;border-color:#ffffff16;clip-path:none}.hero-copy{left:10vw;top:25px}.kicker{font-size:8px;margin-bottom:11px}.hero-copy h1{font-size:clamp(35px,11vw,53px);letter-spacing:.06em}.copy-note{display:none}.hero-rail{left:4vw;top:52%;gap:9px}.hero-rail i{height:47px}.hero-rail b{font-size:9px}.hero-note{display:none}.stage-status{left:10vw;bottom:98px;display:block;font-size:12px}.status-dot{display:inline-block;margin-right:8px}.status-divider,.status-hint{display:none}.frame-label{font-size:7px}.frame-label--top{top:10px;left:14px}.frame-label--bottom{bottom:10px;right:14px}.corner{width:13px;height:13px}.corner--tl{top:9px;left:9px}.corner--tr{top:9px;right:9px}.corner--bl{bottom:9px;left:9px}.corner--br{bottom:9px;right:9px}.stage-word{font-size:29vw}.control-dock{min-height:156px;padding:15px 6vw 21px;gap:11px}.cook-panel{flex-direction:column;align-items:stretch;gap:12px}.cook-button{width:100%;height:46px}.caption{gap:12px;font-size:14px}.caption-number{font-size:24px;min-width:28px}.caption small{font-size:8px}.controls{gap:5px}.controls button{min-height:39px}.controls button span{display:none}.square{width:39px}.season-mark{display:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* The object is the interface: keep only the action needed to start the fire. */
.masthead,.hero-copy,.hero-rail,.hero-note,.stage-status,.frame-label,.corner,.stage-word,.caption,.timeline,.controls,.season-mark{display:none}
.site-shell{min-height:100svh;background:#0b0d0e}
.hero{position:absolute;inset:0;display:block;min-height:100svh;padding:0}
.viewer-frame{position:absolute;inset:0;width:100%;height:100%;min-height:100svh;border:0;background:radial-gradient(ellipse at 50% 57%,#4a4d4a36,#15191a 67%,#0e1112 100%);box-shadow:none;clip-path:none}
.viewer-frame:before{background:radial-gradient(ellipse at 50% 58%,transparent 46%,#05060655 100%)}
.control-dock{position:absolute;left:50%;right:auto;bottom:24px;z-index:6;display:block;min-height:0;padding:0;border:0;background:transparent;backdrop-filter:none;transform:translateX(-50%)}
.cook-panel{display:flex;align-items:center;gap:8px}
.cook-button{min-width:148px;height:42px;padding:0 17px;border-radius:999px;background:#171b1bdb;border-color:#d6ab7680;box-shadow:0 8px 28px #0009;color:#f2c39d;font-size:13px;letter-spacing:.12em}
.cook-button:hover{background:#242323f0}
.exchange-preview-button{min-height:36px;padding:0 13px;border-radius:999px;border-color:#ffffff2e;background:#101313c2;color:#a8aca8;font-size:11px;letter-spacing:.08em}
.exchange-preview-button:hover{background:#1b1f1fe8;color:#e0ddd4}
.button-arrow{display:none}
