:root{--ink:#1d2521;--paper:#f6f1e8;--card:#fffdf8;--green:#1d4a40;--sage:#dce5d9;--line:#ded8cc;--muted:#6d746d;--orange:#8d531f;--radius:18px;font-family:ui-serif,Georgia,"Noto Serif TC",serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}.topbar,main{max-width:1120px;margin:auto}.topbar{height:80px;display:flex;justify-content:space-between;align-items:center;padding:0 28px}.brand{color:var(--ink);text-decoration:none;font-weight:800;letter-spacing:-.03em;font-size:18px}.brand span{display:inline-grid;place-items:center;width:29px;height:29px;margin-right:8px;background:var(--green);color:white;font:700 11px ui-sans-serif;border-radius:50%}.outline-button,.filter,.icon-button,.text-button{border:1px solid var(--line);background:transparent;padding:10px 14px;border-radius:10px;color:var(--ink)}.hero{margin:16px 28px 46px;padding:52px;min-height:292px;background:var(--green);color:#f9f5ec;border-radius:28px;display:flex;align-items:end;justify-content:space-between;gap:24px;background-image:radial-gradient(circle at 82% 20%,#477668 0 2px,transparent 3px),radial-gradient(circle at 78% 16%,#477668 0 1px,transparent 2px);background-size:27px 27px}.eyebrow{margin:0 0 10px;font:700 11px ui-sans-serif;letter-spacing:.16em;opacity:.72}.hero h1,h2,h3,p{margin-top:0}.hero h1{font-size:clamp(34px,5vw,62px);letter-spacing:-.06em;margin-bottom:16px}.hero h1 em{font-weight:400}.trip-meta{font:15px ui-sans-serif;opacity:.85;margin:0}.countdown{margin-left:16px;padding-left:16px;border-left:1px solid #93aea5}.primary-button{border:0;background:#dfe8d8;color:#173c34;border-radius:12px;padding:14px 17px;font-weight:800;white-space:nowrap}.primary-button span{font-size:20px;margin-left:14px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);margin:0 28px 65px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.metrics div{padding:20px 0}.metrics div+div{padding-left:30px;border-left:1px solid var(--line)}.metrics span,.item-card p,.item-date,.item-bottom span,.check-title p,.check-row small{display:block;font:13px ui-sans-serif;color:var(--muted)}.metrics strong{font-size:27px;letter-spacing:-.04em}.metrics small,.check-title small{font:14px ui-sans-serif;font-weight:400}.section-head{margin:0 28px 20px;display:flex;align-items:end;justify-content:space-between}.section-head h2,.check-title h2{font-size:32px;letter-spacing:-.05em;margin:0}.filters{display:flex;gap:6px}.filter.active{color:white;background:var(--green);border-color:var(--green)}.item-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 28px 72px}.item-card{background:var(--card);padding:20px;border-radius:var(--radius);border:1px solid #eee8dd;box-shadow:0 4px 18px #2b30290a}.item-top,.item-bottom,.item-actions{display:flex;justify-content:space-between;align-items:center;gap:10px}.badge{font:700 11px ui-sans-serif;padding:5px 8px;border-radius:999px}.badge-warn{background:#f3e5d3;color:var(--orange)}.badge-good{background:var(--sage);color:var(--green)}.item-card h3{font-size:19px;letter-spacing:-.04em;margin:22px 0 5px}.item-card p{margin-bottom:20px}.item-bottom strong{font-size:18px}.item-actions{margin-top:20px;padding-top:13px;border-top:1px solid var(--line)}.text-button{background:var(--green);color:#fff;border-color:var(--green);font-size:13px}.icon-button{font-size:12px;padding:8px;border:0}.danger{color:#9a3028}.check-mode{margin:0;padding:56px max(28px,calc((100vw - 1064px)/2));background:#e5eadf}.check-title{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:24px}.check-title>strong{font-size:34px;letter-spacing:-.05em}.luggage-group{background:#f8faf5;border-radius:14px;padding:17px;margin:12px 0}.luggage-group h3{font-size:14px;margin:0 0 10px}.luggage-group h3 span{float:right;color:var(--muted);font:13px ui-sans-serif}.check-row{display:flex;align-items:center;gap:13px;padding:12px 0;border-top:1px solid #dfe4d9;cursor:pointer}.check-row input{width:22px;height:22px;accent-color:var(--green)}.check-row strong{display:block;font-size:16px}.check-row i{margin-left:auto;color:var(--green);font:12px ui-sans-serif;font-style:normal}.mobile-nav{display:none}dialog{border:0;border-radius:18px;padding:0;max-width:560px;width:calc(100% - 32px);background:var(--card);color:var(--ink);box-shadow:0 25px 80px #17221c66}dialog::backdrop{background:#15231d88}.dialog-head{display:flex;justify-content:space-between;align-items:start}.dialog-head h2{margin:0;font-size:28px}.close-button{border:0;background:transparent;font-size:30px;line-height:1;color:var(--muted)}form{padding:25px}label{display:block;font:700 13px ui-sans-serif;margin:16px 0 0}input,select,textarea{width:100%;margin-top:7px;padding:11px 12px;background:white;border:1px solid #cfc9bf;border-radius:9px;color:var(--ink)}textarea{min-height:70px;resize:vertical}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.full{width:100%;margin-top:22px}.empty{margin:20px 28px 72px;color:var(--muted)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #c08842;outline-offset:3px}@media(max-width:650px){.topbar{height:66px;padding:0 18px}.outline-button{font-size:13px;padding:9px}.hero{margin:4px 16px 32px;padding:30px 24px;min-height:285px;display:block}.hero h1{font-size:40px;margin-top:55px}.trip-meta{line-height:1.8}.countdown{display:block;margin:10px 0 0;padding:0;border:0}.hero .primary-button{margin-top:22px;width:100%}.metrics{margin:0 16px 44px}.metrics div{padding:14px 0}.metrics div+div{padding-left:12px}.metrics strong{font-size:19px}.metrics span{font-size:11px}.section-head{margin:0 16px 15px}.section-head h2,.check-title h2{font-size:27px}.filters{gap:3px}.filter{padding:8px 9px;font-size:12px}.item-grid{display:block;margin:0 16px 45px}.item-card{margin-bottom:10px}.check-mode{padding:38px 16px 86px}.check-title p{max-width:220px}.check-title>strong{font-size:27px}.check-row i{display:none}.mobile-nav{position:fixed;bottom:0;left:0;right:0;height:67px;background:#fffdf8ed;backdrop-filter:blur(8px);display:flex;justify-content:space-around;align-items:center;border-top:1px solid var(--line);z-index:1}.mobile-nav a{color:var(--ink);text-decoration:none;font:700 12px ui-sans-serif}.mobile-nav button{width:45px;height:45px;border:0;border-radius:50%;background:var(--green);color:white;font-size:28px}.two-col{grid-template-columns:1fr}}
