:root{--ink:#253e36;--muted:#707c70;--paper:#f7f6f0;--line:#dedfd5;--green:#234a40;--gold:#b29661}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;font-size:15px;line-height:1.8}a{color:inherit}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:4px}[hidden]{display:none!important}.demo-bar{background:#e8e4d6;text-align:center;font-size:11px;letter-spacing:.08em;padding:7px 12px}header{max-width:1120px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:28px 32px;gap:16px}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-size:12px;letter-spacing:.16em;line-height:1.4}.brand small{display:block;font-size:8px;letter-spacing:.24em;margin-top:5px;color:var(--muted)}.brand-mark{border:1px solid #a9b6a3;padding:5px 9px;font-family:serif;font-size:23px;line-height:1.3}.languages{display:flex;border:1px solid var(--line);padding:3px;border-radius:7px;flex-shrink:0}.languages button{border:0;padding:8px 13px;background:transparent;color:var(--muted);border-radius:4px;font-size:12px;min-height:42px}.languages button[aria-pressed=true]{background:var(--green);color:#fff}main{max-width:1056px;margin:auto;padding:10px 32px 0}.hero{display:grid;grid-template-columns:1.2fr 1fr;min-height:380px;border:1px solid var(--line);background:#f0f0e6}.hero-copy{padding:48px 38px}.eyebrow{font-size:10px;letter-spacing:.2em;color:var(--muted);font-weight:600;margin:0 0 15px}h1,h2,h3,p{margin-top:0}h1{font-family:"Hiragino Mincho ProN","Yu Mincho",Georgia,serif;font-size:clamp(30px,3.5vw,42px);font-weight:500;letter-spacing:.07em;line-height:1.4;margin-bottom:20px}#intro{white-space:pre-line;color:#697568;font-size:13px;line-height:2}.hero-times{display:flex;gap:36px;border-top:1px solid #d6d9cd;margin-top:30px;padding-top:18px}.hero-times small{display:block;font-size:9px;letter-spacing:.09em;color:var(--muted)}.hero-times strong{font-family:Georgia,serif;font-size:21px;font-weight:400}.garden{overflow:hidden;position:relative;background:linear-gradient(120deg,#a6b2a0,#738c76);isolation:isolate}.garden:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 3px,#ffffff08 4px);pointer-events:none}.moon{position:absolute;width:220px;height:220px;border-radius:50%;background:#e0d9b8;left:17%;top:13%;box-shadow:0 0 60px #e0d9b822}.slat{position:absolute;top:0;bottom:0;width:7px;background:#234a4055;z-index:3}.s1{left:14%}.s2{left:37%}.s3{left:60%}.s4{left:83%}.hill{position:absolute;border-radius:50%;width:140%;height:70%;left:-30%;bottom:-38%;background:#395c4c;transform:rotate(16deg)}.hill2{left:18%;bottom:-40%;background:#234a40;transform:rotate(-23deg)}.garden>span{position:absolute;right:25px;bottom:20px;font-family:serif;color:#eeeada;letter-spacing:.18em;font-size:11px;z-index:4;text-align:right}.notice{display:flex;gap:15px;margin:24px 0 42px;padding:17px 20px;border:1px solid var(--line);background:#fbfaf5}.notice-symbol{font:italic 18px Georgia,serif;border:1px solid #a7b09a;border-radius:50%;width:24px;height:24px;display:grid;place-items:center;flex-shrink:0;margin-top:4px}.notice h2{font-size:12px;margin:0 0 3px}.notice p{font-size:12px;color:var(--muted);margin:0}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:18px}.section-heading h2{font-family:serif;font-weight:500;font-size:24px;margin:0}.section-heading>span{font-size:9px;letter-spacing:.14em;color:var(--muted)}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.quick-grid a{text-decoration:none;border:1px solid var(--line);background:#fffefa;padding:18px;position:relative;transition:background .2s}.quick-grid a:hover{background:#eaeede}.icon{display:block;font-size:29px;height:46px;line-height:1}.quick-grid strong{display:block;font-size:14px;font-weight:500}.quick-grid small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.arrow{position:absolute;right:14px;top:12px;color:#849482}.wifi-panel{display:grid;grid-template-columns:1fr 1.4fr;background:var(--green);color:#fff;padding:30px;gap:30px;margin:38px 0 48px}.wifi-panel h2{font-family:Georgia,serif;font-weight:400;font-size:28px;margin:0 0 5px}.wifi-panel p{font-size:11px;color:#c6d4c6;margin:0}.wifi-panel .eyebrow{color:#c0cdb8;font-size:9px;margin-bottom:4px}.wifi-values>div{display:grid;grid-template-columns:1fr auto;column-gap:8px;padding:8px 0}.wifi-values>div+div{border-top:1px solid #ffffff25;margin-top:6px}.wifi-values span{grid-column:1;font-size:9px;color:#bed0be;letter-spacing:.1em}.wifi-values strong{grid-column:1;font-size:14px;font-weight:400;overflow-wrap:anywhere;user-select:all}.wifi-values button{grid-column:2;grid-row:1 / 3;border:1px solid #b8c7b766;border-radius:4px;background:transparent;color:white;padding:6px 12px;min-height:44px;align-self:center;font-size:11px}.search{display:flex;align-items:center;gap:12px;background:#fffefa;border:1px solid var(--line);padding:10px 16px}.search>span:first-child{font-size:25px;line-height:1}.search input{border:0;background:transparent;min-width:0;flex:1;padding:6px 0;font-size:16px;color:var(--ink)}#result-count{font-size:11px;white-space:nowrap}#section-nav{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0 30px}#section-nav a{text-decoration:none;padding:8px 13px;border:1px solid var(--line);font-size:11px;border-radius:30px;min-height:40px;display:flex;align-items:center}.guide-section{margin-bottom:32px;scroll-margin-top:20px}.guide-section h3{font-size:13px;color:#64775e;font-weight:500;letter-spacing:.05em;padding-bottom:9px;border-bottom:1px solid #b9c1af;margin-bottom:0}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;padding:18px 28px 18px 0;position:relative;font-size:14px}summary::-webkit-details-marker{display:none}summary:after{content:"+";position:absolute;right:3px;color:#748367;font-size:20px;top:11px}details[open] summary:after{content:"−"}details p{font-size:13px;color:#5e6b60;line-height:2;white-space:pre-line;margin-bottom:22px;padding-right:24px}.help{padding:32px;text-align:center;background:#e9ecdf;margin:44px 0 24px}.help h2{font-family:serif;font-size:23px;font-weight:500;margin:10px 0}.help p{font-size:12px;color:#66735f;max-width:530px;margin:0 auto 20px}.help a{font-size:12px;text-underline-offset:5px}.updated{font-size:10px;color:var(--muted);text-align:center;margin-bottom:40px}footer{border-top:1px solid var(--line);max-width:1056px;margin:auto;padding:28px 32px 40px;display:flex;justify-content:space-between;align-items:center;gap:22px;flex-wrap:wrap}footer a{font-size:10px;text-underline-offset:4px}.wordmark{font:20px Georgia,serif;text-decoration:none}.wordmark span{display:block;font:9px sans-serif;color:var(--muted);margin-top:8px}footer small{font-size:9px;color:var(--muted)}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);max-width:90%;width:max-content;border-radius:8px;background:#19362fee;color:white;padding:12px 22px;font-size:13px;opacity:0;transition:.2s;pointer-events:none;z-index:20}.toast.visible{opacity:1;transform:translate(-50%,0)}#load-error{padding:25px;background:#fff0e5;border:1px solid #d6ae8d;margin-bottom:50px}.editor{max-width:800px}.editor h1{font-size:30px}.editor .explanation{background:#e9ecdf;padding:20px;font-size:13px}.editor label{display:block;font-size:13px;margin:18px 0}.editor input,.editor textarea{display:block;width:100%;padding:12px;border:1px solid var(--line);border-radius:4px;color:var(--ink);background:#fffefa;font-size:16px}.editor textarea{min-height:85px}.editor .pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.editor .actions{display:flex;gap:10px;flex-wrap:wrap;position:sticky;bottom:0;padding:15px 0;background:var(--paper);border-top:1px solid var(--line);z-index:5}.editor button,.editor .button{padding:10px 16px;min-height:44px;border:1px solid var(--green);background:var(--green);color:white;border-radius:4px;text-decoration:none;font-size:13px}.editor .secondary{background:transparent;color:var(--green)}.editor details{padding:4px 0}.editor details p{padding:0}.editor #editor-status{min-height:28px;font-size:13px}.editor .field-label{color:var(--muted);font-size:11px}.editor fieldset{border:1px solid var(--line);margin:15px 0;padding:0 15px 15px}.editor legend{font-size:12px;padding:0 5px}
@media(max-width:650px){header{padding:20px}.brand{font-size:10px;gap:9px}.brand small{font-size:7px}.brand-mark{font-size:21px}.languages button{padding:7px 11px}main{padding:5px 20px 0}.hero{grid-template-columns:1fr}.hero-copy{padding:30px 25px 25px}.hero-times{margin-top:20px;gap:40px}.garden{height:150px;order:-1}.moon{height:150px;width:150px;top:15%;left:48%}.hill{height:130%;bottom:-105%}.hill2{bottom:-95%}.garden>span{font-size:9px;bottom:13px}.hero h1{font-size:29px}.hero .eyebrow{font-size:9px}.notice{margin:18px 0 30px;padding:14px}.section-heading h2{font-size:22px}.section-heading>span{font-size:7px}.quick-grid{grid-template-columns:1fr 1fr;gap:10px}.quick-grid a{padding:17px}.quick-grid strong{font-size:13px}.wifi-panel{grid-template-columns:1fr;padding:24px;gap:14px;margin:28px 0 35px}.wifi-panel h2{font-size:25px}.wifi-values strong{font-size:14px}#section-nav{margin-bottom:22px;gap:6px}#section-nav a{font-size:10px;padding:7px 12px}.help{padding:26px 20px}.help h2{font-size:21px}footer{padding:25px 20px;gap:20px}footer small{width:100%}.updated{font-size:9px}.editor .pair{grid-template-columns:1fr;gap:0}.editor .actions{bottom:0}.editor h1{font-size:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media print{header,.demo-bar,.quick-section,.search,#section-nav,.toast,footer,.help{display:none}.hero{min-height:auto}.garden{display:none}.hero{display:block}main{max-width:none;padding:0}details p{display:block!important}details{break-inside:avoid}.wifi-panel{color:#000;background:#fff;border:1px solid #aaa}.wifi-values button{display:none}}
