:root{color-scheme:dark;--bg:#080808;--panel:#141414;--line:#262626;--text:#f4f4f4;--muted:#888;--red:#f04444}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased}main{max-width:620px;margin:auto;padding:28px 18px calc(28px + env(safe-area-inset-bottom))}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}h1{font-size:30px;font-weight:750;letter-spacing:-1.3px;margin:0}h1 span{color:var(--red)}header p{font-size:11px;color:var(--muted);margin:6px 0 0}button,input,select{font:inherit}button{min-width:44px;min-height:44px;border:1px solid var(--line);background:#151515;color:var(--text);border-radius:10px;cursor:pointer;padding:10px 15px;font-size:12px;font-weight:600}#moreButton{font-size:17px;letter-spacing:2px;border:0;background:transparent;color:var(--muted)}.progress-inline{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}#percent{color:#ccc}.progress-track{height:3px;background:#242424;border-radius:4px;margin:10px 0 20px}#bar{height:100%;background:var(--red);border-radius:4px;transition:width .2s}.tabs{position:sticky;top:0;display:grid;grid-template-columns:repeat(3,1fr);gap:5px;background:var(--bg);padding:10px 0 14px;z-index:3}.tabs button{min-height:50px;font-size:14px;background:#151515;color:#999;border:1px solid #252525;border-radius:10px}.tabs button[aria-pressed=true]{background:#a92329;border-color:#ce3038;color:white}.list-filter{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px;margin-bottom:9px}.remaining,.tips,.charge-option{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer}input[type=checkbox]{appearance:none;-webkit-appearance:none;width:25px;height:25px;border:1.5px solid #525252;border-radius:7px;background:transparent;margin:0;display:grid;place-content:center;flex:none;cursor:pointer}input[type=checkbox]:checked{background:var(--red);border-color:var(--red)}input[type=checkbox]:checked:after{content:'✓';color:white;font-size:17px;font-weight:800}.remaining input,.tips input{width:17px;height:17px;border-radius:5px}.item{background:var(--panel);border:1px solid #222;border-radius:12px;margin-bottom:7px;overflow:hidden}.pack-row{display:flex;align-items:center;gap:14px;min-height:64px;padding:17px 16px;cursor:pointer}.pack-row:active{background:#221315}.item-name{min-width:0;flex:1}.item-name strong{font-size:14px;font-weight:550;line-height:1.4}.item-name small{display:block;font-size:11px;color:var(--muted);line-height:1.5;margin-top:6px}.item.done .item-name strong{text-decoration:line-through;color:#666}.charge-check{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 16px 12px 55px;font-size:11px;color:#999;cursor:pointer}.charge-check input{width:19px;height:19px;border-radius:5px}.tap-hint{text-align:center;font-size:10px;color:#606060;margin:24px 0 0}.edit-actions{display:flex;gap:7px;padding:0 16px 10px}.edit-actions button{font-size:11px}.suggestion{color:#b69090!important}.panel{border:1px solid var(--line);border-radius:11px;margin:12px 0;background:#111;overflow:hidden}summary{list-style:none;min-height:52px;display:flex;align-items:center;gap:10px;padding:15px;cursor:pointer;font-size:13px}summary::-webkit-details-marker{display:none}summary:after{content:'+';margin-left:auto;color:#888;font-size:18px}details[open]>summary:after{content:'−'}summary small{font-size:10px;color:var(--muted)}.panel-body{padding:0 15px 15px}.field{display:grid;gap:6px;font-size:11px;color:var(--muted);margin:8px 0 13px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}input[type=search],input:not([type]),select{border:1px solid #333;border-radius:8px;background:#171717;color:white;min-height:46px;width:100%;padding:10px;font-size:16px}.help{font-size:11px;line-height:1.6;color:var(--muted)}.more-controls{display:grid;gap:7px}.more-controls label{font-size:12px;color:var(--muted)}.more-controls button{justify-self:start}dialog{background:#0d0d0d;color:white;border:1px solid #333;border-radius:18px;width:calc(100% - 24px);max-width:560px;max-height:88dvh;padding:18px}dialog::backdrop{background:#000b;backdrop-filter:blur(4px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;position:sticky;top:-18px;background:#0d0d0d;padding:4px 0 10px;z-index:2}.dialog-head h2{font-size:20px;margin:0}.dialog-head button{color:var(--red);border:0;background:transparent}#addForm{display:grid;gap:10px}.primary{background:#a92329;border:0}.button-row{display:flex;gap:8px}.button-row button{flex:1}.danger{color:var(--red);margin-top:12px}.weather{display:grid;grid-template-columns:1fr 1fr;gap:16px}.weather-title,.weather-note{grid-column:1/-1}.weather-title h2{font-size:18px}.weather-title p,.weather-note{font-size:11px;line-height:1.6;color:var(--muted)}.eyebrow{font-size:9px}.day span{font-size:10px;color:#888}.day strong{display:block;font-size:25px;margin:6px 0}.day small{font-size:17px;color:#888}.day p{font-size:11px;line-height:1.5;color:#888}.weather-note small{display:block;font-size:10px;margin-top:8px}.travel{border-top:1px solid #333;padding-top:16px;display:grid;gap:16px;margin-top:16px}.travel span{font-size:9px;color:#888;display:block}.travel strong{font-size:13px;display:block;margin:6px 0}.travel p{font-size:11px;color:#888;margin:0}a{color:#f47b7b}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}[hidden]{display:none!important}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #f67e7e;outline-offset:3px}#empty{text-align:center;padding:40px 0;color:#888;font-size:14px}@media(max-width:380px){main{padding-left:12px;padding-right:12px}.field-row{grid-template-columns:1fr}summary small{font-size:9px}}@media(min-width:800px){main{padding-top:40px}}
/* Quiet, native-feeling travel kit. */
:root{--bg:#0b0b0d;--panel:#131316;--line:#242429;--text:#efeff1;--muted:#7f7f89;--red:#ef454c;font-synthesis:none}body{background:radial-gradient(ellipse 90% 480px at 50% 0,#161519 0,#0b0b0d 80%);letter-spacing:-.18px;overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent}main{max-width:580px;padding:calc(32px + env(safe-area-inset-top)) 22px calc(132px + env(safe-area-inset-bottom))}header{margin-bottom:26px;align-items:center}.owner-label{font-size:9px;font-weight:650;letter-spacing:2px;color:#777680;margin-bottom:10px}h1{font-size:34px;letter-spacing:-1.3px;line-height:1.08;font-weight:700}header p{font-size:12px;font-weight:450;letter-spacing:-.1px;color:#94939e;margin-top:9px}#moreButton{width:44px;height:44px;border-radius:50%;background:#1a191e;border:1px solid #29282e;padding:11px;display:grid;place-items:center;color:#c9c8d0}#moreButton svg{width:22px;height:22px;fill:currentColor}#moreButton:active{transform:scale(.94)}.progress-inline{font-size:10px;letter-spacing:.15px;color:#92919c}.progress-inline #count{font-weight:500}#percent{font-size:10px;font-weight:600;color:#bebcc6;font-variant-numeric:tabular-nums}.progress-track{height:2px;margin:10px 0 31px;background:#2b282f;overflow:hidden}#bar{background:#e54952;border-radius:2px;transition:width .28s cubic-bezier(.2,.8,.2,1)}.tabs{position:fixed;top:auto;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,580px);padding:12px 22px calc(15px + env(safe-area-inset-bottom));gap:12px;z-index:10;background:#101013ee;border-top:1px solid #26252b;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.tabs button{border:none;border-radius:14px;background:transparent;color:#74747f;min-height:57px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-size:10px;font-weight:550;letter-spacing:.15px;padding:8px 10px;transition:color .18s,background .18s,transform .16s}.tabs button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}.tabs button[aria-pressed=true]{background:#251518;color:#f2656b;border:0}.tabs button:active{transform:scale(.96)}.list-filter{margin:0 0 17px;min-height:36px}.section-label{display:flex;align-items:baseline;gap:9px}.section-label h2{font-size:18px;letter-spacing:-.45px;font-weight:650;margin:0}.section-label #tabCount{font-size:10px;color:#707079;font-weight:450}.remaining{font-size:10px;font-weight:500;gap:8px;color:#9998a3;min-height:44px}.remaining input{width:27px;height:16px;border:0;border-radius:20px;background:#303038;position:relative;display:block;transition:background .2s}.remaining input:after{content:''!important;position:absolute;left:3px;top:3px;width:10px;height:10px;border-radius:50%;background:#96959f;transform:none;transition:transform .2s,background .2s}.remaining input:checked{background:#973039}.remaining input:checked:after{transform:translateX(11px);background:#fff}.category{background:#131316;border:1px solid #212126;border-radius:18px;overflow:hidden}.item{position:relative;border:0;border-radius:0;background:transparent;margin:0;transition:background .15s}.item:not(:last-child):after{content:'';position:absolute;bottom:0;left:54px;right:17px;height:1px;background:#242429;transform:scaleY(.5);transform-origin:bottom}.pack-row{min-height:67px;padding:17px 17px;gap:13px;transition:background .15s}.pack-row:active{background:#25171d}.pack-row input{width:23px;height:23px;border-radius:50%;border:1.25px solid #494851;background:transparent;transition:border-color .18s,background .18s,transform .18s}.pack-row input:checked{background:#e84850;border-color:#e84850;box-shadow:0 0 0 3px #e848500b}.pack-row input:checked:after{content:'';width:8px;height:4px;border:solid white;border-width:0 0 1.7px 1.7px;transform:rotate(-45deg) translateY(-1px)}.item-name strong{font-size:14px;line-height:1.5;letter-spacing:-.2px;font-weight:500;color:#e5e4eb}.item-name small{font-size:11px;line-height:1.55;color:#82818d;letter-spacing:0;margin-top:7px}.item.done .item-name strong{color:#64636e;text-decoration:none}.item.done .pack-row input:checked{background:#71383e;border-color:#71383e}.item.done .pack-row input:checked:after{border-color:#c9969b}.charge-check{margin-left:53px;padding:0 12px 13px 0;min-height:44px;width:fit-content;gap:7px;font-size:10px;font-weight:500;color:#93919e;letter-spacing:.15px}.charge-check input{height:16px;width:16px;border:1px solid #56525e;border-radius:5px}.charge-check input:checked{background:#aa414a;border-color:#aa414a}.charge-check input:checked:after{font-size:11px}.item:has(.charge-check) .pack-row{min-height:57px;padding-bottom:4px}.tap-hint{display:none}.edit-actions{padding-left:53px}.edit-actions button{min-height:44px;border:0;background:#212025;color:#b8b5c1}.panel{background:#141317;border-color:#2a272f;border-radius:13px}dialog{padding:22px;border:1px solid #35303b;background:#151318;border-radius:24px;box-shadow:0 24px 100px #000a}.dialog-head{background:#151318;top:-22px}.dialog-head h2{font-size:22px;letter-spacing:-.7px}.dialog-head button{color:#ef7179;font-size:13px}.help{color:#96909f;line-height:1.65}.field{color:#a59eae}select,input[type=search],input:not([type]){background:#201d25;border-color:#35303d;border-radius:11px}.primary{background:#a42e39;color:#fff;border-radius:11px}.button-row button{background:#25212c;border-color:#383140}.danger{background:#291b23;border-color:#492630;color:#f2848c}button{transition:background .15s,transform .15s}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #e37a86;outline-offset:4px}#empty{font-size:13px;letter-spacing:0;color:#95909f;padding:65px 0}.category:empty{display:none}@media(max-width:380px){main{padding-left:18px;padding-right:18px}.tabs{padding-left:17px;padding-right:17px}.item-name strong{font-size:13px}}@media(min-width:800px){main{padding-top:58px}.tabs{border:1px solid #29252f;border-bottom:0;border-radius:22px 22px 0 0;bottom:0;padding-bottom:18px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
/* Keep primary navigation clear of the host's owner toolbar. */
.tabs{position:sticky;top:0;bottom:auto;left:auto;transform:none;width:auto;margin:0 -4px 22px;padding:9px 4px;background:#0b0b0df2;border:0;border-bottom:1px solid #29262d;border-radius:0;gap:8px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.tabs button{min-height:48px;flex-direction:row;gap:8px;padding:10px 8px;border-radius:11px;font-size:11px;letter-spacing:0}
.tabs button svg{width:18px;height:18px;flex:none}
.progress-track{margin-bottom:18px}
@media(min-width:800px){.tabs{position:sticky;top:0;bottom:auto;padding:10px 4px;border:0;border-bottom:1px solid #29262d;border-radius:0}}

.item-name small.item-detail{margin-top:3px;font-size:9px;letter-spacing:.1px;color:#797580;line-height:1.4}
/* Travel hub: compact week, itinerary and the existing packing workspace. */
.hub-tabs{position:sticky;top:0;z-index:12;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;background:#0b0b0df5;backdrop-filter:blur(20px);padding:9px 0 12px;margin:0 0 24px;border-bottom:1px solid #29262d}.hub-tabs button{min-height:46px;border:0;background:transparent;color:#817c88;border-radius:11px;font-size:12px}.hub-tabs button[aria-pressed=true]{color:#f6777f;background:#29181d}.hub-view{min-width:0}#packingView .tabs{top:68px;z-index:11}.week-top{display:flex;justify-content:space-between;font-size:9px;color:#918a99;letter-spacing:.7px;margin-bottom:16px}.week-top span+span{letter-spacing:0}.day-rail{display:grid;grid-template-columns:repeat(7,minmax(44px,1fr));gap:4px;overflow-x:auto;scrollbar-width:none;margin-bottom:27px}.day-button{padding:10px 2px;min-width:44px;min-height:66px;background:transparent;border:0;border-radius:12px;display:grid;gap:8px;color:#8b8592}.day-button span{font-size:9px;font-weight:500}.day-button strong{font-size:17px;font-weight:550}.day-button[aria-pressed=true]{background:#a53340;color:white}.agenda-title{font-size:16px;font-weight:600;letter-spacing:-.4px;margin:0 0 17px}.agenda-row{display:flex;gap:14px;padding:18px 0;border-bottom:1px solid #252129}.agenda-time{flex:0 0 75px;min-width:0;font-size:11px;line-height:1.5;color:#c9c2cf;font-variant-numeric:tabular-nums;padding-top:1px}.agenda-copy{flex:1;min-width:0}.agenda-copy h3{font-size:13px;font-weight:550;letter-spacing:-.15px;margin:0;line-height:1.5}.agenda-copy p{color:#8e8697;font-size:11px;line-height:1.65;margin:5px 0 0}.agenda-row.target .agenda-time{color:#ed8991}.agenda-row.conflict{background:#26161b;padding:17px 12px;border-radius:12px;border:1px solid #4e2730;margin:9px 0}.agenda-row.conflict .agenda-time{flex-basis:63px;color:#f1949b}.week-foot{font-size:11px;line-height:1.65;color:#a49aaa;background:#18141c;border-radius:12px;padding:14px;margin-top:20px}.snapshot{font-size:9px;color:#726978;margin-top:24px}.tiny-label{display:block;font-size:9px;letter-spacing:1.1px;font-weight:600;color:#bdb0c4}.trip-alert{border-left:2px solid #cd4e60;background:#23151c;border-radius:0 13px 13px 0;padding:19px;margin-bottom:30px}.trip-alert .tiny-label{color:#ee8997}.trip-alert h2{font-size:17px;line-height:1.35;letter-spacing:-.35px;margin:11px 0}.trip-alert p{font-size:12px;line-height:1.65;color:#cab9d0}.trip-alert small{font-size:10px;line-height:1.6;color:#a78caf}.trip-section{padding:0 0 28px;margin:0 0 27px;border-bottom:1px solid #2a222f}.trip-section>h2{font-size:18px;letter-spacing:-.45px;font-weight:600;margin:0 0 19px}.flight-day+.flight-day{margin-top:23px;padding-top:22px;border-top:1px solid #241e29}.route{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:14px 0}.route strong{font-size:18px;letter-spacing:.1px;font-weight:600}.route>span{color:#6f5d7d;font-size:14px}.route small{flex-basis:100%;font-size:10px;color:#a698ae;margin-top:-3px}.detail-line{display:flex;justify-content:space-between;gap:12px;font-size:13px}.detail-line span{color:#a99baf;font-size:12px}.reveal-button{width:100%;font-size:11px;border:1px solid #3c2e43;background:#201626;color:#d9c6e2;margin:12px 0}.confirmation{font-size:19px;font-weight:650;letter-spacing:1.5px;margin:3px 0 19px;color:#eee1f4}.travel-facts{margin:17px 0}.travel-facts>div{display:grid;grid-template-columns:115px 1fr;gap:12px;border-bottom:1px solid #251e2b;padding:13px 0}.travel-facts dt{font-size:10px;line-height:1.65;color:#97899e}.travel-facts dd{font-size:11px;line-height:1.65;color:#ddd0e4;margin:0}.red-text{display:block;font-size:9px;color:#f08396}.pending-label{font-size:12px;color:#c6aecf}.reminder-list{list-style:none;padding:0;margin:17px 0}.reminder-list li{display:grid;grid-template-columns:108px 1fr;gap:12px;padding:11px 0;font-size:11px;border-bottom:1px solid #28202f;line-height:1.5}.reminder-list span{color:#a894b3;font-size:10px}.app-install .primary{width:100%;font-size:12px;min-height:46px}#installHelp{margin-top:14px;border-top:1px solid #302637}#installHelp summary{font-size:11px;padding-left:0;padding-right:0}.app-install{border-bottom:0}#packingView .progress-inline{margin-top:4px}#packingView .tabs button svg{width:17px;height:17px}@media(max-width:380px){.agenda-row{gap:10px}.agenda-time{flex-basis:68px;font-size:10px}.travel-facts>div{grid-template-columns:103px 1fr}.reminder-list li{grid-template-columns:98px 1fr}.week-top{font-size:8px}}@media(prefers-reduced-motion:reduce){.hub-tabs,.day-button{transition:none!important}}
