:root{--bg:#f7f6f2;--surface:#fff;--ink:#1b1b19;--muted:#57564f;--line:#e3e1da;--soft:#e3eeea;--acc:#2e6b60;--on-acc:#fff;--red-bg:#f7e4e1;--red-fg:#a3392e;--gold-bg:#f4ead3;--gold-fg:#7a5a12;--photo:#e6e4dd;--nav-h:76px;--code-bg:#fff;--code-ink:#1b1b19;--code-muted:#57564f;--code-line:#cfccc3;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#171615;--surface:#23211f;--ink:#f2efe9;--muted:#b3aea5;--line:#3a3733;--soft:#1f3833;--acc:#7fc1b3;--on-acc:#121212;--red-bg:#3a221f;--red-fg:#f08a7e;--gold-bg:#3a2f17;--gold-fg:#e2b75e;--photo:#33302c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);-webkit-text-size-adjust:100%;font-family:Nunito,system-ui,-apple-system,Segoe UI,sans-serif}button{font:inherit;color:inherit;cursor:pointer}a{color:var(--acc)}.jp{font-family:Zen Maru Gothic,Hiragino Maru Gothic ProN,sans-serif}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app{max-width:560px;min-height:100dvh;padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom));margin:0 auto}.top{z-index:5;padding:calc(12px + env(safe-area-inset-top)) 16px 8px;background:var(--bg);border-bottom:1px solid var(--line);position:sticky;top:0}.top-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.brand{align-items:center;gap:10px;min-width:0;min-height:44px;display:flex}.brand-dot{background:var(--acc);border-radius:50%;flex:none;width:26px;height:26px}.brand-name{font-size:20px;font-weight:900;line-height:1.1;display:block}.brand-sub{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:700;display:block}.mode{border:1.5px solid var(--line);background:var(--surface);border-radius:999px;flex:none;align-items:center;gap:6px;min-height:44px;padding:0 12px;font-size:13px;font-weight:800;display:flex}.days{scrollbar-width:none;gap:6px;margin-top:4px;padding:10px 4px 4px;display:flex;overflow-x:auto}.days::-webkit-scrollbar{display:none}.day-chip{border:1.5px solid var(--line);background:var(--surface);border-radius:14px;flex:none;min-width:52px;min-height:52px;padding:6px 8px;position:relative}.day-chip .w{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:800;display:block}.day-chip .d{font-size:18px;font-weight:900;display:block}.day-chip.today{border:2.5px solid var(--acc);box-shadow:0 0 0 3px var(--soft)}.day-chip em{background:var(--acc);color:var(--on-acc);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-radius:6px;padding:1px 5px;font-size:9.5px;font-style:normal;font-weight:900;line-height:1.4;position:absolute;top:-9px;left:50%;transform:translate(-50%)}.day-chip[aria-pressed=true]{background:var(--acc);border-color:var(--acc);color:var(--on-acc)}.day-chip[aria-pressed=true] .w{color:var(--on-acc)}main{padding:18px 16px 24px}.day-head{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.eyebrow{letter-spacing:.09em;text-transform:uppercase;color:var(--acc);font-size:12px;font-weight:800}h1{margin:4px 0 0;font-size:28px;font-weight:900;line-height:1.15}.symbol{color:var(--acc);font-size:44px;font-weight:700;line-height:1}.chips{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.chip{background:var(--surface);border:1px solid var(--line);border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:13px;font-weight:800;display:inline-flex}.chip.sunset{background:var(--gold-bg);color:var(--gold-fg);border-color:#0000}.chip-btn{border:1.5px solid var(--line);min-height:32px;color:var(--ink);margin-left:auto;padding:0 12px;font-weight:900}.chip-btn[aria-disabled=true]{opacity:.55;cursor:default}.notice{background:var(--surface);border:1px dashed var(--line);color:var(--muted);border-radius:14px;margin-top:12px;padding:10px 14px;font-size:14px}.alert{border-radius:18px;gap:10px;margin-top:12px;padding:12px 14px;font-size:15px;line-height:1.45;display:flex}.alert p{margin:0}.alert svg{flex:none}.alert.red{background:var(--red-bg)}.alert.red svg{stroke:var(--red-fg)}.alert.gold{background:var(--gold-bg)}.alert.gold svg{stroke:var(--gold-fg)}.daymap{background:var(--surface);border:1px solid var(--line);border-radius:18px;margin-top:16px;padding:12px 14px}.daymap-title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:800}.daymap-svg{width:100%;height:auto;margin:4px 0 2px;display:block}.daymap-path{fill:none;stroke:var(--line);stroke-width:3px;stroke-dasharray:2 6;stroke-linecap:round}.daymap-dot{fill:var(--acc)}.daymap-num,.daymap-hotel-num{text-anchor:middle;dominant-baseline:central;font-family:inherit;font-size:13px;font-weight:900}.daymap-num{fill:var(--on-acc)}.daymap-hotel{fill:var(--ink)}.daymap-hotel-num{fill:var(--bg);font-size:12px}.daymap-legend{color:var(--muted);flex-wrap:wrap;gap:2px 12px;margin:0;padding:0;font-size:13px;font-weight:700;list-style:none;display:flex}.daymap-legend a{color:inherit;padding:4px 0;text-decoration:none;display:inline-block}.daymap-legend b{color:var(--acc);font-weight:900}.daymap-legend li:last-child:not(:has(a)){padding:4px 0}.timeline{margin:18px 0 0;padding:0;list-style:none}.stop{padding:0 0 12px 58px;scroll-margin-top:150px;position:relative}.stop:before{content:"";background:var(--line);border-radius:2px;width:3px;position:absolute;top:8px;bottom:-8px;left:23px}.stop:last-child:before{display:none}.stop-time{text-align:center;width:48px;color:var(--muted);background:var(--bg);padding:2px 0;font-size:13px;font-weight:800;position:absolute;top:2px;left:0}.stop-node{background:var(--bg);border:3px solid var(--node,var(--muted));border-radius:50%;width:21px;height:21px;position:absolute;top:28px;left:14px}.stop.move .stop-node{width:15px;height:15px;top:30px;left:17px}.card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:14px 14px 12px;overflow:hidden}.stop.move .card{border:1.5px dashed var(--line);background:0 0;padding:10px 12px}.photo{background:var(--photo);height:170px;color:var(--muted);align-items:flex-end;margin:-14px -14px 12px;padding:8px 12px;font-size:11px;display:flex}.card-head{align-items:flex-start;gap:10px;display:flex}.ico{background:var(--bg);width:36px;height:36px;color:var(--node,var(--muted));border-radius:11px;flex:none;justify-content:center;align-items:center;display:flex}.stop.sight .ico{background:var(--soft)}.stop.food .ico{background:var(--gold-bg)}.stop.move .ico{width:30px;height:30px}.card h2{margin:0;font-size:18px;font-weight:900;line-height:1.25}.stop.move .card h2{font-size:15px}.local{color:var(--muted);font-size:13px}.desc{color:var(--muted);margin:2px 0 0;font-size:14px;line-height:1.45}.badge{background:var(--soft);color:var(--acc);border-radius:999px;margin-top:6px;padding:3px 10px;font-size:13px;font-weight:800;display:inline-block}.badge-opt{border:1px solid var(--line);color:var(--muted);background:0 0}.badge+.badge{margin-left:6px}.dish{background:var(--gold-bg);border-radius:12px;align-items:center;gap:10px;margin-top:12px;padding:8px;font-size:13px;line-height:1.35;display:flex}.dish-photo{background:var(--photo);border-radius:10px;flex:none;width:64px;height:64px}.dish b{font-size:14px}.facts{flex-direction:column;gap:4px;margin-top:12px;display:flex}.fact{gap:10px;font-size:14px;line-height:1.4;display:flex}.fact-label{letter-spacing:.06em;text-transform:uppercase;width:82px;color:var(--muted);flex:none;padding-top:2px;font-size:11px;font-weight:800}.verify{border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:6px;margin-left:6px;padding:1px 6px;font-size:11px;font-weight:800}.tip{background:var(--bg);border-radius:12px;gap:8px;margin-top:10px;padding:8px 10px;font-size:14px;line-height:1.45;display:flex}.tip svg{stroke:var(--gold-fg);flex:none;margin-top:2px}.actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.btn{border:1.5px solid var(--line);background:var(--surface);min-height:46px;color:var(--ink);border-radius:14px;align-items:center;gap:6px;padding:0 14px;font-size:15px;font-weight:900;text-decoration:none;display:inline-flex}.btn.primary{background:var(--acc);border-color:var(--acc);color:var(--on-acc)}.about{background:var(--soft);border-radius:14px;margin:12px 0 0;padding:12px 14px;font-size:15px;line-height:1.55}.day-pager{justify-content:space-between;gap:8px;margin-top:8px;display:flex}.day-pager .btn{min-height:48px;padding:0 16px}.tickets{flex-direction:column;gap:12px;margin:16px 0 0;padding:0;list-style:none;display:flex}.ticket{text-align:left;background:var(--surface);border:1px solid var(--line);width:100%;color:var(--ink);border-radius:20px;grid-template-columns:minmax(0,1fr) 84px;padding:0;display:grid;overflow:hidden}.ticket.is-today{border:2px solid var(--acc)}.ticket-main{flex-direction:column;gap:4px;min-width:0;padding:14px 14px 14px 16px;display:flex}.ticket-tags{flex-wrap:wrap;gap:6px;display:flex}.pill{border-radius:999px;align-self:flex-start;padding:3px 8px;font-size:12px;font-weight:900;display:inline-block}.status-bought{background:var(--soft);color:var(--acc)}.status-reserved{background:var(--bg);color:var(--muted);border:1px solid var(--line)}.status-to-buy{background:var(--gold-bg);color:var(--gold-fg)}.pill-today{background:var(--acc);color:var(--on-acc)}.ticket-title{margin-top:4px;font-size:19px;font-weight:900;line-height:1.25;display:block}.ticket-when{font-size:15px;font-weight:700;line-height:1.4;display:block}.ticket-items{color:var(--muted);font-size:14px;line-height:1.4;display:block}.ticket-stub{border-left:2px dashed var(--line);background:var(--bg);color:var(--acc);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:10px 6px;font-size:13px;font-weight:900;display:flex}.ticket-symbol{font-size:28px;font-weight:700;line-height:1}.ticket-badge{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:900}.sheet{z-index:20;background:var(--bg);padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);-webkit-overflow-scrolling:touch;position:fixed;inset:0;overflow-y:auto}.sheet-in{flex-direction:column;gap:12px;max-width:560px;margin:0 auto;padding:12px 16px 40px;display:flex}.sheet-top{z-index:1;background:var(--bg);justify-content:space-between;align-items:flex-start;gap:12px;padding:8px 0;display:flex;position:sticky;top:0}.sheet-top .btn{flex:none;justify-content:center;min-width:46px;font-size:18px}.sheet-title{margin:4px 0 0;font-size:26px}.sheet-when{margin-top:4px;font-size:15px;font-weight:700}.sheet-hint{color:var(--muted);margin:0;font-size:14px}.code{background:var(--code-bg);border:1px solid var(--line);text-align:center;border-radius:18px;margin:0;padding:14px}.code img{width:100%;max-width:360px;image-rendering:pixelated;margin:0 auto;display:block}.code figcaption{color:var(--code-ink);margin-top:8px;font-weight:900}.code-missing{aspect-ratio:1;border:2px dashed var(--code-line);max-width:360px;color:var(--code-muted);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:10px;margin:0 auto;font-size:14px;font-weight:700;display:flex}.sheet-items{margin:0;padding-left:20px;font-size:15px;line-height:1.5}.sheet-codes{background:var(--surface);border:1px solid var(--line);border-radius:14px;grid-template-columns:auto 1fr;gap:6px 12px;margin:0;padding:12px 14px;display:grid}.sheet-codes dt{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding-top:4px;font-size:11px;font-weight:800}.sheet-codes dd{word-break:break-all;margin:0;font-size:18px;font-weight:800}.sheet .tip,.sheet .actions{margin-top:0}.sos{background:var(--surface);border:2px solid var(--ink);border-radius:20px;margin-top:20px;padding:16px}.sos-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.sos-head h2{margin:0;font-size:19px;font-weight:900}.sos-head span{color:var(--muted);font-size:13px;font-weight:800}.sos-list{flex-direction:column;gap:8px;margin:10px 0 0;padding:0;list-style:none;display:flex}.sos-row{background:var(--bg);min-height:52px;color:var(--ink);border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:8px 14px;text-decoration:none;display:flex}.sos-label{flex-direction:column;min-width:0;display:flex}.sos-name{font-size:16px;font-weight:800;line-height:1.3}.sos-note{color:var(--muted);font-size:13px;line-height:1.35}.sos-num{white-space:nowrap;flex:none;font-size:18px;font-weight:900}.sos-row.is-empty .sos-num{color:var(--muted);white-space:normal;text-align:right;max-width:45%;font-size:14px;font-weight:700}.sos-foot{color:var(--muted);margin:10px 0 0;font-size:13px;line-height:1.45}.stays{flex-direction:column;gap:14px;margin-top:16px;display:flex}.stay{background:var(--surface);border:1px solid var(--line);border-radius:20px;overflow:hidden}.stay.is-now{border:2px solid var(--acc)}.stay-head{text-align:left;width:100%;color:var(--ink);background:0 0;border:0;flex-direction:column;gap:6px;padding:16px;display:flex}.stay.is-open .stay-head{padding-bottom:8px}.stay-meta{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:13px;font-weight:800;display:flex}.stay-meta .pill{flex:none}.stay-name{font-size:19px;font-weight:900;line-height:1.25}.stay.is-open .stay-name{font-size:21px}.stay-local{font-size:16px;font-weight:700}.stay-summary{color:var(--muted);font-size:14px;line-height:1.4}.stay-body{flex-direction:column;gap:8px;padding:0 16px 16px;display:flex}.stay-address{background:var(--bg);border-radius:12px;margin:0;padding:12px;font-size:22px;font-weight:700;line-height:1.45}.stay-latin{color:var(--muted);margin:0;font-size:14px}.stay-body .facts,.stay-body .tip,.stay-body .actions{margin-top:4px}.taxi{z-index:20;background:var(--surface);color:var(--ink);position:fixed;inset:0;overflow-y:auto}.taxi-in{max-width:560px;min-height:100%;padding:calc(24px + env(safe-area-inset-top)) 24px calc(24px + env(safe-area-inset-bottom));flex-direction:column;justify-content:center;margin:0 auto;display:flex}.taxi p{margin:0}.taxi-phrase{color:var(--muted);font-size:18px;margin-bottom:12px!important}.taxi-address{word-break:break-word;font-size:clamp(28px,8vw,46px);font-weight:700;line-height:1.4}.taxi-name{font-size:24px;font-weight:900;margin-top:18px!important}.taxi-phone{font-size:20px;font-weight:700;margin-top:6px!important}.taxi-close{align-self:flex-start;margin-top:28px;padding:0 24px}.lead{color:var(--muted);margin:6px 0 0;font-size:15px}.tasks{flex-direction:column;gap:10px;margin:14px 0 0;padding:0;list-style:none;display:flex}.task{background:var(--surface);border:1px solid var(--line);border-radius:18px;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.task input{width:26px;height:26px;accent-color:var(--acc);cursor:pointer;flex:none;margin:2px 0 0}.task label{cursor:pointer;flex:1;min-width:0;line-height:1.4}.task b{font-weight:900}.task-due{letter-spacing:.06em;text-transform:uppercase;color:var(--acc);font-size:11px;font-weight:900;display:block}.task-detail{color:var(--muted);margin-top:2px;font-size:13px;display:block}.task.is-done{opacity:.55}.task.is-done .task-due{color:var(--muted)}.task-link{border:1.5px solid var(--line);width:44px;height:44px;color:var(--ink);border-radius:12px;flex:none;justify-content:center;align-items:center;display:flex}.btn-add{border:2px solid var(--acc);width:100%;min-height:54px;color:var(--acc);justify-content:center;margin-top:14px;font-size:16px}.btn-add[aria-disabled=true]{opacity:.55;cursor:default}.app-overview{padding-bottom:calc(24px + env(safe-area-inset-bottom))}.brand-btn{text-align:left;color:var(--ink);background:0 0;border:0;padding:0}.overview-title{margin:4px 0 0;font-size:32px;line-height:1.1}.trip-group{flex-direction:column;gap:10px;margin-top:22px;display:flex}.trip-group-title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;font-size:13px;font-weight:800}.trip-big{background:var(--surface);border:1px solid var(--line);border-radius:20px;overflow:hidden}.trip-cover{object-fit:cover;background:var(--photo);width:100%;height:140px;display:block}.trip-big-body{flex-direction:column;gap:6px;padding:16px;display:flex}.trip-big-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.trip-big-head h2{margin:0;font-size:24px;font-weight:900}.trip-big-head .pill{flex:none;padding:4px 10px;font-size:13px}.trip-line{margin:0;font-size:15px}.trip-line.muted{color:var(--muted)}.trip-open{justify-content:center;min-height:54px;margin-top:10px;font-size:17px}.trip-small{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);text-align:left;border-radius:18px;align-items:center;gap:14px;padding:12px;display:flex}.trip-small>svg{color:var(--muted);flex:none}.trip-thumb{object-fit:cover;background:var(--soft);width:64px;height:64px;color:var(--acc);border-radius:14px;flex:none;justify-content:center;align-items:center;font-size:30px;font-weight:700;display:flex}.trip-small-text{flex-direction:column;flex:1;min-width:0;display:flex}.trip-small-name{font-size:17px;font-weight:900}.trip-small-sub{color:var(--muted);font-size:14px}.trip-new{margin-top:24px}.nav{z-index:10;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--line);position:fixed;bottom:0;left:0;right:0}.nav-inner{max-width:560px;height:var(--nav-h);grid-template-columns:repeat(6,minmax(0,1fr));margin:0 auto;display:grid}.nav-item{color:var(--muted);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:11px;font-weight:800;text-decoration:none;display:flex}.nav-item[aria-current=page]{color:var(--acc);font-weight:900}.nav-item[aria-disabled=true]{opacity:.55}.nav-badge{background:var(--acc);min-width:16px;color:var(--on-acc);text-align:center;border-radius:9px;padding:0 4px;font-size:10px;font-weight:900;line-height:16px;position:absolute;top:-5px;right:-12px}@media (prefers-reduced-motion:no-preference){.day-chip,.btn,.mode{transition:background-color .15s,border-color .15s}}
