:root{--night-top:#070b1c;--night-mid:#0e1734;--lake:#081322;--surface:#121c388c;--surface-strong:#162242c7;--border:#d6deff1f;--text:#e9e6da;--muted:#98a2bb;--moon:#f1e4bd;--moon-dim:#c9b98d;--moon-glow:#f1e4bd59;--mist:#aabee61f;--error:#f0b3b3;--shore:#050914;--shore-mid:#0b1226;--shore-top:#18233f;--radius:14px;--serif:"Hiragino Mincho ProN", "Yu Mincho", "YuMincho", "Noto Serif JP", "Noto Serif CJK JP", serif;--sans:"Hiragino Sans", "Noto Sans JP", system-ui, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{background:linear-gradient(180deg, var(--night-top) 0%, var(--night-mid) 52%, var(--lake) 100%) fixed;background-color:var(--night-top);min-height:100%}body{min-height:100vh;color:var(--text);font-family:var(--sans);letter-spacing:.02em;background:0 0;margin:0;line-height:1.75}::selection{background:var(--moon-glow);color:var(--text)}a{color:var(--moon);text-underline-offset:3px;text-decoration-color:#f1e4bd66}a:hover{-webkit-text-decoration-color:var(--moon);text-decoration-color:var(--moon)}.night{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.stars{background-image:radial-gradient(1px 1px at 12% 18%,#ffffffb3,#0000 60%),radial-gradient(1px 1px at 28% 8%,#ffffff80,#0000 60%),radial-gradient(1.5px 1.5px at 44% 26%,#fff9,#0000 60%),radial-gradient(1px 1px at 63% 12%,#ffffff73,#0000 60%),radial-gradient(1px 1px at 86% 34%,#ffffff80,#0000 60%),radial-gradient(1.5px 1.5px at 7% 40%,#ffffff59,#0000 60%),radial-gradient(1px 1px at 55% 44%,#ffffff4d,#0000 60%),radial-gradient(1px 1px at 92% 6%,#ffffff8c,#0000 60%),radial-gradient(1px 1px at 35% 38%,#ffffff4d,#0000 60%);animation:7s ease-in-out infinite alternate twinkle;position:absolute;inset:0 0 45%}.moon{filter:blur(4.5px);opacity:.85;background:radial-gradient(circle at 42% 40%,#fffaf0 0%,#f5ebd0 40%,#e6d7ad 78%,#e6d7ad99 100%);border-radius:50%;width:88px;height:88px;position:absolute;top:9vh;right:12vw;box-shadow:0 0 30px 12px #f1e4bd52,0 0 90px 40px #f1e4bd24}.moon-haze{filter:blur(6px);background:radial-gradient(circle,#f1e4bd38 0%,#f1e4bd1a 22%,#bec8eb0f 42%,#0000 68%);border-radius:50%;width:420px;height:420px;animation:12s ease-in-out infinite alternate haze;position:absolute;top:calc(9vh + 44px);right:calc(12vw + 44px);transform:translate(50%,-50%)}.clouds{width:60vw;height:160px;position:absolute;top:calc(9vh - 30px);right:0}.clouds span{filter:blur(16px);background:radial-gradient(#c8d2eb21,#0000 70%);border-radius:50%;animation:linear infinite drift;display:block;position:absolute}.clouds span:first-child{width:420px;height:70px;animation-duration:90s;animation-delay:-20s;top:30px}.clouds span:nth-child(2){opacity:.8;width:320px;height:56px;animation-duration:120s;animation-delay:-70s;top:60px}.clouds span:nth-child(3){opacity:.6;width:360px;height:50px;animation-duration:150s;animation-delay:-110s;top:0}.horizon{background:linear-gradient(#788cbe1a 0%,#08132200 6%),linear-gradient(#0a162ca6,#060e1ce6);border-top:1px solid #c8d2f014;position:absolute;inset:55vh 0 0}.reflection{width:200px;height:42vh;position:absolute;top:calc(55vh + 2px);right:calc(12vw - 56px);overflow:visible;-webkit-mask-image:linear-gradient(#000 0% 55%,#0000 100%);mask-image:linear-gradient(#000 0% 55%,#0000 100%)}.reflection-water{filter:url(#horori-ripple)}.glint{transform-box:fill-box;transform-origin:50%;animation-name:glint;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}.season-switcher{z-index:10;color:var(--muted);background:var(--surface-strong);border:1px solid var(--border);border-radius:10px;align-items:center;gap:6px;padding:6px 10px;font-size:.75rem;display:flex;position:fixed;bottom:12px;right:12px}.season-switcher select{width:auto;padding:4px 8px;font-size:.75rem}.shore{width:100%;height:8vh;position:absolute;top:47vh;left:0}.shore-reflection{opacity:.32;filter:blur(1.2px);top:55vh;transform:scaleY(-1);-webkit-mask-image:linear-gradient(#0000 15%,#000);mask-image:linear-gradient(#0000 15%,#000)}[data-season=sakura]{--shore-top:#c98aa6;--shore-mid:#4a2c42;--season-haze:#f4c4d61a}[data-season=shinryoku]{--shore-top:#6fa86a;--shore-mid:#1f3b2a;--season-haze:#aadcaa0f}[data-season=tsuyu]{--shore-top:#3b5068;--shore-mid:#18243a;--season-haze:#96aac81a}[data-season=hanabi]{--shore-top:#1d2848;--shore-mid:#0d1429;--season-haze:#f6d2b40d}[data-season=momiji]{--shore-top:#c9643e;--shore-mid:#4a2018;--season-haze:#f0a06e12}[data-season=yuki]{--shore-top:#eef2fa;--shore-mid:#5b6680;--season-haze:#dce6ff14}.horizon:before{content:"";background:linear-gradient(0deg, var(--season-haze,transparent), transparent);height:30vh;position:absolute;bottom:100%;left:0;right:0}[data-season=tsuyu] .moon{filter:blur(10px);opacity:.32}[data-season=tsuyu] .moon-haze{opacity:.4;animation:none}[data-season=tsuyu] .stars{display:none}[data-season=tsuyu] .clouds span{filter:blur(20px);background:radial-gradient(#aab9d733,#0000 70%)}[data-season=tsuyu] .reflection{opacity:.3}[data-season=yuki] .stars{filter:brightness(1.4)}.falling{position:absolute;inset:0;overflow:hidden}.falling span{top:-6vh;left:var(--x);opacity:var(--o);animation:fall var(--dur) linear var(--delay) infinite;position:absolute}.falling i{width:var(--s);height:var(--s);animation:sway var(--sway) ease-in-out infinite alternate;display:block}@keyframes fall{0%{transform:translate(0,0)}to{transform:translate3d(var(--drift), 112vh, 0)}}@keyframes sway{0%{transform:translate(-14px)rotate(-30deg)}to{transform:translate(14px)rotate(160deg)}}.falling--petal i{height:calc(var(--s) * .72);background:linear-gradient(135deg,#fbe3ea,#f2b8c9);border-radius:100% 0;box-shadow:0 0 6px #f6c4d673}.falling--leaf i{height:calc(var(--s) * .6);background:linear-gradient(135deg,#c9e8a9,#7fbf7a);border-radius:100% 0;box-shadow:0 0 5px #aadca059}.falling--maple i{clip-path:polygon(50% 0%,61% 30%,90% 18%,72% 45%,100% 55%,68% 62%,76% 92%,52% 72%,50% 100%,48% 72%,24% 92%,32% 62%,0% 55%,28% 45%,10% 18%,39% 30%);filter:drop-shadow(0 0 4px #f0966466);background:linear-gradient(160deg,#f1a36f,#c9553e)}.falling--snow i{background:radial-gradient(circle,#fff 0%,#ffffffb3 45%,#0000 72%);border-radius:50%;animation-name:sway-snow}@keyframes sway-snow{0%{transform:translate(-10px)}to{transform:translate(10px)}}.rain{position:absolute;inset:0;overflow:hidden;transform:rotate(10deg)scale(1.15)}.rain span{top:-8vh;left:var(--x);width:1px;height:var(--len);opacity:var(--o);animation:rain var(--dur) linear var(--delay) infinite;background:linear-gradient(#0000,#c8d7f0e6);position:absolute}@keyframes rain{to{transform:translateY(116vh)}}.ripples span{left:var(--x);top:var(--y);width:var(--w);height:calc(var(--w) * .28);margin:calc(var(--w) * -.14) 0 0 calc(var(--w) * -.5);opacity:0;animation:ripple-ring var(--dur) ease-out var(--delay) infinite;border:1px solid #c8d7f08c;border-radius:50%;position:absolute;transform:scale(.1)}@keyframes ripple-ring{0%{opacity:0;transform:scale(.1)}10%{opacity:.7}to{opacity:0;transform:scale(1)}}.burst{left:var(--x);top:var(--y);width:0;height:0;position:absolute}.burst span{transform:rotate(var(--a));position:absolute;top:0;left:0}.burst i{background:linear-gradient(0deg, transparent, var(--c) 70%, #fff);width:2px;height:18px;box-shadow:0 0 8px 1px var(--c);opacity:0;animation:spark var(--dur) cubic-bezier(.15, .7, .3, 1) var(--delay) infinite;border-radius:2px;position:absolute;top:-9px;left:-1px}@keyframes spark{0%{opacity:0;transform:translateY(0)scale(.6)}3%{opacity:1}22%{transform:translateY(calc(var(--r) * -1)) scale(1);opacity:.9}34%{transform:translateY(calc(var(--r) * -1.1)) scale(.6);opacity:0}to{transform:translateY(calc(var(--r) * -1.1)) scale(.6);opacity:0}}.fireworks-glow{background:radial-gradient(60% 100% at 40% 0,#f6dcbe1a,#0000 70%);height:20vh;animation:7s ease-in-out infinite firework-glow;position:absolute;top:55vh;left:0;right:0}@keyframes firework-glow{0%,to{opacity:.2}15%{opacity:1}40%{opacity:.3}}@keyframes glint{0%{transform:translate(-3px)scaleX(.85)}to{transform:translate(3px)scaleX(1.12)}}@keyframes haze{0%{opacity:.75}to{opacity:1}}@keyframes drift{0%{transform:translate(60vw)}to{transform:translate(-120%)}}@keyframes twinkle{0%{opacity:.75}to{opacity:1}}@media (prefers-reduced-motion:reduce){.stars,.moon-haze,.clouds span,.glint,.falling span,.falling i,.rain span{animation:none}.falling span,.rain span{transform:translateY(var(--y0))}.ripples,.fireworks{display:none}.reflection-water{filter:url(#horori-ripple-still)}}.container{max-width:760px;margin:0 auto;padding:16px}.site-header{align-items:baseline;gap:14px;max-width:760px;margin:0 auto;padding:28px 16px 12px;display:flex}.logo{white-space:nowrap;font-family:var(--serif);letter-spacing:.18em;color:var(--moon);text-shadow:0 0 18px var(--moon-glow);font-size:1.9rem;font-weight:600;text-decoration:none}.header-nav{white-space:nowrap;margin-left:auto;font-size:.85rem}.header-nav a{color:var(--moon);text-decoration:none}.header-nav a:hover{text-decoration:underline}.tagline{color:var(--muted);font-size:.85rem;font-family:var(--serif);letter-spacing:.12em}.site-footer{text-align:center;color:var(--muted);padding:48px 16px 32px;font-size:.78rem}.site-footer a{color:var(--muted)}.site-footer p{margin:6px 0}.footer-links{flex-wrap:wrap;justify-content:center;gap:6px 16px;margin-bottom:10px;display:flex}.legal{line-height:1.9}.legal h2{margin-top:28px;font-size:1rem}.legal h2:before{content:none}.legal ul{padding-left:1.3em}.legal li{margin:4px 0}.license-list{columns:2;column-gap:24px;font-size:.85rem}.license-list li{break-inside:avoid}button.danger{color:#1a1020;box-shadow:none;background:#c97b7b}button.danger:hover:not(:disabled){box-shadow:0 0 14px #c97b7b73}.danger-zone{border-color:#f0b3b359}h1,h2,h3{font-family:var(--serif);letter-spacing:.06em;font-weight:600}h1{margin:12px 0 16px;font-size:1.5rem}h2{color:var(--moon);margin:28px 0 12px;font-size:1.1rem}h2:before{content:"◦ ";color:var(--moon-dim)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);-webkit-backdrop-filter:blur(10px);margin-bottom:14px;padding:18px;box-shadow:0 10px 30px #00000040,inset 0 1px #ffffff0a}input[type=text],input[type=email],input[type=number],select{font:inherit;color:var(--text);border:1px solid var(--border);background:#060c1c99;border-radius:10px;width:100%;padding:10px 12px;transition:border-color .2s,box-shadow .2s}input::placeholder{color:#98a2bbb3}input:focus,select:focus{border-color:#f1e4bd80;outline:none;box-shadow:0 0 0 3px #f1e4bd1f}select option{background:var(--night-mid);color:var(--text)}input[type=checkbox]{accent-color:var(--moon)}button,.button{font:inherit;cursor:pointer;letter-spacing:.08em;color:#141a33;background:linear-gradient(#f6ecd0,#dccb98);border:none;border-radius:999px;padding:10px 22px;font-weight:600;text-decoration:none;transition:box-shadow .2s,transform .1s;display:inline-block;box-shadow:0 0 18px #f1e4bd40}button:hover:not(:disabled),.button:hover{box-shadow:0 0 26px #f1e4bd73}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.5;cursor:default}button.secondary,.button.secondary{color:var(--moon);box-shadow:none;background:0 0;border:1px solid #f1e4bd73}button.secondary:hover:not(:disabled),.button.secondary:hover{background:#f1e4bd14}.row{align-items:center;gap:8px;display:flex}.row>*{flex:1}.row>button{flex:none}.list{margin:0;padding:0;list-style:none}.list li a{border-bottom:1px solid var(--border);color:var(--text);border-radius:8px;padding:12px 14px;text-decoration:none;display:block}.list li:last-child a{border-bottom:none}.list li a:hover{background:#f1e4bd12}.list li a strong{font-family:var(--serif);letter-spacing:.06em}.sub{color:var(--muted);font-size:.85rem}.error{color:var(--error)}.stats{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.stat{text-align:center}.stat .value{font-family:var(--serif);color:var(--moon);text-shadow:0 0 14px var(--moon-glow);font-size:1.8rem;font-weight:600}.stat .label{color:var(--muted);letter-spacing:.1em;font-size:.8rem}.bars{gap:6px;display:grid}.bar{grid-template-columns:9em 1fr 2.5em;align-items:center;gap:8px;font-size:.85rem;display:grid}.bar .track{background:var(--mist);border-radius:999px;height:6px;overflow:hidden}.bar .fill{background:linear-gradient(90deg, #c9b98db3, var(--moon));height:100%;box-shadow:0 0 8px var(--moon-glow);border-radius:999px}.bar .count{text-align:right;color:var(--muted)}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-grid label{color:var(--muted);gap:4px;font-size:.85rem;display:grid}.checks{flex-wrap:wrap;gap:18px;margin:14px 0;display:flex}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{letter-spacing:.04em;border:1px solid var(--border);color:var(--text);box-shadow:none;background:#060c1c73;border-radius:999px;padding:3px 12px;font-size:.82rem;font-weight:400}button.chip:hover:not(:disabled){box-shadow:none;border-color:#f1e4bd59}.chip.like{color:var(--moon);background:#f1e4bd29;border-color:#f1e4bd99;box-shadow:0 0 10px #f1e4bd2e}.chip.exclude{color:#98a2bb99;border-style:dashed;text-decoration:line-through}.chip.static{cursor:default}.chip.badge{color:var(--moon);background:#f1e4bd1f;border-color:#0000}.plan-header{font-family:var(--serif);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.plan-header strong{color:var(--moon);letter-spacing:.1em}.arrival{color:var(--moon)}.hours-unknown{color:var(--moon-dim);border:1px dashed #f1e4bd73;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:.72rem}.shop-hours{font-size:.75rem!important}.walk{color:var(--muted);border-left:1px dashed #f1e4bd4d;margin:0 0 0 22px;padding:10px 0 10px 16px;font-size:.82rem}.shop{grid-template-columns:120px 1fr;gap:14px;display:grid}.shop.no-photo{grid-template-columns:1fr}.shop figure{margin:0}.shop img{object-fit:cover;filter:saturate(.85)brightness(.92);border-radius:10px;width:120px;height:120px;display:block}.shop figcaption{color:var(--muted);margin-top:3px;font-size:.62rem}.shop h3{margin:0 0 4px;font-size:1.02rem}.shop h3 a{color:var(--text)}.shop .order{color:var(--moon);margin-right:8px;font-size:.9rem}.shop p{margin:2px 0;font-size:.85rem}.unavailable{color:var(--muted)}.plan-actions{flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0;display:flex}.favorite{flex-wrap:wrap;align-items:center;gap:10px;display:inline-flex}.favorite-button.is-on{background:#f1e4bd24;box-shadow:0 0 14px #f1e4bd33}.favorite-link{font-size:.8rem}.link-button{box-shadow:none;color:var(--muted);letter-spacing:0;text-underline-offset:3px;background:0 0;border:none;padding:0;font-size:.8rem;font-weight:400;text-decoration:underline}.link-button:hover:not(:disabled){box-shadow:none;color:var(--moon)}.row.wrap{flex-wrap:wrap}.row.wrap>input{min-width:200px}.me-account{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.me-account form{margin:0}.me-list{padding:6px}.me-list li{align-items:center;gap:8px;display:flex}.me-list li a{flex:1;min-width:0}.me-list li .link-button{flex:none;padding:0 10px}.plan-route{margin:10px 0 4px}.plan-route .button{padding:7px 16px;font-size:.85rem}@media (max-width:520px){.tagline{display:none}.license-list{columns:1}.form-grid{grid-template-columns:1fr}.shop{grid-template-columns:88px 1fr}.shop img{width:88px;height:88px}.moon{width:60px;height:60px;top:7vh;right:10vw}.moon-haze{width:280px;height:280px;top:calc(7vh + 30px);right:calc(10vw + 30px)}.clouds{top:calc(7vh - 20px)}.reflection{width:140px;right:calc(10vw - 40px)}}
