:root{--bg: #07111f;--card: #101d2e;--card2: #15263a;--line: rgba(246, 231, 200, .14);--text: #f6e7c8;--muted: #aab8c8;--gold: #d8a85d;--gold-soft: #f2d7a2;--champagne: #f6e7c8;--copper: #b66a3c;--mint: #a9f5df;--green: #70c7a6;--red: #c96b6b;--shadow: 0 16px 34px rgba(0, 0, 0, .34);color:var(--text);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans TC,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-height:100vh;display:flex;justify-content:center;background:radial-gradient(circle at top,#1b304d 0,#07111f 48%,#030812)}button,a{font:inherit}a{color:inherit;text-decoration:none}.app-frame{width:min(430px,100vw);min-height:100vh;padding:12px 14px 92px;background:linear-gradient(180deg,#07111f,#0a1523 62%,#07111f);position:relative}.topbar{position:sticky;top:0;z-index:10;margin:-12px -14px 10px;padding:12px 14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start;background:linear-gradient(180deg,#07111ffa,#07111fdb);border-bottom:1px solid rgba(246,231,200,.08);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.eyebrow{color:var(--gold);font-size:11px;font-weight:900}h1,h2,h3,h4,p{margin-top:0}h1{margin:2px 0 4px;font-size:23px;line-height:1.1;letter-spacing:0}h2{font-size:25px;line-height:1.1}h3{font-size:18px}.sub{margin:0;color:var(--muted);font-size:13px;line-height:1.35}.sync-pill{white-space:nowrap;border-radius:999px;min-height:32px;padding:6px 8px;color:var(--mint);background:#72d6a31f;border:1px solid rgba(114,214,163,.28);font-size:11px;font-weight:950}.card,.stats>button,.mini,.sync-item,.stop-card{background:linear-gradient(180deg,#f6e7c812,#ffffff09);border:1px solid var(--line);box-shadow:var(--shadow)}.card{border-radius:20px;padding:14px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:10px;margin:16px 0 9px}.section-head h3{margin:0}.section-head span{color:var(--gold);font-size:12px;font-weight:950}.next-main{position:relative;min-height:146px;padding:15px;border-radius:20px;background:linear-gradient(90deg,#07111ff0,#07111f8a),var(--hero-image, url(/covers/day01.webp)) center / cover;border:1px solid rgba(246,231,200,.16);box-shadow:var(--shadow)}.badge{display:inline-flex;padding:6px 10px;border-radius:999px;background:#d8a85d2e;border:1px solid rgba(216,168,93,.38);color:var(--gold-soft);font-size:12px;font-weight:950}.next-main h2{margin:11px 0 8px;font-size:23px;line-height:1.12;text-shadow:0 3px 14px rgba(0,0,0,.65)}.facts{display:flex;flex-wrap:wrap;gap:7px}.facts span{padding:7px 9px;border-radius:999px;color:#fff8ed;background:#ffffff1f;border:1px solid rgba(255,255,255,.13);font-size:12px;font-weight:850}.image-menu-hotspot,.image-menu-toggle{position:absolute;right:0;top:0;width:auto;min-width:48px;min-height:48px;padding:0;border-radius:0 24px 0 18px;background:transparent;border:0;color:transparent;z-index:3;cursor:pointer}.image-menu-hotspot.small,.image-menu-toggle.small{min-width:42px;min-height:42px;right:0;top:0;padding:0;border-radius:0 16px 0 14px}.image-menu-hotspot:focus-visible,.image-menu-toggle:focus-visible{outline:2px solid rgba(255,208,138,.8);outline-offset:-4px}.image-menu{position:absolute;right:10px;top:50px;z-index:4;display:grid;gap:7px;width:138px;padding:8px;border-radius:16px;background:#07111ff0;border:1px solid rgba(255,255,255,.2);box-shadow:var(--shadow)}.image-menu.compact-menu{top:42px;right:7px;width:124px}.image-menu button{min-height:34px;padding:7px 8px;border-radius:12px;font-size:12px}.toolrow,.actions,.quick-grid,.stats{display:grid;gap:8px;margin-top:11px}.toolrow{grid-template-columns:repeat(4,minmax(0,1fr))}.scope-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:8px;padding:5px;border-radius:16px;background:#ffffff0e;border:1px solid var(--line)}.scope-switch button{min-height:36px;border-radius:12px;background:transparent;color:var(--muted);border:1px solid transparent;font-size:12px}.scope-switch button.active{background:linear-gradient(180deg,#e4bd78,var(--gold));color:#1c1208;border-color:#d8a85d52}.quick-search-note{margin:8px 2px 0}.actions,.quick-grid,.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.tool,button,.button{border:0;border-radius:13px;min-height:42px;padding:9px 8px;font-size:13px;font-weight:950;text-align:center;cursor:pointer}.tool{display:grid;place-items:center;background:#101d2ee6;border:1px solid rgba(216,168,93,.22);color:var(--text)}.tool.hot,button:not(.secondary):not(.sync-pill),.button{background:linear-gradient(180deg,#e4bd78,var(--gold));color:#24170c;box-shadow:0 8px 18px #d8a85d29}button.image-menu-toggle,button.image-menu-toggle:not(.secondary):not(.sync-pill){background:transparent;color:transparent;border:0;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}button.secondary,.button.secondary{color:var(--text);background:#f6e7c80b;border:1px solid rgba(216,168,93,.2);box-shadow:none}.wide{display:block;width:100%;margin-top:10px}.small{min-height:38px;margin-top:8px}.stats>button{min-height:58px;padding:10px 12px;border-radius:16px;background:linear-gradient(180deg,#101d2ef5,#0b1726f5);border:1px solid rgba(216,168,93,.18);text-align:left;color:var(--text);cursor:pointer;box-shadow:none}.stats b{display:block;font-size:15px;margin-bottom:4px;color:var(--gold-soft)}.stats span,.meta{color:var(--muted);font-size:13px;line-height:1.45}.route-card{margin-top:12px;padding:14px;border-radius:18px;background:linear-gradient(180deg,#101d2ef5,#0b1726f5);border:1px solid rgba(216,168,93,.2);box-shadow:0 14px 32px #00000038}.route-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.route-head h3{margin:0 0 4px;font-size:18px}.route-open,button.route-open:not(.secondary):not(.sync-pill){flex:0 0 auto;min-height:34px;padding:6px 9px;border-radius:999px;background:#d8a85d29;border:1px solid rgba(216,168,93,.26);color:var(--gold-soft);font-size:12px;font-weight:850;box-shadow:none}.route-time-list{display:grid;gap:7px;margin-top:12px}.route-time-row{display:grid;grid-template-columns:52px minmax(0,1fr);gap:9px;align-items:start}.route-time-row time{color:var(--gold-soft);font-size:12px;font-weight:950;line-height:1.35}.route-time-row span{color:var(--text);font-size:13px;font-weight:850;line-height:1.35;overflow-wrap:anywhere}.route-time-row b,.route-time-row small{display:block}.route-time-row small{margin-top:2px;color:var(--muted);font-size:11px;font-weight:850}.route-sheet{width:min(420px,100%)}.route-total{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.google-map{width:100%;height:270px;margin:12px 0;border-radius:18px;overflow:hidden;border:1px solid rgba(216,168,93,.22);background:#07111f}.google-map iframe{display:block;width:100%;height:100%;border:0}.route-segment-list{display:grid;gap:8px}.route-segment{padding:10px 12px;border-radius:14px;background:#ffffff0f;border:1px solid var(--line)}.route-segment b,.route-segment span,.route-segment small{display:block}.route-segment b{color:var(--text);font-size:14px}.route-segment span{margin-top:4px;color:var(--muted);font-size:13px}.route-segment small{margin-top:5px;color:var(--gold-soft);font-weight:850}.route-note{margin:12px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.sheet-actions.route-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.hotel{display:grid;grid-template-columns:80px minmax(0,1fr);gap:12px;align-items:center}.hotel-img{position:relative;height:80px;border-radius:18px;background:url(/covers/day14.webp) center / cover;border:1px solid rgba(255,255,255,.18)}.plan-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.plan-switch button{min-height:40px;background:#142238;color:var(--text);border:1px solid rgba(216,168,93,.2);box-shadow:none}.plan-switch button.active,.chips button.active{background:linear-gradient(180deg,#e4bd78,var(--gold));color:#24170c}.plan-text{margin:10px 0 0;color:var(--text);font-weight:850}.dont,.photo-note{margin-top:10px;padding:11px 12px;border-radius:14px;font-size:13px;line-height:1.45}.dont{background:#e45d4f21;border:1px solid rgba(228,93,79,.34);color:#ffd8d2}.photo-note{background:#a9f5df17;border:1px solid rgba(169,245,223,.24);color:var(--mint);font-weight:850}.day-select{width:100%;height:50px;border-radius:14px;background:#0f1f34;color:var(--text);border:1px solid #394f69;padding:0 12px;font-size:15px;font-weight:900;margin-bottom:10px}.progress-strip{padding:11px 12px;border-radius:16px;background:#ffd08a1c;border:1px solid rgba(255,208,138,.28);color:var(--gold);font-weight:950;margin-bottom:12px;font-size:13px}.timeline{position:relative}.timeline:before{content:"";position:absolute;left:24px;top:8px;bottom:20px;width:2px;background:#d8a85d47}.stop{display:grid;grid-template-columns:56px minmax(0,1fr);gap:10px;margin-bottom:12px;position:relative}.stop-time{height:42px;border-radius:14px;display:grid;place-items:center;background:#53657b;color:var(--text);font-size:12px;font-weight:950;z-index:1}.done .stop-time{background:var(--green);color:#07111f}.current .stop-time{background:var(--gold);color:#24170c;box-shadow:0 0 0 4px #d8a85d29}.late .stop-time{background:var(--red);color:#fff}.cancelled .stop-time{background:#28364a;color:#b8c5d8;border:1px dashed #7f91aa}.cancelled .stop-card{opacity:.72}.stop-card{border-radius:18px;padding:12px}.stop-image{position:relative;width:100%;aspect-ratio:16 / 9;overflow:hidden;border-radius:16px;margin-bottom:10px;border:1px solid rgba(255,255,255,.14);background:#ffffff14}.stop-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.stop-card h4{margin:0 0 5px;font-size:16px}.time-summary{margin:0 0 6px;color:var(--gold-soft);font-size:12px;font-weight:900}.state{display:inline-flex;margin-bottom:6px;border-radius:999px;padding:4px 8px;background:#f6e7c817;color:var(--gold-soft);font-size:11px;font-weight:950}.copilot{border-radius:20px;padding:16px;background:linear-gradient(180deg,#15263a,#0e1b2c);border:1px solid rgba(216,168,93,.2);box-shadow:var(--shadow)}.copilot h2{margin:10px 0 8px;font-size:28px;line-height:1.08;letter-spacing:0}.mapcode-box{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;margin:14px 0;padding:13px;border-radius:18px;background:#07111f;border:1px dashed rgba(216,168,93,.38)}.mapcode-box b{display:block;color:var(--gold);font-size:13px}.mapcode-box strong{display:block;margin-top:4px;font-size:22px}.status-pill{border-radius:999px;padding:6px 9px;color:var(--gold-soft);background:#d8a85d1f;border:1px solid rgba(216,168,93,.28);font-size:11px;font-weight:950;white-space:nowrap}.big-mode{display:grid;gap:10px;margin-top:12px;padding:14px;border-radius:18px;background:#ffffff0d;border:1px solid var(--line)}.big-mode div{font-size:20px;font-weight:950}.photo-actions,.chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}.photo-actions button{min-width:0}.amount{color:var(--gold-soft);font-size:34px;font-weight:950;margin:10px 0}.record-summary{display:grid;gap:14px}.record-total{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.record-total>div{min-width:0;border-radius:18px;padding:13px;background:#ffffff0e;border:1px solid var(--line)}.record-total strong{display:block;margin:4px 0;color:var(--gold);font-size:24px;line-height:1.05}.record-total span{display:block;color:var(--muted);font-size:12px;font-weight:850}.record-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.record-stats button{display:grid;gap:4px;min-height:62px;padding:9px 8px;border-radius:16px;background:linear-gradient(180deg,#101d2ef5,#0b1726f5);border:1px solid rgba(216,168,93,.18);color:var(--text);box-shadow:none}.record-stats b{font-size:20px;line-height:1}.record-stats span{color:var(--muted);font-size:12px;font-weight:950}.expense-list-card{padding:0;overflow:hidden}.expense-list{display:grid}.expense-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:13px;border-bottom:1px solid var(--line)}.expense-row:last-child{border-bottom:0}.expense-row b,.expense-amount strong{display:block;color:var(--text);font-size:14px;line-height:1.25}.expense-amount{min-width:88px;text-align:right}.expense-amount span{display:block;margin-top:3px;color:var(--muted);font-size:11px;font-weight:850}.expense-tags{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:6px}.empty-note{padding:14px}.media-index-card,.return-summary-card{display:grid;gap:12px}.media-list{display:grid;gap:8px}.media-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:11px;border-radius:16px;background:#ffffff0d;border:1px solid var(--line)}.media-row b{display:block;color:var(--text);font-size:14px;line-height:1.25}.media-row .expense-tags{grid-column:1 / -1}.media-warning{color:var(--gold);font-weight:900}.detail-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.nav-contact-grid{margin-top:10px}.category-summary{display:grid;gap:8px}.category-summary div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:14px;background:#ffffff0e;border:1px solid var(--line)}.category-summary span{color:var(--muted);font-size:13px;font-weight:900}.category-summary b{color:var(--gold);font-size:14px}.inputline{width:100%;height:52px;border-radius:14px;border:1px solid #3c536d;background:#07111f;color:var(--text);padding:0 14px;font-size:18px;font-weight:850}.inputline.note{margin-top:10px;font-size:14px}.chips button{min-height:42px;border:1px solid rgba(216,168,93,.2);background:#142238;color:var(--text);box-shadow:none}.sync-list{display:grid;gap:10px}.sync-list.advanced{margin-top:10px}.sync-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;border-radius:18px;background:var(--card)}.sync-item b{display:block;margin-bottom:3px}.sync-item p{margin:0}.ok{flex:0 0 auto;border-radius:999px;padding:6px 9px;background:#72d6a329;border:1px solid rgba(114,214,163,.34);color:var(--mint);font-size:11px;font-weight:950}.wait{background:#ffd08a21;border-color:#ffd08a57;color:var(--gold)}.japanese-card{border-radius:18px;padding:14px;background:#fff8e7;color:#24170c;font-size:17px;line-height:1.55;font-weight:850}.japanese-card hr{border:0;border-top:1px solid rgba(36,23,12,.14);margin:10px 0}.bottom-nav{position:fixed;left:50%;bottom:14px;transform:translate(-50%);width:min(398px,calc(100vw - 32px));height:66px;border-radius:22px;padding:6px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;background:#07111fe6;border:1px solid rgba(216,168,93,.18);box-shadow:0 18px 40px #0000006b;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:20}.bottom-nav button,.bottom-nav button:not(.secondary):not(.sync-pill){min-height:0;padding:5px 3px;display:grid;place-items:center;gap:3px;border-radius:16px;background:transparent;color:#8fa2b9;border:0;font-size:11px;box-shadow:none}.bottom-nav button.active,.bottom-nav button.active:not(.secondary):not(.sync-pill){background:#f6e7c81a;color:var(--gold-soft);box-shadow:inset 0 0 0 1px #d8a85d3d}.bottom-nav svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.95;fill:none;stroke-linecap:round;stroke-linejoin:round}.bottom-nav span{line-height:1}.tool:not(.hot),button.tool:not(.hot):not(.secondary):not(.sync-pill),a.tool:not(.hot){background:#101d2eeb;border:1px solid rgba(216,168,93,.24);color:var(--text);box-shadow:none}.stats>button,.stats>button:not(.secondary):not(.sync-pill),.record-stats button,.record-stats button:not(.secondary):not(.sync-pill){background:linear-gradient(180deg,#101d2efa,#0b1726fa);border:1px solid rgba(216,168,93,.18);color:var(--text);box-shadow:none}.stats>button b,.record-stats button b{color:var(--gold-soft)}.stats>button span,.record-stats button span{color:#b9c6d5}.plan-switch button:not(.active):not(.secondary):not(.sync-pill),.chips button:not(.active):not(.secondary):not(.sync-pill){background:#142238;color:var(--text);border:1px solid rgba(216,168,93,.2);box-shadow:none}.plan-switch button.active:not(.secondary):not(.sync-pill),.chips button.active:not(.secondary):not(.sync-pill){background:#d8a85d38;border:1px solid rgba(216,168,93,.45);color:var(--gold-soft);box-shadow:none}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:end center;padding:16px;background:#030812b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sheet{width:min(398px,100%);max-height:88vh;overflow:auto;border-radius:24px;padding:16px;background:#fff8e7;color:#24170c;box-shadow:0 22px 54px #00000073}.sheet h2{margin:0 0 10px;font-size:22px}.schedule-sheet{background:#0f1f34;color:var(--text)}.back-button{width:auto;min-height:38px;margin-bottom:12px;padding:8px 12px;background:#ffffff14;color:var(--text);border:1px solid var(--line)}.sheet-location{margin:0 0 12px;color:var(--mint);font-weight:850}.sheet-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.sheet-actions .button,.sheet-actions button{min-height:42px}.receipt-sheet{padding-bottom:18px}.receipt-preview{width:100%;max-height:190px;-o-object-fit:cover;object-fit:cover;border-radius:16px;border:1px solid var(--line);background:#ffffff14;margin:8px 0 12px}.field-label{display:block;margin:12px 0 6px;color:var(--gold);font-size:13px;font-weight:850}.chips.compact{margin-top:0}.selected-status,.save-status{margin:8px 0 10px;padding:10px 12px;border-radius:14px;border:1px solid var(--line);background:#ffffff12;color:var(--mint);font-size:14px;font-weight:850}.save-status{display:grid;gap:8px;color:var(--text)}.save-status div{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.save-status b{color:var(--gold);white-space:nowrap}.save-status span{text-align:right;overflow-wrap:anywhere}.detail-grid{display:grid;grid-template-columns:1fr;gap:8px;margin:12px 0}.detail-grid div{padding:10px 12px;border-radius:14px;background:#ffffff0f;border:1px solid var(--line)}.detail-grid b{display:block;margin-bottom:4px;color:var(--gold);font-size:12px}.detail-grid span{display:block;color:var(--text);font-size:14px;line-height:1.45;overflow-wrap:anywhere}.phrase{margin-top:10px;padding:12px;border-radius:16px;background:#ffffff0f;border:1px solid var(--line);color:var(--text)}.phrase b{color:var(--gold)}.phrase p{margin:6px 0 0;color:var(--muted);line-height:1.5}.address-card p{color:var(--text);font-size:17px;font-weight:850;line-height:1.55}.preline{white-space:pre-wrap;overflow-wrap:anywhere}@media (min-width: 390px){.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 360px){.toolrow,.photo-actions,.sheet-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
