:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef3f7;--surface:#fff;--surface-soft:#f7fafc;--ink:#111827;--muted:#64748b;--line:#d6dee8;--line-strong:#aeb9c8;--accent:#0f766e;--accent-dark:#0b5f59;--blue:#2563eb;--red:#b42318;--amber:#a15c07;--navy:#14323b;--shadow:0 12px 28px #0f172a1a;font-family:Avenir Next,Apple SD Gothic Neo,Noto Sans KR,system-ui,sans-serif}*{box-sizing:border-box}html{background:var(--bg)}body{background:var(--bg);color:var(--ink);margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}a{color:inherit;text-decoration:none}p,h1,h2,h3{margin:0}.app-shell{width:min(100% - 20px,520px);padding:12px 0 calc(112px + env(safe-area-inset-bottom));gap:14px;margin:0 auto;display:grid}.pin-shell{place-items:center;min-height:100vh;padding-bottom:12px}.pin-panel{border:1px solid var(--line);background:var(--surface);width:min(100%,390px);box-shadow:var(--shadow);border-radius:14px;gap:12px;padding:20px;display:grid}.pin-mark{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:14px;place-items:center;width:54px;height:54px;display:grid}.pin-panel h1{letter-spacing:0;font-size:30px;line-height:1.05}.pin-route{color:var(--muted);font-size:14px;font-weight:800}.mobile-shell{min-height:100vh}.mobile-header,.screen-panel{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:18px}.mobile-header{gap:12px;padding:14px;display:grid}.header-top,.section-heading,.timeline-card-head,.timeline-title-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.mobile-header h1{letter-spacing:0;font-size:30px;line-height:1}.eyebrow{color:var(--accent);letter-spacing:0;text-transform:uppercase;margin-bottom:4px;font-size:12px;font-weight:900}.trip-hero{background:var(--navy);color:#fff;border-radius:16px;gap:6px;padding:14px;display:grid}.trip-hero p{color:#b7f7e6;font-size:13px;font-weight:900}.trip-hero strong{letter-spacing:0;overflow-wrap:anywhere;font-size:20px;line-height:1.15}.trip-hero span{color:#dbeafe;font-size:13px;font-weight:800}.quick-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.offline-banner{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:14px;padding:10px;font-size:13px;font-weight:900;line-height:1.35}.mini-metric{border:1px solid var(--line);background:var(--surface-soft);border-radius:14px;gap:4px;min-height:62px;padding:10px;display:grid}.mini-metric span{color:var(--muted);font-size:12px;font-weight:900}.mini-metric strong{letter-spacing:0;font-size:20px;line-height:1}.screen-panel{gap:14px;min-height:360px;padding:14px;display:grid}.section-heading h2,.today-card h2{letter-spacing:0;font-size:24px;line-height:1.08}.section-heading h3{letter-spacing:0;font-size:18px;line-height:1.15}.soft-badge{color:#1e40af;white-space:nowrap;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;align-items:center;min-height:30px;padding:5px 10px;font-size:12px;font-weight:900;display:inline-flex}.day-jump-controls{grid-template-columns:72px minmax(0,1fr) 72px;align-items:stretch;gap:8px;margin:-2px 0 8px;display:grid}.day-jump-controls button,.day-select-label{background:#fff;border:1px solid #bfdbfe;border-radius:14px;min-height:48px;box-shadow:0 6px 18px #2563eb14}.day-jump-controls button{color:#1d4ed8;font-size:13px;font-weight:900}.day-jump-controls button:disabled{color:#94a3b8;box-shadow:none;background:#f8fafc}.day-select-label{gap:1px;padding:6px 10px;display:grid}.day-select-label span{color:#64748b;font-size:10px;font-weight:900}.day-select-label select{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:none;font-size:14px;font-weight:900}.day-strip{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-color:#93c5fd transparent;scrollbar-width:thin;grid-auto-columns:116px;grid-auto-flow:column;gap:8px;margin:-2px -14px 0;padding:2px 14px 4px;display:grid;overflow-x:auto}.day-strip::-webkit-scrollbar{height:6px}.day-strip::-webkit-scrollbar-track{background:0 0}.day-strip::-webkit-scrollbar-thumb{background:#93c5fd;border-radius:999px}.day-pill{border:1px solid var(--line);min-height:76px;color:var(--ink);text-align:left;scroll-snap-align:start;background:#fff;border-radius:16px;gap:4px;padding:10px;display:grid}.day-pill span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:900}.day-pill strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;line-height:1.15;overflow:hidden}.day-pill em{color:#475569;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-style:normal;font-weight:800;overflow:hidden}.day-pill.active{border-color:var(--accent);box-shadow:inset 0 -3px 0 var(--accent);background:#ecfdf5}.today-card{background:#fff8eb;border:1px solid #f2d7a0;border-radius:18px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;display:grid}.today-card span{color:#7c4a03;margin-top:6px;font-size:13px;font-weight:900;display:block}.primary-fab{background:var(--accent);color:#fff;border:0;border-radius:16px;place-items:center;width:48px;height:48px;display:grid}.stay-now-card,.next-hotel-card,.hotel-card,.timeline-card,.trip-form,.expense-form{border:1px solid var(--line);background:#fff;border-radius:16px}.stay-now-card{gap:10px;display:grid;overflow:hidden}.stay-now-card img{background:#f1f5f9;width:100%;display:block}.stay-now-card div{gap:4px;padding:0 12px 12px;display:grid}.stay-now-card h3,.hotel-card h3,.timeline-card h3{letter-spacing:0;overflow-wrap:anywhere;font-size:17px;line-height:1.2}.stay-now-card span,.hotel-card span,.timeline-title-row p,.next-hotel-card span{color:var(--muted);font-size:13px;font-weight:800}.next-hotel-card{color:#334155;background:#f8fafc;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:12px;display:grid}.next-hotel-card strong{margin-bottom:2px;font-size:14px;display:block}.timeline-list,.hotel-list,.tools-screen,.trip-form,.checklist-list,.expense-list{gap:10px;display:grid}.prep-screen{align-content:start}.phase-note{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:14px;grid-template-columns:22px minmax(0,1fr);gap:8px;padding:10px;display:grid}.phase-note p{color:#334155;font-size:13px;font-weight:800}.prep-overview{gap:10px;display:grid}.prep-progress-card{background:#f0fdfa;border:1px solid #99f6e4;border-radius:16px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.prep-progress-card h3{letter-spacing:0;margin-bottom:4px;font-size:22px;line-height:1.1}.prep-progress-card span{color:#0f766e;font-size:13px;font-weight:900}.progress-ring{background:radial-gradient(circle at center, #fff 0 55%, transparent 56%), conic-gradient(var(--accent) var(--progress), #ccfbf1 0);width:58px;height:58px;color:var(--accent-dark);border-radius:50%;place-items:center;display:grid}.progress-ring strong{font-size:16px;line-height:1}.prep-highlight-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.prep-status-card{background:var(--surface-soft);color:#64748b;border:1px solid #e2e8f0;border-radius:14px;gap:7px;min-height:92px;padding:10px;display:grid}.prep-status-card.ready{color:var(--accent-dark);background:#ecfdf5;border-color:#99f6e4}.prep-status-card strong,.prep-status-card span{display:block}.prep-status-card strong{color:var(--ink);margin-bottom:3px;font-size:13px;line-height:1.15}.prep-status-card span{color:#64748b;font-size:11px;font-weight:800;line-height:1.2}.checklist-section,.idea-panel,.recommendation-panel,.tools-details{border:1px solid var(--line);background:#fff;border-radius:16px}.checklist-section{gap:10px;padding:12px;display:grid}.checklist-heading{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.checklist-heading h3{letter-spacing:0;font-size:18px;line-height:1.2}.checklist-heading p{color:var(--muted);margin-top:4px;font-size:12px;font-weight:800}.checklist-heading>span{min-height:28px;color:var(--accent-dark);background:#f0fdfa;border:1px solid #99f6e4;border-radius:999px;align-items:center;padding:4px 9px;font-size:12px;font-weight:900;display:inline-flex}.check-items{gap:7px;display:grid}.check-item{background:var(--surface-soft);border:1px solid #e2e8f0;border-radius:14px;grid-template-columns:0 24px minmax(0,1fr);align-items:start;gap:8px;min-height:48px;padding:10px;display:grid}.check-item input{opacity:0;width:0;height:0;min-height:0;padding:0}.check-mark{width:24px;height:24px;color:var(--accent);place-items:center;display:grid}.check-copy{gap:3px;display:grid}.check-copy strong{color:var(--ink);font-size:14px;line-height:1.25}.check-copy em{color:var(--muted);font-size:12px;font-style:normal;font-weight:800;line-height:1.25}.check-item.checked{background:#ecfdf5;border-color:#99f6e4}.check-item.checked .check-copy strong{color:#64748b;text-decoration:line-through}.recommendation-panel{gap:12px;padding:12px;display:grid}.recommendation-groups{gap:14px;display:grid}.recommendation-group{gap:8px;display:grid}.recommendation-group h4{letter-spacing:0;margin:0 0 3px;font-size:16px;line-height:1.2}.recommendation-group>div:first-child p{color:var(--muted);font-size:12px;font-weight:800;line-height:1.35}.recommendation-list{gap:8px;display:grid}.recommendation-card{background:var(--surface-soft);border:1px solid #e2e8f0;border-radius:14px;gap:8px;padding:10px;display:grid}.recommendation-meta{flex-wrap:wrap;gap:6px;display:flex}.recommendation-meta span{color:#1e40af;background:#eff6ff;border:1px solid #dbeafe;border-radius:999px;align-items:center;min-height:24px;padding:3px 8px;font-size:11px;font-weight:900;display:inline-flex}.recommendation-card h5{letter-spacing:0;overflow-wrap:anywhere;margin:0;font-size:15px;line-height:1.22}.recommendation-card p{color:#334155;font-size:13px;font-weight:800;line-height:1.35}.recommendation-card a{min-height:30px;color:var(--accent-dark);background:#f0fdfa;border:1px solid #99f6e4;border-radius:999px;justify-self:start;align-items:center;gap:5px;padding:5px 9px;font-size:12px;font-weight:900;display:inline-flex}.idea-panel{gap:8px;padding:12px;display:grid}.idea-panel ul{gap:7px;margin:0;padding:0;list-style:none;display:grid}.idea-panel li{background:var(--surface-soft);color:#334155;border:1px solid #e2e8f0;border-radius:12px;padding:9px 10px;font-size:13px;font-weight:800}.tools-details{overflow:hidden}.tools-details summary{cursor:pointer;color:#334155;padding:12px;font-size:14px;font-weight:900}.tools-details .tools-screen{border-top:1px solid var(--line);padding:12px}.timeline-list.compact{margin-top:2px}.timeline-row{grid-template-columns:62px minmax(0,1fr);gap:10px;display:grid}.timeline-row.done h3{color:#64748b;text-decoration:line-through}.time-rail{color:#475569;align-content:start;justify-items:center;gap:8px;padding-top:6px;font-size:12px;font-weight:900;display:grid;position:relative}.time-rail i{background:#d8e0ea;border-radius:2px;width:2px;min-height:56px;display:block}.timeline-card{gap:10px;padding:12px;display:grid}.timeline-row.built-in .timeline-card{background:#f8fbff;border-color:#c7d2fe}.timeline-row.recent .timeline-card{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.category-badge{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;align-items:center;gap:5px;min-height:26px;padding:4px 9px;font-size:12px;font-weight:900;display:inline-flex}.timeline-image{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:14px;width:100%;display:block}.timeline-title-row{align-items:flex-start}.row-actions{flex:none;gap:6px;display:flex}.timeline-notes{color:var(--muted);gap:5px;font-size:13px;font-weight:800;display:grid}.timeline-arrival{background:#eff6ff;border:1px solid #dbeafe;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;display:grid}.timeline-arrival div{gap:3px;min-width:0;display:grid}.timeline-arrival span{color:#1e40af;font-size:11px;font-weight:900}.timeline-arrival strong{color:#111827;letter-spacing:0;font-size:20px;line-height:1.05}.timeline-arrival em{color:#475569;overflow-wrap:anywhere;font-size:11px;font-style:normal;font-weight:800;line-height:1.2}.timeline-time-note,.time-note-card{color:#1e40af;background:#f8fbff;border:1px solid #bfdbfe;border-radius:14px;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:8px;padding:9px 10px;display:grid}.timeline-time-note span,.time-note-card span{color:#475569;overflow-wrap:anywhere;font-size:12px;font-weight:850;line-height:1.3}.time-note-card strong{color:#1e3a8a;margin-bottom:2px;font-size:13px;font-weight:950;display:block}.timeline-notes p{overflow-wrap:anywhere;grid-template-columns:16px minmax(0,1fr);align-items:start;gap:6px;display:grid}.hotel-card{gap:0;display:grid;overflow:hidden}.hotel-card img{background:#f1f5f9;width:100%;display:block}.hotel-card-body{gap:12px;padding:12px;display:grid}.transport-card img{object-fit:cover;object-position:top center;max-height:260px}.transport-summary{color:#1e3a8a;background:#eff6ff;border:1px solid #dbeafe;border-radius:14px;grid-template-columns:22px minmax(0,1fr);gap:9px;padding:10px;display:grid}.transport-summary strong,.transport-summary span{overflow-wrap:anywhere;display:block}.transport-summary strong{margin-bottom:4px;font-size:13px;line-height:1.25}.transport-summary span{color:#334155;font-size:12px;font-weight:800}.hotel-times{grid-template-columns:1fr 1fr;gap:8px;display:grid}.hotel-times button{border:1px solid var(--line);background:var(--surface-soft);min-height:58px;color:var(--ink);text-align:left;border-radius:14px;gap:4px;padding:9px;display:grid}.hotel-times strong{color:var(--accent-dark);font-size:12px;font-weight:900}.hotel-times span{color:#334155;font-size:12px}.trip-form,.expense-form{padding:12px}.trip-form.editing{border-color:var(--accent);background:#f7fffc}.expense-screen{align-content:start}.expense-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.expense-krw-total{background:#ecfdf5;border:1px solid #99f6e4;border-radius:16px;gap:5px;padding:12px;display:grid}.expense-krw-total span{color:var(--accent-dark);font-size:12px;font-weight:900}.expense-krw-total strong{color:#064e3b;letter-spacing:0;overflow-wrap:anywhere;font-size:28px;line-height:1.05}.expense-krw-total em{color:#475569;font-size:12px;font-style:normal;font-weight:800}.expense-total{background:#eff6ff;border:1px solid #dbeafe;border-radius:14px;gap:4px;min-height:66px;padding:10px;display:grid}.expense-total span{color:#1e40af;font-size:11px;font-weight:900}.expense-total strong{letter-spacing:0;overflow-wrap:anywhere;font-size:16px;line-height:1.05}.expense-form{gap:10px;display:grid}.expense-form.editing{border-color:var(--accent);box-shadow:inset 0 4px 0 var(--accent);background:#f0fdfa}.linked-expense-details{background:#f8fbff;border:1px solid #bfdbfe;border-radius:15px;padding:10px}.linked-expense-details summary{color:#1e40af;cursor:pointer;align-items:center;gap:7px;font-size:14px;font-weight:950;list-style:none;display:flex}.linked-expense-details summary::-webkit-details-marker{display:none}.linked-expense-details summary:after{content:"열기";color:#64748b;margin-left:auto;font-size:11px;font-weight:900}.linked-expense-details[open] summary:after{content:"접기"}.linked-expense-body{gap:10px;margin-top:10px;display:grid}.linked-expense-help{color:#475569;margin:0;font-size:12px;font-weight:800;line-height:1.35}.amount-row{grid-template-columns:minmax(0,1.5fr) minmax(96px,.75fr);gap:8px;display:grid}.expense-chip-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.expense-chip{background:var(--surface-soft);color:#334155;border:1px solid #e2e8f0;border-radius:13px;min-height:40px;padding:8px;font-size:13px;font-weight:900}.expense-chip.active{border-color:var(--accent);color:var(--accent-dark);background:#ecfdf5}.expense-row{border:1px solid var(--line);background:#fff;border-radius:15px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;padding:11px;display:grid}.expense-row-main{gap:4px;min-width:0;display:grid}.expense-row-main span,.expense-row-main em,.expense-row-main small{color:var(--muted);font-size:12px;font-style:normal;font-weight:800;line-height:1.25}.expense-row-main small{color:#0f766e;font-weight:900}.expense-row-main strong{letter-spacing:0;overflow-wrap:anywhere;font-size:15px;line-height:1.2}.expense-row-side{justify-items:end;gap:8px;display:grid}.expense-row-side>strong{color:var(--accent-dark);white-space:nowrap;font-size:14px}.expense-list-controls{gap:8px;display:grid}.undo-toast{background:#ecfdf5;border:1px solid #99f6e4;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px;display:grid}.undo-toast span{color:#064e3b;overflow-wrap:anywhere;font-size:13px;font-weight:900;line-height:1.25}.undo-toast button{min-height:36px;color:var(--accent-dark);background:#fff;border:1px solid #5eead4;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:900}.expand-list-button{color:#1d4ed8;background:#f8fbff;border:1px dashed #93c5fd;border-radius:14px;min-height:46px;padding:10px;font-size:14px;font-weight:900}.pager-row{grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;display:grid}.pager-row span{min-width:54px;color:var(--muted);text-align:center;font-size:13px;font-weight:900}label{gap:6px;display:grid}label span{color:#344054;font-size:13px;font-weight:900}input,select,textarea{border:1px solid var(--line-strong);width:100%;min-height:46px;color:var(--ink);background:#fff;border-radius:14px;outline:none;padding:10px 12px}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0f766e21}textarea{resize:vertical;min-height:96px;line-height:1.35}.field-row,.filter-row,.tool-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.category-button,.done-chip,.ghost-button,.danger-button,.primary-button,.lock-button,.icon-only,.icon-action,.done-toggle{border-radius:14px;font-weight:900}.category-button{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:8px;font-size:13px;display:inline-flex}.category-button.active{border-color:var(--blue);color:#1d4ed8;background:#dbeafe}.done-chip{color:#0f766e;-webkit-user-select:none;user-select:none;background:#f0fdfa;border:1px solid #99f6e4;justify-content:center;align-items:center;gap:7px;width:100%;min-height:42px;padding:8px 12px;display:inline-flex}.done-chip input{width:18px;height:18px;min-height:18px;accent-color:var(--accent);margin:0;padding:0}.done-chip.checked{border-color:var(--accent);color:var(--accent-dark);background:#ccfbf1}.ghost-button,.danger-button,.primary-button{border:1px solid var(--line-strong);background:#fff;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:9px 10px;display:inline-flex}.ghost-button{color:var(--blue)}.danger-button,.danger-text{color:var(--red)}.primary-button{background:var(--accent);color:#fff;border:0;font-size:16px}.primary-button:hover{background:var(--accent-dark)}.pin-panel .primary-button,.trip-form .primary-button,.trip-form .ghost-button,.expense-form .primary-button,.expense-form .ghost-button{width:100%}.icon-only,.icon-action,.done-toggle{border:1px solid var(--line);background:#fff;place-items:center;display:inline-grid}.lock-button{border:1px solid var(--line);min-height:38px;color:var(--muted);background:#fff;justify-content:center;align-items:center;gap:5px;padding:7px 10px;font-size:12px;display:inline-flex}.icon-only,.icon-action{width:40px;height:40px;color:var(--muted)}.icon-action.danger{color:var(--red)}.done-toggle{width:34px;height:34px;color:var(--accent)}.search-field{border:1px solid var(--line-strong);min-height:46px;color:var(--muted);background:#fff;border-radius:14px;grid-template-columns:auto 1fr;align-items:center;gap:8px;padding:0 12px;display:grid}.search-field input{min-height:42px;box-shadow:none;border:0;padding:0}.search-field input:focus{box-shadow:none}.hidden-input{display:none}.notice{color:#344054;background:#f2f4f7;border-radius:14px;padding:10px;font-size:14px}.notice.error{color:var(--red);background:#fff1f3}.hint{color:var(--muted);font-size:13px;font-weight:800}.empty{border:1px dashed var(--line-strong);color:var(--muted);text-align:center;border-radius:16px;justify-items:center;gap:8px;padding:28px 14px;display:grid}.empty p{font-size:14px;font-weight:800}.home-screen,.vault-screen,.maps-screen,.journal-screen,.more-screen{align-content:start}.today-ops-card,.next-move-card,.home-split-card,.home-quick-panel,.home-expense-strip,.home-mini-timeline,.flex-plan-card,.vault-group,.nearby-panel,.map-city-card,.emergency-panel,.budget-shopping-panel,.restaurant-panel,.conversation-panel,.journal-panel,.mini-check-card,.expense-block{border:1px solid var(--line);background:#fff;border-radius:16px}.today-ops-card{background:#f0fdfa;border-color:#99f6e4;gap:12px;padding:14px;display:grid}.ops-summary-grid,.move-time-grid,.budget-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.budget-private-note{color:#1e40af;background:#eff6ff;border:1px solid #dbeafe;border-radius:14px;align-items:center;gap:7px;padding:10px;font-size:12px;font-weight:900;display:flex}.private-budget-details,.budget-edit-details{background:#fff;border:1px solid #dbeafe;border-radius:14px;padding:10px}.private-budget-details summary,.budget-edit-details summary{color:#1e40af;font-size:13px;font-weight:950}.private-budget-details .budget-grid,.budget-edit-details .settings-form{margin-top:10px}.info-pill{background:#ffffffc7;border:1px solid #dbeafe;border-radius:14px;gap:4px;min-height:62px;padding:10px;display:grid}.info-pill span{color:#475569;font-size:11px;font-weight:900}.info-pill strong{color:var(--ink);letter-spacing:0;overflow-wrap:anywhere;font-size:14px;line-height:1.18}.must-do-list{background:#fff;border:1px solid #ccfbf1;border-radius:14px;gap:8px;padding:12px;display:grid}.must-do-list>strong{color:var(--accent-dark);font-size:14px}.must-do-list ol{gap:6px;margin:0;padding-left:20px;display:grid}.must-do-list li{color:#334155;font-size:14px;font-weight:850;line-height:1.25}.home-button-row,.action-link-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.action-link-row{grid-template-columns:repeat(3,minmax(0,1fr))}.next-move-card{background:#f8fbff;border-color:#bfdbfe;gap:10px;padding:14px;display:grid}.next-move-card.fixed{box-shadow:inset 0 4px 0 var(--blue)}.next-move-head{justify-content:space-between;gap:10px;display:flex}.next-move-head h3{letter-spacing:0;overflow-wrap:anywhere;font-size:18px;line-height:1.18}.next-move-prep{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.next-move-prep div{background:#fff;border:1px solid #dbeafe;border-radius:13px;gap:4px;min-height:58px;padding:9px;display:grid}.next-move-prep span{color:#1e40af;font-size:11px;font-weight:900}.next-move-prep strong{color:#111827;letter-spacing:0;overflow-wrap:anywhere;font-size:13px;line-height:1.18}.transfer-option-list{background:#fff;border:1px solid #dbeafe;border-radius:14px;gap:7px;padding:10px;display:grid}.transfer-option-list>strong{color:#1e40af;font-size:12px;font-weight:950}.transfer-option-list a{min-height:42px;color:var(--ink);background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;grid-template-columns:18px minmax(66px,.5fr) minmax(0,1fr);align-items:center;gap:7px;padding:8px;display:grid}.transfer-option-list a span{color:#0f766e;font-size:12px;font-weight:950}.transfer-option-list a em{color:#334155;overflow-wrap:anywhere;font-size:12px;font-style:normal;font-weight:850;line-height:1.2}.transfer-option-list.compact a{grid-template-columns:18px minmax(0,.55fr) minmax(0,1fr)}.arrival-transfer-link{min-height:48px;color:var(--accent-dark);background:#ecfdf5;border:1px solid #99f6e4;border-radius:14px;grid-template-columns:20px minmax(0,.8fr) minmax(0,1fr);align-items:center;gap:8px;padding:10px;display:grid}.arrival-transfer-link span,.arrival-transfer-link strong{letter-spacing:0;overflow-wrap:anywhere;min-width:0;font-size:13px;line-height:1.2}.arrival-transfer-link span{font-weight:900}.arrival-transfer-link strong{color:#334155;font-weight:800}.home-split-card,.journal-panel,.home-expense-strip{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;display:grid}.home-split-card.accent{background:#fff8eb;border-color:#f2d7a0}.home-split-card h3,.journal-panel h3{letter-spacing:0;overflow-wrap:anywhere;margin-bottom:4px;font-size:17px;line-height:1.2}.home-split-card span,.journal-panel span{color:var(--muted);font-size:13px;font-weight:800;line-height:1.25}.home-quick-panel,.home-mini-timeline,.budget-shopping-panel,.restaurant-panel,.mini-check-card,.expense-block{gap:10px;padding:12px;display:grid}.home-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.quick-nav-button{color:#1e40af;background:#eff6ff;border:1px solid #dbeafe;border-radius:14px;justify-items:center;gap:6px;min-height:66px;padding:10px 6px;font-size:12px;font-weight:900;display:grid}.home-expense-strip{background:#f8fafc}.home-expense-strip span{color:var(--muted);font-size:12px;font-weight:900}.home-expense-strip strong{color:var(--accent-dark);text-align:right;font-size:14px;line-height:1.2}.mini-timeline-row{background:var(--surface-soft);border:1px solid #e2e8f0;border-radius:12px;grid-template-columns:52px minmax(0,1fr);gap:8px;min-height:40px;padding:9px 10px;display:grid}.mini-timeline-row span{color:var(--accent-dark);font-size:12px;font-weight:900}.mini-timeline-row strong{overflow-wrap:anywhere;font-size:13px;line-height:1.2}.flex-plan-card{background:#f8fafc;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;display:grid}.plan-column{background:#fff;border:1px solid #e2e8f0;border-radius:14px;gap:7px;min-height:118px;padding:10px;display:grid}.plan-column.required{background:#ecfdf5;border-color:#99f6e4}.plan-column.rain{background:#eff6ff;border-color:#bfdbfe}.plan-column.energy{background:#fff8eb;border-color:#f2d7a0}.plan-column>strong{color:var(--ink);font-size:13px}.plan-column ul,.shopping-group ul,.restaurant-group ul{gap:5px;margin:0;padding-left:16px;display:grid}.plan-column li,.shopping-group li,.restaurant-group li{color:#334155;font-size:12px;font-weight:800;line-height:1.25}.vault-group{gap:10px;padding:12px;display:grid}.vault-list{gap:10px;display:grid}.vault-card{background:#fff;border:1px solid #e2e8f0;border-radius:15px;gap:10px;display:grid;overflow:hidden}.vault-card.compact{padding:12px}.vault-card-main{gap:9px;padding:12px;display:grid}.vault-card-title{gap:5px;display:grid}.hotel-title-meta{justify-content:space-between;align-items:center;gap:8px;display:flex}.warning-badge{color:#9a3412;white-space:nowrap;background:#fff7ed;border:1px solid #fed7aa;border-radius:999px;align-items:center;min-height:24px;padding:3px 8px;font-size:11px;font-weight:900;display:inline-flex}.vault-card-title h3{letter-spacing:0;overflow-wrap:anywhere;font-size:17px;line-height:1.18}.vault-card-title p,.vault-card.compact span{color:var(--muted);font-size:13px;font-weight:800;line-height:1.25}.vault-card img{object-fit:cover;object-position:top center;background:#f1f5f9;border-top:1px solid #e2e8f0;width:100%;max-height:320px;display:block}.hotel-detail-card img{max-height:220px}.info-line{border-top:1px solid #eef2f7;grid-template-columns:86px minmax(0,1fr);align-items:start;gap:8px;padding-top:8px;display:grid}.info-line span{color:var(--muted);font-size:12px;font-weight:900}.info-line strong{color:#334155;overflow-wrap:anywhere;font-size:13px;line-height:1.25}.nearby-panel,.map-city-card{gap:10px;padding:12px;display:grid}.nearby-panel{background:#f0fdfa;border-color:#99f6e4}.nearby-grid,.map-link-grid,.emergency-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.quick-map-button,.map-link-grid a,.emergency-grid a,.emergency-grid button,.emergency-grid span{color:#1e40af;text-align:center;background:#fff;border:1px solid #dbeafe;border-radius:13px;justify-content:center;align-items:center;gap:6px;min-height:42px;padding:8px;font-size:13px;font-weight:900;display:inline-flex}.map-city-list{gap:10px;display:grid}.map-city-title{padding:2px 2px 0}.map-city-card h3{letter-spacing:0;font-size:18px;line-height:1.2}.conversation-panel{background:#f8fbff;border-color:#bfdbfe;gap:10px;padding:12px;display:grid}.conversation-card,.conversation-result{background:#fff;border:1px solid #dbeafe;border-radius:15px;gap:10px;padding:11px;display:grid}.conversation-title-row,.phrase-result-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.conversation-title-row strong{color:#1e3a8a;font-size:15px;line-height:1.2}.conversation-title-row .ghost-button{min-height:36px;padding:6px 10px;font-size:13px}.conversation-external-link{width:100%}.conversation-external-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.disabled-link{opacity:.48;pointer-events:none}.phrase-chip-row{scrollbar-width:none;gap:7px;padding-bottom:2px;display:flex;overflow-x:auto}.phrase-chip-row::-webkit-scrollbar{display:none}.phrase-chip-row button{color:#1e40af;background:#eff6ff;border:1px solid #dbeafe;border-radius:999px;flex:none;min-height:34px;padding:6px 10px;font-size:12px;font-weight:900}.conversation-history .conversation-title-row span{color:var(--muted);font-size:12px;font-weight:900}.conversation-history-list{gap:8px;display:grid}.conversation-history-list button{text-align:left;background:#f8fbff;border:1px solid #dbeafe;border-radius:13px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-height:44px;padding:8px 10px;display:grid}.conversation-history-list span,.conversation-history-list em{color:#64748b;white-space:nowrap;font-size:11px;font-style:normal;font-weight:900}.conversation-history-list strong{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.2;overflow:hidden}.translation-box,.phrase-result-list,.conversation-tips{gap:8px;display:grid}.phrase-result-card{background:var(--surface-soft);border:1px solid #e2e8f0;border-radius:15px;gap:6px;padding:11px;display:grid}.phrase-result-card.primary{background:#ecfdf5;border-color:#99f6e4}.phrase-result-head span{color:#1e40af;font-size:11px;font-weight:950}.phrase-result-head button{color:#1e40af;background:#fff;border:1px solid #bfdbfe;border-radius:999px;place-items:center;width:34px;height:34px;display:inline-grid}.phrase-result-card strong{color:#111827;letter-spacing:0;overflow-wrap:anywhere;font-size:18px;line-height:1.22}.phrase-result-card em{color:#0f766e;overflow-wrap:anywhere;font-size:15px;font-style:normal;font-weight:950;line-height:1.25}.phrase-result-card p,.phrase-result-card small,.conversation-tips li{color:#334155;font-size:13px;font-weight:800;line-height:1.35}.phrase-result-card p{margin:0}.phrase-result-card small{color:#64748b}.conversation-tips{margin:0;padding-left:18px}.emergency-panel{color:#7f1d1d;background:#fff1f2;border-color:#fecaca;gap:10px;padding:9px 10px;display:grid}.emergency-panel summary{color:#991b1b;cursor:pointer;justify-content:space-between;align-items:center;gap:8px;list-style:none;display:flex}.emergency-panel summary::-webkit-details-marker{display:none}.emergency-panel summary span{align-items:center;gap:7px;font-size:14px;font-weight:950;display:inline-flex}.emergency-panel summary em{color:#be123c;font-size:11px;font-style:normal;font-weight:900}.emergency-panel summary:after{content:"열기";color:#b42318;background:#fff;border:1px solid #fecaca;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:950}.emergency-panel[open] summary:after{content:"접기"}.emergency-body{gap:10px;padding-top:10px;display:grid}.emergency-grid a,.emergency-grid button,.emergency-grid span{color:#b42318;background:#fff;border-color:#fecaca}.emergency-grid span{color:#9f1239;background:#fff7ed}.emergency-panel p{color:#7f1d1d;font-size:13px;font-weight:900;line-height:1.35}.emergency-note{background:#fff;border:1px solid #fecaca;border-radius:13px;gap:4px;padding:10px;display:grid}.emergency-note strong{color:#991b1b;font-size:12px;font-weight:950}.emergency-note span{color:#7f1d1d;overflow-wrap:anywhere;font-size:12px;font-weight:850;line-height:1.35}.settings-form{background:#ffffffd1;border:1px solid #aeb9c8b8;border-radius:14px;gap:10px;padding:10px;display:grid}.settings-form .primary-button{width:100%}.budget-settings-form .field-row{grid-template-columns:repeat(2,minmax(0,1fr))}.shopping-groups,.restaurant-groups,.restaurant-card-list{gap:8px;display:grid}.restaurant-card{background:var(--surface-soft);border:1px solid #e2e8f0;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px;display:grid}.restaurant-card div{gap:4px;min-width:0;display:grid}.restaurant-card span{color:var(--accent-dark);font-size:11px;font-weight:900}.restaurant-card strong{overflow-wrap:anywhere;font-size:14px;line-height:1.2}.restaurant-card p{color:#475569;font-size:12px;font-weight:800;line-height:1.3}.restaurant-card .ghost-button{white-space:nowrap;min-height:38px;padding:7px 9px}.shopping-group,.restaurant-group{background:var(--surface-soft);border:1px solid #e2e8f0;border-radius:14px;gap:7px;padding:10px;display:grid}.shopping-group>strong,.restaurant-group>strong{font-size:14px}.shopping-checks{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.shopping-check{background:#fff;border:1px solid #dbeafe;border-radius:14px;grid-template-columns:0 22px minmax(0,1fr);align-items:center;gap:7px;min-height:46px;padding:9px;display:grid}.shopping-check input{opacity:0;width:0;height:0;min-height:0;padding:0}.shopping-check span{width:22px;height:22px;color:var(--accent);place-items:center;display:grid}.shopping-check strong{color:#334155;font-size:13px;line-height:1.2}.shopping-check.checked{background:#ecfdf5;border-color:#99f6e4}.journal-panel{background:#fdf2f8;border-color:#fbcfe8}.journal-panel .primary-button{min-width:116px}.journal-screen{align-content:start}.journal-hero{background:#fdf2f8;border:1px solid #fbcfe8;border-radius:16px;gap:12px;padding:14px;display:grid}.journal-hero h3{letter-spacing:0;margin-bottom:5px;font-size:19px;line-height:1.15}.journal-hero p{color:#831843;font-size:13px;font-weight:850;line-height:1.35}.journal-hero .primary-button{width:100%}.journal-prompts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.journal-prompts span{color:#9d174d;background:#fff;border:1px solid #fbcfe8;border-radius:13px;align-items:center;min-height:42px;padding:8px 10px;font-size:12px;font-weight:900;line-height:1.2;display:grid}.best-shot-card{background:#fff;border:1px solid #fbcfe8;border-radius:16px;gap:12px;padding:14px;display:grid}.best-shot-card label{gap:6px;display:grid}.best-shot-card label span{color:#64748b;font-size:12px;font-weight:900}.best-shot-card input,.best-shot-card select{border:1px solid var(--line);min-height:44px;color:var(--ink);background:#fff;border-radius:13px;padding:9px 11px;font-size:14px;font-weight:850}.best-shot-preview{object-fit:cover;border:1px solid #fbcfe8;border-radius:16px;width:100%;max-height:360px}.best-shot-empty{color:#9d174d;text-align:center;background:#fdf2f8;border:1px dashed #f9a8d4;border-radius:16px;place-items:center;min-height:150px;font-size:13px;font-weight:900;display:grid}.journal-list{gap:10px;display:grid}.journal-entry{border:1px solid var(--line);background:#fff;border-radius:15px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;padding:12px;display:grid}.journal-entry>div:first-child{gap:5px;min-width:0;display:grid}.journal-entry span{color:var(--muted);font-size:12px;font-weight:900}.journal-entry strong{letter-spacing:0;overflow-wrap:anywhere;font-size:16px;line-height:1.2}.journal-entry p{color:#334155;overflow-wrap:anywhere;font-size:13px;font-weight:800;line-height:1.35}.mini-check-row{background:var(--surface-soft);border:1px solid #e2e8f0;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px;display:grid}.mini-check-row span{color:#334155;font-size:14px;font-weight:900}.mini-check-open,.mini-check-done{min-height:34px;color:var(--accent-dark);background:#fff;border:1px solid #99f6e4;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:900}.mini-check-done{background:#ccfbf1}.bottom-tabs{right:50%;bottom:calc(12px + env(safe-area-inset-bottom));z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);will-change:transform, opacity;background:#fffffff5;border:1px solid #aeb9c8d1;border-radius:20px;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;width:min(100% - 20px,520px);padding:6px;transition:transform .18s,opacity .18s;display:grid;position:fixed;transform:translate(50%);box-shadow:0 18px 40px #0f172a2e}.bottom-tabs.hidden{opacity:0;pointer-events:none;transform:translateX(50%) translateY(calc(100% + 28px + env(safe-area-inset-bottom)))}.tab-button{color:#64748b;background:0 0;border:0;border-radius:14px;justify-items:center;gap:2px;min-height:52px;padding:6px 1px;font-size:9.5px;font-weight:900;display:grid}.tab-button.active{color:var(--accent-dark);background:#ecfdf5}@media (width>=760px){.app-shell{padding-top:18px}.screen-panel,.mobile-header{padding:16px}}@media (width<=380px){.app-shell{width:min(100% - 14px,520px)}.quick-stats,.field-row,.filter-row,.tool-grid,.hotel-times,.prep-highlight-grid,.expense-summary,.ops-summary-grid,.move-time-grid,.budget-grid,.home-button-row,.action-link-row,.next-move-prep,.arrival-transfer-link,.restaurant-card,.undo-toast,.shopping-checks,.nearby-grid,.map-link-grid,.emergency-grid{grid-template-columns:1fr}.timeline-row{grid-template-columns:54px minmax(0,1fr)}.category-grid,.expense-chip-grid,.amount-row,.home-quick-grid,.flex-plan-card{grid-template-columns:1fr 1fr}.bottom-tabs{gap:2px;width:calc(100% - 14px);padding:5px}.tab-button{border-radius:12px;min-height:48px;font-size:9px}}
