:root{font-family:Arial,Helvetica,sans-serif;color:#151515;background:#fff;color-scheme:light;--green:#48c774;--soft:#edf5e7;--deep:#254b31;--foot:calc(60px + env(safe-area-inset-bottom,0px))}
*{box-sizing:border-box}
body{margin:0}
button,input{font:inherit;color:inherit}
button,a,input,summary{-webkit-tap-highlight-color:transparent}
button,a{touch-action:manipulation;text-underline-offset:4px}
button{cursor:pointer;border:0;border-radius:0;background:none;padding:10px 0;min-height:44px}
a{color:inherit}
button:disabled{opacity:.3;cursor:default}
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:6px}
[hidden]{display:none!important}
h1,h2,h3,p{margin:0}
.plain{text-decoration:underline;text-decoration-thickness:1px}
.skip{position:fixed;top:-100px;left:20px;background:#fff;padding:12px;z-index:30}
.skip:focus{top:10px}
.story-scene{--scene-bg:#fff;--scene-ink:#151515;position:relative;background:var(--scene-bg);color:var(--scene-ink);min-height:80svh;display:flex;flex-direction:column;scroll-margin-top:0}
.story-scene[data-brand=south]{--scene-bg:#151515;--scene-ink:#fff}
.story-scene[data-brand=common]{--scene-bg:var(--green)}
.story-scene[data-brand=entrant]{--scene-bg:var(--soft);--scene-ink:var(--deep)}
.story-scene[data-brand=market]:not(.opening){--scene-bg:#eeece7}
.market-strip{display:flex;min-height:64px;flex:none;border-bottom:1px solid #80808040;overflow:hidden}
.market-band{display:flex;align-items:center;justify-content:center;min-width:0;overflow:hidden;font-size:clamp(11px,1.4vw,18px);font-weight:700;letter-spacing:-.025em;padding-block:20px}
.market-band.north{background:#fff;color:#151515}
.market-band.south{background:#151515;color:#fff}
.market-band.common{background:var(--green);color:#151515}
.market-band.entrant{background:var(--soft);color:var(--deep);border-left:1px solid var(--deep)}
.market-band.is-small span{visibility:hidden}
.scene-copy{width:min(1120px,100%);margin:auto;padding:clamp(56px,8vw,112px) clamp(24px,7vw,100px) calc(60px + var(--foot))}
.scene-meta{font-size:13px;letter-spacing:.025em;margin-bottom:36px;display:flex;gap:18px;align-items:baseline;flex-wrap:wrap}
.scene-meta time{font-variant-numeric:tabular-nums}
.scene-speaker{font-weight:700}
.scene-copy h2{font-size:clamp(38px,6.4vw,92px);font-weight:700;line-height:1.02;letter-spacing:-.055em;max-width:17ch;text-wrap:balance;overflow-wrap:break-word}
.scene-copy>.scene-body{font-size:clamp(18px,2.1vw,27px);line-height:1.5;max-width:43ch;margin-top:32px;text-wrap:pretty}
.scene-copy details{max-width:55ch;font-size:16px;line-height:1.65;margin-top:32px}
.scene-copy summary{width:fit-content;cursor:pointer;min-height:44px;padding:10px 0;text-decoration:underline;text-underline-offset:4px}
.scene-copy details p{margin-top:12px}
.scene-exit{display:inline-block;font-size:14px;margin-top:36px;min-height:44px;padding:12px 0}
.opening{min-height:100svh}
.opening .opening-pair{display:grid;grid-template-columns:1fr 1fr;flex:1;min-height:calc(100svh - 64px)}
.opening-ad{padding:clamp(40px,7vw,100px) clamp(17px,3.5vw,60px) calc(36px + var(--foot));display:flex;flex-direction:column;gap:26px}
.opening-ad.south{background:#151515;color:#fff}
.opening-ad h1,.opening-ad h2{font-size:clamp(28px,5.4vw,76px);font-weight:400;line-height:1.05;letter-spacing:-.05em;margin-top:auto;max-width:8ch}
.opening-ad .price{font-size:clamp(50px,17vw,230px);line-height:1;font-weight:700;letter-spacing:-.065em}
.opening-ad .warranty{font-size:clamp(13px,1.3vw,18px);line-height:1.5;margin-top:auto;padding-top:32px;max-width:18ch}
.story-nav{position:fixed;z-index:10;inset:auto 0 0;min-height:var(--foot);padding:6px max(20px,env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(20px,env(safe-area-inset-left,0px));background:#fff;color:#151515;display:flex;align-items:center;gap:24px;font-size:13px;border-top:1px solid #15151520}
.story-nav .progress{font-variant-numeric:tabular-nums;white-space:nowrap;margin-right:auto}
.story-nav button{min-width:44px;font-size:13px}
.story-nav .about-open{font-size:12px}
.reflection,.ending{padding:clamp(64px,9vw,140px) max(24px,8vw) calc(80px + var(--foot));background:var(--soft);color:var(--deep);min-height:100svh;scroll-margin-top:0}
.reflection h1,.ending h1{font-size:clamp(48px,8vw,116px);font-weight:400;line-height:1.02;letter-spacing:-.06em;max-width:16ch;outline:none}
.kitchen-copy,.ending-from{font-size:clamp(20px,2.2vw,30px);line-height:1.5;max-width:34ch;margin-top:36px}
.resume{display:inline-block;margin-top:28px;font-size:14px}
.idea-form{margin-top:clamp(80px,12vw,160px);max-width:980px}
.idea-form label{display:block;font-size:clamp(38px,6.2vw,88px);letter-spacing:-.05em;line-height:1.07;max-width:14ch}
.idea-line{display:flex;align-items:end;gap:20px;margin-top:40px;border-bottom:1px solid currentColor;padding-bottom:12px}
.idea-line input{width:100%;min-width:0;border:0;border-radius:0;background:none;font-size:clamp(24px,3.5vw,48px);line-height:1.3;padding:6px 0}
.idea-line button{flex-shrink:0}
.privacy{font-size:12px;margin-top:18px;line-height:1.5}
.form-error{font-size:14px;margin-top:20px}
.cost-question{max-width:1050px;margin-top:80px;padding-bottom:32px}
.idea-repeated,.ending-idea{font-size:clamp(20px,3vw,38px);line-height:1.4;overflow-wrap:anywhere;margin-bottom:36px;max-width:32ch}
.cost-question h2{font-size:clamp(36px,6.5vw,88px);line-height:1.07;letter-spacing:-.05em;font-weight:400;max-width:18ch;outline:none}
.decision{display:flex;gap:32px;align-items:center;margin-top:40px}
.rethink{font-size:14px}
.ending{display:flex;align-items:center}
.ending-copy{max-width:1050px;padding-block:40px}
dialog{width:min(610px,calc(100% - 40px));border:1px solid #151515;padding:32px;color:#151515;background:#fff;max-height:80svh;overflow:auto}
dialog::backdrop{background:#0007}
body:has(dialog[open]){overflow:hidden}
dialog h2{font-size:29px;font-weight:400;letter-spacing:-.04em;margin-bottom:24px}
dialog p{font-size:16px;line-height:1.5;margin-top:18px}
dialog form{margin-top:28px}
.noscript{padding:50px 24px;background:var(--soft);color:var(--deep);line-height:1.6}
.noscript p{max-width:60ch}.noscript p+p{margin-top:20px}
@media(max-width:650px){.market-strip{min-height:54px}.market-band{font-size:12px}.scene-copy{padding:44px 24px calc(44px + var(--foot))}.scene-meta{margin-bottom:28px;font-size:12px}.scene-copy h2{font-size:clamp(35px,9.7vw,58px)}.scene-copy>.scene-body{font-size:19px;margin-top:28px}.story-nav{gap:16px}.opening-ad{gap:22px}.opening-ad .price{font-size:18vw}.opening .opening-pair{min-height:calc(100svh - 54px)}}
@media(max-height:520px){.story-scene{min-height:100svh}.scene-copy{padding-top:32px}.opening-ad{padding-top:32px}.opening-ad .price{font-size:clamp(48px,12vw,140px)}.opening-ad .warranty{padding-top:12px}.opening-ad h1,.opening-ad h2{font-size:clamp(28px,4vw,48px)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
