@charset "UTF-8";
.save-area{display:flex;align-items:center;gap:8px}.save-area>button{background:none;border:0;text-decoration:underline;font-size:11px;color:var(--orange);padding:6px}.save-area>button[hidden]{display:none}main input:disabled,main select:disabled{cursor:wait}main button:disabled:not(.unpack-button){cursor:wait;opacity:.55}
:root{--paper:#f6f5ef;--ink:#303b30;--muted:#72776a;--line:#e6e7dc;--orange:#b94f2f;--soft-orange:#f5e9df;--olive:#354633;--white:#fffefb;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}button,input,select{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--orange)}button{color:inherit}svg{display:block}a{color:inherit}.page{max-width:1240px;margin:auto;padding:0 48px}.site-header{height:96px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;text-decoration:none;font-size:27px;letter-spacing:-1.3px;font-weight:700}.brand-mark{width:33px;height:33px;border-radius:10px;background:var(--orange);color:#fff5e7;font-family:Georgia,serif;font-style:italic;font-size:29px;line-height:28px;letter-spacing:-4px;text-indent:-3px;text-align:center;margin-right:10px}.brand-dot{color:var(--orange)}.header-note{font-size:10px;letter-spacing:1.8px;font-weight:600;color:var(--muted)}.save-status{display:flex;align-items:center;gap:7px;font-size:11px;color:#606c58}.save-dot{width:6px;height:6px;background:#6b875d;border-radius:50%}.save-status.error{max-width:260px;color:var(--orange)}.save-status.error .save-dot{background:var(--orange)}.intro{display:flex;justify-content:space-between;align-items:center;min-height:215px;padding:27px 0}.eyebrow{margin:0;font-size:10px;letter-spacing:1.55px;font-weight:650}.intro .eyebrow{display:flex;align-items:center;gap:8px;color:var(--orange);font-size:9px}.intro .eyebrow span{width:16px;height:1px;background:var(--orange)}h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:43px;line-height:1.12;letter-spacing:-1.6px;margin:14px 0 12px}.intro-copy{color:var(--muted);font-size:14px;margin:0;line-height:1.7}.travel-art{width:235px;margin:0 12px 0 25px;flex-shrink:0}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 293px;gap:26px;align-items:start}.packing-panel{background:var(--white);border:1px solid #e2e4d7;border-radius:15px;overflow:hidden;box-shadow:0 4px 12px #303b3003}.trip-header{padding:27px 28px 23px}.trip-header .eyebrow{font-size:9px;color:#808575;display:block}.trip-name-wrap{display:flex;align-items:center;gap:10px;margin:9px 0 6px}.trip-name-wrap input{background:transparent;border:0;border-bottom:1px dashed #d6d8ca;border-radius:0;color:var(--ink);font-family:Georgia,"Times New Roman",serif;font-size:29px;letter-spacing:-.6px;width:100%;min-width:0;padding:0 0 4px}.trip-name-wrap input:focus{border-color:var(--orange)}.pencil{width:15px;flex-shrink:0;fill:none;stroke:#909783;stroke-width:1.4}.trip-subtitle{font-size:12px;color:var(--muted);margin:7px 0 0}.list-toolbar{padding:0 28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-height:63px;display:flex;justify-content:space-between;align-items:center;gap:10px}.filters{display:flex;align-self:stretch;gap:20px}.filters button{border:0;border-bottom:2px solid transparent;background:none;padding:18px 0 16px;font-size:12px;white-space:nowrap;color:#72776a}.filters button[aria-pressed="true"]{border-bottom-color:var(--orange);color:var(--orange);font-weight:650}.filters button span{font-size:9px;display:inline-block;min-width:17px;border-radius:4px;background:#f0f0e9;padding:2px 4px;margin-left:3px;color:#68705e}.filters button[aria-pressed="true"] span{background:var(--soft-orange);color:var(--orange)}.list-hint{font-size:10px;color:#858a7b;line-height:1.5;max-width:90px;text-align:right}.packing-list{padding:23px 28px 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:28px}.category{margin-bottom:21px;min-width:0}.category-heading{display:flex;align-items:center;gap:8px;padding-bottom:10px;margin:0 0 1px;border-bottom:1px solid var(--line)}.category-icon{height:17px;width:17px;fill:none;stroke:#747f67;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.category h2{font-size:12px;font-weight:650;margin:0}.category-count{margin-left:auto;font-size:10px;color:#8b9180}.item-list{list-style:none;padding:0;margin:0}.item-row{display:flex;align-items:center;min-height:43px;gap:3px;border-bottom:1px solid #f0f0e8}.item-row:last-child{border:0}.item-label{display:flex;align-items:center;gap:9px;cursor:pointer;min-width:0;flex:1;padding:9px 0;line-height:1.45;font-size:12px}.item-label input{appearance:none;-webkit-appearance:none;position:relative;margin:0;width:17px;height:17px;flex-shrink:0;border:1px solid #ccd1c1;border-radius:5px;background:#fffefb;cursor:pointer}.item-label input:checked{background:#758466;border-color:#758466}.item-label input:checked:after{content:"";position:absolute;left:5px;top:2px;width:4px;height:8px;border:solid white;border-width:0 1.6px 1.6px 0;transform:rotate(45deg)}.item-label span{overflow-wrap:anywhere}.item-row.is-packed .item-label span{color:#929789;text-decoration:line-through;text-decoration-color:#c1c6b8}.delete-item{flex-shrink:0;background:none;border:0;border-radius:5px;padding:4px;color:#9b9e91;opacity:0;line-height:0;transition:opacity .15s}.delete-item svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.5}.item-row:hover .delete-item,.item-row:focus-within .delete-item{opacity:1}.delete-item:hover{color:var(--orange);background:var(--soft-orange)}.add-form{border-top:1px solid var(--line);background:#fafaf5;padding:22px 28px 13px}.add-form>label{font-size:12px;font-weight:600;display:block;margin-bottom:12px}.add-fields{display:flex;gap:7px}.add-fields input,.add-fields select{min-width:0;border:1px solid #dfe2d5;border-radius:7px;background:var(--white);padding:11px 12px;color:var(--ink);font-size:12px}.add-fields input{flex:1;width:100px}.add-fields input::placeholder{color:#92978a}.add-fields select{max-width:126px;padding:10px 6px}.add-button{border:1px solid var(--orange);border-radius:7px;white-space:nowrap;background:var(--orange);color:#fffaf1;font-weight:600;font-size:12px;padding:10px 12px;display:flex;align-items:center;gap:5px}.add-button:hover{background:#9e4328}.add-button span{font-size:18px;line-height:14px;font-weight:400}.form-message{min-height:15px;margin:7px 0 0;font-size:11px;line-height:1.5;color:var(--orange)}.sidebar{display:grid;gap:20px}.progress-card{background:var(--olive);border-radius:15px;padding:26px 23px 19px;color:#f7f5e9;text-align:center}.progress-card .eyebrow{font-size:9px;letter-spacing:1.7px;color:#c5cdb7}.progress-ring{position:relative;width:174px;height:174px;margin:18px auto 17px}.progress-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.progress-ring circle{fill:none;stroke-width:8}.ring-track{stroke:#56654a}.ring-fill{stroke:#e6bd7e;stroke-dasharray:477.522;stroke-dashoffset:477.522;stroke-linecap:round;transition:stroke-dashoffset .5s ease}.progress-ring>div{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.progress-ring strong{font-family:Georgia,serif;font-size:50px;font-weight:400;line-height:1.1;letter-spacing:-2px}.progress-ring strong span{font-family:var(--sans);font-size:19px;margin-left:3px;letter-spacing:-1px}.ring-caption{font-size:10px;color:#c8d0bb;margin-top:6px}.progress-card h2{font-family:Georgia,serif;font-weight:400;font-size:23px;letter-spacing:-.45px;margin:0 0 9px}.progress-card>p:not(.eyebrow){font-size:12px;color:#c8d0bb;line-height:1.7;margin:0 auto;max-width:200px;min-height:41px}.progress-summary{display:flex;justify-content:space-around;gap:12px;margin-top:24px;padding:19px 0;border-top:1px solid #5b6a4f;border-bottom:1px solid #5b6a4f;color:#c5ceb7;font-size:11px}.progress-summary span+span{border-left:1px solid #5b6a4f;padding-left:31px}.progress-summary strong{font-size:17px;color:#fff9ec;font-weight:500;margin-right:4px}.unpack-button{margin-top:16px;border:0;padding:5px;background:none;font-size:10px;color:#e5e9dc}.unpack-button span{margin-left:7px;font-size:15px}.unpack-button:disabled{opacity:.45}.unpack-button:not(:disabled):hover{color:#e6bd7e}.little-note{position:relative;background:#eeeadd;border:1px solid #e4dfcf;border-radius:12px;padding:25px 23px 22px}.little-note>svg{width:25px;height:25px;fill:none;stroke:#a17b3e;stroke-width:1.3;position:absolute;right:20px;top:20px}.little-note .eyebrow{font-size:8px;letter-spacing:1px;color:#87774f;padding-top:3px}.little-note h2{font-family:Georgia,serif;font-size:25px;letter-spacing:-.7px;line-height:1.16;font-weight:400;margin:17px 0 13px}.little-note>p:last-child{font-size:11px;line-height:1.8;color:#7c7c6a;margin:0}.device-note{position:relative;padding-left:24px;margin:0 10px;color:#808574;font-size:10px;line-height:1.8}.device-note svg{width:15px;height:18px;stroke:#8c947f;stroke-width:1.4;fill:none;position:absolute;left:0;top:2px}footer{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:46px;margin-bottom:28px;color:#8a907f;font-size:10px}footer>span:last-child{font-size:8px;letter-spacing:1.5px}footer>span:last-child span{font-size:16px;margin-left:8px}.empty-state{grid-column:1/-1;padding:35px 12px 50px;text-align:center}.empty-state h2{font-family:Georgia,serif;font-weight:400;font-size:26px;margin:0 0 10px}.empty-state p{font-size:12px;color:var(--muted);line-height:1.7;margin:0}.noscript{padding:20px;color:var(--orange)}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);display:flex;align-items:center;gap:20px;border:1px solid #57664b;background:var(--olive);color:#fff9ec;box-shadow:0 6px 24px #26332122;border-radius:10px;padding:13px 17px;font-size:12px;max-width:calc(100% - 32px);width:max-content;z-index:5}.toast[hidden]{display:none}.toast-message{overflow-wrap:anywhere}.toast button{border:0;background:none;color:#e6bd7e;text-decoration:underline;padding:5px;flex-shrink:0}
@media(min-width:1300px){.page{max-width:1280px}.workspace{grid-template-columns:minmax(0,1fr) 310px}.packing-list{column-gap:35px}.list-hint{max-width:none}}
@media(max-width:1050px){.page{padding:0 28px}.workspace{grid-template-columns:minmax(0,1fr) 265px;gap:20px}.list-hint{display:none}.packing-list{column-gap:18px;padding:20px 22px 0}.trip-header{padding:25px 22px 22px}.list-toolbar{padding:0 22px}.add-form{padding:20px 22px 13px}.item-label{font-size:11px;gap:7px}.delete-item{padding:3px}.travel-art{width:205px;margin-right:0}h1{font-size:38px}.add-fields{flex-wrap:wrap}.add-fields input{flex-basis:60%}.add-fields select{flex:1;max-width:none}.add-button{flex-basis:100%;justify-content:center}.header-note{display:none}}
@media(max-width:760px){.page{padding:0 20px}.site-header{height:78px}.brand{font-size:25px}.save-status{font-size:10px}.intro{min-height:185px;position:relative;padding:30px 0}.intro>div:first-child{position:relative;z-index:1;max-width:80%}h1{font-size:36px;max-width:370px}.intro-copy{font-size:12px;max-width:230px}.travel-art{position:absolute;width:135px;right:-3px;bottom:17px;opacity:.8;margin:0}.intro .eyebrow{font-size:8px;letter-spacing:1px}.workspace{grid-template-columns:minmax(0,1fr)}.sidebar{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.progress-card{display:grid;grid-template-columns:85px minmax(0,1fr);column-gap:16px;align-items:center;text-align:left;padding:19px;grid-column:1/-1}.progress-card>.eyebrow{grid-column:1/-1;font-size:8px}.progress-ring{width:85px;height:85px;grid-column:1;grid-row:2/5;margin:15px 0 0}.progress-ring strong{font-size:29px;letter-spacing:-1px}.progress-ring strong span{font-size:13px}.ring-caption{font-size:7px;margin-top:1px}.progress-card h2{grid-column:2;margin:16px 0 4px;font-size:22px}.progress-card>p:not(.eyebrow){grid-column:2;min-height:0;max-width:none;font-size:11px;margin:0}.progress-summary{grid-column:2;font-size:10px;margin-top:11px;padding:10px 0;justify-content:space-between;gap:6px}.progress-summary strong{font-size:15px}.progress-summary span+span{padding-left:16px}.unpack-button{grid-column:1/-1;justify-self:center;margin-top:10px}.little-note{grid-column:1/-1;display:none}.device-note{grid-column:1/-1;justify-self:center;font-size:10px;margin:0}.device-note br{display:none}.device-note svg{height:14px;width:12px;top:1px}.packing-list{column-gap:28px;padding:22px 24px 0}.trip-header{padding:23px 24px}.trip-name-wrap input{font-size:28px}.list-toolbar{padding:0 24px;min-height:58px}.filters{gap:22px}.filters button{font-size:11px}.item-label{font-size:12px}.add-form{padding:20px 24px 12px}.add-fields input{flex-basis:auto}.add-fields select{flex:0 1 125px}.add-button{flex-basis:auto}.delete-item{opacity:.7}.category{margin-bottom:20px}footer{margin-top:30px;font-size:9px}footer>span:last-child{font-size:7px;letter-spacing:.7px}}
@media(max-width:440px){.page{padding:0 16px}.save-status{max-width:150px;line-height:1.4}.site-header{gap:12px}.intro>div:first-child{max-width:88%}h1{font-size:34px;max-width:270px}.travel-art{width:105px;bottom:22px;right:-6px}.intro-copy{max-width:215px}.packing-list{grid-template-columns:minmax(0,1fr);padding:22px 23px 0}.item-label{font-size:13px}.item-row{min-height:42px}.category{margin-bottom:23px}.category-heading{padding-bottom:9px}.category h2{font-size:12px}.delete-item{padding:6px}.add-fields input{flex-basis:100%}.add-fields select{flex:1}.add-button{flex:1;justify-content:center}.filters{gap:17px}.filters button{font-size:11px}.trip-name-wrap input{font-size:26px}.trip-header{padding:23px}.list-toolbar{padding:0 23px}.progress-card{column-gap:14px;padding:18px}.progress-card h2{font-size:20px}.device-note{font-size:9px;padding-left:19px}footer{align-items:start;gap:12px}footer>span:first-child{max-width:125px;line-height:1.7}footer>span:last-child{padding-top:3px}.toast{font-size:11px;gap:10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
