:root{--color-bg:#fbf8f3;--color-surface:#f5f0e7;--color-text:#241f1b;--color-text-muted:#6b6156;--color-border:#e5ded2;--color-rule:#cfc5b5;--color-link:#99461c;--color-badge-bg:#fbefcf;--color-badge-text:#8a5c05;--color-badge-border:#c79a2e;--font-sans:-apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, Roboto, "Segoe UI", sans-serif;--font-display:"Zen Maru Gothic", var(--font-sans);--measure:52rem;--space-1:.4rem;--space-2:.85rem;--space-3:1.6rem;--space-4:2.6rem;--radius-pill:9999px;--duration:.15s}@media (prefers-reduced-motion:reduce){:root{--duration:0s}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;overflow-y:scroll}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-feature-settings:"palt" 1;text-wrap:pretty;overflow-wrap:anywhere;word-break:normal;line-break:strict;margin:0;padding:0 1.1rem;font-size:15px;line-height:1.8}header,footer{max-width:var(--measure);margin-inline:auto}main{max-width:var(--measure);padding:var(--space-2) 0 var(--space-4);margin-inline:auto}header{border-bottom:1px solid var(--color-rule)}header nav{flex-wrap:wrap;align-items:center;gap:0 1rem;display:flex}header nav a{min-height:44px;color:var(--color-text-muted);letter-spacing:.04em;align-items:center;font-size:13px;text-decoration:none;display:inline-flex}header nav a:hover,header nav a:focus-visible{text-underline-offset:.25em;text-decoration:underline}header nav .brand{color:var(--color-text);font-family:var(--font-display);letter-spacing:.02em;gap:.45rem;font-size:16px;font-weight:700}.nav-links{flex-basis:100%;gap:0 1.2rem;margin-top:-.4rem;display:flex}header nav .brand img{background:var(--color-surface);box-shadow:0 0 0 1px var(--color-border);border-radius:50%;padding:2px;display:block}h1{margin:0 0 var(--space-2);font-family:var(--font-display);letter-spacing:.015em;font-size:1.7rem;font-weight:700;line-height:1.4}h2{margin:var(--space-4) 0 var(--space-2);font-family:var(--font-display);letter-spacing:.08em;font-size:14px;font-weight:700;line-height:1.6}h3{margin:var(--space-3) 0 var(--space-1);letter-spacing:.04em;font-size:14px}p{margin:0 0 var(--space-2)}a{color:var(--color-link);text-underline-offset:.18em;text-decoration:underline 1px}a:hover,a:focus-visible{text-decoration-thickness:2px}a:focus-visible{outline:2px solid var(--color-link);outline-offset:2px}time{font-variant-numeric:tabular-nums}main ul{margin:0 0 var(--space-2);padding:0;list-style:none}main ul li{border-bottom:1px solid var(--color-border);padding:.35rem 0;font-size:14px}main ul li:last-child{border-bottom:0}.masthead{align-items:center;gap:var(--space-1);margin:0 0 var(--space-3);text-align:center;flex-direction:column;display:flex}.masthead img{aspect-ratio:4/3;object-fit:contain;width:13rem;max-width:100%;height:auto;margin-top:-1.25rem;display:block}.masthead h1{margin:0;font-size:1.9rem;line-height:1.3}.masthead p{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:14px}.masthead+h2,.masthead+table{margin-top:var(--space-3)}.area-list{margin:0 0 var(--space-3);flex-wrap:wrap;gap:.5rem;display:flex}.area-list li{border:0;padding:0}.area-list a{border-radius:var(--radius-pill);background:var(--color-surface);min-height:2.25rem;color:var(--color-text);transition:color var(--duration), background-color var(--duration);align-items:center;padding:0 .8rem;font-size:13px;text-decoration:none;display:inline-flex}.area-list a:hover,.area-list a:focus-visible{color:var(--color-link);background:var(--color-badge-bg)}.area-list .count{color:var(--color-text-muted);margin-left:.4em;font-size:12px}.cards{gap:var(--space-2);margin:0 0 var(--space-3);grid-template-columns:repeat(2,1fr);display:grid}.card{border:1px solid var(--color-border);flex-direction:column;display:flex;position:relative}.card-photo{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto;display:block}.card-photo-empty{background:var(--color-badge-bg);place-items:center;display:grid}.card-body{padding:var(--space-1) var(--space-2) var(--space-2)}.card-name{font-family:var(--font-display);letter-spacing:0;margin:0;font-size:15px;font-weight:700;line-height:1.5}.card-name a{color:var(--color-text);transition:color var(--duration), text-decoration-color var(--duration);text-decoration-color:#0000}.card-name a:after{content:"";position:absolute;inset:0}.card-name a:hover,.card-name a:focus-visible{color:var(--color-link);text-decoration-color:var(--color-link)}.card-name a:focus-visible{outline:none}.card:focus-within{outline:2px solid var(--color-link);outline-offset:2px}.card-station,.card-meta{color:var(--color-text-muted);margin:0;font-size:12px;line-height:1.6}.card-meta{color:var(--color-text);flex-wrap:wrap;gap:0 .6em;margin-top:.3rem;display:flex}.card-meta .badge{font-size:14px;line-height:inherit}.facts{gap:var(--space-1) var(--space-3);margin:0 0 var(--space-3);padding:var(--space-2) 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.facts li{border:0;padding:0;font-size:14px}.facts .label{color:var(--color-text-muted);letter-spacing:.06em;font-size:12px;line-height:1.4;display:block}table{border-collapse:collapse;width:100%;margin:0 0 var(--space-2);font-size:14px}thead th{border-bottom:1px solid var(--color-rule);color:var(--color-text-muted);letter-spacing:.08em;text-align:left;white-space:nowrap;padding:0 .5rem .3rem;font-size:12px;font-weight:700}thead th:first-child{padding-left:0}thead th:last-child{padding-right:0}tbody td{border-bottom:1px solid var(--color-border);vertical-align:top;text-align:left;padding:.5rem}tbody td:first-child{padding-left:0}tbody td:last-child{padding-right:0}tbody tr:last-child td{border-bottom:0}td.nowrap{white-space:nowrap;font-size:13px}.col-name{width:42%}.col-name a{font-weight:700}.station{color:var(--color-text-muted);margin-top:0;font-size:12px;line-height:1.5}.date-muted{letter-spacing:.01em;color:var(--color-text);white-space:nowrap;font-size:12px}.badge{color:var(--color-badge-text);letter-spacing:0;font-size:15px;line-height:1.4;display:inline-block}.wishlist tbody td{border-bottom-style:dashed}.wishlist .col-name{width:45%}.wishlist .col-name a{font-weight:400}.extra{margin-top:var(--space-4);padding-top:var(--space-2);border-top:1px dashed var(--color-border)}.extra h3{margin:0 0 var(--space-1);color:var(--color-text-muted);letter-spacing:.06em;font-size:12px;font-weight:700}.extra table{font-size:13px}.extra .col-name a{font-weight:400}.extra tbody td{border-bottom-style:dashed}.extra .badge{font-size:13px}.illust{max-width:100%;height:auto;margin:var(--space-3) auto;display:block}figure.photo{margin:0 0 var(--space-3);max-width:40rem}figure.photo img{border:1px solid var(--color-border);width:100%;height:auto;display:block}figure.photo figcaption{color:var(--color-text-muted);margin-top:.25rem;font-size:12px}.empty-dish{margin:var(--space-2) 0 var(--space-3);align-items:center;gap:.85rem;font-size:14px;display:flex}.empty-dish img{background:var(--color-surface);border-radius:50%;flex:none}.profile{margin:var(--space-2) 0 var(--space-3);align-items:center;gap:10px;display:flex}.profile img{box-shadow:0 0 0 1px var(--color-border);border-radius:50%;flex:none}.profile strong{letter-spacing:.04em;font-size:14px;display:block}.profile p{color:var(--color-text-muted);margin:.15rem 0 0;font-size:13px}.tip{margin:0 0 var(--space-3)}.tip label{margin-bottom:var(--space-1);color:var(--color-text-muted);font-size:12px;display:block}.tip-row{gap:.4rem;max-width:26rem;display:flex;position:relative}.tip-row input{border:1px solid var(--color-rule);border-radius:var(--radius-pill);background:var(--color-bg);min-width:0;min-height:36px;color:var(--color-text);font:inherit;flex:auto;padding:0 .8rem;font-size:13px}.tip-row input:focus{border-color:var(--color-badge-border);outline:none}@property --tip-angle{syntax:"<angle>";inherits:false;initial-value:0deg}.tip-row:focus-within:before{content:"";border-radius:var(--radius-pill);background:conic-gradient(from var(--tip-angle), transparent 70%, var(--color-badge-border));-webkit-mask-composite:xor;pointer-events:none;padding:2px;animation:2.5s linear infinite tip-spin;position:absolute;inset:-2px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;mask-composite:exclude;mask-mode:match-source,match-source}@keyframes tip-spin{to{--tip-angle:360deg}}.tip-row button{border-radius:var(--radius-pill);background:var(--color-badge-text);min-height:36px;color:var(--color-bg);font-family:var(--font-display);cursor:pointer;transition:background-color var(--duration);border:0;justify-content:center;align-items:center;gap:.3rem;padding:0 .85rem 0 1.05rem;font-size:13px;font-weight:700;display:inline-flex;box-shadow:0 2px 10px #c79a2e66}.tip-row button svg{flex:none}.tip-row button:hover,.tip-row button:focus-visible{background:var(--color-link)}.tip-row button:focus-visible{outline:2px solid var(--color-link);outline-offset:2px}.tip-row button:disabled{opacity:.6;cursor:default}.tip-error{margin:var(--space-1) 0 0;color:var(--color-link);font-size:12px}.spark{background:var(--color-badge-border);pointer-events:none;z-index:10;border-radius:1px;width:2px;height:10px;margin:-5px 0 0 -1px;animation:.5s ease-out forwards spark;position:fixed}@keyframes spark{0%{transform:rotate(var(--angle)) translateY(0);opacity:1}to{transform:rotate(var(--angle)) translateY(-28px);opacity:0}}.toast{z-index:10;border-radius:var(--radius-pill);background:var(--color-text);color:var(--color-bg);font-family:var(--font-display);align-items:center;gap:.5rem;padding:.6rem 1.1rem;font-size:15px;animation:.3s ease-out toast-in;display:flex;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%)}.toast[hidden]{display:none}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}}@media (prefers-reduced-motion:reduce){.tip-row:focus-within:before,.toast{animation:none}.spark{display:none}}footer{padding:var(--space-3) 0 var(--space-4);border-top:1px solid var(--color-rule)}@media (width>=40rem){body{padding:0 2rem;font-size:16px}.masthead{align-items:center;gap:var(--space-3);text-align:left;flex-direction:row}.masthead img{order:-1;width:15rem;margin-top:0}.masthead h1{font-size:2.3rem}.nav-links{flex-basis:auto;margin-top:0;margin-left:auto}.cards{gap:var(--space-3);grid-template-columns:repeat(3,1fr)}table{font-size:15px}tbody td{padding:.6rem .7rem}tbody td:first-child{padding-left:0}}@media print{body{color:#000;background:#fff}header nav,footer{border-color:#999}}
