:root{color-scheme:dark;--bg:#17191c;--panel:#232529;--soft:#2b2d31;--line:#36383c;--text:#f5f2ee;--muted:#b9b9ba;--orange:#f5a565;--gold:#edc69a;--red:#a94035;--radius:22px}*{box-sizing:border-box}body{margin:0;background:#101113;color:var(--text);font:16px/1.65 'Arial Rounded MT Bold','PingFang TC','Microsoft JhengHei',system-ui,sans-serif}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{border:0;color:inherit;background:transparent}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--orange);outline-offset:4px}.app{max-width:680px;margin:auto;background:var(--bg);min-height:100vh;box-shadow:0 0 80px #0006}header{height:78px;padding:0 22px;display:flex;align-items:center;gap:17px;background:#17191cf2;position:sticky;top:0;z-index:10;border-bottom:1px solid #ffffff08}.brand{font-size:21px;font-weight:750;letter-spacing:-.6px;flex:1}.brand strong{color:var(--orange);font-weight:600}.menu-button{display:flex;flex-direction:column;gap:5px;width:30px;padding:6px 2px}.menu-button span{height:2px;width:24px;border-radius:2px;background:#f6eee3}.menu-button span:nth-child(2){width:17px}.notice-button{width:40px;height:42px}.ticker{height:39px;background:#2a211c;display:flex;align-items:center;padding:0 22px;gap:12px;font-size:14px;color:var(--gold);overflow:hidden}.ticker-label{font-size:11px;letter-spacing:1.2px;font-weight:700;flex-shrink:0;color:#d69163}.ticker #ticker-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}main{padding:24px 22px 130px}h1,h2,h3,p{margin:0}h1{font-size:30px;line-height:1.3;letter-spacing:-.5px}h2{font-size:22px;line-height:1.4}h3{font-size:18px;line-height:1.5}.eyebrow{font-size:13px;letter-spacing:2px;color:var(--orange);font-weight:700}.muted{color:var(--muted);font-size:14px}.section{margin-top:28px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.text-button{color:var(--orange);font-size:15px;padding:8px 0;font-weight:600}.hero{height:256px;border-radius:var(--radius);position:relative;overflow:hidden;background:#34241e}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#291d19f0 0%,#2a1f19a0 42%,transparent 80%)}.hero-copy{position:relative;z-index:1;padding:27px}.hero h1{font-size:34px;line-height:1.3;margin:15px 0 12px}.hero .eyebrow{color:#ffd1a5;font-size:12px}.hero .date{font-size:15px;color:#e4cab7}.countdown{display:inline-flex;gap:10px;align-items:baseline;background:#fff0dd12;border:1px solid #fff0dd22;padding:6px 14px;margin-top:18px;border-radius:12px;color:#ffe5c6;font-size:15px}.countdown strong{font-size:27px;line-height:1.2}.status-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.status-card{display:flex;align-items:flex-start;gap:10px;padding:16px 14px;border:1px solid var(--line);background:var(--panel);border-radius:18px;text-align:left}.status-card .ico{width:35px;height:35px;flex-shrink:0}.status-card .label{font-size:13px;color:var(--muted);margin-bottom:4px}.status-card strong{font-size:15px;line-height:1.5;display:block}.preview-card,.panel{padding:20px;border-radius:var(--radius);background:var(--panel);border:1px solid var(--line)}.preview-day{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.preview-day .eyebrow{letter-spacing:1px}.mini-day-nav{display:flex;gap:7px}.mini-day-nav button{border-radius:8px;padding:4px 9px;font-size:13px;background:var(--soft)}.mini-day-nav button.active{color:#17191c;background:var(--orange)}.preview-card h3{font-size:22px;margin:6px 0 8px}.preview-caption{color:var(--muted);font-size:15px}.preview-route{margin-top:15px;display:flex;gap:9px;color:var(--gold);font-size:14px;align-items:center;flex-wrap:wrap}.preview-route span:not(.ico){background:#ffffff08;padding:4px 9px;border-radius:8px}.primary{background:var(--orange);color:#211b16;padding:13px 18px;min-height:48px;border-radius:13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:10px}.secondary{background:var(--soft);border:1px solid var(--line);padding:12px 17px;min-height:48px;border-radius:13px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:9px}.preview-card .primary{width:100%;margin-top:19px}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.quick{background:var(--panel);border:1px solid var(--line);border-radius:18px;text-align:center;padding:14px 2px;font-size:14px}.quick .ico{width:43px;height:43px;display:block;margin:0 auto 7px}.reminder{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}.reminder:last-child{border:0;padding-bottom:0}.reminder:first-child{padding-top:0}.reminder .ico{width:39px;height:39px;flex-shrink:0}.reminder strong{font-size:16px}.reminder p{font-size:14px;color:var(--muted)}.pill{font-size:13px;padding:4px 9px;border-radius:8px;display:inline-block;background:#f5a56518;color:var(--orange)}.notes-preview{padding:0}.note-row{padding:16px 20px;border-bottom:1px solid var(--line)}.note-row:last-child{border:0}.note-row p{font-size:14px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.note-empty{padding:20px}.weather{display:flex;gap:16px;align-items:center}.weather .ico{width:54px;height:54px}.weather strong{font-size:18px}.bottom{display:grid;grid-template-columns:repeat(4,1fr);height:86px;padding:8px 16px calc(8px + env(safe-area-inset-bottom));position:fixed;bottom:0;width:min(100%,680px);z-index:15;background:#1b1d20f5;backdrop-filter:blur(18px);border-top:1px solid var(--line)}.bottom a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted);font-size:14px;border-radius:13px}.bottom a.active{background:#f5a56512;color:var(--orange)}.ico{display:inline-block;width:32px;height:32px;background-image:url('assets/icons-pearl.webp');background-size:400% 400%;background-repeat:no-repeat;vertical-align:middle}.airplane{background-position:0 0}.bus{background-position:33.333% 0}.tram{background-position:66.666% 0}.car{background-position:100% 0}.hotel{background-position:0 33.333%}.shrine{background-position:33.333% 33.333%}.volcano{background-position:66.666% 33.333%}.leaf{background-position:100% 33.333%}.shopping{background-position:0 66.666%}.restaurant{background-position:33.333% 66.666%}.camera{background-position:66.666% 66.666%}.map{background-position:100% 66.666%}.telegram{background-position:0 100%}.bell{background-position:33.333% 100%}.notebook{background-position:66.666% 100%}.suitcase{background-position:100% 100%}.page-heading{margin-bottom:23px}.page-heading h1{margin:7px 0}.day-tabs{display:flex;gap:9px;overflow:auto;padding:3px 0 14px;scrollbar-width:none;margin-bottom:9px}.day-tabs a{min-width:74px;border:1px solid var(--line);background:var(--panel);text-align:center;border-radius:15px;padding:9px}.day-tabs span{font-size:12px;display:block;color:var(--muted)}.day-tabs strong{font-size:19px}.day-tabs a.selected{border-color:var(--orange);background:var(--orange);color:#241b14}.day-tabs a.selected span{color:#523928}.day-tabs a.pending{opacity:.6}.day-overview{padding:23px;background:linear-gradient(135deg,#66372a,#3c2c27);border:1px solid #c1704344;border-radius:var(--radius);margin:7px 0 25px}.day-overview .eyebrow{color:#ffcba1;letter-spacing:1px}.day-overview h2{margin:9px 0 17px;font-size:24px}.time-pair{display:flex;gap:32px;margin-bottom:16px}.time-pair span{font-size:14px;color:#d5bfb2;display:block}.time-pair strong{font-size:25px;line-height:1.3}.daily-fact{display:flex;align-items:center;gap:9px;margin-top:8px;font-size:15px}.daily-fact .ico{height:30px;width:30px}.timeline{border-left:1px solid #85533a;margin-left:10px;padding-left:23px}.trip-row{position:relative;margin-bottom:13px}.trip-row:before{content:'';position:absolute;left:-30px;top:29px;width:11px;height:11px;background:var(--orange);border-radius:50%;border:3px solid var(--bg);box-shadow:0 0 0 1px #8e573b}.trip-card{display:grid;grid-template-columns:65px 1fr 14px;gap:15px;align-items:center;text-align:left;padding:19px 17px;width:100%;border:1px solid var(--line);border-radius:18px;background:var(--panel)}.time-col{color:var(--orange);font-size:17px;font-weight:700;line-height:1.5;font-variant-numeric:tabular-nums}.time-col small{display:block;font-size:14px;color:#c08c67}.trip-name{font-size:18px;font-weight:650;line-height:1.45}.card-meta{font-size:14px;color:#ccc6bf;margin-top:7px}.card-location{font-size:14px;color:var(--muted);line-height:1.4;margin-top:3px}.chevron{color:#bc8b66;font-size:20px}.notice{padding:15px 18px;border-left:3px solid var(--orange);border-radius:0 12px 12px 0;background:#f5a5650a;font-size:15px;color:#dcc7b4;margin-bottom:22px}.place-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.place-card{display:flex;flex-direction:column;text-align:left;padding:20px;background:var(--panel);border:1px solid var(--line);border-radius:20px;min-height:260px}.place-art{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.place-art .ico{width:63px;height:63px}.place-card h3{font-size:19px}.place-card .intro{font-size:15px;color:var(--muted);margin-top:7px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;flex:1}.place-card .place-date{font-size:14px;color:var(--orange);margin-top:12px}.tool-card{display:flex;gap:16px;padding:21px;border-radius:20px;border:1px solid var(--line);background:var(--panel);margin-bottom:14px}.tool-card>.ico{width:48px;height:48px;flex-shrink:0}.tool-body{flex:1;min-width:0}.tool-card p{font-size:15px;color:var(--muted);margin:5px 0 13px}.actions{display:flex;flex-wrap:wrap;gap:9px}.actions .secondary,.actions .primary{font-size:14px;padding:9px 13px;min-height:42px}.connection{color:var(--gold);font-size:14px;display:block;margin:5px 0}dialog{border:1px solid var(--line);background:var(--bg);color:var(--text);padding:0}dialog::backdrop{background:#0009;backdrop-filter:blur(5px)}#drawer{height:100dvh;max-height:100dvh;max-width:min(90vw,390px);width:390px;margin:0 auto 0 0;border-radius:0 23px 23px 0;overflow:auto}.drawer-top{display:flex;justify-content:space-between;padding:30px 27px 20px;background:linear-gradient(135deg,#352820,#1f2023)}.drawer-top h2{font-size:21px;margin-top:15px}.drawer-top p{color:var(--muted);font-size:14px}.close{font-size:29px;line-height:1;width:45px;height:45px;border-radius:12px;background:#ffffff08;flex-shrink:0}.menu-group{padding:18px 27px 3px}.menu-group>p{font-size:13px;letter-spacing:2px;color:#ac8e76;margin-bottom:8px}.menu-group a{display:flex;align-items:center;gap:12px;border-radius:12px;padding:9px 6px;font-size:16px}.menu-group a:hover{background:var(--soft)}.version{font-size:13px;color:var(--muted);padding:25px 30px;margin-top:20px;border-top:1px solid var(--line)}#detail,#editor{width:min(100% - 24px,620px);max-height:90dvh;border-radius:25px;margin:auto;overflow:auto}.sheet-header{position:sticky;top:0;z-index:2;padding:14px 23px;background:#17191cf5;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}#detail-content{padding:24px}.detail-title{font-size:26px;margin:9px 0 16px}.detail-text p{margin:12px 0;font-size:17px;line-height:1.8}.detail-text p.note{padding:15px;border-radius:13px;background:#f5a5650b;color:#e4c1a2;font-size:15px}.detail-block{margin-top:23px;padding-top:19px;border-top:1px solid var(--line)}.detail-block h3{margin-bottom:12px;color:var(--gold);font-size:17px}.fact-list{display:grid;grid-template-columns:100px 1fr;gap:11px;font-size:15px}.fact-list dt{color:var(--muted)}.fact-list dd{margin:0}.source-link{font-size:14px;color:var(--orange);text-decoration:underline;display:inline-block;margin:10px 0}.note-list{display:grid;gap:14px}.note-item{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:20px}.note-item p{white-space:pre-wrap;color:var(--muted);margin:8px 0}.note-item .actions{margin-top:15px}.empty{text-align:center;padding:45px 20px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.empty .ico{width:70px;height:70px;margin-bottom:14px}.empty p{color:var(--muted);margin:10px 0 22px}form{padding:24px}label{display:block;font-size:15px;margin-bottom:17px}input,textarea{display:block;width:100%;background:var(--panel);border:1px solid #5b514a;color:var(--text);border-radius:12px;padding:13px;margin-top:7px;font-size:16px}form .primary{width:100%;margin-top:16px}#toast{position:fixed;left:50%;bottom:103px;transform:translateX(-50%);border-radius:12px;padding:12px 20px;background:#ead0ae;color:#251d15;z-index:40;max-width:90vw;display:none}.hotel-card{margin-bottom:16px}.hotel-card h3{margin:10px 0}.hotel-card .date{color:var(--orange)}.flight{padding:23px;margin-bottom:17px}.flight-times{display:flex;justify-content:space-between;gap:15px;margin-top:20px}.flight-times strong{font-size:30px;display:block}.flight-times span{font-size:14px;color:var(--muted)}.flight-route{border-bottom:1px dashed #8b6247;margin:15px 0}.split-rule{height:1px;background:var(--line);margin:22px 0}.tiny{font-size:13px;color:var(--muted)}.pending-panel{padding:32px 23px}.pending-panel h2{margin-bottom:12px}.pending-panel p{color:var(--muted);margin-bottom:20px}@media(min-width:900px){body{padding:25px 0}.app{border:1px solid #34302c;border-radius:28px;overflow:clip}header{border-radius:28px 28px 0 0}.bottom{bottom:12px;width:646px;margin-left:16px;border:1px solid var(--line);border-radius:22px}main{padding:27px 27px 128px}.hero{height:275px}#drawer{margin-left:calc(50% - 340px)}}@media(max-width:410px){main{padding:20px 16px 115px}header{padding:0 16px;gap:12px}.brand{font-size:19px}.ticker{padding:0 16px}.hero-copy{padding:22px}.hero h1{font-size:30px}.hero{height:260px}.status-card{padding:14px 11px;gap:8px}.status-card .ico{width:29px;height:29px}.trip-card{padding:17px 12px;gap:10px;grid-template-columns:57px 1fr 12px}.trip-name{font-size:17px}.timeline{padding-left:20px}.trip-row:before{left:-27px}.place-grid{gap:11px}.place-card{padding:16px;min-height:273px}.place-card h3{font-size:17px}.place-card .intro{font-size:14px}.place-art .ico{width:53px;height:53px}.time-pair{gap:22px}.day-overview{padding:20px}.day-overview h2{font-size:22px}.quick-grid{gap:8px}.quick{font-size:13px}.preview-card{padding:18px}}@media(prefers-reduced-motion:no-preference){.ticker #ticker-text{animation:ticker 22s linear infinite}@keyframes ticker{0%,20%{transform:translateX(0)}80%{transform:translateX(-30%)}100%{transform:translateX(0)}}} @media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* V0.2: compact travel tools, stable left-only marquee, real photographs */
.ticker{display:grid;grid-template-columns:auto minmax(0,1fr);position:relative;isolation:isolate}.ticker #ticker-text{position:relative;display:block;overflow:hidden;white-space:nowrap;text-overflow:clip;width:100%;animation:none!important}.ticker #ticker-text>span{display:inline-block;min-width:100%;padding:0 18px;animation:marquee-left 30s linear infinite;will-change:transform}@keyframes marquee-left{from{transform:translateX(100%)}to{transform:translateX(-100%)}}.ticker-label{position:relative;z-index:1;background:#2a211c}.preview-step{width:36px;height:36px;border-radius:10px;background:#ffffff0b;font-size:26px;color:var(--gold)}.preview-location{font-size:15px;color:var(--muted);margin-top:9px}.preview-card .primary{margin-top:17px}.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tool-entry{background:var(--panel);border:1px solid var(--line);border-radius:17px;min-height:95px;display:flex;align-items:center;gap:12px;padding:17px;text-align:left;font-size:16px;font-weight:600}.tool-entry .ico{width:36px;height:36px;flex-shrink:0}.tool-entry>span:not(.ico):not(.chevron){flex:1;overflow-wrap:anywhere}.tool-entry .chevron{font-weight:400}.place-card{padding:0;min-height:326px;overflow:hidden}.place-photo{display:block;width:100%;height:145px;object-fit:cover}.place-copy{padding:16px;display:flex;flex-direction:column;flex:1;width:100%}.place-region{font-size:13px;color:var(--muted);margin-bottom:4px}.place-card .intro{margin-top:7px}.place-card .place-date{margin-top:12px}.detail-photo{width:100%;max-height:320px;object-fit:cover;border-radius:16px}.reminder-meta{font-size:13px;color:var(--gold);margin-top:8px}.editable-reminder>div{flex:1}.reminder-panel>.muted{font-size:15px}.channel-choices{display:flex;gap:22px;flex-wrap:wrap}.channel-choices label{display:flex;align-items:center;gap:10px}.channel-choices input{width:19px;height:19px;margin:0;accent-color:var(--orange)}select{display:block;width:100%;background:var(--panel);border:1px solid #5b514a;color:var(--text);padding:13px;border-radius:12px;margin-top:7px;font-size:16px}#reminder-editor{width:min(100% - 24px,620px);max-height:90dvh;border-radius:25px;margin:auto;overflow:auto}@media(max-width:410px){.tool-entry{padding:15px 12px;font-size:15px;gap:9px;min-height:85px}.tool-entry .ico{width:31px;height:31px}.place-photo{height:125px}.place-card{min-height:320px}.place-copy{padding:13px}}@media(prefers-reduced-motion:reduce){.ticker #ticker-text>span{animation:none;transform:none;padding:0}}
.time-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.time-pair strong{font-size:clamp(20px,4.8vw,25px);overflow-wrap:anywhere}.ticker:hover #ticker-text>span{animation-play-state:paused}

/* Gotogo shared mobile layout v0.3 */
[hidden]{display:none!important}.status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.status-card{min-width:0;min-height:142px;height:100%;align-items:flex-start;background:#27303b;border:1px solid #3a495b}.status-card:nth-child(2){background:#2e303e;border-color:#46475e}.status-card strong{overflow-wrap:anywhere;font-size:16px;line-height:1.5}.status-card .ico{flex-shrink:0}.status-card>div{min-width:0}
#view>.section{padding:18px;border-radius:22px;margin:18px 0;background:#243239;border:1px solid #34464f}#view>.section:nth-of-type(3){background:#302b3d;border-color:#47405a}#view>.section:nth-of-type(4){background:#3a2d2c;border-color:#563e3c}#view>.section:nth-of-type(5){background:#283545;border-color:#3b4e64}#view>.section:nth-of-type(6){background:#2e352b;border-color:#434e3e}.section .section-head{margin-bottom:16px}.section .panel{background:#191f25b0}.quick{background:#1d222dcc;border:1px solid #494252}.preview-card{background:#18252e;border-color:#415564}
.tool-grid{display:grid;grid-template-columns:1fr;gap:10px}.tool-entry{min-height:64px;height:auto;display:flex;gap:14px;padding:12px 16px;background:#27323d;border:1px solid #3a4b5a;border-radius:16px;text-align:left}.tool-entry:nth-child(3n+2){background:#30303e;border-color:#48465b}.tool-entry:nth-child(3n){background:#31382e;border-color:#46523e}.tool-entry .ico{width:34px;height:34px;flex-shrink:0}.tool-entry span:not(.ico):not(.chevron){flex:1;min-width:0;font-size:17px}.tool-entry .chevron{margin-left:auto}.back-button{border:0;background:transparent;color:#eac7aa;padding:10px 0;margin-bottom:14px;font-size:17px;font-weight:600;min-height:44px;cursor:pointer}.drawer-brand{display:flex;align-items:center;gap:12px}.drawer-brand img{width:42px;height:42px;border-radius:11px}.drawer-brand h2{font-size:19px;margin:0}.menu-group .ico{width:26px;height:26px}.menu-group a{font-size:17px;min-height:48px}.list-item{margin-bottom:14px}.list-body,.user-info p{white-space:pre-wrap;margin:16px 0;overflow-wrap:anywhere}.is-done h3{text-decoration:line-through;color:#acb6ac}.copy-button{display:inline-flex;padding:4px 10px;border:1px solid #596675;background:#293645;color:#fff;border-radius:8px;font-size:14px;min-height:36px;margin:4px}.navigation-block .primary{display:flex;margin:10px 0}.parking-block{background:#25323c;padding:18px;border-radius:16px;border:1px solid #405364}.detail-block p{margin-bottom:10px;line-height:1.75}.map-entry{margin:14px 0}.user-info{margin:18px 0}.ticker{overflow:hidden}.ico{background-image:url('assets/icons-color.webp')}
@media(max-width:380px){.status-card{padding:13px;display:block;min-height:164px}.status-card .ico{margin-bottom:6px}.status-card strong{font-size:16px}#view>.section{padding:15px}}

#collection-editor{width:min(100% - 24px,620px);max-height:90dvh;border-radius:25px;margin:auto;overflow:auto}.section .quick-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.drawer-top{align-items:center}.drawer-top .drawer-brand h2{margin:0}.navigation-block .primary{white-space:normal;overflow-wrap:anywhere;text-align:center}

/* V0.4: compact summaries and clear actionable buttons */
.status-card{min-height:0;height:auto;padding:14px;align-items:center;justify-content:flex-start}.status-card strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font-size:16px;line-height:1.5}.status-card .label{font-size:14px}.daily-fact{font-size:16px;gap:0}.day-overview .daily-fact{margin-top:10px}.trip-card{grid-template-columns:minmax(0,1fr) 18px;align-items:center}.time-range{font-size:18px;color:var(--gold);font-weight:700;margin-bottom:8px}.trip-card .card-meta{font-size:16px;margin:8px 0}.card-location,.preview-location{font-size:16px;display:flex;gap:10px;align-items:flex-start}.location-pin{display:inline-block;width:13px;height:13px;flex-shrink:0;background:#e6a57e;border-radius:50% 50% 50% 0;transform:rotate(-45deg);margin:7px 3px 0;position:relative}.location-pin:after{content:'';position:absolute;width:5px;height:5px;left:4px;top:4px;border-radius:50%;background:#27282c}.home-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.text-button,.source-link,.back-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 13px;border-radius:12px;background:#36414d;border:1px solid #536070;color:#f4e0c6;font-size:15px;line-height:1.4;text-align:center}.source-link{margin:10px 0}.section-head h2{min-width:0}.section-head .text-button{flex-shrink:0}.weather-card .ico{width:40px;height:40px}.weather-now{display:flex;align-items:center;gap:18px;margin:14px 0}.weather-now strong{font-size:42px;line-height:1.3}.weather-now span{font-size:18px}.weather-stats{display:flex;gap:12px;flex-wrap:wrap;font-size:17px}.weather-updated{margin:14px 0;font-size:14px}.weather-loading{margin:20px 0;font-size:16px}.weather-more{margin-top:16px;display:flex;flex-wrap:wrap;gap:12px}.transport-detail .ico{width:32px;height:32px;float:left;margin-right:12px}.collection-list{display:grid;gap:12px}.collection-card{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;align-items:start;border:1px solid #44505c;background:#28323c;padding:15px;border-radius:18px;min-height:150px}.shopping-card{grid-template-columns:26px 76px minmax(0,1fr);min-height:186px}.check-control{margin:0;display:flex;align-items:center;min-height:44px}.check-control input{width:24px;height:24px;accent-color:var(--orange);margin:0;padding:0;cursor:pointer}.shopping-thumb{width:76px;height:76px;background:#1c252e;border-radius:14px;display:grid;place-items:center;overflow:hidden}.shopping-thumb img{width:100%;height:100%;object-fit:contain;background:#fff}.shopping-thumb .ico{width:46px;height:46px}.collection-copy{min-width:0}.collection-copy h3{font-size:18px;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:27px}.collection-copy>p{font-size:16px;color:#bcc6ce;margin:9px 0;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:25px}.collection-card .actions{gap:8px;flex-wrap:wrap}.collection-card .secondary{font-size:14px;min-height:40px;padding:8px 11px}.small-delete{color:#e6b7b7}.item-tags{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0;font-size:14px}.item-tags span{background:#111a244d;border-radius:6px;padding:3px 7px}.is-done{opacity:.65}.list-progress{margin:18px 0 0;padding:15px 17px;border:1px solid #445565;border-radius:16px;background:#263443}.list-progress strong{font-size:18px}.list-progress progress{display:block;width:100%;height:12px;margin-top:11px;accent-color:var(--orange)}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.photo-upload input{font-size:16px}.photo-actions{display:flex;align-items:center;gap:18px;margin-bottom:18px}#photo-preview{width:110px;height:110px;border:1px solid #526070;border-radius:16px;background:#1c252e;display:grid;place-items:center;overflow:hidden}#photo-preview img{width:100%;height:100%;object-fit:contain;background:#fff}#photo-preview .ico{width:64px;height:64px}.service-help{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.menu-group a{background:#272f38;border:1px solid #3c4753;border-radius:12px;padding:10px 12px;margin:6px 0}.menu-group .ico{width:24px;height:24px}.collection-card:not(.shopping-card):not(:has(.check-control)){grid-template-columns:1fr}.detail-block .secondary{margin:5px 0;overflow-wrap:anywhere}.navigation-block .primary{min-height:48px}.section .muted{font-size:16px}@media(max-width:380px){.status-card{min-height:0;display:flex;padding:12px}.trip-card{grid-template-columns:minmax(0,1fr) 14px}.shopping-card{grid-template-columns:24px 60px minmax(0,1fr);gap:8px;padding:12px}.shopping-thumb{width:60px;height:60px}.collection-copy h3{font-size:17px}.collection-card .secondary{padding:8px;font-size:14px}.form-pair{grid-template-columns:1fr}}

.shopping-card{height:260px;min-height:0}.shopping-card .collection-copy h3{height:54px}.shopping-card .collection-copy>p{height:25px;-webkit-line-clamp:1}.shopping-card .item-tags{height:38px;overflow:hidden}.shopping-card .actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.shopping-card .actions .secondary{white-space:nowrap;font-size:14px;padding:7px}.shopping-card .collection-copy{height:100%;overflow:hidden}.list-progress progress{border-radius:6px}.tool-entry{min-height:64px}

/* V0.4.1: stable home slots and bottom-safe navigation */
.status-grid{align-items:stretch}
.status-card{display:flex;align-items:center;height:7rem;min-height:7rem;padding:12px 14px}
.status-card>div{width:100%;display:grid;grid-template-rows:22px 48px;gap:4px}
.status-card .label{line-height:22px;margin:0;white-space:nowrap}
.status-card strong{height:48px;line-height:24px;-webkit-line-clamp:2;align-self:start}
.preview-card{height:21.875rem;min-height:21.875rem;display:grid;grid-template-rows:44px 66px 48px 48px minmax(52px,1fr);gap:8px;padding:18px;overflow:hidden}
.preview-day{margin:0;min-width:0;gap:8px}
.preview-day .eyebrow{min-width:0;text-align:center;line-height:20px;font-size:13px;letter-spacing:.5px}
.preview-step{flex:0 0 36px}
.preview-card h3{margin:0;line-height:33px;font-size:22px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere}
.preview-caption{margin:0;line-height:24px;font-size:16px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere}
.preview-location{margin:0;line-height:24px;min-width:0;overflow:hidden}
.preview-location .pin{flex-shrink:0}
.preview-card .primary{margin:0;align-self:end;min-height:52px}
.bottom{position:fixed;inset:auto auto 0 50%;transform:translateX(-50%);width:min(100%,680px);height:calc(86px + env(safe-area-inset-bottom,0px));padding:8px 16px calc(8px + env(safe-area-inset-bottom,0px));margin:0;border:0;border-top:1px solid var(--line);border-radius:0;z-index:15}
main{padding-bottom:calc(118px + env(safe-area-inset-bottom,0px))}
@media(max-width:380px){.status-card{height:7rem;min-height:7rem;padding:12px}.preview-day .eyebrow{font-size:12px;letter-spacing:0}}

/* V0.2.1 — black winter, snow white and ice blue. Geometry unchanged. */
:root{color-scheme:dark;--bg:#090c11;--panel:#171d26;--soft:#202a36;--line:#303d4c;--text:#f4f7fb;--muted:#afbccc;--orange:#a9ddfa;--gold:#c3e8fc;--red:#ee8c9b}
body{background:#05070b}.app{background:var(--bg);position:relative;isolation:isolate}header{background:#0c1018f5;color:var(--text);border-color:#26323f}.bottom{background:#0c111bf5;border-color:#2e3b4a}.bottom a.active{background:#a9ddfa14;color:#c3e8fc}.ticker,.ticker-label{background:#111b28;color:#d5eafa}
.panel,.preview-card,.day-overview,.trip-card,.note-item,.place-card,.collection-card,.tool-entry,.quick,.status-card,.status-card:nth-child(2),.tool-entry:nth-child(3n+2),.tool-entry:nth-child(3n){background:#171d26;border-color:#303d4c;color:var(--text)}.status-card:nth-child(2){background:#192330}#view>.section,#view>.section:nth-of-type(n){background:#111822;border-color:#263342}.section .panel,.section .quick{background:#1a2431}.menu-group a{background:#18212d;border-color:#303d4c}
dialog{background:#111822;color:var(--text);border-color:#354558}dialog::backdrop{background:#000b}.primary{background:#addffa;color:#102233;box-shadow:0 3px 16px #64b5e51a}.primary:hover{background:#d0edff}.secondary,.text-button,.source-link,.back-button,.copy-button{background:#202d3d;color:#e5f3ff;border-color:#3a4d62}.secondary:hover,.text-button:hover,.back-button:hover{background:#2c3d51}.pill{background:#263c50;color:#d7efff}.day-tabs a{background:#141c27;border-color:#303d4c}.day-tabs a.selected{background:#304c65;color:#fff;border-color:#88badc}.collection-copy>p,.is-done h3{color:#afbccc}
input,select,textarea{background:#0e1621;color:#f4f7fb;border-color:#43546b;font-size:16px}input::placeholder,textarea::placeholder{color:#889caf}.location-pin{background:#b7e4fd}.location-pin:after{background:#17212f}.hero-copy{color:#fff;text-shadow:0 2px 8px #0009}.hero .eyebrow,.hero .date,.hero .countdown{color:#ecf7ff}.hero:after{background:linear-gradient(90deg,#071423d9,#0a1b3070 48%,transparent)}.version{color:#aebfd0}.list-progress{background:#192534;border-color:#35475c}.tiny,.muted{color:var(--muted)}.flight-times strong{color:#c3e8fc}.preview-step{color:#c3e8fc;background:#26374b}.time-range,.eyebrow{color:#bde5fb}.shopping-thumb{background:#253244}.item-tags span{background:#273a4e}.check-control input{accent-color:#a9ddfa}#toast{background:#d9efff;color:#122737}
/* Snow is decorative, stays behind cards and never intercepts taps. */
.app:before,.app:after{content:'';position:fixed;inset:0;pointer-events:none;z-index:-1;background-repeat:repeat;background-image:radial-gradient(circle at 25px 35px,#fff9 0 1px,transparent 1.9px),radial-gradient(circle at 105px 120px,#fff5 0 1.5px,transparent 2.2px),radial-gradient(circle at 180px 65px,#fff7 0 1px,transparent 1.8px);background-size:230px 250px;opacity:.42}.app:after{background-size:370px 390px;opacity:.25;transform:translateX(55px)}
@media(prefers-reduced-motion:no-preference){.app:before{animation:snow-drift 22s linear infinite}.app:after{animation:snow-drift 35s linear infinite}@keyframes snow-drift{from{background-position:0 -250px}to{background-position:25px 250px}}}
@media(prefers-reduced-motion:reduce){.app:before,.app:after{animation:none}}
