:root{--ink:#0d2a3f;--ink-2:#22303c;--text-sub:#4a5661;--text-soft:#5f6a76;--text-mute:#8a94a0;--navy:#004986;--navy-deep:#003a6b;--navy-light:#4f7aa6;--navy-pale:#c9d7e6;--navy-tint:#eef3f8;--paper:#f4f2ec;--paper-deep:#ebe8df;--surface:#fff;--surface-soft:#faf9f6;--line:#dcdad3;--line-soft:#e9e7e1;--sage:#3f7a5c;--sage-bg:#f4f9f5;--sage-line:#cfe0d5;--amber:#8a6424;--terracotta:#a8473f;--terracotta-bg:#f8ecea;--terracotta-line:#ebd2cd;--terracotta-text:#7e4038;--sat:#3d6a9a;--serif:"Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;--sans:"Zen Kaku Gothic New", -apple-system, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;--radius-sm:8px;--radius-md:14px;--radius-lg:18px;--shadow-soft:0 6px 28px #0d2a3f14;--shadow-card:0 2px 14px #0d2a3f0d;font-family:var(--sans);color:var(--ink-2);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);min-height:100vh}button{cursor:pointer;-webkit-tap-highlight-color:transparent;font-family:inherit}input,textarea{font-family:inherit}.app{background:var(--paper);flex-direction:column;max-width:480px;min-height:100vh;margin:0 auto;display:flex;position:relative}.app-header{z-index:20;text-align:center;background:radial-gradient(120% 80% at 50% 0%, var(--surface-soft) 0%, var(--paper) 72%);border-bottom:1px solid var(--line-soft);padding:22px 24px 18px;position:sticky;top:0}.brandmark{font-family:var(--serif);letter-spacing:.32em;color:var(--ink);margin:0 0 0 .32em;font-size:22px;font-weight:600}.brandmark .dot{color:var(--navy)}.brandtag{letter-spacing:.22em;color:var(--text-soft);margin-top:7px;font-size:11px}.brandrule{background:var(--navy);width:26px;height:2px;margin:12px auto 0}.content{flex:1;padding:20px 22px 124px}.step-ind{align-items:flex-start;margin:2px 0 24px;display:flex}.step-ind .si{flex-direction:column;flex:1;align-items:center;gap:6px;display:flex;position:relative}.step-ind .si-node{width:26px;height:26px;font-size:12px;font-family:var(--serif);background:var(--surface);color:var(--text-soft);border:1px solid var(--line);z-index:1;border-radius:50%;justify-content:center;align-items:center;font-weight:600;transition:all .25s;display:flex}.step-ind .si-label{color:var(--text-soft);letter-spacing:.03em;font-size:10.5px}.step-ind .si:before{content:"";background:var(--line);width:100%;height:1px;position:absolute;top:13px;left:-50%}.step-ind .si:first-child:before{display:none}.step-ind .si.active .si-node{background:var(--navy);color:#fff;border-color:var(--navy);box-shadow:0 0 0 3px var(--navy-tint)}.step-ind .si.done .si-node{background:var(--navy-light);color:#fff;border-color:var(--navy-light)}.step-ind .si.active .si-label,.step-ind .si.done .si-label{color:var(--ink)}.step-ind .si.done:before,.step-ind .si.active:before{background:var(--navy)}.heading{font-family:var(--serif);color:var(--ink);letter-spacing:.04em;margin:0 0 6px;font-size:21px;font-weight:600}.lead{color:var(--text-sub);margin:0 0 20px;font-size:13px;line-height:1.9}.eyebrow{letter-spacing:.18em;color:var(--navy-deep);align-items:center;gap:9px;margin:22px 0 10px;font-size:11px;font-weight:700;display:flex}.eyebrow:after{content:"";background:var(--navy-pale);flex:1;height:1px}.staff-intro{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);align-items:center;gap:15px;margin-bottom:20px;padding:16px 18px;display:flex}.staff-intro .ring{width:50px;height:50px;font-family:var(--serif);color:#fff;background:linear-gradient(150deg, var(--navy), var(--navy-light));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:21px;display:flex;overflow:hidden}.staff-intro .ring img{object-fit:cover;object-position:center top;width:100%;height:100%}.staff-intro .label{letter-spacing:.16em;color:var(--navy-deep);font-size:10.5px;font-weight:700}.staff-intro .name{font-family:var(--serif);color:var(--ink);margin-top:3px;font-size:18px}.staff-intro .si-title{font-family:var(--sans);color:var(--navy);letter-spacing:.02em;margin-top:2px;font-size:11px;font-weight:500;display:block}.store-intro{background:var(--surface-soft);border:1px solid var(--line);border-left:4px solid var(--navy);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);margin-bottom:20px;padding:14px 18px}.store-intro .label{letter-spacing:.16em;color:var(--navy-deep);font-size:10.5px;font-weight:700}.store-intro .name{font-family:var(--serif);color:var(--ink);margin-top:3px;font-size:19px}.store-intro .note{color:var(--text-soft);text-align:left;margin-top:3px;padding:0;font-size:11.5px;line-height:1.5}.staff-intro .note{color:var(--text-soft);text-align:left;margin-top:2px;padding:0;font-size:11px}.prev-booking{background:var(--surface);border:1px solid var(--navy-pale);border-left:4px solid var(--navy);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);margin-bottom:20px;padding:14px 16px}.prev-booking .pb-label{letter-spacing:.16em;color:var(--navy-deep);font-size:10.5px;font-weight:700}.prev-booking .pb-rows{margin:8px 0 0;padding:0}.prev-booking .pb-rows>div{border-bottom:1px solid var(--line-soft);gap:10px;padding:4px 0;font-size:13px;display:flex}.prev-booking .pb-rows>div:last-child{border-bottom:none}.prev-booking dt{color:var(--text-soft);flex:0 0 4.5em;margin:0}.prev-booking dd{min-width:0;color:var(--ink);overflow-wrap:anywhere;flex:1;margin:0;font-weight:600}.prev-booking .pb-note{color:var(--text-sub);margin-top:8px;font-size:11.5px;line-height:1.6}.prev-booking .pb-btn{margin-top:12px;padding:13px;font-size:14.5px}.prev-booking .pb-sub{color:var(--text-soft);text-align:center;margin-top:8px;font-size:11.5px;line-height:1.6}.participants-prefill{color:var(--navy-deep);background:var(--navy-tint);border-radius:var(--radius-sm);margin:0 0 8px;padding:6px 10px;font-size:12px;line-height:1.6}.stores{gap:12px;display:flex}.stores.cats{flex-direction:column;gap:10px}.stores.cats .store{text-align:left;padding:14px 16px}.store{border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--line);text-align:center;flex:1;padding:17px 10px;transition:all .2s}.store .jp{font-family:var(--serif);color:var(--ink);font-size:17px}.store.on{border-color:var(--navy);background:var(--navy-tint);box-shadow:var(--shadow-card)}.store.on .jp{color:var(--navy-deep)}.menu{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);align-items:stretch;gap:13px;width:100%;margin-bottom:12px;padding:12px;transition:all .2s;display:flex}.menu.on{border-color:var(--navy);background:var(--navy-tint);box-shadow:var(--shadow-soft)}.menu-photo{border-radius:var(--radius-sm);background:linear-gradient(150deg, var(--paper-deep), var(--navy-pale));flex-shrink:0;justify-content:center;align-self:stretch;align-items:center;width:96px;min-height:96px;display:flex;overflow:hidden}.menu-photo img{object-fit:cover;width:100%;height:100%;display:block}.menu-photo .ph-label{font-family:var(--serif);color:var(--navy-deep);letter-spacing:.04em;text-align:center;padding:4px;font-size:13px;font-weight:600}.menu-main{flex-direction:column;flex:1;min-width:0;display:flex}.menu .nm{font-family:var(--serif);color:var(--ink);font-size:16px;line-height:1.5}.menu .dur{color:var(--text-soft);letter-spacing:.03em;margin-top:5px;font-size:11.5px}.menu .desc{color:var(--text-sub);margin-top:8px;font-size:12px;line-height:1.7}.menu .pr{font-family:var(--serif);color:var(--navy-deep);margin-top:auto;padding-top:9px;font-size:18px}.menu .pr small{font-size:11px;font-family:var(--sans);color:var(--text-soft)}.staff-pick{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);align-items:flex-start;gap:14px;width:100%;margin-bottom:11px;padding:14px 15px;transition:all .2s;display:flex}.staff-pick.on{border-color:var(--navy);background:var(--navy-tint);box-shadow:var(--shadow-card)}.sp-avatar{width:54px;height:54px;font-family:var(--serif);color:#fff;background:linear-gradient(150deg, var(--navy), var(--navy-light));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:21px;display:flex;overflow:hidden}.sp-avatar img{object-fit:cover;object-position:center top;width:100%;height:100%}.sp-avatar.omakase{background:linear-gradient(150deg, var(--text-soft), var(--text-sub))}.sp-body{flex:1;min-width:0}.sp-name{font-family:var(--serif);color:var(--ink);font-size:16px;font-weight:600}.sp-title{font-family:var(--sans);color:var(--navy);letter-spacing:.02em;margin-top:2px;font-size:11px;font-weight:500;display:block}.sp-note{color:var(--text-soft);margin-top:3px;font-size:11.5px}.sp-bio{color:var(--text-sub);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:6px;font-size:11.5px;line-height:1.55;display:-webkit-box;overflow:hidden}.sp-check{border:1.5px solid var(--line);border-radius:50%;flex-shrink:0;width:22px;height:22px;margin-top:4px;transition:all .2s;position:relative}.staff-pick.on .sp-check{border-color:var(--navy);background:var(--navy)}.staff-pick.on .sp-check:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:6px;height:11px;position:absolute;top:2px;left:6px;transform:rotate(45deg)}.nominated-chip{text-align:left;background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-md);align-items:center;gap:11px;margin:2px 0 14px;padding:9px 13px;display:flex}.nominated-chip .nc-photo{object-fit:cover;object-position:center top;border-radius:50%;flex-shrink:0;width:40px;height:40px}.nominated-chip .nc-text{color:var(--text-sub);font-size:13px}.nominated-chip .nc-title{color:var(--navy);margin-top:1px;font-size:10.5px;display:block}.cal-nav{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.cal-nav .lbl{font-family:var(--serif);color:var(--ink);white-space:nowrap;text-align:center;font-size:12.5px}.cal-nav button{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-sm);color:var(--text-sub);white-space:nowrap;padding:11px 13px;font-size:12.5px}.cal-nav button:disabled{opacity:.35}.day-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:0 0 16px;display:grid}.day-btn{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-width:0;color:var(--ink);cursor:pointer;flex-direction:column;align-items:center;gap:1px;padding:7px 0 6px;line-height:1.2;display:flex}.day-btn .wd{color:var(--text-soft);font-size:10.5px}.day-btn .dy{font-family:var(--serif);font-size:16px}.day-btn .mk{color:var(--sage);min-height:13px;font-size:11px;font-weight:700}.day-btn.sat .wd,.day-btn.sat .dy{color:var(--sat)}.day-btn.sun .wd,.day-btn.sun .dy{color:var(--terracotta)}.day-btn.on{background:var(--navy);border-color:var(--navy)}.day-btn.on .wd,.day-btn.on .dy,.day-btn.on .mk{color:#fff}.day-btn:disabled{opacity:.4;background:var(--paper-deep);cursor:default}.day-btn:disabled .mk{color:var(--text-mute);font-weight:400}.day-btn.load .mk{color:var(--line)}.time-panel{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);padding:14px 14px 16px}.time-panel-title{font-family:var(--serif);color:var(--ink);margin:0 0 10px;font-size:15px}.time-sec-title{color:var(--text-sub);margin:14px 0 8px;font-size:12.5px;font-weight:700}.time-sec-title.rec{color:var(--sage);margin-top:0}.time-sec-note{color:var(--text-soft);margin:-4px 0 8px;font-size:11.5px;line-height:1.6}.time-grid{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px;display:grid}.time-grid.rec{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}.time-btn{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-width:0;color:var(--ink);font-variant-numeric:tabular-nums;cursor:pointer;padding:11px 0;font-size:14.5px}.time-btn.rec{border-color:var(--sage);background:var(--sage-bg);color:var(--sage);padding:14px 0;font-size:17px;font-weight:700}.time-btn:active{background:var(--surface-soft)}.time-btn.on,.time-btn.rec.on{background:var(--navy);border-color:var(--navy);color:#fff}.cal-legend{color:var(--text-soft);flex-wrap:wrap;gap:12px;margin-top:13px;font-size:11.5px;display:flex}.cal-legend span{align-items:center;gap:4px;display:inline-flex}.cal-legend b{font-size:14px}.cal-legend .g{color:var(--sage)}.cal-legend .o{color:var(--amber)}.cal-legend .x{color:var(--text-mute)}.cal-legend .d{color:var(--line)}.field{margin-bottom:16px}.field label{color:var(--ink);letter-spacing:.03em;margin-bottom:7px;font-size:12.5px;display:block}.field .req{color:var(--terracotta);letter-spacing:.08em;margin-left:6px;font-size:10.5px}.field input,.field textarea,.field select{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);width:100%;height:50px;color:var(--ink);padding:0 14px;font-size:16px;transition:border-color .15s}.field select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--text-soft) 50%), linear-gradient(135deg, var(--text-soft) 50%, transparent 50%);background-position:calc(100% - 15px) 22px,calc(100% - 10px) 22px;background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-left:12px;padding-right:26px;line-height:50px}.field select:focus{border-color:var(--navy);outline:none;box-shadow:0 0 0 3px #00498624}.field input::placeholder,.field textarea::placeholder{color:var(--text-mute)}.field input:focus,.field textarea:focus{border-color:var(--navy);outline:none;box-shadow:0 0 0 3px #00498624}.field textarea{resize:vertical;height:auto;min-height:90px;padding:13px 14px;line-height:1.7}.field .err{color:var(--terracotta);margin-top:6px;font-size:11.5px}.field-hint{color:var(--text-soft);margin-top:6px;font-size:12px;line-height:1.7}.policy{background:var(--terracotta-bg);border:1px solid var(--terracotta-line);border-radius:var(--radius-md);margin:20px 0;padding:16px 18px}.policy .ttl{letter-spacing:.14em;color:var(--terracotta);margin-bottom:9px;font-size:11px;font-weight:700}.policy .hl{color:var(--terracotta);margin-bottom:10px;font-size:13px;font-weight:700;line-height:1.75}.policy ul{margin:0;padding-left:18px}.policy li{color:var(--terracotta-text);margin-bottom:5px;font-size:12px;line-height:1.85}.consent{align-items:flex-start;gap:10px;margin:16px 0 4px;display:flex}.consent input{width:19px;height:19px;accent-color:var(--navy-deep);flex-shrink:0;margin-top:1px}.consent label,.consent span{color:var(--ink);font-size:13px;line-height:1.6}.summary{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:1px solid var(--line-soft);margin-bottom:18px;overflow:hidden}.srow{border-bottom:1px solid var(--line-soft);align-items:baseline;gap:14px;padding:14px 18px;display:flex}.srow:last-child{border-bottom:none}.srow .k{color:var(--text-soft);letter-spacing:.04em;flex-shrink:0;width:76px;font-size:11.5px}.srow .v{color:var(--ink);overflow-wrap:anywhere;flex:1;min-width:0;font-size:14px;line-height:1.6}.srow .v .strong{font-family:var(--serif);font-size:15px}.srow.feature{background:var(--surface-soft)}.srow.feature .v .strong{color:var(--navy-deep)}.tag{letter-spacing:.06em;border-radius:20px;padding:3px 9px;font-size:10.5px;font-weight:700;display:inline-block}.tag.nm{background:var(--navy);color:#fff}.tag.om{background:var(--paper-deep);color:var(--text-sub)}.fineprint{color:var(--text-soft);font-size:11.5px;line-height:1.8}.footer{width:100%;max-width:480px;padding:14px 22px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(to top, var(--paper) 74%, #f4f2ec00);z-index:30;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.footer-hint{color:var(--terracotta);text-align:center;letter-spacing:.02em;margin-bottom:8px;font-size:11.5px}.footer-sel{color:var(--text-sub);text-align:center;letter-spacing:.02em;margin-bottom:9px;font-size:12px}.footer-sel b{font-family:var(--serif);color:var(--navy-deep);font-weight:600}.btn{border-radius:var(--radius-md);letter-spacing:.06em;background:var(--navy);color:#fff;border:none;width:100%;padding:16px;font-size:15.5px;font-weight:700;transition:all .18s;box-shadow:0 6px 18px #00498638}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.32;box-shadow:none}.btn.accent{background:var(--navy-deep);box-shadow:0 6px 18px #003a6b47}.back{background:var(--surface);border:1px solid var(--line);color:var(--text-sub);letter-spacing:.04em;cursor:pointer;border-radius:999px;align-items:center;gap:4px;margin:8px 0 6px;padding:9px 16px;font-size:13px;font-weight:600;display:inline-flex;box-shadow:0 1px 3px #0d2a3f0f}.back:active{transform:translateY(1px)}.done-screen{text-align:center;padding:30px 6px}.done-screen .seal{border:1px solid var(--navy);background:var(--surface-soft);border-radius:50%;justify-content:center;align-items:center;width:76px;height:76px;margin:0 auto 22px;display:flex}.done-screen .seal svg{width:33px;height:33px}.done-screen h2{font-family:var(--serif);color:var(--ink);letter-spacing:.05em;margin:0 0 12px;font-size:22px}.done-screen p{color:var(--text-sub);margin:0;font-size:13.5px;line-height:2}.paybox{background:var(--surface-soft);border:1px solid var(--navy-pale);border-radius:var(--radius-lg);text-align:left;margin:22px 0;padding:20px}.paybox .ph{font-family:var(--serif);color:var(--navy-deep);letter-spacing:.04em;margin-bottom:8px;font-size:15px}.paybox .amt{font-family:var(--serif);color:var(--ink);margin:6px 0 10px;font-size:28px}.paybox .amt small{color:var(--text-soft);font-size:13px;font-family:var(--sans)}.paybox p{color:var(--text-sub);font-size:12.5px;line-height:1.85}.note{text-align:center;color:var(--text-soft);padding:28px 10px;font-size:13px;line-height:1.95}.loading{text-align:center;color:var(--text-soft);padding:60px 16px;font-size:13px}.spinner{border:2px solid var(--line);border-top-color:var(--navy);border-radius:50%;width:30px;height:30px;margin:0 auto 14px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.banner-err{background:var(--terracotta-bg);color:var(--terracotta);border:1px solid var(--terracotta-line);border-radius:var(--radius-md);text-align:center;margin-bottom:14px;padding:12px 14px;font-size:12.5px;line-height:1.6}a{color:var(--navy-deep)}.store .city{color:var(--text-soft);letter-spacing:.04em;margin-top:4px;font-size:11px}.picked-summary{background:var(--surface-soft);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:2px;margin:0 0 18px;padding:12px 16px;display:flex}.picked-summary .ps-main{color:var(--ink);font-size:15px;font-weight:600}.picked-summary .ps-sub{color:var(--text-soft);font-size:12.5px}.prefill-note{background:var(--surface-soft);border:1px solid var(--line);border-left:4px solid var(--navy);color:var(--text-sub);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 18px;padding:11px 14px;font-size:13px;line-height:1.6;display:flex}.prefill-clear{font:inherit;color:var(--navy-deep);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:0;font-size:12.5px;text-decoration:underline}.adv-entry{text-align:left;background:linear-gradient(140deg, var(--surface), var(--navy-tint));border:1px solid var(--navy-pale);border-radius:var(--radius-md);cursor:pointer;width:100%;box-shadow:var(--shadow-card);align-items:center;gap:12px;margin:2px 0 18px;padding:14px 16px;display:flex}.adv-entry:active{background:var(--paper-deep)}.adv-entry .ae-icon{background:var(--navy);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:19px;line-height:1;display:flex}.adv-entry .ae-title{font-family:var(--serif);color:var(--ink);letter-spacing:.03em;font-size:15px;display:block}.adv-entry .ae-note{color:var(--text-soft);margin-top:3px;font-size:11.5px;line-height:1.6;display:block}.adv-entry .ae-arrow{color:var(--navy-deep);flex-shrink:0;margin-left:auto;font-size:16px}.adv-entry-lead{border-width:2px;border-color:var(--navy);margin:6px 0 4px;padding:20px 18px}.adv-entry-lead .ae-icon{width:46px;height:46px}.adv-entry-lead .ae-title{font-size:19px;line-height:1.5}.adv-entry-lead .ae-note{margin-top:6px;font-size:13px}.adv-entry-lead .ae-arrow{font-size:20px}.adv-head{align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.adv-title{font-family:var(--serif);color:var(--ink);letter-spacing:.04em;font-size:20px}.adv-sub{color:var(--text-soft);margin-top:4px;font-size:11.5px;line-height:1.6}.adv-close{border:1px solid var(--line);background:var(--surface);width:32px;height:32px;color:var(--text-sub);cursor:pointer;border-radius:50%;flex-shrink:0;margin-left:auto;font-size:14px;line-height:1}.adv-cond{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-md);margin-bottom:14px;padding:12px 14px}.adv-cond-row{flex-wrap:wrap;align-items:center;gap:8px 10px;display:flex}.adv-cond-row+.adv-cond-row{margin-top:10px}.adv-cond-label{color:var(--text-soft);letter-spacing:.06em;min-width:62px;font-size:11.5px}.adv-chips{flex-wrap:wrap;gap:7px;display:flex}.adv-chip{border:1px solid var(--line);background:var(--surface);color:var(--text-sub);cursor:pointer;border-radius:999px;padding:6px 13px;font-family:inherit;font-size:12.5px}.adv-chip.on{background:var(--navy);border-color:var(--navy);color:#fff}.adv-cond-note{color:var(--navy-deep);margin:9px 0 0;font-size:11.5px;line-height:1.6}.adv-log{flex-direction:column;gap:12px;max-height:56vh;padding:2px;display:flex;overflow-y:auto}.adv-bubble{border-radius:var(--radius-md);white-space:pre-wrap;word-break:break-word;max-width:88%;padding:12px 15px;font-size:13px;line-height:1.9}.adv-bubble.assistant{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-bottom-left-radius:4px;align-self:flex-start}.adv-bubble.user{background:var(--navy);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.adv-waiting{white-space:normal;align-items:flex-start;gap:10px;display:flex}.adv-waiting-text{color:var(--text-sub);font-size:12.5px;line-height:1.8}.adv-dots{flex-shrink:0;align-items:center;gap:5px;padding-top:9px;display:inline-flex}.adv-dots span{background:var(--text-mute);border-radius:50%;width:6px;height:6px;animation:1.2s infinite advblink}.adv-dots span:nth-child(2){animation-delay:.2s}.adv-dots span:nth-child(3){animation-delay:.4s}@keyframes advblink{0%,60%,to{opacity:.25}30%{opacity:1}}.adv-cards{flex-direction:column;gap:12px;display:flex}.adv-card{background:var(--surface);border:1px solid var(--navy-pale);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:14px 15px}.adv-card-head{align-items:flex-start;gap:12px;display:flex}.adv-card-photo{object-fit:cover;border-radius:10px;flex-shrink:0;width:62px;height:62px}.adv-card-main{flex:1;min-width:0}.adv-card-name{font-family:var(--serif);color:var(--ink);font-size:15.5px;line-height:1.5}.adv-card-meta{color:var(--text-soft);letter-spacing:.03em;margin-top:5px;font-size:11.5px}.adv-card-reason{color:var(--navy-deep);border-left:2px solid var(--navy-pale);margin:11px 0 0;padding-left:10px;font-size:12.5px;line-height:1.8}.adv-card-desc{color:var(--text-sub);margin:8px 0 0;font-size:12px;line-height:1.7}.adv-slots{border-top:1px dashed var(--line);margin-top:13px;padding-top:12px}.adv-slots-label{letter-spacing:.14em;color:var(--text-soft);margin-bottom:8px;font-size:10.5px;font-weight:700}.adv-slots-msg{color:var(--text-soft);font-size:12px;line-height:1.7}.adv-slot-chips{flex-wrap:wrap;gap:8px;display:flex}.adv-slot{border:1px solid var(--navy);background:var(--surface-soft);color:var(--ink);cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;gap:1px;min-width:84px;padding:8px 13px;font-family:inherit;display:flex}.adv-slot:active{background:var(--navy-pale)}.adv-slot-d{color:var(--text-soft);font-size:11px}.adv-slot-t{font-family:var(--serif);color:var(--navy-deep);font-size:16px}.adv-card-more{font:inherit;color:var(--navy-deep);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;margin-top:12px;padding:0;font-size:12.5px;text-decoration:underline}.adv-need{color:var(--terracotta);margin:12px 0 0;font-size:12.5px;line-height:1.7}.adv-examples{flex-wrap:wrap;gap:7px;margin-top:14px;display:flex}.adv-example{border:1px dashed var(--line);background:var(--surface);color:var(--text-sub);cursor:pointer;text-align:left;border-radius:999px;padding:7px 13px;font-family:inherit;font-size:12px}.adv-example:active{background:var(--surface-soft)}.adv-input{flex-direction:column;gap:9px;margin-top:14px;display:flex}.adv-input textarea{border:1px solid var(--line);border-radius:var(--radius-md);width:100%;color:var(--ink);background:var(--surface);resize:vertical;padding:12px 14px;font-family:inherit;font-size:14px;line-height:1.8}.adv-input textarea:disabled{background:var(--paper-deep);color:var(--text-mute)}.adv-send{margin:0}.adv-note{color:var(--text-soft);margin:12px 0 0;font-size:11px;line-height:1.7}.preset-menu{border:1px solid var(--line-soft);border-left:3px solid var(--navy);background:var(--surface-soft);border-radius:10px;margin:0 0 20px;padding:14px 16px}.preset-menu .pm-label{letter-spacing:.1em;color:var(--text-soft);margin-bottom:4px;font-size:12px}.preset-menu .pm-name{font-size:16px;font-weight:700;line-height:1.6}.preset-menu .pm-meta{color:var(--text-soft);margin-top:2px;font-size:14px}.line-first{background:#f3fbf4;border:1px solid #c6e7c9;border-radius:12px;margin:0 0 20px;padding:16px 18px}.line-first .lf-title{color:#1b5e20;margin-bottom:6px;font-size:15px;font-weight:700}.line-first .lf-text{color:#4b6650;margin-bottom:12px;font-size:13px;line-height:1.7}.line-first .lf-btn{text-align:center;color:#fff;background:#06c755;border-radius:999px;padding:12px 16px;font-size:15px;font-weight:700;text-decoration:none;display:block}.line-first .lf-btn:active{filter:brightness(.95)}.line-first .lf-note{color:#7c8f80;text-align:center;margin-top:10px;font-size:12px}.rec-box{border:1px solid var(--sage-line);background:var(--sage-bg);border-radius:14px;margin:0 0 18px;padding:16px 16px 14px}.rec-title{color:var(--sage);font-size:15px;font-weight:700}.rec-lead{color:var(--text-sub);margin:6px 0 12px;font-size:13px;line-height:1.6}.rec-day{margin:0 0 10px}.rec-daylabel{color:var(--ink);margin-bottom:6px;font-size:13px;font-weight:600}.rec-chips{flex-wrap:wrap;gap:8px;display:flex}.rec-chip{border:1px solid var(--sage);background:var(--surface);color:var(--sage);cursor:pointer;border-radius:999px;padding:8px 14px;font-size:15px;font-weight:600}.rec-chip.on{background:var(--sage);color:#fff}.rec-more{border:1px dashed var(--line);width:100%;color:var(--ink);cursor:pointer;background:0 0;border-radius:12px;margin-top:10px;padding:12px;font-size:14px;display:block}
