:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--canvas:#f6f9fc;--surface:#fff;--text:#061b31;--text-secondary:#273951;--muted:#64748d;--border:#e5edf5;--accent:#533afd;--accent-hover:#4434d4;--accent-active:#2e2b8c;--on-accent:#fff;--success:#15be53;--warning:#9b6829;--danger:#ea2261;--sky-light:#eef1ff;--sky-shadow:#e3e9f4;--text-xs:12px;--text-sm:14px;--text-base:16px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--radius-control:4px;--radius-group:6px;--radius-frame:8px;--control-min:44px;--shadow-ring:0 0 0 1px var(--border);--shadow-raised:#32325d40 0 30px 45px -30px, #0000001a 0 18px 36px -18px;--focus-ring:0 0 0 2px var(--accent), 0 0 0 5px color-mix(in oklab, var(--accent), transparent 75%);background:var(--canvas);color:var(--text);font-family:Pretendard Variable,Pretendard,Apple SD Gothic Neo,Noto Sans KR,system-ui,sans-serif}*{box-sizing:border-box}html,body{background:var(--canvas);min-width:320px;min-height:100%;margin:0}body{font-size:var(--text-base);-webkit-font-smoothing:antialiased;line-height:1.4}button,input,a{font:inherit}a,button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;box-shadow:var(--focus-ring)}.landing-shell,.screen{width:min(1080px,100% - 64px);margin-inline:auto}.landing-shell{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:16px;min-height:100vh;padding-block:32px;display:grid}.panel{border:1px solid var(--border);border-radius:var(--radius-frame);background:var(--surface);min-width:0;box-shadow:var(--shadow-ring)}.panel-raised{box-shadow:var(--shadow-raised);border-color:#0000}.landing-copy,.task-copy,.form-card{padding:clamp(24px,5vw,48px)}.landing-copy{flex-direction:column;justify-content:center;display:flex}.eyebrow{margin:0 0 var(--space-2);color:var(--accent);font-size:var(--text-xs);letter-spacing:.04em;font-weight:700}h1,h2,p{margin-top:0}h1,h2{letter-spacing:-.04em;word-break:keep-all;overflow-wrap:break-word;line-height:1.1}p,.notice,.member-row{word-break:keep-all;overflow-wrap:break-word;text-wrap:pretty}.landing-copy h1{max-width:10ch;margin-bottom:16px;font-size:clamp(48px,7vw,72px)}.landing-copy>p,.screen-heading p,.task-copy>p{color:var(--muted)}.trip-facts{grid-template-columns:repeat(3,1fr);gap:8px;margin:24px 0;display:grid}.trip-facts div{background:var(--canvas);border-radius:4px;padding:12px}.trip-facts dt{color:var(--muted);font-size:12px}.trip-facts dd{margin:4px 0 0;font-weight:700}.actions{flex-wrap:wrap;gap:8px;display:flex}.button{min-height:var(--control-min);padding:var(--space-2) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-control);color:var(--text);background:var(--surface);white-space:nowrap;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;text-decoration:none;transition:color .15s cubic-bezier(.2,0,0,1),background .15s cubic-bezier(.2,0,0,1),transform .15s cubic-bezier(.2,0,0,1);display:inline-flex}.button:hover{color:var(--accent-active);background:color-mix(in oklab, var(--accent), var(--surface) 96%)}.button:active{transform:translateY(1px)}.button:disabled{cursor:not-allowed;opacity:.48}.button-primary{border-color:var(--accent);color:var(--on-accent);background:var(--accent);box-shadow:var(--shadow-raised)}.button-primary:hover{color:var(--on-accent);background:var(--accent-hover)}.button-primary:focus-visible{outline:2px solid var(--accent-active);outline-offset:3px;box-shadow:0 0 0 3px var(--on-accent), 0 0 0 6px var(--accent)}.button-quiet{background:0 0;border-color:#0000}.tokyo-sky{background:linear-gradient(150deg, var(--surface) 0%, var(--sky-light) 52%, var(--sky-shadow) 100%);min-height:480px;position:relative;overflow:hidden}.sky-card{z-index:1;box-shadow:var(--shadow-raised);background:#ffffffe6;border-radius:8px;gap:4px;padding:20px;display:grid;position:absolute;top:24px;left:24px;right:24px}.sky-card span{color:var(--muted);font-size:12px}.skyline{background:color-mix(in oklab, var(--text), transparent 84%);clip-path:polygon(0 100%,0 64%,8% 64%,8% 42%,16% 42%,16% 71%,25% 71%,25% 22%,34% 22%,34% 66%,44% 66%,44% 37%,53% 37%,53% 74%,64% 74%,64% 15%,73% 15%,73% 62%,84% 62%,84% 36%,93% 36%,93% 72%,100% 72%,100% 100%);height:42%;position:absolute;inset:auto 0 0}.app-shell{grid-template-rows:60px auto;min-height:100dvh;display:grid}.topbar{border-bottom:1px solid var(--border);background:#fffffff0}.topbar-inner{justify-content:space-between;align-items:center;gap:var(--space-4);width:min(1080px,100% - 64px);min-height:60px;margin-inline:auto;display:flex}.brand{min-width:0;min-height:var(--control-min);color:var(--text);align-items:center;gap:10px;text-decoration:none;display:flex}.brand span:last-child{display:grid}.brand small{color:var(--muted)}.brand-mark{width:34px;height:34px;color:var(--on-accent);background:var(--accent);border-radius:4px;place-items:center;display:grid}.profile-state{text-align:right;flex:none;display:grid}.profile-state small{color:var(--muted)}.screen{padding-block:32px max(32px, env(safe-area-inset-bottom))}.screen-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.screen-heading h1{margin-bottom:8px;font-size:clamp(32px,5vw,48px)}.screen-heading p{margin-bottom:0}.auth-grid{grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);gap:16px;display:grid}.task-copy h2{font-size:clamp(28px,4vw,40px)}.form-card{align-content:start;gap:16px;display:grid}.field{gap:var(--radius-group);color:var(--text-secondary);font-size:var(--text-sm);display:grid}.field input{width:100%;min-height:var(--control-min);padding:9px var(--space-3);border:1px solid var(--border);border-radius:var(--radius-control);color:var(--text);background:var(--surface)}.field-error{color:var(--danger)}.password-field{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.notice{align-items:flex-start;gap:var(--space-2);border:1px dashed var(--border);border-radius:var(--radius-control);color:var(--text-secondary);background:var(--canvas);padding:14px;display:flex}.status-icon{flex:none;width:20px;height:20px}.notice-text{min-width:0}.notice-warning{color:var(--warning)}.notice-danger{color:var(--danger)}.notice-success{color:color-mix(in oklab, var(--success), var(--text) 38%)}.compact-heading{margin-bottom:8px}.compact-heading h2,.compact-heading p{margin-bottom:4px}.member-list{overscroll-behavior-y:contain;max-height:340px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.member-row{border-bottom:1px solid var(--border);grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:60px;display:grid}.member-row>span:nth-child(2){min-width:0;display:grid}.member-name{word-break:keep-all;overflow-wrap:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.member-row small{color:var(--muted)}.status-chip{min-height:28px;color:var(--text-secondary);background:var(--canvas);font-size:var(--text-xs);white-space:nowrap;border-radius:999px;align-items:center;padding-inline:10px;font-weight:700;display:inline-flex}.status-chip-success{color:color-mix(in oklab, var(--success), var(--text) 38%);background:color-mix(in oklab, var(--success), white 91%)}.status-chip-warning{color:var(--warning);background:color-mix(in oklab, var(--warning), white 91%)}.notice output{overflow-wrap:anywhere;word-break:break-all}.legal-copy{max-width:760px;margin-inline:auto}.legal-copy h2{margin-top:16px}.timeline{gap:var(--space-4);display:grid}.day-card{padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-frame);background:var(--surface)}.day-card>header{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.timeline-item{gap:var(--space-4);padding-block:var(--space-4);border-top:1px solid var(--border);grid-template-columns:88px minmax(0,1fr);display:grid}.timeline-item time,.timeline-item small{color:var(--muted)}.timeline-item div{display:grid}.settings-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.settings-grid>:last-child{grid-column:1/-1}.editor-grid{gap:var(--space-4);grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);display:grid}.editor-row{justify-content:space-between;align-items:center;gap:var(--space-4);min-width:0;padding-block:var(--space-3);border-top:1px solid var(--border);display:flex}.editor-row>div:first-child{min-width:0;display:grid}.editor-row small{color:var(--muted)}.danger-button{color:var(--danger)}.suggestion-list{margin:0;padding:0;list-style:none;display:grid}.suggestion-list li{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:60px;padding-block:var(--space-2);border-top:1px solid var(--border);display:flex}.provider-attribution{color:var(--muted);text-align:right}.mode-picker{gap:var(--space-4);min-width:0;padding:var(--space-4);border:1px solid var(--border);flex-wrap:wrap;display:flex}.mode-picker label{min-height:var(--control-min);align-items:center;gap:var(--space-2);display:flex}.route-result{padding:var(--space-4);border-radius:var(--radius-group);background:var(--canvas)}.diagnostics-cards{margin-top:0}.weather-card{padding:var(--space-5);grid-column:1/-1}.weather-card>header{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.weather-now{align-items:baseline;gap:var(--space-3);display:flex}.weather-now strong{font-size:48px}.weather-days{gap:var(--space-2);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.weather-days article{gap:var(--space-1);padding:var(--space-3);border-radius:var(--radius-control);background:var(--canvas);display:grid}.weather-days small,.weather-days span{color:var(--muted)}.state-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.state-wide{grid-column:1/-1}.map-grid{gap:var(--space-4);grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);min-height:520px;display:grid}.map-frame{min-height:420px;overflow:hidden}.map-frame iframe{border:0;width:100%;height:100%;min-height:520px}.map-canvas{width:100%;min-height:520px}.map-fallback{height:100%;min-height:420px;padding:var(--space-5);text-align:center;place-content:center;display:grid}.skeleton-line{border-radius:var(--radius-control);background:var(--border);height:18px}.skeleton-line.short{width:60%}.sheet-backdrop{z-index:20;padding:var(--space-3);background:#061b317a;align-items:end;display:grid;position:fixed;inset:0}.confirmation-sheet{width:min(560px,100%);padding:var(--space-5);border-bottom-right-radius:max(var(--radius-frame), env(safe-area-inset-bottom));border-bottom-left-radius:max(var(--radius-frame), env(safe-area-inset-bottom));margin-inline:auto}.pwa-notice{width:min(640px,100% - 24px);min-height:var(--control-min);justify-content:space-between;align-items:center;gap:var(--space-3);margin:var(--space-3) auto max(var(--space-3), env(safe-area-inset-bottom));padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-frame);background:var(--surface);box-shadow:var(--shadow-raised);display:flex}.pwa-notice>span{word-break:keep-all;overflow-wrap:break-word;text-wrap:pretty}@media (max-width:720px){.landing-shell,.screen,.topbar-inner{width:calc(100% - 24px)}.landing-shell,.auth-grid,.settings-grid{grid-template-columns:1fr}.settings-grid>:last-child{grid-column:auto}.editor-grid{grid-template-columns:1fr}.editor-row{flex-direction:column;align-items:flex-start}.weather-days{grid-template-columns:repeat(2,minmax(0,1fr))}.state-grid{grid-template-columns:1fr}.state-wide{grid-column:auto}.map-grid{grid-template-columns:1fr}.map-frame iframe,.map-canvas{min-height:360px}.landing-shell{padding-block:12px}.landing-copy,.task-copy,.form-card{padding:20px}.landing-copy h1{font-size:42px}.tokyo-sky{min-height:360px}.screen-heading{align-items:flex-start}.profile-state strong{text-overflow:ellipsis;white-space:nowrap;max-width:10ch;overflow:hidden}.pwa-notice{flex-direction:column;align-items:flex-start}.pwa-notice .actions{justify-content:flex-end;width:100%}}@media (min-width:721px) and (max-width:900px){.auth-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
