:root{--bg:#F6F4EC;--surface:#FFFFFF;--surface-2:#ECE9DC;--text:#14172B;--text-muted:#51556B;--border:#D9D5C6;--border-strong:#7C7F92;--accent:#2B3FBF;--on-accent:#F6F4EC;--accent-soft:#E6E9F9;--highlight:#FFD84A;--on-highlight:#14172B;--success:#1F7A4D;--success-bg:#E2F1E8;--warning:#7A4A00;--warning-bg:#FFF1D6;--error:#B93A22;--error-bg:#FBE9E4;--focus:#2B3FBF;--route:#0B5E8E;--map-land:#F1EFE6;--map-water:#CFE3EE;--map-park:#D5E7D8;--map-road:#FFFFFF;--map-line:#CFCBBB;--font-display:Young Serif, Georgia, "Times New Roman", serif;--font-body:"Atkinson Hyperlegible Next", "Atkinson Hyperlegible", system-ui, sans-serif;--font-hand:Caveat, "Segoe Print", cursive;--fs-display:30px;--lh-display:34px;--fs-title:24px;--lh-title:30px;--fs-card:20px;--lh-card:26px;--fs-body:16px;--lh-body:24px;--fs-caption:14px;--lh-caption:20px;--fs-hand:24px;--r-card:10px;--r-ctl:10px;--r-sheet:18px;--r-pill:999px;--shadow:none;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-7:32px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0E1122;--surface:#171B33;--surface-2:#222747;--text:#F1EFE6;--text-muted:#A7ABC4;--border:#2C3152;--border-strong:#7C83A8;--accent:#9BA8FF;--on-accent:#0E1122;--accent-soft:#232A55;--highlight:#FFD84A;--on-highlight:#14172B;--success:#5FD39A;--success-bg:#163A2B;--warning:#F2C46B;--warning-bg:#3A2D10;--error:#FF8E73;--error-bg:#43201A;--focus:#9BA8FF;--route:#7CC4EE;--map-land:#141833;--map-water:#1E3550;--map-park:#17382E;--map-road:#232949;--map-line:#3A416B;color-scheme:dark}}:root[data-theme=dark]{--bg:#0E1122;--surface:#171B33;--surface-2:#222747;--text:#F1EFE6;--text-muted:#A7ABC4;--border:#2C3152;--border-strong:#7C83A8;--accent:#9BA8FF;--on-accent:#0E1122;--accent-soft:#232A55;--highlight:#FFD84A;--on-highlight:#14172B;--success:#5FD39A;--success-bg:#163A2B;--warning:#F2C46B;--warning-bg:#3A2D10;--error:#FF8E73;--error-bg:#43201A;--focus:#9BA8FF;--route:#7CC4EE;--map-land:#141833;--map-water:#1E3550;--map-park:#17382E;--map-road:#232949;--map-line:#3A416B;color-scheme:dark}@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/font-0-FfmJh7DR.woff2) format("woff2")}@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/font-1-gHP6TDRs.woff2) format("woff2")}@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/font-2-Dpiyiu63.woff2) format("woff2")}@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/font-3-D32lleIF.woff2) format("woff2")}@font-face{font-family:Caveat;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/font-4-zlTlWIYU.woff2) format("woff2")}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/font-5-BG6hkEXj.woff2) format("woff2")}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/font-6-DrDcrrxK.woff2) format("woff2")}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/font-7-CeQ8H3UY.woff2) format("woff2")}@font-face{font-family:"Young Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/font-8-DIMmNPI9.woff2) format("woff2")}:root{font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text);background:var(--bg);color-scheme:light;--touch: 44px;--action: 48px;--nav: 80px;--wide: 1100px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:default}a{color:var(--accent)}h1,h2,h3,p{margin:0}h1,h2,.display{font-family:var(--font-display);font-weight:400}h1{font-size:var(--fs-display);line-height:var(--lh-display)}h2{font-size:var(--fs-title);line-height:var(--lh-title)}h3{font-size:var(--fs-card);line-height:var(--lh-card)}.app{max-width:var(--wide);margin:auto;min-height:100dvh;padding:var(--sp-4) var(--sp-4) calc(var(--nav) + var(--sp-6) + env(safe-area-inset-bottom))}header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-4) 0 var(--sp-6)}.brand{font-family:var(--font-display);font-size:var(--fs-title);color:var(--text);text-decoration:none}.brand mark{background:var(--highlight);color:var(--on-highlight)}.stack{display:flex;flex-direction:column;gap:var(--sp-4)}.row{display:flex;gap:var(--sp-3);align-items:center;flex-wrap:wrap}.row>*{min-width:0}.grow{flex:1}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:var(--sp-4)}.card{padding:var(--sp-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card)}.caption,small{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--text-muted)}.muted{color:var(--text-muted)}.field{display:flex;flex-direction:column;gap:var(--sp-2);font-weight:700}.field input,.field textarea,input.control,select,textarea.control{width:100%;min-height:var(--action);padding:var(--sp-3);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-ctl);font-weight:400}.field textarea,textarea.control{min-height:120px;resize:vertical}.check{display:flex;align-items:center;gap:var(--sp-3);min-height:var(--touch);cursor:pointer}.check input{width:var(--sp-5);height:var(--sp-5);accent-color:var(--accent)}fieldset{margin:0;padding:0;border:0;min-width:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:var(--action);padding:var(--sp-3) var(--sp-5);border:1px solid transparent;border-radius:var(--r-ctl);background:var(--accent);color:var(--on-accent);font-weight:700;line-height:var(--lh-caption);text-align:center;text-decoration:none;white-space:normal}.btn.secondary{background:var(--bg);color:var(--text);border-color:var(--border-strong)}.btn.danger{background:transparent;color:var(--error);border-color:var(--border)}.btn.visit{background:var(--surface);color:var(--text);border-color:var(--border-strong);min-height:56px}.btn.visit[aria-pressed=true]{background:var(--success-bg);color:var(--success);border-color:var(--success)}.icon{width:var(--sp-5);height:var(--sp-5);flex:none}.badge{display:inline-flex;gap:var(--sp-1);align-items:center;padding:var(--sp-1) var(--sp-2);border-radius:var(--r-pill);background:var(--surface-2);font-size:var(--fs-caption);line-height:var(--lh-caption)}.badge.success{color:var(--success);background:var(--success-bg)}.badge.warning{background:var(--warning-bg);color:var(--warning)}.notice{padding:var(--sp-4);border-radius:var(--r-card);background:var(--accent-soft);color:var(--text)}.error{background:var(--error-bg);color:var(--error)}.success{background:var(--success-bg);color:var(--success)}.warning{background:var(--warning-bg);color:var(--warning)}.tabs{position:fixed;z-index:10;bottom:0;left:0;right:0;display:flex;justify-content:center;align-items:stretch;gap:var(--sp-1);padding:var(--sp-2) var(--sp-2) calc(var(--sp-2) + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);min-height:var(--nav);overflow-x:auto}.tabs a{flex:1;max-width:220px;min-width:var(--touch);display:flex;align-items:center;justify-content:center;text-align:center;padding:var(--sp-2);text-decoration:none;color:var(--text-muted);border-radius:var(--r-ctl);font-size:var(--fs-caption)}.tabs a[aria-current=page]{background:var(--accent-soft);color:var(--accent);font-weight:700}.formbar{position:sticky;bottom:calc(var(--nav) + var(--sp-2));z-index:5;display:flex;gap:var(--sp-3);padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface);margin-top:var(--sp-4)}.formbar .btn{flex:1}.title-row{display:flex;justify-content:space-between;gap:var(--sp-4);align-items:center;flex-wrap:wrap}button.link{border:0;background:none;color:var(--accent);padding:var(--sp-2);min-height:var(--touch);text-align:left}img{max-width:100%;border-radius:var(--r-card)}.thumbnails{display:flex;gap:var(--sp-3);flex-wrap:wrap}.thumbnails img{width:96px;height:96px;object-fit:cover}details{border:1px solid var(--border);border-radius:var(--r-card);padding:var(--sp-4)}summary{min-height:var(--touch);cursor:pointer;font-weight:700}table{width:100%;border-collapse:collapse}td,th{padding:var(--sp-3);text-align:left;border-bottom:1px solid var(--border)}.table-wrap{overflow:auto}.auth{max-width:480px;margin:var(--sp-7) auto}.numbers{font-variant-numeric:tabular-nums}.hand{font-family:var(--font-hand);font-size:var(--fs-hand);line-height:var(--lh-title)}.tip{border-left:var(--sp-1) solid var(--highlight);padding:var(--sp-3)}.empty{text-align:center;padding:var(--sp-7)}.qr{max-width:220px}.qr svg{width:100%;height:auto}.hero{padding:var(--sp-7);background:var(--accent-soft);border-radius:var(--r-sheet);display:flex;flex-direction:column;gap:var(--sp-4)}.cover{width:100%;max-height:280px;object-fit:cover}audio{width:100%}.reorder{display:flex;gap:var(--sp-2);align-items:center}.reorder .btn{min-width:var(--touch);padding:var(--sp-2)}:focus-visible{outline:3px solid var(--focus);outline-offset:var(--sp-1)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:600px){.app{padding-inline:var(--sp-4)}header h1{font-size:var(--fs-title);line-height:var(--lh-title)}.formbar{flex-wrap:wrap}.tabs a{font-size:13px}.hero{padding:var(--sp-5)}.row .btn{flex:1}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}.feedback-dialog{width:min(28rem,calc(100% - 2rem));max-height:calc(100% - 2rem);margin:auto;overflow:auto;color:var(--text)}.feedback-dialog:not([open]){display:none}.feedback-dialog::backdrop{background:#0000008c}.feedback-dialog .btn{justify-self:end}.feedback-toast{position:fixed;z-index:20;inset:auto 1rem calc(5rem + env(safe-area-inset-bottom));margin-inline:auto;width:fit-content;max-width:calc(100% - 2rem);display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-card);background:var(--success-bg);color:var(--success)}
