:root{color-scheme:light;--ink:#24392d;--paper:#fcfaf3;--accent:#ab543b;--line:#d9d3c2}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;font-size:16px;line-height:1.8}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:5px}header{height:84px;padding:0 7%;display:flex;align-items:center;gap:27px;border-bottom:1px solid #e5dfcf}.brand{font-size:36px;letter-spacing:.1em;font-weight:600;line-height:1}.tagline,.about{font-size:14px;letter-spacing:.12em}.about{margin-left:auto;padding:12px 0}.shrine{position:relative;min-height:660px;height:min(760px,calc(100svh - 84px));isolation:isolate;display:grid;place-items:center;overflow:hidden}.scenery{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-3}.light{position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse at 50% 45%,#fffdf0d9 0%,#fffdf060 24%,transparent 50%)}.experience{text-align:center;width:min(90%,420px);padding:32px 0 24px;text-shadow:0 2px 15px #fff9e9}.eyebrow{display:flex;align-items:center;justify-content:center;gap:20px;letter-spacing:.2em;margin:0 0 2px}.eyebrow:before,.eyebrow:after{content:"";width:34px;height:1px;background:#87907a}h1{font-size:clamp(48px,5.3vw,76px);font-weight:500;letter-spacing:.13em;margin:0;line-height:1.65}.intro{font-size:18px;letter-spacing:.12em;margin:0}.vessel{height:207px;margin:16px auto 9px;display:grid;place-items:center}.vessel img{width:150px;height:200px;object-fit:contain;filter:drop-shadow(0 9px 8px #4b3a282e);transform-origin:50% 80%}.primary{display:block;width:min(100%,320px);margin:auto;padding:14px 20px;background:var(--ink);border:1px solid #526146;color:#fffdf3;border-radius:3px;font-size:19px;letter-spacing:.13em;box-shadow:0 5px 20px #25352720;transition:background .2s,transform .2s}.primary span{margin-left:14px}.primary:hover{background:#3b5340;transform:translateY(-2px)}.primary:disabled{cursor:wait;opacity:.8;transform:none}#status{min-height:26px;font-size:13px;letter-spacing:.1em;margin:10px 0 0}.guide{max-width:1100px;padding:38px 40px 25px;margin:auto}.guide h2{display:flex;align-items:center;justify-content:center;gap:28px;font-size:23px;font-weight:500;letter-spacing:.13em;margin:0 0 32px}.guide h2:before,.guide h2:after{content:"";height:1px;background:var(--line);width:100px}ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr)}li{padding:0 22px;display:flex;gap:20px;justify-content:center}li+li{border-left:1px solid var(--line)}li>span{font-size:17px;color:#987c51;line-height:2.2}h3{font-size:18px;font-weight:500;letter-spacing:.08em;margin:0 0 5px}li p{font-size:14px;margin:0;color:#666b5f;line-height:1.9}.upcoming{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;border-top:1px solid var(--line);margin-top:34px;padding-top:24px}.upcoming>div+div{border-left:1px solid var(--line)}.upcoming small{display:block;color:#777b70;font-size:12px;margin-top:8px;letter-spacing:.14em}footer{max-width:1020px;margin:15px auto 0;border-top:1px solid var(--line);padding:22px 0;display:flex;gap:24px;align-items:center;color:#697063}footer .brand{font-size:26px}footer p{font-size:12px;line-height:1.7;margin:0}footer small{margin-left:auto;font-size:12px}dialog{border:0;border-radius:4px;padding:36px;width:min(92vw,500px);max-height:90svh;background:var(--paper);color:var(--ink);box-shadow:0 25px 100px #14251b45}dialog::backdrop{background:#10251d99;backdrop-filter:blur(5px)}#close{position:absolute;top:6px;right:9px;width:44px;height:44px;font-size:28px;color:var(--ink);border:0;background:transparent}.fortune{text-align:center;border:1px solid #bca981;padding:25px 22px}.result-eyebrow{font-size:14px;letter-spacing:.25em;margin:0}#date{font-size:12px;color:#767769;margin:4px 0}#result-title{color:var(--accent);font-size:58px;letter-spacing:.17em;font-weight:500;line-height:1.4;margin:16px 0}#poem{font-size:22px;white-space:pre-line;letter-spacing:.08em}#message{font-size:16px;line-height:2;text-align:left}dl{text-align:left;border-top:1px solid var(--line);margin-top:25px}dl>div{display:grid;grid-template-columns:56px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}dt{color:var(--accent)}dd{margin:0}.result-foot{font-size:12px;margin:24px 0}.fortune .primary{font-size:16px}.drawing{animation:shake .32s ease-in-out infinite}@keyframes shake{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(7deg) translateY(-5px)}}@media(max-width:640px){header{height:70px;padding:0 22px;gap:14px}.brand{font-size:30px}.tagline{font-size:12px;letter-spacing:0}.about{font-size:12px;letter-spacing:0}.shrine{height:720px;min-height:620px;max-height:calc(100svh - 70px);align-items:start}.experience{padding:34px 0 100px;width:86%}.scenery{object-position:62% center}.light{background:radial-gradient(ellipse at 50% 40%,#fffdf0ef 0%,#fffdf092 32%,transparent 69%)}h1{font-size:54px}.eyebrow{font-size:14px}.intro{font-size:16px}.vessel{height:174px;margin-top:12px}.vessel img{height:170px;width:130px}.primary{max-width:280px;font-size:17px}.guide{padding:30px 24px 20px}.guide h2{font-size:20px;gap:16px}.guide h2:before,.guide h2:after{width:30px}ol{display:block}li{justify-content:start;gap:26px;padding:18px 12px}li+li{border-left:0;border-top:1px solid var(--line)}li p br{display:none}.upcoming{font-size:14px;margin-top:20px}footer{margin:8px 24px 0;gap:16px;flex-wrap:wrap}footer p{flex:1}dialog{padding:30px 16px 16px}.fortune{padding:20px 18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.scene-picture{position:absolute;inset:0;z-index:-3}.scene-picture .scenery{z-index:auto}
dialog::backdrop{background:radial-gradient(ellipse at 50% 38%,rgba(255,246,214,.58),rgba(219,231,218,.61) 55%,rgba(63,86,71,.52));-webkit-backdrop-filter:blur(18px) saturate(.75) brightness(1.12);backdrop-filter:blur(18px) saturate(.75) brightness(1.12)}
dialog[open]{animation:fortune-arrive .65s ease-out both;box-shadow:0 0 60px #fff4cb77,0 25px 100px #14251b35}dialog[open]::backdrop{animation:mist-arrive .75s ease-out both}
@keyframes mist-arrive{from{opacity:0}to{opacity:1}}@keyframes fortune-arrive{from{opacity:0;transform:translateY(14px) scale(.97);filter:blur(4px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}
@media(max-width:640px){.shrine{background:#f4f1df;height:clamp(650px,calc(100svh - 70px),820px);min-height:650px;max-height:none}.scene-picture .scenery{inset:0;width:100%;height:100%;object-fit:contain;object-position:center top;mask-image:none}.light{background:radial-gradient(ellipse at 50% 32%,#fffdf05c,transparent 66%);z-index:-2}.experience{position:relative;z-index:1;padding:28px 0 175px}.vessel{height:162px}.vessel img{height:158px}}

body.fortune-open{overflow:hidden}dialog{width:min(94vw,620px);overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.fortune{padding:28px 30px}#close{position:sticky;display:block;margin:-26px -26px -18px auto;top:0;z-index:2;border-radius:50%;background:var(--paper);box-shadow:0 2px 8px #24392d12}.poem-label{margin:22px 0 4px;font-size:13px;letter-spacing:.15em;color:#777769}#poem{margin-top:4px}.summary-heading{text-align:left;border-top:1px solid var(--line);padding-top:24px;margin-top:24px;font-size:19px}.summary-heading small{display:block;color:#777769;font-size:13px;font-weight:400;margin-top:4px}#message{margin-top:10px}dl>div{display:block;padding:19px 0}dt{font-size:16px;margin-bottom:6px}dd{font-size:16px;line-height:2}.result-foot{font-size:14px;line-height:1.9}.scene-picture{background:#f4f1df}
@media(max-width:640px){.fortune{padding:24px 18px}#close{margin:-20px -6px -20px auto}.scene-picture .scenery{object-fit:contain;object-position:center top}.summary-heading{font-size:18px}}
@media(max-width:640px){header{position:absolute;inset:0 0 auto;z-index:10;width:100%;border-bottom:0;background:linear-gradient(180deg,rgba(244,241,223,.82),rgba(244,241,223,.32) 68%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.experience{padding-top:98px}}
@media(max-width:640px){.shrine{height:150vw;min-height:0}.scene-picture{height:100%}}
@media(max-width:360px){.experience{padding-top:82px}.experience h1{font-size:46px}.intro{font-size:14px}.vessel{height:130px;margin-top:6px}.vessel img{height:128px}.primary{padding:12px 18px;font-size:16px}}

/* Hosting migration: keep the original experience; add the shared brand and small-screen access. */
header .brand{font-size:28px;white-space:nowrap}footer .brand{font-size:21px;white-space:nowrap}footer p{max-width:560px}footer{padding-inline:20px}.skip-link{position:fixed;left:12px;top:12px;z-index:100;transform:translateY(-180%);padding:10px 16px;background:#fff;color:#24392d}.skip-link:focus{transform:none}@media(max-width:640px){header{padding-inline:16px;gap:12px}header .brand{font-size:23px}header .tagline{display:none}.shrine{min-height:600px}.experience{padding-bottom:36px}footer{padding-inline:0}footer p{flex-basis:100%}}@media(max-width:360px){header .brand{font-size:21px}.shrine{min-height:540px}}
