:root{color-scheme:light;--color-bg:#ffffff;--color-surface:#ffffff;--color-surface-muted:#f3f5f8;--color-text:#2b2b2b;--color-muted:#5c6270;--color-border:#e0e4ea;--color-border-strong:#b7bec9;--color-header:#6d7f9c;--color-navy:#3d5373;--color-line:#6b4a2e;--color-accent:#3f6fc2;--color-accent-dark:#2f5aa6;--color-accent-soft:#eef3fb;--color-on-accent:#ffffff;--color-danger:#dc2626;--color-success:#15803d;--color-warning:#b45309;--font-body:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP",sans-serif;--font-mono:"SFMono-Regular",Consolas,monospace;--radius:6px;--shadow:none}*{box-sizing:border-box}body,html{max-width:100vw;min-height:100%;overflow-x:clip}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);letter-spacing:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.site-header{background:var(--color-bg);position:sticky;top:0;z-index:10}.brand-bar{align-items:center;background:var(--color-header);color:#fff;display:flex;justify-content:space-between;padding:12px clamp(16px,4vw,32px)}.brand{align-items:baseline;display:inline-flex;font-size:20px;font-weight:700;gap:10px;letter-spacing:.04em}.brand small{font-size:12px;font-weight:400;opacity:.85}.brand-bar .meta{color:#fff}.site-footer{background:var(--color-header);color:#fff;margin-top:40px;padding:20px clamp(16px,4vw,40px);text-align:center}.site-footer p{color:#fff;font-size:13px}.feature{align-items:center;background:var(--color-navy);color:#fff;display:grid;gap:clamp(20px,4vw,40px);grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);padding:clamp(18px,3vw,36px)}.feature h1{font-size:clamp(34px,6vw,56px);letter-spacing:.02em}.feature p{color:#fff}.feature .eyebrow{color:#c9d6ee}.feature-text{display:grid;gap:14px}.feature .button{background:#fff;border-color:#fff;color:var(--color-navy)}.feature .button:focus-visible,.feature .button:hover{background:#e8eef8}.feature .button.ghost{background:transparent;color:#fff}.feature .button.ghost:focus-visible,.feature .button.ghost:hover{background:rgba(255,255,255,.12)}.eyebrow{color:var(--color-accent);font-size:13px;font-weight:700;letter-spacing:.08em}.lead{font-size:17px}.section-title{border-bottom:4px double var(--color-line);color:var(--color-line);letter-spacing:.06em;margin-bottom:18px;padding-bottom:10px}.thoughts{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));list-style:none;margin:0 0 18px;padding:0}.thoughts li{background:var(--color-header);color:#fff;font-weight:700;padding:20px 12px;text-align:center}.prose{max-width:40em}.manager{align-items:start;display:grid;gap:28px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.photo{display:block;height:auto;width:100%}.info{margin:0}.info div{border-bottom:1px dashed var(--color-border-strong);display:grid;gap:6px 24px;grid-template-columns:9em minmax(0,1fr);padding:14px 0}.info dt{color:var(--color-line);font-weight:700}.info dd{color:var(--color-text);white-space:pre-line;line-height:1.8;margin:0}.page-head{display:grid;gap:10px;margin-bottom:28px}.menu-card{border-bottom:4px double var(--color-line);border-top:4px double var(--color-line);display:grid;gap:32px;padding:28px 4px}.menu-group h2{align-items:baseline;background:var(--color-navy);color:#fff;display:flex;gap:12px;padding:8px 14px}.menu-group h2 span{font-size:13px;font-weight:400;opacity:.8}.menu-group ul{display:grid;gap:0 32px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));list-style:none;margin:8px 0 0;padding:0 4px}.menu-group li{border-bottom:1px dashed var(--color-border-strong);padding:10px 0}.menu-item-head{align-items:baseline;display:flex;gap:12px;justify-content:space-between}.menu-price{font-weight:700;white-space:nowrap}.menu-item-desc{font-size:13px;margin-top:2px}.sold-badge,.sold-out .menu-item-name,.sold-out .menu-price{color:var(--color-muted)}.sold-badge{border:1px solid var(--color-border-strong);font-size:11px;font-weight:700;margin-left:8px;padding:1px 6px;vertical-align:2px}.text-link{color:var(--color-accent);font-weight:700;text-decoration:underline}.steps{counter-reset:step;display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:0;padding:0}.steps li{background:var(--color-header);color:#fff;counter-increment:step;font-size:14px;font-weight:700;padding:10px 12px}.steps li:before{content:counter(step) ". "}.event-row{align-items:center;border:1px solid var(--color-border-strong);border-left:6px solid var(--color-navy);display:grid;gap:16px;grid-template-columns:minmax(0,1fr) auto;padding:18px 20px}.stack.tight{gap:6px}.page{margin:0 auto;max-width:1120px;padding:32px clamp(16px,4vw,40px) 64px}.narrow{max-width:720px}.stack{display:grid;gap:18px}.section{margin-top:28px}.card,.panel,.table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow)}.panel{padding:clamp(18px,3vw,28px)}.card{display:grid;gap:12px;padding:18px}.grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.grid,.hero{display:grid;gap:16px}.hero{align-items:end;grid-template-columns:minmax(0,1fr) auto}h1,h2,h3{font-style:normal;line-height:1.2;margin:0;overflow-wrap:anywhere}h1{font-size:clamp(28px,5vw,44px)}h2{font-size:22px}h3{font-size:18px}p{line-height:1.7;margin:0}.meta,p{color:var(--color-muted)}.meta{font-size:14px}.badge{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:999px;color:var(--color-muted);display:inline-flex;font-size:13px;font-weight:700;padding:5px 10px;width:fit-content}.badge.success{color:var(--color-success)}.badge.warning{color:var(--color-warning)}.badge.danger{color:var(--color-danger)}.actions{display:flex;flex-wrap:wrap;gap:10px}.admin-nav{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,max-content));justify-content:start}.admin-nav form{display:contents}.button{align-items:center;background:var(--color-accent);border:1px solid var(--color-accent);border-radius:var(--radius);color:var(--color-on-accent);cursor:pointer;display:inline-flex;font-weight:700;justify-content:center;min-height:42px;padding:10px 14px}.button:focus-visible,.button:hover{background:var(--color-accent-dark);outline:none}.button.secondary{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-text)}.button.danger{background:var(--color-danger);border-color:var(--color-danger)}.button.disabled,.button:disabled{cursor:not-allowed;opacity:.45}.form{display:grid;gap:16px}.field{display:grid;gap:7px}.field label{font-size:14px;font-weight:700}.field input,.field select,.field textarea{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius);color:var(--color-text);min-height:42px;padding:10px 12px;width:100%}.field textarea{min-height:100px;resize:vertical}.checkbox{align-items:center;display:flex;gap:10px}.inline-fields{align-items:center;display:grid;gap:8px;grid-template-columns:repeat(4,max-content)}.inline-fields input,.inline-fields select{min-width:92px}.inline-fields span{color:var(--color-muted);font-size:14px;white-space:nowrap}.notice{background:var(--color-accent-soft);border:1px solid var(--color-border);border-radius:var(--radius);display:grid;gap:6px;padding:14px}.notice.compact{padding:12px}.share-box{align-items:end;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto}.subsection{border-top:1px solid var(--color-border);display:grid;gap:16px;padding-top:18px}.subsection-head{align-items:end;display:flex;gap:16px;justify-content:space-between}.mode-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.choice-card{align-items:start;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius);cursor:pointer;display:grid;gap:10px;grid-template-columns:auto minmax(0,1fr);padding:14px}.choice-card.selected{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.choice-card span{display:grid;gap:4px}.choice-card small{color:var(--color-muted);line-height:1.5}.slot-list{display:grid;gap:10px}.slot-row{align-items:end;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius);display:grid;gap:12px;grid-template-columns:minmax(70px,.8fr) minmax(0,1fr) minmax(0,1fr) minmax(86px,.8fr) auto;padding:12px}.slot-row,.slot-row .field,.slot-row .field input{min-width:0}.subsection.first{border-top:0;padding-top:0}.notice.success{background:#edf8f1;border-color:#bfe3cc;color:var(--color-success)}.notice.danger{background:#fef2f2;border-color:#fecaca;color:var(--color-danger)}.editor-row{align-items:start;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius);display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;padding:12px}.editor-row.plain{background:transparent;border:0;padding:0}.editor-row.muted{opacity:.6}.editor-row-fields{grid-template-columns:minmax(0,12em) minmax(0,1fr)}.editor-row-fields,.menu-item-fields{align-items:start;display:grid;gap:10px}.menu-item-fields{grid-template-columns:minmax(0,1fr) minmax(0,10em)}.row-tools{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;padding-top:24px}.mini-button{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius);color:var(--color-text);cursor:pointer;font-size:13px;min-height:34px;min-width:34px;padding:4px 10px;width:fit-content}.mini-button:disabled{cursor:not-allowed;opacity:.4}.mini-button.danger{color:var(--color-danger)}.image-field{align-items:start;display:grid;gap:14px;grid-template-columns:180px minmax(0,1fr)}.image-field .photo{border:1px solid var(--color-border)}.checks{display:flex;flex-wrap:wrap;gap:16px;font-size:14px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;min-width:760px;width:100%}td,th{border-bottom:1px solid var(--color-border);padding:12px;text-align:left;vertical-align:top}th{background:var(--color-surface-muted);font-size:13px}.empty,th{color:var(--color-muted)}.empty{border:1px dashed var(--color-border-strong);border-radius:var(--radius);padding:24px;text-align:center}@media (max-width:680px){.hero{align-items:start}.event-row,.feature,.hero,.info div,.manager,.steps{grid-template-columns:1fr}.button{width:100%}.admin-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-nav .button{min-width:0;width:100%}.subsection-head{align-items:stretch;display:grid}.inline-fields{align-items:stretch;grid-template-columns:1fr}.inline-fields input,.inline-fields select{min-width:0}.editor-row,.editor-row-fields,.image-field,.menu-item-fields,.share-box,.slot-row{grid-template-columns:1fr}.slot-row{grid-template-columns:minmax(0,1fr)}.row-tools{justify-content:flex-start;padding-top:0}}:root{--color-button-bg:#ffffff;--color-button-text:#000000}.button,.button.danger,.button.secondary,.feature .button,.feature .button.ghost,.mini-button,.mini-button.danger{background:var(--color-button-bg);color:var(--color-button-text)}.mini-button.danger{border-color:var(--color-danger)}.button:focus-visible,.button:hover,.feature .button.ghost:focus-visible,.feature .button.ghost:hover,.feature .button:focus-visible,.feature .button:hover,.mini-button:focus-visible,.mini-button:hover{background:var(--color-button-bg);color:var(--color-button-text)}.button:focus-visible,.mini-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.card.reservation-slot{align-items:center;grid-template-columns:minmax(0,1fr) auto}.reservation-slot h3{font-size:clamp(16px,4vw,20px);min-width:0}.card.reservation-slot .button{flex-shrink:0;white-space:nowrap;width:auto}.admin-nav .button[aria-current=page]{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.date-picker{min-width:0}.date-picker-input{display:flex;gap:8px}.date-picker-input input{min-width:0}.date-picker-input .button{flex-shrink:0;white-space:nowrap}.date-picker-calendar{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius);margin-top:10px;padding:12px;width:min(100%,392px)}.date-picker-header{align-items:center;display:grid;gap:8px;grid-template-columns:44px minmax(0,1fr) 44px;text-align:center}.date-picker-header .button{font-size:24px;padding:0}.date-picker-days{display:grid;gap:4px;grid-template-columns:repeat(7,minmax(0,1fr));margin-top:12px}.date-picker-weekday{color:var(--color-muted);font-size:14px;padding-bottom:6px;text-align:center}.date-picker-day{aspect-ratio:1;background:var(--color-surface);border:1px solid transparent;border-radius:var(--radius);color:var(--color-text);cursor:pointer;font-size:16px;min-width:0;padding:0}.date-picker-day[aria-current=date]{border-color:var(--color-border-strong);font-weight:700}.date-picker-day:hover{background:var(--color-accent-soft)}.date-picker-day[aria-pressed=true]{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent);font-weight:700}.date-picker-day:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.date-picker-footer{display:flex;gap:8px;justify-content:space-between;margin-top:12px}@media (max-width:480px){.date-picker-calendar{padding:8px}.date-picker-days{gap:2px}.date-picker-footer .button{font-size:14px;padding-inline:8px;white-space:nowrap}}