:root{color-scheme:light;--bg:#f3f2ee;--panel:#ffffff;--text:#1f2933;--muted:#43515d;--line:#d2d9df;--line-strong:#bcc8d6;--line-subtle:rgba(82, 96, 109, 0.3);--accent:#ad1334;--accent-soft:#f2c5d0;--accent-soft-hover:#eaafbf;--accent-text:#460916;--accent-border:rgba(173, 19, 52, 0.58);--accent-border-strong:rgba(173, 19, 52, 0.78);--accent-ring:rgba(173, 19, 52, 0.23);--accent-inner-ring:rgba(173, 19, 52, 0.28);--surface-subtle:#f7f8fa;--surface-elevated:#ffffff;--surface-control:#ffffff;--surface-control-hover:#f7ecf0;--surface-overlay:rgba(255, 255, 255, 0.98);--surface-inverse:rgba(15, 23, 42, 0.9);--text-inverse:#f8fafc;--chip-neutral-border:rgba(31, 41, 51, 0.14);--timeline-bg:#fcfafb;--timeline-block-border:rgba(31, 41, 51, 0.16);--timeline-block-shadow:0 6px 16px rgba(15, 23, 42, 0.1);--timeline-block-shadow-hover:0 10px 20px rgba(15, 23, 42, 0.16);--timeline-block-shadow-drag:0 10px 24px rgba(15, 23, 42, 0.2);--drag-handle:rgba(15, 23, 42, 0.36);--drag-preview-border:rgba(15, 23, 42, 0.25);--drag-preview-bg:rgba(15, 23, 42, 0.9);--drag-preview-text:#f8fafc;--drag-preview-shadow:0 10px 18px rgba(15, 23, 42, 0.25);--preview-outline:#1f2933;--selection-text-shadow:rgba(255, 255, 255, 0.7);--now-line:#ff6a00;--now-line-text:#b54400;--form-label:#374151;--field-bg:#ffffff;--field-hover-border:#b7c3ce;--field-invalid-border:#dc2626;--field-invalid-bg:#fff7f7;--feedback-error-border:#fca5a5;--feedback-error-bg:#fff1f2;--feedback-error-text:#9f1239;--toast-shadow:0 10px 30px rgba(8, 14, 28, 0.2);--toast-success-bg:#dcffe9;--toast-success-border:#66e6a4;--toast-success-text:#11633f;--toast-error-bg:#ffe6eb;--toast-error-border:#ff9db1;--toast-error-text:#9a1237;--popover-bg:#ffffff;--popover-shadow:0 16px 36px rgba(8, 14, 28, 0.2);--emoji-picker-background:#ffffff;--modal-backdrop:rgba(10, 16, 30, 0.52);--detail-scrim:rgba(10, 16, 30, 0.42);--modal-card-border:rgba(31, 41, 51, 0.14);--modal-card-bg:rgba(255, 255, 255, 0.98);--modal-card-shadow:0 28px 56px rgba(8, 14, 28, 0.35);--modal-header-line:#e2e8f0;--danger-soft-border:#fecaca;--danger-soft-bg:#fff1f2;--danger-soft-text:#991b1b;--danger-soft-hover:#ffe4e6;--danger-outline:#dc2626;--degraded-header-bg:#5a0f16;--degraded-header-border:#7a1a23;--degraded-header-text:#ffffff;--degraded-button-bg:#7a1a23;--degraded-button-border:#a33a45;--degraded-button-hover-bg:#922631;--degraded-button-hover-border:#bc4a57;--shell-glow:rgba(173, 19, 52, 0.16);--shell-glow-mobile:rgba(173, 19, 52, 0.1);--mobile-panel-border:rgba(210, 217, 223, 0.7);--mobile-week-card-bg:#ffffff;--mobile-day-grid-line:#e2e8f0;--mobile-detail-header-bg:rgba(255, 255, 255, 0.98);--segment-hover-bg:#f9fafb;--segment-hover-border:#b7c3ce;--bullet-train-body-start:#ffffff;--bullet-train-body-mid:#eab8c8;--bullet-train-body-end:#cf829a;--bullet-train-nose-start:#fefefe;--bullet-train-nose-mid:#df9fb5;--bullet-train-nose-end:#c36284;--bullet-train-tail-start:#fff6f9;--bullet-train-tail-end:#d886a0;--bullet-train-stripe-start:#eb4c71;--bullet-train-stripe-mid:#9c0f38;--bullet-train-stripe-end:#f38fab;--bullet-train-window-start:rgba(76, 8, 29, 0.95);--bullet-train-window-end:rgba(167, 45, 86, 0.84);--bullet-train-carriage-start:#ffffff;--bullet-train-carriage-mid:#e8b5c6;--bullet-train-carriage-end:#cf869f;--bullet-train-shadow-inset:rgba(96, 10, 36, 0.3);--bullet-train-shadow-drop:rgba(74, 8, 29, 0.28);--bullet-train-carriage-shadow-inset:rgba(95, 10, 35, 0.28);--bullet-train-carriage-shadow-drop:rgba(75, 8, 29, 0.22);--chip-event:#ffd3bd;--chip-event-border:#e3916b;--chip-event-text:#4a1706;--chip-event-strong:#b84317;--chip-travel:#f1cddb;--chip-travel-border:#cf7f9c;--chip-travel-text:#431126;--chip-travel-strong:#980f40;--chip-lodging:#f5d4c3;--chip-lodging-border:#d29174;--chip-lodging-text:#4a1f0d;--chip-lodging-handle:#e3b39f;--chip-reminder:#ffe7a8;--chip-reminder-border:#d2a528;--chip-reminder-text:#523b00;--select-strong:#f3b5c5;--select-line:#ac1337;--select-day-text:#3d0615;--select-shadow:rgba(125, 10, 34, 0.28);--flight-lane-bg-start:#f9dde6;--flight-lane-bg-end:#feecf2;--flight-chip-bg:#f0cbda;--flight-chip-border:rgba(152, 15, 64, 0.48);--flight-chip-text:#431126;--flight-chip-time:#6c0b2d;--bullet-lane-bg:#efbed0;--bullet-track:rgba(117, 14, 45, 0.56);--lodging-lane-bg-start:#f9dfd0;--lodging-lane-bg-end:#fdeee6;--detail-empty-bg:#f8dce5;--surface-hover:#f9edf1;--surface-muted:#f2dbe3;--mobile-week-bg:#fdeff4;--mobile-calendar-bg:#f7e6ed;--notes-shell-glow:rgba(173, 19, 52, 0.08);--notes-shell-surface-top:rgba(255, 255, 255, 0.88);--notes-shell-surface-bottom:rgba(255, 255, 255, 0.96);--notes-editor-surface-top:rgba(255, 255, 255, 0.96);--notes-editor-surface-bottom:rgba(252, 250, 251, 0.98);--notes-editor-rule:rgba(173, 19, 52, 0.04);--notes-editor-inset-highlight:rgba(255, 255, 255, 0.7);--font-display:'Hiragino Sans','Hiragino Kaku Gothic ProN',-apple-system,BlinkMacSystemFont,sans-serif;--font-body:'Hiragino Sans','Hiragino Kaku Gothic ProN',-apple-system,BlinkMacSystemFont,sans-serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--shadow-soft:0 12px 28px rgba(16, 24, 40, 0.08);--shadow-strong:0 20px 40px rgba(16, 24, 40, 0.16);--modal-max-width:576px;--emoji-size-multiplier:1.05;--app-shell-padding:20px;--app-shell-height:calc(100vh - (var(--app-shell-padding) * 2))}@supports (height:100dvh){:root{--app-shell-height:calc(100dvh - (var(--app-shell-padding) * 2))}}@media (prefers-color-scheme:dark){:root{color-scheme:dark;--bg:#151316;--panel:#1d1a1f;--text:#f3edea;--muted:#c2b4b2;--line:#4c434d;--line-strong:#6b5c67;--line-subtle:rgba(194, 180, 178, 0.28);--accent:#e45576;--accent-soft:#54202e;--accent-soft-hover:#693140;--accent-text:#ffe5eb;--accent-border:rgba(228, 85, 118, 0.58);--accent-border-strong:rgba(228, 85, 118, 0.8);--accent-ring:rgba(228, 85, 118, 0.28);--accent-inner-ring:rgba(255, 212, 222, 0.2);--surface-subtle:#252129;--surface-elevated:#241f26;--surface-control:#2a2530;--surface-control-hover:#342d39;--surface-overlay:rgba(29, 26, 31, 0.96);--surface-inverse:rgba(9, 10, 14, 0.94);--text-inverse:#fdf8f6;--chip-neutral-border:rgba(243, 237, 234, 0.14);--timeline-bg:#18151a;--timeline-block-border:rgba(243, 237, 234, 0.16);--timeline-block-shadow:0 8px 18px rgba(0, 0, 0, 0.28);--timeline-block-shadow-hover:0 12px 24px rgba(0, 0, 0, 0.34);--timeline-block-shadow-drag:0 14px 28px rgba(0, 0, 0, 0.36);--drag-handle:rgba(243, 237, 234, 0.3);--drag-preview-border:rgba(243, 237, 234, 0.18);--drag-preview-bg:rgba(9, 10, 14, 0.94);--drag-preview-text:#fdf8f6;--drag-preview-shadow:0 10px 18px rgba(0, 0, 0, 0.35);--preview-outline:#f3edea;--selection-text-shadow:rgba(0, 0, 0, 0.35);--now-line:#ff9d42;--now-line-text:#ffbf86;--form-label:#e6ddda;--field-bg:#241f26;--field-hover-border:#746572;--field-invalid-border:#ff7b91;--field-invalid-bg:#3b2028;--feedback-error-border:#d86b84;--feedback-error-bg:#4b2230;--feedback-error-text:#ffd4dd;--toast-shadow:0 10px 30px rgba(0, 0, 0, 0.35);--toast-success-bg:#1d3c2d;--toast-success-border:#3fb879;--toast-success-text:#d8ffea;--toast-error-bg:#4d2230;--toast-error-border:#df7892;--toast-error-text:#ffdbe4;--popover-bg:#211d24;--popover-shadow:0 18px 40px rgba(0, 0, 0, 0.34);--emoji-picker-background:#211d24;--modal-backdrop:rgba(3, 4, 7, 0.66);--detail-scrim:rgba(3, 4, 7, 0.58);--modal-card-border:rgba(243, 237, 234, 0.16);--modal-card-bg:rgba(31, 27, 34, 0.97);--modal-card-shadow:0 28px 56px rgba(0, 0, 0, 0.48);--modal-header-line:#4c434d;--danger-soft-border:#d86b84;--danger-soft-bg:#4b2230;--danger-soft-text:#ffd8e0;--danger-soft-hover:#5d2a3a;--danger-outline:#ff8aa3;--degraded-header-bg:#45121b;--degraded-header-border:#8a3345;--degraded-header-text:#fff4f6;--degraded-button-bg:#5c1d2a;--degraded-button-border:#b05569;--degraded-button-hover-bg:#743041;--degraded-button-hover-border:#c86882;--shell-glow:rgba(228, 85, 118, 0.12);--shell-glow-mobile:rgba(228, 85, 118, 0.08);--mobile-panel-border:rgba(76, 67, 77, 0.8);--mobile-week-card-bg:#211d24;--mobile-day-grid-line:#4c434d;--mobile-detail-header-bg:rgba(31, 27, 34, 0.96);--segment-hover-bg:#312b34;--segment-hover-border:#6b5c67;--bullet-train-body-start:#d8c8d0;--bullet-train-body-mid:#9f5d74;--bullet-train-body-end:#6c3148;--bullet-train-nose-start:#d1c0c8;--bullet-train-nose-mid:#965870;--bullet-train-nose-end:#652d43;--bullet-train-tail-start:#e1d1d8;--bullet-train-tail-end:#8b5068;--bullet-train-stripe-start:#ff7b9e;--bullet-train-stripe-mid:#d42a59;--bullet-train-stripe-end:#ffb0c4;--bullet-train-window-start:rgba(31, 10, 19, 0.95);--bullet-train-window-end:rgba(122, 55, 82, 0.86);--bullet-train-carriage-start:#d8c8d0;--bullet-train-carriage-mid:#9a5c72;--bullet-train-carriage-end:#6b3348;--bullet-train-shadow-inset:rgba(46, 13, 24, 0.34);--bullet-train-shadow-drop:rgba(0, 0, 0, 0.32);--bullet-train-carriage-shadow-inset:rgba(42, 11, 22, 0.32);--bullet-train-carriage-shadow-drop:rgba(0, 0, 0, 0.28);--chip-event:#563326;--chip-event-border:#d48a64;--chip-event-text:#ffeadf;--chip-event-strong:#f1a37d;--chip-travel:#4d2b39;--chip-travel-border:#d27a9b;--chip-travel-text:#ffe4ef;--chip-travel-strong:#f098b8;--chip-lodging:#56382d;--chip-lodging-border:#cf906f;--chip-lodging-text:#ffe9df;--chip-lodging-handle:#7c5547;--chip-reminder:#4f4320;--chip-reminder-border:#d6b34f;--chip-reminder-text:#fff1bf;--select-strong:#4f2330;--select-line:#ef6f8e;--select-day-text:#ffe8ee;--select-shadow:rgba(239, 111, 142, 0.22);--flight-lane-bg-start:#412533;--flight-lane-bg-end:#31202b;--flight-chip-bg:#5a3142;--flight-chip-border:rgba(240, 152, 184, 0.56);--flight-chip-text:#ffe5ef;--flight-chip-time:#ffc4d5;--bullet-lane-bg:#4c2534;--bullet-track:rgba(240, 152, 184, 0.46);--lodging-lane-bg-start:#493127;--lodging-lane-bg-end:#32231d;--detail-empty-bg:#3d2430;--surface-hover:#2c2730;--surface-muted:#2a232b;--mobile-week-bg:#231d24;--mobile-calendar-bg:#1e191f;--notes-shell-glow:rgba(228, 85, 118, 0.12);--notes-shell-surface-top:rgba(36, 31, 38, 0.94);--notes-shell-surface-bottom:rgba(29, 26, 31, 0.98);--notes-editor-surface-top:rgba(37, 32, 40, 0.96);--notes-editor-surface-bottom:rgba(26, 22, 29, 0.98);--notes-editor-rule:rgba(228, 85, 118, 0.08);--notes-editor-inset-highlight:rgba(255, 255, 255, 0.05);--shadow-soft:0 14px 32px rgba(0, 0, 0, 0.28);--shadow-strong:0 22px 44px rgba(0, 0, 0, 0.38)}}*{box-sizing:border-box}body,html{height:100%}html{font-size:106.25%}body{margin:0;font-family:var(--font-body);font-size:1rem;padding:var(--app-shell-padding);position:relative;background:var(--bg);color:var(--text);overflow:hidden}.app-page-notes{--notes-page-inset:clamp(18px, 2vw, 28px);position:relative;display:flex;flex-direction:column;width:100%;height:100%;min-height:0;padding:var(--notes-page-inset);border:1px solid var(--line);border-radius:var(--radius-lg);background:radial-gradient(circle at top left,var(--notes-shell-glow),transparent 34%),linear-gradient(180deg,var(--notes-shell-surface-top),var(--notes-shell-surface-bottom));box-shadow:var(--shadow-soft)}.notes-page-status{position:absolute;top:var(--notes-page-inset);right:var(--notes-page-inset);z-index:5}.notes-status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface-subtle);color:var(--text);font-size:.83rem;font-weight:700}.notes-status-pill[data-state=saved]{border-color:var(--toast-success-border);background:var(--toast-success-bg);color:var(--toast-success-text)}.notes-status-pill[data-state=loading],.notes-status-pill[data-state=saving]{border-color:var(--accent-border);background:var(--accent-soft);color:var(--accent-text)}.notes-status-pill[data-state=error],.notes-status-pill[data-state=unsaved]{border-color:var(--toast-error-border);background:var(--toast-error-bg);color:var(--toast-error-text)}.notes-page-message{position:absolute;top:var(--notes-page-inset);left:var(--notes-page-inset);right:calc(var(--notes-page-inset) + 132px);z-index:5;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-subtle);color:var(--muted)}.notes-page-message[data-state=error]{border-color:var(--toast-error-border);background:var(--toast-error-bg);color:var(--toast-error-text)}.notes-editor-root{position:relative;display:flex;flex-direction:column;flex:1;min-height:0;min-width:0}.notes-editor-host{flex:1;min-height:0}.notes-slash-menu{position:absolute;top:12px;left:12px;z-index:4;width:min(320px,calc(100% - 24px));padding:10px;border:1px solid var(--line);border-radius:18px;background:var(--surface-overlay);box-shadow:var(--popover-shadow);backdrop-filter:blur(10px)}.notes-slash-menu-header{padding:2px 6px 8px;color:var(--muted);font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.notes-slash-menu-items{display:flex;flex-direction:column;gap:6px}.notes-slash-menu-item{width:100%;padding:10px 12px;border:1px solid transparent;border-radius:14px;background:0 0;color:var(--text);text-align:left;cursor:pointer;transition:background-color 160ms,border-color 160ms,color 160ms}.notes-slash-menu-item.active,.notes-slash-menu-item:hover{border-color:var(--accent-border-strong);background:var(--accent-soft);color:var(--accent-text)}.notes-slash-menu-item-copy{display:flex;flex-direction:column;gap:2px}.notes-slash-menu-item-title{font-size:.95rem;font-weight:700}.notes-slash-menu-item-description{font-size:.8rem;color:var(--muted)}.notes-slash-menu-item.active .notes-slash-menu-item-description,.notes-slash-menu-item:hover .notes-slash-menu-item-description{color:color-mix(in srgb,currentColor 72%,transparent)}.notes-editor-prosemirror{min-height:100%;padding:0;color:var(--text);font-size:1.03rem;line-height:1.7;outline:0}.notes-editor-prosemirror>:first-child{margin-top:0}.notes-editor-prosemirror>:last-child{margin-bottom:0}.notes-editor-prosemirror h1,.notes-editor-prosemirror h2,.notes-editor-prosemirror h3{margin:1.3em 0 .45em;color:var(--accent-text);font-family:var(--font-display);font-weight:700;letter-spacing:-.02em}.notes-editor-prosemirror h1{font-size:1.9rem}.notes-editor-prosemirror h2{font-size:1.45rem}.notes-editor-prosemirror h3{font-size:1.15rem}.notes-editor-prosemirror ol,.notes-editor-prosemirror p,.notes-editor-prosemirror ul{margin:0 0 .8em}.notes-editor-prosemirror ol,.notes-editor-prosemirror ul{padding-left:1.4em}.notes-editor-prosemirror strong{color:var(--accent-text)}.notes-editor-prosemirror .is-editor-empty:first-child::before{color:var(--muted);content:attr(data-placeholder);float:left;height:0;pointer-events:none}@media (max-width:860px){.app-page-notes{--notes-page-inset:18px}.notes-page-status{top:var(--notes-page-inset);right:var(--notes-page-inset)}.notes-page-message{right:var(--notes-page-inset)}.notes-slash-menu{left:12px;top:12px;width:calc(100% - 24px)}.notes-editor-prosemirror{padding:18px}}body.app-auth-pending{overflow:hidden;background:#09131a}body.app-auth-pending .app-shell{visibility:hidden;pointer-events:none}.app-auth-overlay{position:fixed;inset:0;z-index:1100;display:none;align-items:center;justify-content:center;padding:clamp(24px,4vw,48px);isolation:isolate}body.app-auth-pending .app-auth-overlay{display:flex}.app-auth-overlay::before{content:'';position:absolute;inset:0;background-image:linear-gradient(180deg,rgba(7,16,23,.08),rgba(7,16,23,.52)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 900'%3E%3Cdefs%3E%3ClinearGradient id='sky' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0%25' stop-color='%237bb8e8'/%3E%3Cstop offset='54%25' stop-color='%23dce8f1'/%3E%3Cstop offset='100%25' stop-color='%23f4dfc7'/%3E%3C/linearGradient%3E%3ClinearGradient id='mountain' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0%25' stop-color='%235f7387'/%3E%3Cstop offset='100%25' stop-color='%23324657'/%3E%3C/linearGradient%3E%3ClinearGradient id='snow' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0%25' stop-color='%23ffffff'/%3E%3Cstop offset='100%25' stop-color='%23d8e3ec'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='1600' height='900' fill='url(%23sky)'/%3E%3Ccircle cx='1250' cy='154' r='94' fill='%23fff4cf' opacity='0.72'/%3E%3Cg fill='%23ffffff' opacity='0.56'%3E%3Cellipse cx='290' cy='184' rx='168' ry='42'/%3E%3Cellipse cx='422' cy='166' rx='110' ry='32'/%3E%3Cellipse cx='1188' cy='248' rx='188' ry='34'/%3E%3Cellipse cx='1300' cy='226' rx='118' ry='26'/%3E%3C/g%3E%3Crect y='590' width='1600' height='310' fill='%234f687b'/%3E%3Crect y='630' width='1600' height='270' fill='%235f7888' opacity='0.78'/%3E%3Cpath d='M0 660C176 624 290 610 440 624C610 640 760 690 938 676C1104 664 1258 588 1600 614V900H0Z' fill='%232d3e4f'/%3E%3Cpath d='M332 688C452 624 554 560 640 436C690 362 724 294 794 200C846 284 882 362 940 438C1016 540 1114 624 1246 688V900H332Z' fill='url(%23mountain)'/%3E%3Cpath d='M642 438C688 384 724 330 794 200C860 326 904 386 944 438C894 434 858 450 824 482C804 500 782 500 762 482C724 448 692 436 642 438Z' fill='url(%23snow)'/%3E%3Cpath d='M0 716C218 700 346 734 484 760C654 794 794 802 936 774C1116 738 1260 688 1600 724V900H0Z' fill='%236d8792' opacity='0.64'/%3E%3Cg fill='%23e9b0bc' opacity='0.92'%3E%3Ccircle cx='128' cy='720' r='58'/%3E%3Ccircle cx='198' cy='776' r='44'/%3E%3Ccircle cx='1448' cy='694' r='54'/%3E%3Ccircle cx='1388' cy='756' r='42'/%3E%3C/g%3E%3Cg stroke='%235d4238' stroke-width='16' stroke-linecap='round'%3E%3Cpath d='M104 900C102 794 118 740 136 680'/%3E%3Cpath d='M1418 900C1414 786 1424 736 1440 672'/%3E%3C/g%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;background-size:cover;transform:scale(1.02)}.app-auth-overlay::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,13,19,.06),rgba(6,13,19,.68)),radial-gradient(circle at top,rgba(255,255,255,.2),transparent 44%)}.app-auth-panel{position:relative;z-index:1;display:grid;justify-items:center;gap:12px;width:min(100%,360px);padding:clamp(24px,3vw,30px);border:1px solid rgba(255,255,255,.34);border-radius:28px;background:rgba(10,18,25,.5);box-shadow:0 24px 80px rgba(5,10,14,.38);backdrop-filter:blur(10px);text-align:center}.app-auth-spinner{width:64px;height:64px;border:4px solid rgba(255,255,255,.22);border-top-color:rgba(255,255,255,.96);border-radius:999px;box-shadow:0 0 0 10px rgba(255,255,255,.08);animation:.9s linear infinite app-auth-spinner-spin}.app-auth-message,.app-auth-title{margin:0;color:#f7fbff}.app-auth-title{font-family:var(--font-display);font-size:clamp(1.5rem, 3vw, 2rem);font-weight:700;letter-spacing:-.03em}.app-auth-message{max-width:28ch;font-size:.98rem;line-height:1.5;color:rgba(247,251,255,.84)}@keyframes app-auth-spinner-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.app-auth-spinner{animation:none}}.app-shell{display:flex;flex-direction:column;gap:var(--space-4);height:var(--app-shell-height);min-height:0}.app-header{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-soft);overflow:visible;position:relative;z-index:19}.app-header-copy{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.app-header-actions{display:inline-flex;align-items:center;gap:var(--space-3);flex-shrink:0;justify-self:end}.app-header-status{margin:0;color:var(--muted);font-size:.82rem;line-height:1.35}.app-header-status.hidden{display:none}.app-nav-toggle{display:none;width:40px;height:40px;border:1px solid var(--line);border-radius:999px;background:var(--surface-elevated);color:var(--text);padding:0;align-items:center;justify-content:center;flex-direction:column;gap:4px;cursor:pointer;transition:background-color 160ms,border-color 160ms,transform 160ms,box-shadow 160ms}.app-nav-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-nav-toggle[aria-expanded=true]{border-color:var(--accent-border-strong);box-shadow:0 0 0 4px var(--accent-ring)}.app-nav-toggle-bar{width:16px;height:2px;border-radius:999px;background:currentColor}.app-nav-scrim{display:none}.app-nav-scrim.open{display:block;position:fixed;inset:0;background:var(--detail-scrim);backdrop-filter:blur(1px);z-index:1040}.app-header.app-header-nav-open{z-index:1050}.app-title{margin:0;font-family:var(--font-body);font-size:1.45rem;font-weight:500;letter-spacing:.01em}.copy-ical-btn{border:1px solid var(--accent-border);border-radius:999px;background:var(--accent-soft);color:var(--accent-text);width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:1;cursor:pointer;transition:background-color 160ms,border-color 160ms,transform 160ms}.copy-ical-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.copy-ical-btn svg{flex:none}.current-user-menu{position:relative}.current-user-trigger{width:36px;height:36px;border:1px solid var(--line);border-radius:999px;background:var(--surface-elevated);color:var(--text);display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;transition:background-color 160ms,border-color 160ms,transform 160ms,box-shadow 160ms}.current-user-trigger[aria-expanded=true]{border-color:var(--accent-border-strong);box-shadow:0 0 0 4px var(--accent-ring)}.current-user-logout-btn:focus-visible,.current-user-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.current-user-avatar{width:100%;height:100%;border-radius:inherit;overflow:hidden;display:inline-flex;align-items:center;justify-content:center}.current-user-avatar-fallback,.current-user-avatar-image{width:100%;height:100%;display:inline-flex;align-items:center;justify-content:center}.current-user-avatar-image{object-fit:cover}.current-user-avatar-fallback[hidden],.current-user-avatar-image[hidden],.current-user-popover[hidden]{display:none}.current-user-avatar-fallback{background:var(--accent-soft);color:var(--accent-text);font-size:.95rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.current-user-popover{position:absolute;top:calc(100% + 10px);right:0;min-width:168px;padding:10px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--popover-bg);box-shadow:var(--popover-shadow);display:flex;z-index:30}.current-user-logout-btn{width:100%;min-height:40px;border:1px solid var(--line);border-radius:999px;background:var(--surface-subtle);color:var(--text);font:inherit;font-weight:700;cursor:pointer;transition:background-color 160ms,border-color 160ms,color 160ms}.current-user-logout-btn:hover{background:var(--surface-hover);border-color:var(--line-strong)}body::after{content:'';position:fixed;inset:0;background:radial-gradient(circle at 18% -10%,var(--shell-glow),transparent 45%);z-index:-1;pointer-events:none}.app-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;min-width:0;justify-self:center}.app-nav-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 16px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--surface-elevated) 78%,transparent);color:var(--muted);text-decoration:none;font-size:.92rem;font-weight:700;letter-spacing:.02em;transition:background-color 160ms,border-color 160ms,color 160ms,transform 160ms,box-shadow 160ms}.app-nav-link-emoji{font-size:1rem;line-height:1}.app-nav-link.active,.app-nav-link[aria-current=page]{border-color:var(--accent-border-strong);background:var(--accent-soft);color:var(--accent-text);box-shadow:0 10px 22px color-mix(in srgb,var(--accent) 20%,transparent)}.app-nav-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (max-width:1080px){.app-header{grid-template-columns:minmax(0,1fr) auto}.app-nav{grid-column:1/-1;justify-self:stretch;justify-content:flex-start}}@media (max-width:860px){.app-header{grid-template-columns:minmax(0,1fr) auto auto;align-items:center}.app-nav-toggle{display:inline-flex;justify-self:end}.app-nav{position:absolute;top:calc(100% + 10px);left:10px;right:10px;display:none;flex-direction:column;align-items:stretch;gap:8px;padding:12px;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:color-mix(in srgb,var(--panel) 92%,#fff 8%);box-shadow:0 18px 36px color-mix(in srgb,#000 14%,transparent);z-index:1060}.app-nav.open{display:flex}.app-nav-link{width:100%;justify-content:flex-start;padding:0 14px}}.app-pages{display:flex;flex:1;min-height:0}.app-page{display:flex;flex:1;min-height:100%}.app-page[hidden]{display:none}.app-page-map{min-height:100%}.app-page-placeholder{height:100%}.planner-page{min-height:100%;overflow:auto}.map-page-shell{min-height:100%;display:flex;flex-direction:column;flex:1 1 auto;gap:var(--space-4);min-width:0;width:100%}.map-page-state{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);box-shadow:var(--shadow-soft);padding:var(--space-4)}.map-page-state p{margin:0;color:var(--muted)}.map-page-actions{display:flex;flex-wrap:wrap;gap:8px}.map-page-action-btn{border:1px solid var(--line);border-radius:999px;background:var(--surface-control);color:var(--text);cursor:pointer;padding:8px 14px;font-size:.9rem;font-weight:600;transition:border-color 160ms,background-color 160ms,transform 160ms}.map-page-action-btn.primary{border-color:var(--accent-border-strong);background:var(--accent-soft);color:var(--accent-text)}.map-page-state.degraded{background:color-mix(in srgb,var(--chip-travel) 24%,var(--panel))}.map-page-body{flex:1;min-height:0;min-width:0;width:100%}.trip-map-canvas{min-height:560px;border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-soft);background:linear-gradient(180deg,color-mix(in srgb,var(--surface-subtle) 90%,#fff 10%),var(--panel))}.map-page-state h3{margin:0}.map-stop-marker{display:grid;place-items:center;position:relative;width:22px;height:22px;border-radius:999px;border:2px solid var(--chip-event-border);background:var(--chip-event);box-shadow:0 8px 16px rgba(15,23,42,.18)}.map-stop-marker-core{width:8px;height:8px;border-radius:999px;background:currentColor}.map-stop-marker-boundary-badge{position:absolute;top:-8px;right:-8px;display:grid;place-items:center;width:18px;height:18px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--panel) 95%,#fff 5%);box-shadow:0 4px 10px rgba(15,23,42,.16);color:var(--chip-travel-strong);font-size:.66rem;line-height:1}.map-stop-marker-boundary-overlay{background:0 0;border:0;pointer-events:none}.map-stop-marker-event{color:var(--chip-event-strong)}.map-stop-marker-selected{color:var(--accent-text);background:var(--accent-soft);border-color:var(--accent-border-strong);box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 18%,transparent)}.map-stop-marker-lodging{border-radius:7px;color:var(--chip-lodging-text);background:var(--chip-lodging);border-color:var(--chip-lodging-border)}.map-stop-marker-transition{color:var(--chip-travel-strong);background:var(--chip-travel);border-color:var(--chip-travel-border)}.map-city-label-tooltip{background:color-mix(in srgb,var(--panel) 96%,#fff 4%);border:1px solid var(--line);border-radius:999px;box-shadow:0 8px 18px rgba(15,23,42,.14);color:var(--text);font-size:.76rem;font-weight:700;letter-spacing:.01em;padding:4px 10px;text-align:left}.map-city-label-text{display:inline-block}.detail-map-label-tooltip{display:inline-flex;align-items:center;gap:.38rem;max-width:12rem;padding:3px 8px;font-size:.69rem;font-weight:700;line-height:1.1;white-space:nowrap}.detail-map-label-text{overflow:hidden;text-overflow:ellipsis}.detail-map-label-count{display:inline-grid;place-items:center;min-width:1.1rem;height:1.1rem;padding:0 .28rem;border-radius:999px;background:color-mix(in srgb,var(--accent-soft) 78%,#fff 22%);color:var(--accent-text);font-size:.62rem}.map-city-label-tooltip::before{display:none}.map-stop-marker-tentative{color:var(--chip-event-strong);background:color-mix(in srgb,var(--chip-event) 78%,var(--surface-elevated));border-style:dashed}.map-line-label-tooltip{background:color-mix(in srgb,var(--panel) 92%,#fff 8%);border:1px solid var(--chip-travel-border);border-radius:999px;box-shadow:0 8px 18px rgba(15,23,42,.12);color:var(--chip-travel-text);font-size:.58rem;font-weight:700;letter-spacing:.02em;padding:4px 10px}.map-line-label-tooltip::before{display:none}.placeholder-panel{min-height:100%;display:grid;align-content:start;gap:10px;padding:clamp(22px,3vw,32px);border:1px solid var(--line);border-radius:var(--radius-md);background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 90%,#fff 10%),var(--panel)),radial-gradient(circle at top right,color-mix(in srgb,var(--accent-soft) 65%,transparent),transparent 42%);box-shadow:var(--shadow-soft)}.placeholder-panel h2{margin:0;font-size:clamp(1.4rem, 2vw, 1.8rem)}.placeholder-panel p{margin:0;max-width:36ch;color:var(--muted)}.planner-page-shell{min-height:100%;display:flex;flex-direction:column;gap:var(--space-4);padding:clamp(22px,3vw,32px)}.planner-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.planner-page-header h2{margin:0;font-size:clamp(1.4rem, 2vw, 1.8rem)}.planner-page-subtitle{margin:var(--space-2) 0 0;max-width:60ch;color:var(--muted)}.planner-page-header-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.planner-editor-actions button,.planner-list-item-actions button,.planner-page-action-btn{border:1px solid var(--line);border-radius:999px;background:var(--surface-control);color:var(--text);cursor:pointer;padding:8px 14px;font-size:.9rem;font-weight:600;transition:border-color 160ms,background-color 160ms,transform 160ms}.planner-editor-actions button:hover,.planner-list-item-actions button:hover,.planner-page-action-btn:hover{background:var(--surface-hover);border-color:var(--field-hover-border)}.planner-editor-card,.planner-empty-state,.planner-list-section{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);box-shadow:var(--shadow-soft);padding:var(--space-4)}.planner-field{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-3)}.planner-field input,.planner-field select,.planner-field textarea{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--field-bg);color:var(--text);padding:10px 12px;font:inherit}.planner-field textarea{min-height:88px;resize:vertical}.planner-editor-actions,.planner-list-item-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.planner-editor-card h3,.planner-list-section h3{margin:0 0 var(--space-3)}.planner-list{display:flex;flex-direction:column;gap:var(--space-3)}.packing-row,.planner-list-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-3);align-items:start;padding:var(--space-3);border:1px solid var(--line-subtle);border-radius:var(--radius-sm);background:var(--surface-subtle)}.packing-row-body,.planner-list-item-body{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.planner-empty-state p,.planner-list-item-meta,.planner-list-item-notes,.planner-section-empty{margin:0;color:var(--muted)}.planner-inline-chip{display:inline-flex;align-items:center;align-self:flex-start;padding:4px 8px;border-radius:999px;border:1px solid var(--line);background:var(--surface-control);color:var(--text);font-size:.88rem}.planner-list-item-actions button[disabled]{opacity:.6;cursor:not-allowed}.planner-empty-state{border-style:dashed;background:var(--detail-empty-bg)}.planner-assignee-group{display:flex;gap:var(--space-2);flex-wrap:wrap}.planner-assignee-option{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid var(--line);background:var(--surface-subtle)}.packing-tree{display:flex;flex-direction:column;gap:var(--space-2)}.packing-row{padding-left:calc(var(--space-3) + (var(--packing-depth) * 18px))}.layout{display:grid;grid-template-columns:minmax(0,70fr) minmax(0,30fr);gap:var(--space-4);padding:0;flex:1;height:100%;min-height:0}.calendar-panel,.detail-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden;height:100%;min-height:0;box-shadow:var(--shadow-soft)}.calendar-panel{display:flex;flex-direction:column}.weekdays{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--line);background:var(--surface-subtle)}.weekdays div{text-align:center;padding:var(--space-3) 0;font-size:.84rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.calendar-grid{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;overflow:auto}.calendar-week-group{display:flex;flex-direction:column}.calendar-week-group+.calendar-week-group{border-top:1px solid var(--line)}.week-flight-lane{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-2);padding:var(--space-2) var(--space-3) var(--space-2);border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--flight-lane-bg-start) 0,var(--flight-lane-bg-end) 100%)}.week-flight-lane-bottom{padding:var(--space-2) var(--space-3) var(--space-3);border-top:1px solid var(--line);border-bottom:0}.week-flight-chip{display:flex;flex-direction:column;align-items:flex-start;gap:2px;border:1px solid var(--flight-chip-border);border-radius:999px;background:var(--flight-chip-bg);color:var(--flight-chip-text);font-size:calc(.85rem * var(--emoji-size-multiplier));padding:5px 10px;text-align:left;overflow:hidden;cursor:default}.week-flight-main,.week-flight-time{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.week-flight-time{font-size:.76rem;color:var(--flight-chip-time);opacity:.92}.bullet-train-lane{margin-top:auto;position:relative;min-height:86px;overflow:hidden;border-top:1px solid var(--line);background:var(--bullet-lane-bg)}.bullet-train-lane::after{content:'';position:absolute;left:0;right:0;pointer-events:none;bottom:16px;height:8px;background:var(--bullet-track)}.bullet-train-wrapper{position:absolute;--bullet-train-length:684px;left:calc(-1 * var(--bullet-train-length));bottom:16px;width:168px;height:40px;transform:none;opacity:0;animation:12.1s linear 10s infinite shinkansen-run}.bullet-train{position:relative;width:168px;height:40px;border-radius:20px 14px 12px 20px;background:linear-gradient(180deg,var(--bullet-train-body-start) 0,var(--bullet-train-body-mid) 55%,var(--bullet-train-body-end) 100%);box-shadow:inset 0 -3px 0 var(--bullet-train-shadow-inset),0 7px 16px var(--bullet-train-shadow-drop)}.bullet-train::before{content:'';position:absolute;right:-56px;top:0;width:66px;height:40px;border-radius:0 24px 22px 0;background:linear-gradient(180deg,var(--bullet-train-nose-start) 0,var(--bullet-train-nose-mid) 62%,var(--bullet-train-nose-end) 100%);clip-path:polygon(0 4%,80% 2%,100% 50%,80% 98%,0 96%,18% 50%)}.bullet-train::after{content:'';position:absolute;left:-13px;bottom:6px;width:15px;height:26px;border-radius:10px;background:linear-gradient(180deg,var(--bullet-train-tail-start) 0,var(--bullet-train-tail-end) 100%)}.bullet-train-stripe{position:absolute;left:6px;right:4px;top:22px;height:6px;border-radius:999px;background:linear-gradient(90deg,var(--bullet-train-stripe-start) 0,var(--bullet-train-stripe-mid) 45%,var(--bullet-train-stripe-end) 100%)}.bullet-train-windows{position:absolute;left:18px;top:9px;display:flex;gap:5px}.bullet-train-window{width:10px;height:7px;border-radius:2px;background:linear-gradient(180deg,var(--bullet-train-window-start) 0,var(--bullet-train-window-end) 100%)}.bullet-train-cars{position:absolute;inset:0}.bullet-train-carriage{position:absolute;left:calc(-62px * var(--car-offset));top:6px;width:60px;height:30px;border-radius:14px 10px 10px 14px;background:linear-gradient(180deg,var(--bullet-train-carriage-start) 0,var(--bullet-train-carriage-mid) 58%,var(--bullet-train-carriage-end) 100%);box-shadow:inset 0 -3px 0 var(--bullet-train-carriage-shadow-inset),0 2px 4px var(--bullet-train-carriage-shadow-drop)}.bullet-train-carriage::before{content:'';position:absolute;left:8px;right:7px;top:8px;height:7px;border-radius:4px;background:repeating-linear-gradient(90deg,var(--bullet-train-window-start) 0,var(--bullet-train-window-start) 8px,var(--bullet-train-window-end) 8px,var(--bullet-train-window-end) 10px)}.bullet-train-carriage::after{content:'';position:absolute;left:6px;right:4px;top:19px;height:5px;border-radius:999px;background:linear-gradient(90deg,var(--bullet-train-stripe-start) 0,var(--bullet-train-stripe-mid) 45%,var(--bullet-train-stripe-end) 100%)}@keyframes shinkansen-run{0%{left:calc(-1 * var(--bullet-train-length));opacity:1}26%{left:calc(100% + var(--bullet-train-length));opacity:1}100%,26.01%{left:calc(100% + var(--bullet-train-length));opacity:0}}@media (prefers-reduced-motion:reduce){.bullet-train-wrapper{animation:none;left:8px;opacity:1}}.week-lodging-lane{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--lodging-lane-bg-start) 0,var(--lodging-lane-bg-end) 100%)}.week-lodging-span{border:1px solid var(--chip-lodging-border);border-radius:999px;background:var(--chip-lodging);color:var(--chip-lodging-text);font-size:calc(.86rem * var(--emoji-size-multiplier));padding:5px 10px;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;transition:background-color 160ms,border-color 160ms}.week-days{display:grid;grid-template-columns:repeat(7,1fr)}.day-cell{position:relative;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:var(--space-3);min-height:116px;min-width:0;overflow:visible;display:flex;flex-direction:column;gap:var(--space-2);cursor:pointer;transition:background-color 160ms,box-shadow 160ms}.day-cell:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.day-cell.selected{background:var(--select-strong);box-shadow:inset 0 0 0 2px var(--select-shadow)}.day-cell.selected::after{content:'';position:absolute;inset:2px;border-radius:4px;outline:4px solid var(--select-line);pointer-events:none}.day-cell.selected .day-top>span:first-child{color:var(--select-day-text);text-shadow:0 1px 0 var(--selection-text-shadow)}.day-cell.selected .day-open-detail,.day-cell.selected .day-weather{color:var(--select-day-text)}.day-cell.padding{background:var(--surface-muted);cursor:default}.day-top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;font-size:.98rem;font-weight:700}.day-top>span:first-child{flex:0 0 auto}.day-open-detail{display:none;border:1px solid var(--line);border-radius:999px;background:var(--surface-control);color:var(--muted);width:28px;height:28px;padding:0;line-height:1;font-size:.85rem;cursor:pointer}.day-weather{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;font-size:calc(.82rem * var(--emoji-size-multiplier));font-weight:500;color:var(--muted);white-space:nowrap}.chips{display:flex;flex-direction:column;gap:6px;min-width:0}.chip{display:block;min-width:0;max-width:100%;font-size:calc(.84rem * var(--emoji-size-multiplier));line-height:1.3;padding:6px 10px;border-radius:10px;border:1px solid var(--chip-neutral-border);white-space:normal;overflow:visible;overflow-wrap:anywhere;text-align:left;cursor:pointer;transition:transform 160ms,box-shadow 160ms,border-color 160ms}.chip-line{display:block}.chip-line+.chip-line{margin-top:2px}.chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chip-event{background:var(--chip-event);border-color:var(--chip-event-border);color:var(--chip-event-text)}.chip-travel{background:var(--chip-travel);border-color:var(--chip-travel-border);color:var(--chip-travel-text)}.chip-lodging{background:var(--chip-lodging);border-color:var(--chip-lodging-border);color:var(--chip-lodging-text)}.chip-reminder{background:var(--chip-reminder);border-color:var(--chip-reminder-border);color:var(--chip-reminder-text)}.chip-event.tentative{background:color-mix(in srgb,var(--chip-event) 78%,var(--surface-elevated));border-style:dashed;border-color:color-mix(in srgb,var(--chip-event-strong) 74%,var(--text))}.chip-event.tentative .chip-line{opacity:1}.chip-lodging-handle{background:var(--chip-lodging-handle);border-style:dashed}.detail-panel{display:flex;flex-direction:column;padding:var(--space-3);min-height:0}.detail-header{display:flex;flex:0 0 auto;justify-content:space-between;align-items:center;padding:var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--line);margin-bottom:var(--space-3);background:var(--surface-subtle)}.detail-header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.detail-header h2{margin:0;font-family:var(--font-body);font-size:1.24rem;font-weight:600}.detail-title-group{display:flex;flex-direction:column;gap:3px}.detail-lodging-header{margin:0;font-size:.86rem;font-weight:600;color:var(--muted)}.detail-empty{flex:0 0 auto;margin-top:10px;border:1px dashed var(--line);border-radius:10px;background:var(--detail-empty-bg);padding:14px}.detail-empty.hidden{display:none}.detail-empty p{margin:0 0 10px;color:var(--muted)}.detail-empty-actions{display:flex;gap:8px}.detail-empty-actions[hidden]{display:none}.day-summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;margin-top:auto}.day-summary-travel{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:28px;border-radius:999px;background:color-mix(in srgb,var(--chip-travel) 76%,var(--surface-elevated));border:1px solid color-mix(in srgb,var(--chip-travel-border) 88%,var(--text));font-size:1rem;line-height:1;flex:0 0 auto}.day-summary-events{display:inline-flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;min-width:0;margin-left:auto;gap:4px}.day-summary-event-emoji{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:28px;border-radius:999px;border:1px solid var(--line);background:var(--surface-control);color:var(--text);font-size:.95rem;line-height:1}.detail-empty-actions button{border:1px solid var(--line);border-radius:7px;background:var(--surface-control);color:var(--text);padding:8px 10px;font-size:.92rem;cursor:pointer}.detail-map-shell{display:flex;flex:0 0 auto;flex-direction:column;gap:8px;margin-bottom:var(--space-3)}.detail-map-state{border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-subtle) 84%,var(--panel));padding:10px 12px}.detail-map-state p{margin:0;color:var(--muted);font-size:.9rem}.detail-map-state-degraded{background:color-mix(in srgb,var(--chip-travel) 20%,var(--panel))}.detail-map-canvas{height:clamp(176px,24vh,228px);border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;box-shadow:var(--shadow-soft);background:linear-gradient(180deg,color-mix(in srgb,var(--surface-subtle) 90%,#fff 10%),var(--panel))}.detail-map-print{display:none}.detail-map-print-frame{position:relative;width:100%;aspect-ratio:var(--print-map-width,640)/var(--print-map-height,280);overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-sm);background:#f8fafc}.detail-map-print-overlay,.detail-map-print-tiles{position:absolute;inset:0}.detail-map-print-tile{position:absolute;display:block;max-width:none;user-select:none}.detail-map-print-marker{position:absolute;width:16px;height:16px;margin-left:-8px;margin-top:-8px;border:2px solid var(--print-marker-stroke);border-radius:999px;background:var(--print-marker-fill);box-shadow:0 2px 5px rgba(15,23,42,.18)}.detail-map-print-marker-lodging{border-radius:4px}.detail-map-print-marker-core{position:absolute;top:50%;left:50%;width:5px;height:5px;border-radius:999px;background:#fff;transform:translate(-50%,-50%)}.detail-map-print-label{position:absolute;display:inline-flex;align-items:center;max-width:150px;padding:2px 6px;border:1px solid rgba(209,213,219,.95);border-radius:999px;background:rgba(255,255,255,.94);box-shadow:0 1px 4px rgba(15,23,42,.12);color:#111827;font-size:.68rem;font-weight:700;line-height:1.1;white-space:nowrap}.detail-print-btn{border:1px solid var(--line);border-radius:999px;background:var(--surface-control);color:var(--text);width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;transition:background-color 160ms,border-color 160ms,transform 160ms}.detail-print-btn span{font-size:1rem;line-height:1}.detail-print-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.detail-print-btn:disabled{opacity:.6;cursor:wait}.timeline{position:relative;flex:1 1 auto;min-height:0;overflow-y:auto;border-radius:10px;border:1px solid var(--line);padding-block:8px;background:var(--timeline-bg)}.print-agenda{display:none}.print-agenda-title{margin:0 0 12px;font-size:1.05rem;font-weight:700;color:var(--text)}.print-agenda-list{display:grid;gap:10px}.print-agenda-item{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);padding:12px 14px}.print-agenda-item-header{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}.print-agenda-item-meta{margin:0;font-size:.8rem;font-weight:700;letter-spacing:.02em;color:var(--muted);text-transform:uppercase}.print-agenda-item-title{margin:0;font-size:1rem;font-weight:700;color:var(--text)}.print-agenda-item-address,.print-agenda-item-detail{margin:6px 0 0;color:var(--text);line-height:1.45}.print-agenda-item-address{color:var(--muted)}.timeline-content{position:relative;--time-gutter-width:58px;padding:8px 10px 16px}.time-slots{position:absolute;top:0;left:var(--time-gutter-width);right:0;bottom:0;pointer-events:none}.hour-line{position:absolute;left:0;right:0;border-top:1px solid var(--line-strong)}.hour-line::before{content:attr(data-label);position:absolute;left:calc(-1 * var(--time-gutter-width));top:-8px;width:calc(var(--time-gutter-width) - 8px);text-align:right;font-size:.78rem;font-weight:700;letter-spacing:.03em;white-space:nowrap;color:var(--muted)}.timeline-block{position:absolute;width:calc((100% - var(--time-gutter-width))/ 2 - 2px);border-radius:10px;padding:8px 8px 12px;border:1px solid var(--timeline-block-border);overflow:hidden;box-shadow:var(--timeline-block-shadow);transition:box-shadow 140ms,border-color 140ms,transform 140ms}.timeline-block.events{background:var(--chip-event);border-left:1px solid var(--chip-event-strong)}.timeline-block.events.tentative{background:color-mix(in srgb,var(--chip-event) 82%,var(--surface-elevated));border-style:dashed;border-color:color-mix(in srgb,var(--chip-event-strong) 74%,var(--text));border-left-color:var(--chip-event-strong)}.timeline-block.events.tentative .timeline-block-content{opacity:1}.timeline-block.travel{background:var(--chip-travel);border-left:4px solid var(--chip-travel-strong)}.timeline-block-content{display:flex;flex-direction:column;font-size:calc(.86rem * var(--emoji-size-multiplier));gap:2px;line-height:1.35;font-weight:600;cursor:grab}.timeline-block-primary{min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;column-gap:6px;row-gap:2px}.timeline-block-secondary{display:inline;flex:0 1 auto;min-width:0;font-size:calc(.72rem * var(--emoji-size-multiplier));font-weight:500;line-height:1.2;opacity:.82}.map-page-action-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.map-page-action-btn:hover{border-color:var(--accent-border-strong);transform:translateY(-1px)}.timeline-block-content:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.timeline-block-readonly,.timeline-block-readonly .timeline-block-content{cursor:default}.timeline-block.pending{opacity:.7;border-style:dashed}.timeline-block.preview{opacity:1;border-style:solid;outline:4px dashed var(--preview-outline);outline-offset:4px;z-index:1}.timeline-block.pending .timeline-block-content::after{content:' Saving...';font-size:.72rem;color:var(--muted)}.quarter-line{position:absolute;left:0;right:0;border-top:1px dashed var(--line-subtle)}.now-line{position:absolute;left:var(--time-gutter-width);right:0;border-top:2px solid var(--now-line)}.now-line::before{content:'Now';position:absolute;left:-52px;top:-8px;width:44px;text-align:right;font-size:.8rem;color:var(--now-line-text);font-weight:600}.timeline-block.dragging{box-shadow:var(--timeline-block-shadow-drag);opacity:.9;z-index:3}.resize-handle{position:absolute;left:0;right:0;height:12px;cursor:ns-resize;opacity:0;pointer-events:none;transition:opacity 120ms}.timeline-block.dragging .resize-handle,.timeline-block:not(.timeline-block-readonly):focus-within .resize-handle{opacity:1;pointer-events:auto}.resize-handle-top{top:0}.resize-handle-bottom{bottom:0}.resize-handle::before{content:'';position:absolute;left:50%;transform:translateX(-50%);width:18px;height:4px;border-radius:999px;background:var(--drag-handle)}.resize-handle-top::before{top:3px}.resize-handle-bottom::before{bottom:3px}.timeline-drag-preview{position:fixed;z-index:999;pointer-events:none;border-radius:7px;padding:5px 8px;border:1px solid var(--drag-preview-border);background:var(--drag-preview-bg);color:var(--drag-preview-text);font-size:.76rem;font-weight:700;letter-spacing:.02em;box-shadow:var(--drag-preview-shadow)}.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.segment{border:1px solid var(--line);border-radius:8px;padding:9px;font-size:.95rem;font-weight:600;background:var(--surface-control);color:var(--text);cursor:pointer;transition:border-color 140ms,background-color 140ms,box-shadow 140ms}.segment:focus-visible{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.segment.active{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-inner-ring)}.item-form{--form-control-height:42px;--form-control-padding:10px;display:flex;flex-direction:column;gap:12px}.item-form-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:end}.item-form-row-main,.item-form-row-side{margin:0}.item-form-row-date-time-duration{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:end}.item-form-row-date-time{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:end}.item-form-row-date-time label,.item-form-row-date-time-duration label{margin:0;min-width:0}.item-form-row-date-time input,.item-form-row-date-time select,.item-form-row-date-time-duration input,.item-form-row-date-time-duration select{width:100%}.item-form-row-lodging-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:end}.item-form-row-lodging-dates label{margin:0;min-width:0}.item-form-row-lodging-dates input{width:100%}.item-form-row-travel-route{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:end}.item-form-row-travel-route label{margin:0;min-width:0}.item-form-row-travel-route input{box-sizing:border-box;height:var(--form-control-height);min-height:var(--form-control-height);padding:var(--form-control-padding);width:100%}.item-form-subsection{display:flex;flex-direction:column;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-subtle)}.item-form-subsection-header{display:flex;justify-content:space-between;align-items:center;gap:10px}.item-form-subsection-title{margin:0;font-size:1rem}.item-form-subsection-body{display:flex;flex-direction:column;gap:12px}.item-reminders-modal-feedback{margin:0;color:var(--muted)}.item-reminders-editor-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.item-reminders-editor-add{width:var(--form-control-height);min-width:var(--form-control-height);height:var(--form-control-height);min-height:var(--form-control-height);padding:0;display:inline-flex;align-items:center;justify-content:center;border-color:var(--accent-border);background:var(--accent-soft);color:var(--accent-text);font-size:1.1rem;line-height:1}.item-reminders-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.item-reminders-list-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px;border:1px solid var(--line-subtle);border-radius:10px;background:var(--panel)}.item-reminders-list-content{min-width:0;display:flex;flex-direction:column;gap:4px}.item-reminders-list-meta{color:var(--muted);font-size:.9rem}.item-reminders-list-actions,.item-reminders-modal-actions{display:flex;gap:8px;flex-wrap:wrap}.item-reminders-modal{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:18px;background:color-mix(in srgb,var(--shadow-strong) 28%,transparent);border-radius:12px;z-index:2}.item-reminders-modal.hidden{display:none}.item-reminders-modal-card{width:min(100%,420px);max-height:100%;overflow:auto;display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:var(--shadow-soft)}.item-reminders-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.item-reminders-modal-title{margin:0;font-size:1rem}.item-form-checkbox{display:inline-flex;flex-direction:row;align-items:center;gap:8px}.item-form-checkbox input{width:auto;min-height:auto}.item-form label{display:flex;flex-direction:column;gap:6px;font-size:.9rem;font-weight:600;color:var(--form-label);position:relative}.item-form-label-text{display:inline-flex;align-items:flex-start;gap:2px}.item-form-label-text sup{color:var(--accent);font-size:.85em;line-height:1}.item-form .item-form-toggle{display:flex;align-items:end}.item-form button,.item-form input,.item-form select,.item-form textarea{border:1px solid var(--line);border-radius:8px;padding:var(--form-control-padding);font-size:.95rem;font-family:inherit;background:var(--field-bg);color:var(--text);transition:border-color 140ms,box-shadow 140ms,background-color 140ms}.item-form button,.item-form input,.item-form select{min-height:var(--form-control-height)}.tentative-toggle-btn{width:var(--form-control-height);min-width:var(--form-control-height);height:var(--form-control-height);min-height:var(--form-control-height);padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem;line-height:1}.item-form textarea{min-height:108px;resize:vertical}.item-links-editor{display:flex;flex-direction:column;gap:6px}.item-links-editor-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.item-links-editor-input,.item-reminder-links-editor-input{width:100%}.item-links-editor-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;justify-self:end}.item-links-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.item-links-list-item{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.item-links-anchor{min-width:0;flex:1 1 auto;color:var(--accent);text-decoration:none}.item-links-anchor:hover{text-decoration:underline}.item-links-anchor-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-links-actions{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto}.item-links-action-btn,.item-links-editor-cancel,.item-links-editor-save,.item-reminder-links-editor-cancel,.item-reminder-links-editor-save{min-width:var(--form-control-height);width:var(--form-control-height);height:var(--form-control-height);padding:0;display:inline-flex;align-items:center;justify-content:center;line-height:1;font-size:1.1rem}.item-links-editor-save,.item-reminder-links-editor-save{border-color:var(--accent-border);background:var(--accent-soft);color:var(--accent-text)}.item-links-action-btn-delete{color:var(--danger-outline)}.item-links-editor-cancel.hidden,.item-reminder-links-editor-cancel.hidden{display:none}.item-form button:focus-visible,.item-form input:focus-visible,.item-form select:focus-visible,.item-form textarea:focus-visible{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.item-form input[aria-invalid=true],.item-form select[aria-invalid=true],.item-form textarea[aria-invalid=true]{border-color:var(--field-invalid-border);background:var(--field-invalid-bg)}.form-feedback{border-radius:8px;padding:9px 11px;font-size:.88rem;line-height:1.3}.form-feedback.error{border:1px solid var(--feedback-error-border);background:var(--feedback-error-bg);color:var(--feedback-error-text)}.form-feedback.hidden{display:none}.app-toast{position:fixed;right:18px;bottom:18px;z-index:30;border-radius:8px;padding:10px 12px;font-size:.94rem;border:1px solid transparent;box-shadow:var(--toast-shadow)}.app-toast.hidden{display:none}.app-toast.success{background:var(--toast-success-bg);border-color:var(--toast-success-border);color:var(--toast-success-text)}.app-toast.error{background:var(--toast-error-bg);border-color:var(--toast-error-border);color:var(--toast-error-text)}.emoji-picker-field{display:flex;flex-direction:column;gap:6px}.emoji-picker-field-compact{justify-content:end;gap:0}.emoji-picker-field label,.item-form-row-title-emoji .item-form-row-main,.item-form-row-title-emoji .item-form-row-side{font-size:.95rem;line-height:1.25}.item-form-row-title-emoji{grid-template-columns:auto minmax(0,1fr) auto;align-items:end}.item-form-row-travel-emoji{grid-template-columns:auto minmax(0,1fr);align-items:end}.item-form-row-title-emoji .item-form-row-main,.item-form-row-travel-emoji .item-form-row-main{min-width:0}.item-form-row-title-emoji .item-form-row-main input,.item-form-row-title-emoji .item-form-row-side .emoji-picker-trigger,.item-form-row-travel-emoji .item-form-row-side .emoji-picker-trigger{box-sizing:border-box;height:var(--form-control-height);min-height:var(--form-control-height)}.item-form-row-title-emoji .item-form-row-end.item-form-toggle{align-self:end;white-space:nowrap}.emoji-picker-trigger{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--surface-control);color:var(--text);min-height:var(--form-control-height);padding:var(--form-control-padding);cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px}.emoji-picker-trigger:focus-visible{border-color:var(--accent);outline:0}.emoji-picker-trigger-value{font-size:calc(.95rem * var(--emoji-size-multiplier));font-weight:600}.emoji-picker-field-compact .emoji-picker-trigger{width:var(--form-control-height);min-height:var(--form-control-height);padding:var(--form-control-padding);justify-content:center}.emoji-picker-field-compact .emoji-picker-trigger-value{font-size:calc(1.5rem * var(--emoji-size-multiplier));line-height:1}.emoji-picker-field-compact .emoji-picker-trigger-hint{display:none}.emoji-picker-trigger-hint{color:var(--muted);font-size:.8rem;font-weight:600}.emoji-popover-layer{position:fixed;inset:0;z-index:45;pointer-events:none}.emoji-picker-popover{position:fixed;z-index:60;width:min(340px,calc(100vw - 100px));max-height:calc(100vh - 32px);border:1px solid var(--line);border-radius:10px;background:var(--popover-bg);box-shadow:var(--popover-shadow);padding:10px;overflow:auto;pointer-events:auto}.day-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.emoji-picker-popover.hidden{display:none}.emoji-picker-library-host{display:none;min-height:250px}.emoji-picker-library{width:100%;--background:var(--emoji-picker-background);--border-size:1px;--border-color:var(--line);--button-hover-background:var(--accent-soft);--button-active-background:var(--accent-soft)}.emoji-picker-has-library .emoji-picker-library-host{display:block}.emoji-picker-fallback-title{margin:8.8px 0 6.6px;color:var(--muted);font-size:.86rem}.emoji-picker-has-library .emoji-picker-fallback-title{margin-top:11px}.emoji-picker-grid{display:grid;grid-template-columns:repeat(6,minmax(40px,1fr));gap:8px}.emoji-picker-option{border:1px solid var(--line);border-radius:7px;background:var(--surface-control);min-height:40px;font-size:calc(1.1rem * var(--emoji-size-multiplier))}.emoji-picker-option.selected,.emoji-picker-option:focus-visible{border-color:var(--accent);background:var(--accent-soft);outline:0}.day-items li{border:1px solid var(--line);border-radius:7px;padding:6px;display:flex;justify-content:space-between;gap:8px;font-size:.8rem}@media (max-width:560px){.packing-row,.planner-list-item,.planner-page-header{grid-template-columns:1fr}.planner-page-header{flex-direction:column}:root{--app-shell-padding:6px}body{font-size:.95rem}.app-shell{gap:6px}.app-header{padding:8px 10px}.app-title{font-size:1.2rem}.app-header-actions{gap:8px}.app-nav-toggle,.copy-ical-btn{width:36px;height:34px}.app-nav{top:calc(100% + 8px);left:8px;right:8px;padding:10px}.app-nav-link{min-height:36px;padding:0 13px;font-size:.86rem}.layout{gap:6px}.weekdays div{font-size:.68rem;padding:6px 0;letter-spacing:.05em}.day-cell{min-height:78px;padding:6px;gap:4px}.chip{min-height:32px;padding:7px 10px}.week-flight-chip,.week-lodging-span{min-height:30px;padding:6px 10px}.detail-header{padding:8px;margin-bottom:8px}.detail-header h2{font-size:1.08rem}.timeline-content{--time-gutter-width:52px;padding:8px 8px 14px}.timeline-block-content{font-size:calc(.82rem * var(--emoji-size-multiplier))}.item-form-row{grid-template-columns:48px minmax(0,1fr)}.item-form-row-date-time-duration{grid-template-columns:repeat(3,minmax(0,1fr))}.item-form-row-date-time{grid-template-columns:repeat(2,minmax(0,1fr))}.item-form-row-travel-emoji{align-items:start}.item-form-row-travel-emoji .item-form-row-side{align-self:start}.item-form-row-travel-route{grid-template-columns:minmax(0,1fr)}.item-links-editor-controls{grid-template-columns:minmax(0,1fr) auto}.item-links-editor-actions{grid-column:1/-1}.item-reminders-list-item{grid-template-columns:minmax(0,1fr)}.item-reminders-modal{padding:8px}.modal-backdrop{padding:0;align-items:flex-end}.modal-card{width:100%;max-width:100%;max-height:90vh;border-radius:14px 14px 0 0;border-left:0;border-right:0;border-bottom:0;padding:14px 12px 16px}}.item-actions{display:flex;gap:4px}.weather-pill{font-size:.96rem;color:var(--muted)}.modal-backdrop{margin:0;border:0;width:100vw;max-width:none;height:100vh;max-height:none;position:fixed;inset:0;display:flex;align-items:flex-start;justify-content:center;background:var(--modal-backdrop);backdrop-filter:blur(2px);opacity:1;transition:opacity 220ms;z-index:20;padding:10vh 24px 24px}.modal-backdrop.modal-opening .modal-card{animation:480ms cubic-bezier(.16,1,.3,1) both item-modal-enter;transform-origin:50% 12%}.modal-backdrop.modal-closing{opacity:0;pointer-events:none}.modal-backdrop.modal-closing .modal-card{animation:460ms cubic-bezier(.2,0,.4,1) both item-modal-exit}.modal-backdrop.hidden{display:none}@keyframes item-modal-enter{0%{opacity:0;transform:translateY(26px) scale(.9)}100%{opacity:1;transform:translateY(0) scale(1)}}@keyframes item-modal-exit{from{opacity:1;transform:translateY(0)}65%{opacity:1;transform:translateY(22px)}to{opacity:0;transform:translateY(34px)}}@media (prefers-reduced-motion:reduce){.modal-backdrop{transition:none}.modal-backdrop.modal-closing .modal-card,.modal-backdrop.modal-opening .modal-card{animation:none}}.detail-modal-scrim{display:none}.detail-modal-scrim.open{display:block;position:fixed;inset:0;background:var(--detail-scrim);backdrop-filter:blur(1px);z-index:39}.modal-card{position:relative;width:min(var(--modal-max-width),100%);max-width:var(--modal-max-width);max-height:calc(100vh - 48px);overflow:auto;border-radius:14px;border:1px solid var(--modal-card-border);background:var(--modal-card-bg);box-shadow:var(--modal-card-shadow);padding:16px;display:flex;flex-direction:column;gap:14px}.modal-card .item-form,.modal-card .segmented{width:100%}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--modal-header-line)}.modal-header h3{margin:0;font-size:1.2rem;font-weight:700}.modal-header-actions{display:inline-flex;align-items:center;gap:8px}.delete-icon-btn{border:1px solid var(--danger-soft-border);border-radius:8px;background:var(--danger-soft-bg);color:var(--danger-soft-text);width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0;font-size:1rem;line-height:1;cursor:pointer}.delete-icon-btn svg{display:block;width:18px;height:18px}.delete-icon-btn.hidden{display:none}.delete-icon-btn:focus-visible{outline:2px solid var(--danger-outline);outline-offset:2px}.close-icon-btn{border:1px solid var(--line);border-radius:8px;background:var(--surface-control);color:var(--text);width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0;font-size:1.35rem;line-height:1;cursor:pointer}.submit-icon-btn{border:1px solid var(--accent-border);border-radius:8px;background:var(--accent-soft);color:var(--accent-text);width:40px;height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0;font-size:1.2rem;line-height:1;cursor:pointer}.submit-icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.submit-icon-btn:disabled{opacity:.45;cursor:not-allowed}.close-icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.close-icon-btn.close-detail-btn{display:none}@media (hover:hover) and (pointer:fine){.copy-ical-btn:hover{background:var(--accent-soft-hover);border-color:var(--accent-border-strong);transform:translateY(-1px)}.app-nav-link:hover{border-color:var(--accent-border);color:var(--text);transform:translateY(-1px)}.week-lodging-span:hover{background:color-mix(in srgb,var(--chip-lodging) 78%,var(--surface-elevated));border-color:color-mix(in srgb,var(--chip-lodging-border) 92%,var(--text))}.day-cell:hover{background:var(--surface-hover)}.chip:hover{transform:translateY(-1px);box-shadow:0 6px 14px color-mix(in srgb,var(--text) 12%,transparent)}.timeline-block:not(.timeline-block-readonly):hover{transform:translateY(-1px);box-shadow:var(--timeline-block-shadow-hover)}.timeline-block:not(.timeline-block-readonly):hover .resize-handle{opacity:1;pointer-events:auto}.segment:hover{border-color:var(--segment-hover-border);background:var(--segment-hover-bg)}.item-form button:hover,.item-form input:hover,.item-form select:hover,.item-form textarea:hover{border-color:var(--field-hover-border)}.emoji-picker-trigger:hover{border-color:var(--accent);outline:0}.emoji-picker-option:hover{border-color:var(--accent);background:var(--accent-soft);outline:0}.delete-icon-btn:hover{background:var(--danger-soft-hover)}.submit-icon-btn:hover{background:var(--accent-soft-hover)}.close-icon-btn:hover{background:var(--surface-control-hover)}}@media (max-width:860px){:root{--app-shell-padding:8px}body::after{background:radial-gradient(circle at 18% -10%,var(--shell-glow-mobile),transparent 42%)}.app-shell{gap:8px}.app-page,.app-pages{display:block;min-height:auto}.layout{flex:0 0 auto;grid-template-columns:1fr;gap:8px;min-height:auto}.map-page-body{grid-template-columns:1fr}.map-page-actions{width:100%}.map-page-actions>.map-page-action-btn{flex:1 1 auto;justify-content:center}.trip-map-canvas{min-height:360px}.app-header{padding:8px 10px;border-radius:10px;box-shadow:0 4px 12px rgba(15,23,42,.05)}.app-nav-link{padding:0 14px}.app-title{font-size:1.28rem}.calendar-panel,.detail-panel{border-radius:8px;box-shadow:0 4px 12px rgba(15,23,42,.05);height:auto}.calendar-panel{border-color:var(--mobile-panel-border);background:0 0;flex:0 0 auto;min-height:auto}.calendar-grid{flex:0 0 auto;gap:0;min-height:auto;overflow:visible;padding:0;background:0 0}.weekdays{display:grid}.weekdays div{font-size:.68rem;padding:6px 0;letter-spacing:.04em}.calendar-week-group{border:1px solid var(--line);border-radius:0;overflow:hidden;background:var(--mobile-week-card-bg);box-shadow:none}.bullet-train-lane,.calendar-week-group::before,.week-flight-lane,.week-flight-lane-bottom,.week-lodging-lane{display:none}.week-days{display:grid;grid-template-columns:repeat(7,1fr)}.day-cell{min-height:84px;border-right:1px solid var(--mobile-day-grid-line);border-bottom:1px solid var(--mobile-day-grid-line);border-radius:0;padding:6px;gap:4px}.day-cell.selected{background:0 0;box-shadow:none}.day-cell.selected::after{content:none}.day-cell.selected .day-open-detail,.day-cell.selected .day-top>span:first-child,.day-cell.selected .day-weather{color:inherit;text-shadow:none}.week-days .day-cell:nth-child(7n){border-right:0}.week-days .day-cell:nth-last-child(-n+7){border-bottom:0}.day-cell.padding{display:flex}.day-top{font-size:.78rem;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;column-gap:4px;row-gap:2px}.day-top>span:first-child{font-weight:700}.day-open-detail,.day-weather{display:none}.day-summary{flex-wrap:wrap;justify-content:flex-start;gap:4px}.day-summary-travel{min-width:24px;min-height:24px;font-size:.9rem}.day-summary-events{display:inline-flex;flex:1 1 auto;width:auto;justify-content:flex-start;margin-left:0;gap:4px}.day-summary-event-emoji{min-width:24px;min-height:24px;font-size:.86rem}.detail-panel{padding:8px}.detail-panel.mobile-hidden{display:none}.detail-panel.mobile-modal.modal-open{display:flex;position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:100dvh;min-height:0;z-index:40;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));border-radius:0;box-shadow:none;overflow:hidden}.detail-panel.mobile-modal .timeline{flex:1 1 auto;min-height:0}.detail-panel.mobile-modal .detail-map-canvas{height:clamp(164px,26vh,216px)}.detail-panel.mobile-modal .detail-header{position:sticky;top:0;z-index:2;background:var(--mobile-detail-header-bg);backdrop-filter:blur(2px)}.detail-panel.mobile-modal .close-detail-btn{min-width:36px;min-height:36px}.detail-panel.mobile-modal .detail-print-btn{width:36px;height:36px}.detail-panel.mobile-modal.modal-open .close-detail-btn{display:inline-flex}}@media (hover:hover) and (pointer:fine){.detail-print-btn:hover{background:var(--surface-hover);border-color:var(--field-hover-border);transform:translateY(-1px)}}@media print{@page{margin:.55in}body,html{height:auto;overflow:visible;background:#fff}body{padding:0;color:#111827}#appHeader,#appToast,#closeDetailBtn,#detailModalScrim,#editorModal,#printDetailBtn,.calendar-panel,.detail-empty-actions,.resize-handle,.timeline-drag-preview,body::after{display:none!important}.app-page,.app-pages,.app-shell,.detail-panel,.layout,.timeline-content{display:block;height:auto;min-height:0;max-height:none;overflow:visible}.app-page,.app-pages,.app-shell,.layout{padding:0;margin:0;border:0;box-shadow:none;background:0 0}.detail-panel,.detail-panel.mobile-hidden,.detail-panel.mobile-modal,.detail-panel.mobile-modal.modal-open{position:static!important;inset:auto!important;width:auto!important;height:auto!important;max-height:none!important;display:block!important;padding:0;border:0;border-radius:0;box-shadow:none;overflow:visible}.detail-empty,.detail-header,.detail-map-shell,.print-agenda,.print-agenda-item{break-inside:avoid;page-break-inside:avoid}.timeline{display:none!important}.print-agenda{display:block!important;margin-top:12px}.print-agenda[hidden]{display:none!important}.print-agenda-title{margin-bottom:10px;font-size:.95rem;color:#111827}.print-agenda-list{gap:8px}.print-agenda-item{border-color:#d1d5db;background:#fff;box-shadow:none}.print-agenda-item-meta{color:#4b5563}.print-agenda-item-detail,.print-agenda-item-title{color:#111827}.print-agenda-item-address{color:#374151;overflow-wrap:anywhere}.detail-header{margin-bottom:12px;padding:12px 14px;border:1px solid #d1d5db;background:#fff}.detail-map-shell{margin-bottom:12px}.detail-map-canvas{display:none!important}.detail-map-print{display:block!important}.detail-map-print[hidden]{display:none!important}.detail-map-print-frame{height:280px!important;border-color:#d1d5db;box-shadow:none}.detail-map-print-label,.detail-map-print-marker,.detail-map-print-tile{-webkit-print-color-adjust:exact;print-color-adjust:exact}.detail-empty,.detail-map-state{background:#fff;box-shadow:none}.timeline-content{padding-bottom:0}}