:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#203333;background:#faf8f4;font-synthesis:none;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.045em}a{color:inherit}input{min-width:0;border:1px solid #c9d2ce;border-radius:12px;background:#fff;color:#173b3c;padding:13px 15px}input:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #dd876b;outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.17em;color:#537771;margin-bottom:10px}.eyebrow.light{color:#b8dbce}.button{border:0;border-radius:12px;padding:14px 20px;display:inline-flex;align-items:center;justify-content:center;gap:22px;text-decoration:none;font-weight:750;white-space:nowrap}.button.primary{background:#184d49;color:#fff}.button.primary:hover{background:#103d39}.button.cream{background:#f8f2e8;color:#184d49}.button.cream:hover{background:#fff}.button.small{padding:10px 15px;background:#184d49;color:white;font-size:.85rem;gap:7px}.quiet-button{border:0;background:none;padding:7px 0;color:#255b56;font-weight:700}.quiet-button:hover{text-decoration:underline}.danger-text{color:#a4453e}.notice{padding:13px 16px;border-radius:12px;margin:15px 0}.notice.error{background:#fff0ed;color:#92392e;border:1px solid #f2c6bd}.notice.success{background:#eaf4ec;color:#205b42;border:1px solid #c7e1d2}.loading-screen{min-height:100vh;display:grid;place-items:center;color:#537771}
.site-shell{min-height:100vh;display:flex;flex-direction:column}.site-header{background:#f9f6f0;border-bottom:1px solid #e6e8e1}.header-inner{max-width:1250px;margin:auto;min-height:88px;padding:0 34px;display:flex;align-items:center;gap:42px}.brand{border:0;background:none;padding:0;display:flex;align-items:center;gap:12px;color:#18433f;font-weight:850;font-size:1.1rem;letter-spacing:-.04em;white-space:nowrap}.brand em,.login-card h1 em,.hero h1 em{font-family:Georgia,serif;font-style:italic;font-weight:400}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px 12px 12px 4px;background:#d87f61;color:#fff;font-weight:850;font-size:1.25rem;letter-spacing:-.08em}.header-inner nav{display:flex;align-items:center;gap:10px;margin-left:auto}.nav-link,.logout-link{border:0;background:none;color:#456661;padding:10px 12px;font-size:.88rem;font-weight:700;border-radius:9px}.nav-link.active,.nav-link:hover{background:#e8efe9;color:#184d49}.count-pill{display:inline-block;margin-left:3px;padding:2px 6px;border-radius:99px;background:#e4c0ad;color:#4a332d;font-size:.71rem}.logout-link{margin-left:8px}.logout-link:hover{text-decoration:underline}.site-footer{margin-top:auto;padding:28px max(32px,calc((100vw - 1180px)/2));display:flex;justify-content:space-between;gap:20px;border-top:1px solid #e7e8df;color:#67817b;font-size:.83rem}.site-footer span:first-child{font-weight:850;color:#184d49}
.hero{background:#174b48;color:#fff;overflow:hidden}.hero-inner{max-width:1250px;margin:auto;min-height:496px;padding:76px 34px 74px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:30px}.hero-copy{position:relative;z-index:2}.hero h1{font-size:clamp(3.6rem,6vw,5.8rem);line-height:.98;margin:0 0 22px;font-weight:760}.hero h1 em{color:#f3c0a6}.hero-copy>p:not(.eyebrow){max-width:490px;color:#d6e5dd;font-size:1.05rem;line-height:1.65;margin-bottom:29px}.hero-graphic{position:relative;height:380px;min-width:0}.graphic-circle{position:absolute;width:380px;height:380px;border:1px solid #6f9a8b;border-radius:50%;left:25%;top:0;box-shadow:0 0 0 44px #ffffff08,0 0 0 88px #ffffff04}.graphic-bag{position:absolute;left:38%;top:83px;width:230px;height:236px;background:#d78768;border-radius:30px 30px 36px 36px;transform:rotate(-10deg);box-shadow:26px 28px 0 #103e3a,0 30px 70px #102f2c70}.bag-handle{position:absolute;border:17px solid #e7b096;border-bottom:0;border-radius:60px 60px 0 0;width:104px;height:72px;left:63px;top:-57px}.bag-line{position:absolute;top:48px;left:27px;right:27px;border-top:2px solid #ecbba5}.bag-tag{position:absolute;right:-16px;top:103px;width:66px;height:80px;display:grid;place-items:center;background:#f7e9d4;border-radius:8px 8px 22px 8px;color:#1d4e49;font-weight:850;font-size:1.7rem;transform:rotate(14deg)}.graphic-card{position:absolute;display:flex;gap:10px;align-items:center;padding:12px 18px;background:#f8f3e8;color:#2b4c43;border-radius:9px;box-shadow:0 14px 35px #0e332d50;font-family:Georgia,serif;font-size:1.06rem;z-index:2}.graphic-card span:first-child{width:24px;height:24px;background:#6f9a80;border-radius:50%;display:grid;place-items:center;color:#fff;font-family:system-ui;font-size:.85rem}.card-back{left:11%;top:122px;transform:rotate(-9deg)}.card-front{right:0;bottom:44px;transform:rotate(7deg)}
.page-content{width:min(1180px,calc(100% - 68px));margin:0 auto}.section-block{padding:74px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:29px}.section-heading h2{font-size:clamp(2.4rem,4vw,3.7rem);margin:0 0 8px;color:#183f3c}.section-heading p:not(.eyebrow){color:#6b7d78;margin:0}.section-index{white-space:nowrap;color:#83958e;font-size:.72rem;font-weight:800;letter-spacing:.15em;margin-bottom:8px}.template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.template-card{overflow:hidden;border-radius:21px;background:#fff;border:1px solid #e7e9e3;box-shadow:0 12px 35px #213b2b0d;transition:transform .18s,box-shadow .18s}.template-card:hover{transform:translateY(-3px);box-shadow:0 18px 42px #213b2b1a}.template-illustration{position:relative;height:185px;display:grid;place-items:center;overflow:hidden}.template-card.terracotta .template-illustration{background:#f5d6c3}.template-card.forest .template-illustration{background:#d9e5d8}.template-card.blue .template-illustration{background:#d9e6eb}.template-illustration>span{position:relative;z-index:2;font-family:Georgia,serif;font-size:7rem;line-height:1;color:#b9644e}.template-card.forest .template-illustration>span{color:#52806a}.template-card.blue .template-illustration>span{color:#5b8393}.template-illustration i,.template-illustration b{position:absolute;width:185px;height:185px;border:1px solid #ffffffa0;border-radius:50%;left:-45px;top:20px}.template-illustration b{width:250px;height:250px;left:auto;right:-90px;top:55px}.template-copy{padding:24px 24px 19px}.template-copy h3{font-size:1.8rem;margin:0 0 7px;color:#183f3c}.template-copy>p:not(.eyebrow){color:#697c76;margin-bottom:24px}.template-bottom{border-top:1px solid #e8ece5;padding-top:17px;display:flex;justify-content:space-between;align-items:center;gap:10px;color:#617b74;font-size:.82rem;font-weight:700}.round-arrow{border:0;border-radius:50%;width:37px;height:37px;background:#174c47;color:#fff;font-size:1.3rem}.round-arrow:hover{background:#d17b5d}.creation-panel{margin-top:22px;padding:25px;background:#edf3ec;border:1px solid #cbded2;border-radius:18px;display:grid;grid-template-columns:1fr 1.2fr;gap:12px 28px;align-items:end}.creation-panel h2{font-size:1.55rem;color:#173f3b;margin:0 0 6px}.creation-panel p:not(.eyebrow){color:#617b74;margin:0}.creation-panel .quiet-button{justify-self:start}.create-form label,.edit-inline label,.add-inline label{display:block;font-weight:750;font-size:.85rem;margin:0 0 8px;color:#365f58}.inline-field{display:flex;gap:8px;align-items:center}.inline-field input{flex:1}.my-lists{padding-top:48px;border-top:1px solid #e6e9e2}.saved-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.saved-list{background:#f1f4ed;border:1px solid #dfe8dd;border-radius:18px;padding:22px;min-height:190px;display:flex;flex-direction:column;justify-content:space-between}.saved-list h3{margin:0 0 7px;font-size:1.4rem}.saved-list p:not(.eyebrow){color:#617b74;font-size:.87rem}.saved-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px}.mini-progress,.progress-track{height:8px;border-radius:99px;background:#d6e2d8;overflow:hidden}.mini-progress{width:46%}.mini-progress span,.progress-track span{display:block;height:100%;background:#d27e61;border-radius:99px}.text-arrow{border:0;background:none;padding:5px;color:#1c5a4e;font-weight:800}.text-arrow:hover{text-decoration:underline}.empty-list{text-align:center;padding:58px 20px;border:1px dashed #c8d8cc;border-radius:20px;color:#617b74}.empty-list span{font-size:3rem;color:#d78365}.empty-list h3{color:#214640;margin:8px 0}.empty-list p{margin:0}
.list-page{background:#faf8f4}.list-page .page-content{padding:31px 0 90px}.back-link{border:0;background:none;color:#426d62;font-weight:750;padding:4px 0;margin:0 0 42px}.back-link span{font-size:1.3rem;margin-right:8px}.list-intro{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:28px;align-items:center;margin-bottom:55px}.list-intro h1{font-size:clamp(2.8rem,5.5vw,5rem);line-height:1.02;color:#173f3b;margin:0 0 15px}.list-intro p:not(.eyebrow){color:#657d74}.list-toolbar{display:flex;gap:17px;flex-wrap:wrap;margin-top:24px}.progress-card{background:#e8f0e7;border-radius:22px;padding:24px;color:#204b43;text-align:center}.progress-number{font-size:4.1rem;letter-spacing:-.08em;font-weight:780;line-height:1}.progress-number span{font-size:1.7rem;margin-left:2px}.progress-card strong{display:block;margin-top:8px}.progress-card p{margin:2px 0 19px;color:#5e756b}.progress-track{height:10px;background:#cadccf}.list-body{max-width:880px}.list-body-heading{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e1e8df;margin-bottom:19px;color:#7b8b83;font-size:.85rem}.list-body-heading p{margin-bottom:12px}.category-card{background:#fff;border:1px solid #e3e9e2;border-radius:19px;padding:25px;margin-bottom:16px;box-shadow:0 7px 22px #203b2b0a}.category-heading{display:flex;align-items:center;gap:16px;margin-bottom:20px}.category-heading h2{font-size:1.45rem;color:#1d4943;margin:0 0 3px}.category-heading p{font-size:.82rem;color:#71867a;margin:0}.category-number{width:44px;height:44px;border-radius:12px;background:#e9f1e8;color:#34705a;font-weight:800;display:grid;place-items:center}.category-actions{margin-left:auto;display:flex;gap:5px}.icon-button{border:0;background:transparent;color:#5c7a70;border-radius:8px;min-width:32px;min-height:32px;font-size:1.25rem;display:grid;place-items:center}.icon-button:hover{background:#eef4ee;color:#1c5147}.icon-button.danger:hover{background:#fff0ed;color:#a4453e}.items{list-style:none;margin:0;padding:0}.item-row{min-height:51px;padding:8px 3px;border-top:1px solid #edf0eb;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.check-label{display:flex;align-items:center;gap:13px;min-width:0;flex:1;cursor:pointer;line-height:1.3}.check-label input{position:absolute;opacity:0;width:1px;height:1px}.custom-check{width:25px;height:25px;flex:0 0 25px;border:1.5px solid #99aea4;border-radius:7px;color:transparent;display:grid;place-items:center;font-size:.85rem}.check-label input:focus-visible+.custom-check{outline:3px solid #dd876b;outline-offset:3px}.check-label input:checked+.custom-check{background:#357260;border-color:#357260;color:white}.item-name{overflow-wrap:anywhere}.is-packed .item-name{text-decoration:line-through;color:#84938b}.item-actions{display:flex;gap:3px}.edit-inline{width:100%;padding:12px;background:#f2f6f1;border-radius:10px}.category-edit{margin-bottom:12px}.add-inline{padding-top:15px;border-top:1px solid #edf0eb}.add-inline input{width:100%;padding:10px 12px}.new-category{border:1px dashed #abc9b4;border-radius:18px;background:#edf5eb;padding:28px;margin-top:20px}.new-category>div{width:42px;height:42px;border-radius:13px;background:#d6e7d7;color:#2d7256;display:grid;place-items:center;font-size:1.5rem}.new-category h2{margin:16px 0 6px;color:#1d4943}.new-category p{color:#627e6f}.new-category .inline-field{margin-top:17px;max-width:630px}
.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#f8f5ee}.login-art{position:relative;min-height:100vh;background:#1b514b;overflow:hidden}.login-sun{position:absolute;width:285px;height:285px;border-radius:50%;background:#eebc9b;left:calc(50% - 142px);top:16%}.login-hill{position:absolute;width:120%;height:42%;border-radius:50% 50% 0 0;left:-10%;bottom:-7%;background:#427561;transform:rotate(-10deg)}.login-hill.hill-two{background:#2d665a;bottom:-18%;left:15%;transform:rotate(18deg)}.login-path{position:absolute;left:39%;bottom:-20%;height:58%;width:23%;background:#d89f7a;border-radius:55% 55% 0 0;transform:rotate(14deg)}.login-card{align-self:center;justify-self:center;width:min(430px,calc(100% - 48px));padding:40px 0}.mini-brand{display:flex;align-items:center;gap:12px;font-weight:850;color:#18433f;margin-bottom:69px}.login-card h1{font-size:clamp(2.9rem,4.8vw,4.2rem);line-height:1.04;color:#173f3b;margin-bottom:21px}.login-card h1 em{color:#c87556}.login-card>p:not(.eyebrow):not(.login-note){color:#647970;line-height:1.6;margin-bottom:30px}.form-stack{display:grid;gap:10px}.form-stack label{font-weight:700;font-size:.85rem}.form-stack input{margin-bottom:8px}.form-stack .button{margin-top:10px;justify-content:space-between}.login-note{margin-top:30px;color:#8b9b90;font-size:.77rem}
@media(max-width:900px){.hero-inner{grid-template-columns:1fr .72fr}.hero-graphic{transform:scale(.8);transform-origin:center}.template-grid,.saved-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.template-card:last-child{grid-column:1/-1}.creation-panel{grid-template-columns:1fr}.login-page{grid-template-columns:.65fr 1fr}}
@media(max-width:680px){.header-inner{min-height:75px;padding:10px 18px;gap:8px;flex-wrap:wrap}.brand{font-size:.97rem}.brand-mark{width:32px;height:32px}.header-inner nav{order:3;width:100%;justify-content:center}.nav-link{flex:1}.logout-link{margin-left:auto;font-size:.8rem}.hero-inner{display:block;min-height:0;padding:52px 24px 60px}.hero h1{font-size:clamp(3.1rem,11vw,4.7rem)}.hero-graphic{display:none}.page-content{width:calc(100% - 36px)}.section-block{padding:54px 0}.section-heading{align-items:start}.section-index{display:none}.template-grid,.saved-grid{grid-template-columns:1fr}.template-card:last-child{grid-column:auto}.template-illustration{height:150px}.creation-panel{padding:20px}.inline-field{flex-wrap:wrap}.inline-field input{flex-basis:100%}.inline-field .button{flex:1}.site-footer{padding:24px 18px;flex-direction:column;gap:4px}.list-page .page-content{padding-top:22px}.back-link{margin-bottom:34px}.list-intro{grid-template-columns:1fr;margin-bottom:38px}.progress-card{display:grid;grid-template-columns:auto 1fr;column-gap:20px;text-align:left;align-items:center}.progress-number{grid-row:span 2;font-size:3.1rem}.progress-card strong{margin:0}.progress-card p{margin:0}.progress-track{grid-column:1/-1;margin-top:12px}.category-card{padding:17px}.category-heading{gap:10px}.category-heading h2{font-size:1.26rem}.category-number{width:37px;height:37px;flex:0 0 37px}.list-body-heading{gap:10px}.login-page{grid-template-columns:1fr}.login-art{min-height:150px;height:150px}.login-sun{width:140px;height:140px;left:calc(50% - 70px);top:15px}.login-card{padding:45px 0}.mini-brand{margin-bottom:42px}}
@media print{body{background:white;color:#000}.site-header,.site-footer,.back-link,.list-toolbar,.category-actions,.item-actions,.add-inline,.new-category,.edit-inline,.notice{display:none!important}.list-page .page-content{width:100%;padding:0}.list-intro{margin:0 0 20px;grid-template-columns:1fr auto}.list-intro h1{font-size:28pt;color:#000}.list-intro p{display:none}.progress-card{border:1px solid #999;background:white;padding:12px}.progress-number{font-size:24pt}.progress-track{display:none}.list-body{max-width:none}.category-card{box-shadow:none;border:0;border-top:1px solid #999;border-radius:0;padding:15px 0;break-inside:avoid}.category-heading{margin-bottom:6px}.category-heading h2{color:#000}.category-number{background:none;border:1px solid #999;color:#000}.item-row{min-height:28px;break-inside:avoid}.check-label input{position:static;opacity:1;width:14px;height:14px;padding:0}.custom-check{display:none}.item-name,.is-packed .item-name{color:#000}.is-packed .item-name{text-decoration:line-through}}
@page{size:A4;margin:10mm}
@media print{.category-card{margin-bottom:6px;padding:10px 0}.item-row{min-height:24px;padding:4px 3px}.list-intro{margin-bottom:12px}.list-intro h1{font-size:24pt}.list-body-heading p{margin-bottom:8px}}
