@import url("https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;1,500&display=swap");:root{--ink:#1e2926;--muted:#75807a;--paper:#f5f4ef;--card:#fffefa;--line:#e2e3dc;--sage:#c9d7c7;--green:#305746;--orange:#e67b4c}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:DM Sans,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.topbar{height:76px;border-bottom:1px solid var(--line);justify-content:space-between;padding:0 clamp(20px,6vw,96px);background:rgba(255,254,250,.72)}.topbar,.wordmark{display:flex;align-items:center}.wordmark{gap:10px;font-weight:700;letter-spacing:-.04em;font-size:18px}.brand-mark{display:grid;place-items:center;width:54px;height:54px;border-radius:18px;background:var(--green);color:#f6f6ed;font:500 14px DM Mono,monospace;letter-spacing:-.12em}.brand-mark.small{width:30px;height:30px;border-radius:10px;font-size:9px}.topbar-links{display:flex;align-items:center;gap:28px;color:var(--muted);font-size:14px}.user-chip{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:var(--green);background:var(--sage);font-weight:700}.site-footer{display:flex;justify-content:space-between;gap:16px;width:min(1120px,calc(100% - 40px));margin:0 auto;padding:20px 0 28px;color:var(--muted);font:11px DM Mono,monospace}.sign-out-button{border:0;background:transparent;color:var(--muted);padding:0;font-size:12px}.sign-out-button:hover{color:var(--orange)}.detail-wrap,.page-wrap{width:min(1120px,calc(100% - 40px));margin:0 auto;padding:64px 0 90px}.detail-heading,.page-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:42px}.eyebrow{color:var(--orange);font:500 11px DM Mono,monospace;letter-spacing:.14em;margin:0 0 12px}h1,h2,p{margin-top:0}h1{font-size:clamp(36px,5vw,58px);letter-spacing:-.065em;line-height:1;margin-bottom:10px}h2{letter-spacing:-.04em}.muted{color:var(--muted);line-height:1.6}.inline-form{display:flex;gap:8px}input{border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);padding:13px 15px;outline:none}input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(48,87,70,.1)}.primary-button{border:0;border-radius:12px;color:white;background:var(--green);padding:13px 18px;font-weight:600;transition:transform .2s,background .2s}.primary-button:hover{background:#244638;transform:translateY(-1px)}.primary-button span{margin-left:15px}.list-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}.list-card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:24px;min-height:190px;transition:transform .2s,box-shadow .2s}.list-card:hover{transform:translateY(-3px);box-shadow:0 15px 35px rgba(40,50,42,.08)}.list-card-top{display:flex;justify-content:space-between;color:var(--green)}.list-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:13px;background:var(--sage)}.arrow{font-size:20px;color:var(--muted)}.list-card h2{margin:30px 0 4px;font-size:20px}.list-card p{color:var(--muted);font-size:14px;margin-bottom:20px}.progress{height:5px;background:#e9eae4;border-radius:10px;overflow:hidden}.progress span{display:block;height:100%;background:var(--orange);border-radius:10px}.empty-state{grid-column:1/-1;border:1px dashed #c9cdc5;border-radius:20px;padding:60px 20px;text-align:center;color:var(--muted)}.empty-state span{color:var(--orange);font-size:28px}.empty-state h2{color:var(--ink);margin:15px 0 5px}.back-link{display:inline-block;color:var(--muted);font-size:14px;margin-bottom:40px}.detail-heading{margin-bottom:30px}.detail-heading h1{margin-bottom:8px}.list-stats{border-left:1px solid var(--line);padding-left:28px}.list-stats strong{display:block;color:var(--green);font-size:38px;line-height:1}.list-stats span{color:var(--muted);font-size:13px}.quick-add{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:15px;padding:7px 9px 7px 17px;margin-bottom:34px}.quick-add>span{color:var(--orange);font-size:23px}.quick-add input{border:0;flex:1 1;background:transparent;padding-left:0;box-shadow:none}.quick-add button{background:transparent;border:0;color:var(--green);font-weight:700}.content-columns{display:grid;grid-template-columns:1.55fr 1fr;grid-gap:34px;gap:34px;align-items:start}.items-panel{background:var(--card);border:1px solid var(--line);border-radius:20px;overflow:hidden}.section-label{display:flex;justify-content:space-between;padding:18px 22px 11px;color:var(--muted);font:500 11px DM Mono,monospace;letter-spacing:.1em}.item-row{display:flex;align-items:center;gap:15px;padding:17px 22px;border-top:1px solid #eeeeea}.item-row .check-button{flex:none}.check-button{width:22px;height:22px;padding:0;border:1.5px solid #bbc2b9;background:transparent;border-radius:50%}.check-button:hover{border-color:var(--orange)}.item-copy{display:flex;flex-direction:column;gap:4px;flex:1 1}.item-copy strong{font-size:15px}.item-copy span{color:var(--muted);font-size:12px}.item-more{color:#b9beb7;letter-spacing:2px}.completed-label{margin-top:15px}.checked-button{display:grid;place-items:center;border:0;background:var(--sage);color:var(--green);font-size:13px}.checked .item-copy{opacity:.6}.panel-empty{padding:30px 22px;color:var(--muted);font-size:14px}.cart-card{background:var(--green);color:#f7f7ef;border-radius:20px;padding:26px;min-height:245px}.cart-card .eyebrow{color:#d9a17f}.cart-card h2{font-size:27px;margin-bottom:0}.cart-card .muted{color:#b6c8bb;font-size:14px}.cart-card-heading{display:flex;justify-content:space-between;align-items:start}.cart-badge{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;color:var(--green);background:var(--sage);font-weight:700}.cart-card .primary-button{background:#f5f4ef;color:var(--green);margin-top:20px}.cart-empty{text-align:center;color:#b6c8bb;padding:28px 0}.cart-empty span{font-size:28px}.cart-empty p{line-height:1.5}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 0,#e4ecdf 0,#f5f4ef 45%)}.auth-card{width:min(440px,100%);text-align:center}.auth-card .brand-mark{margin:0 auto 24px}.auth-card h1{margin-bottom:20px}.auth-card h1 em{font-family:Playfair Display,serif;font-weight:500}.auth-card .muted{max-width:330px;margin:0 auto 32px}.notice{border:1px solid #e6cdb9;background:#fff9f3;color:#865942;border-radius:12px;padding:15px;text-align:left;font-size:13px;line-height:1.5}.fine-print{color:#a3aaa2;font-size:11px;margin-top:28px}@media (max-width:760px){.topbar{padding:0 14px;gap:10px}.wordmark{flex:none;font-size:15px}.topbar-links{min-width:0;flex:1 1;justify-content:flex-end;gap:12px;overflow-x:auto;scrollbar-width:none;white-space:nowrap;font-size:12px}.topbar-links::-webkit-scrollbar{display:none}.detail-wrap,.page-wrap{width:calc(100% - 30px);padding-top:42px}.detail-heading,.page-heading{align-items:start;flex-direction:column;margin-bottom:28px}.inline-form{width:100%}.inline-form input{flex:1 1;min-width:0}.content-columns,.list-grid{grid-template-columns:1fr}.content-columns{gap:18px}.cart-card{order:-1}.detail-heading{flex-direction:row;align-items:end}.list-stats{padding-left:15px}.detail-heading h1{font-size:39px}}.custom-attribute-form,.editable-attribute-row{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-gap:8px;gap:8px;align-items:center;min-width:0}.editable-attribute-row{padding:6px 0}.editable-attribute-row>form{display:contents}.attribute-name,.custom-attribute-form button,.custom-attribute-form input,.custom-attribute-form select,.editable-attribute-actions button,.editable-attribute-row input:not([type=hidden]),.editable-attribute-row select{box-sizing:border-box;min-width:0;width:100%;height:42px;margin:0}.attribute-name{display:flex;align-items:center;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--card)}.editable-attribute-row:is(form)>input:not([type=hidden]),.editable-attribute-row>form>input:not([type=hidden]){grid-column:2;grid-row:1}.editable-attribute-row:is(form)>select,.editable-attribute-row>form>select{grid-column:1;grid-row:2}.editable-attribute-row:is(form)>.editable-attribute-actions,.editable-attribute-row>form>.editable-attribute-actions{grid-column:2;grid-row:2;width:100%}.custom-attribute-form button{justify-self:stretch}.custom-attribute-form select,.editable-attribute-row select{border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink);padding:9px 10px}.editable-attribute-actions{display:flex;flex-direction:row;flex-wrap:nowrap;gap:8px}.editable-attribute-actions button{width:auto;flex:1 1}.uncart-button{border:1px solid var(--line);border-radius:9px;background:transparent;color:var(--muted);font-size:12px;padding:7px 9px}.uncart-button:hover{color:var(--orange);border-color:var(--orange)}.page-intro{max-width:560px;margin-bottom:28px}.list-actions{display:flex;gap:16px;align-items:center;margin:-18px 0 24px}details summary{cursor:pointer;color:var(--green);font-size:13px;font-weight:600}.compact-form{display:flex;gap:7px;margin-top:10px}.compact-form input{padding:9px 11px}.secondary-button{border:1px solid #bdc9bd;border-radius:9px;background:transparent;color:var(--green);padding:9px 12px;font-weight:600}.secondary-button:hover{border-color:var(--green);background:#f0f5ef}.text-danger{border:0;background:transparent;padding:0;color:#af5c4d;font-size:13px}.attribute-list{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.attribute-list span{border-radius:8px;background:#eef3eb;color:var(--muted);padding:6px 8px;font-size:12px}.attribute-form{display:grid;grid-template-columns:1fr 1fr 110px auto;grid-gap:7px;gap:7px;margin-top:10px}.attribute-form input,.attribute-form select{min-width:0;padding:9px 10px;border-radius:9px}.attribute-form button{white-space:nowrap}.attribute-row{display:grid;flex:0 0 100%;width:100%;grid-gap:8px;gap:8px;align-items:center;padding:6px 0;min-width:0}.attribute-row input,.attribute-row select{min-width:0;width:100%;padding:9px 10px;border-radius:9px}.attribute-name{min-width:0;overflow-wrap:anywhere;color:var(--muted);font:500 12px DM Mono,monospace}.attribute-actions{display:flex;gap:8px;align-items:center}.attribute-row>form:first-of-type{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px;min-width:0}.attribute-row:not(form){grid-template-columns:minmax(110px,.8fr) minmax(0,1fr)}.attribute-row:not(form)>.attribute-name{grid-column:1;grid-row:1}.attribute-row:not(form)>form:first-of-type{grid-column:2;grid-row:1/span 2}.attribute-row:not(form)>form:first-of-type input:not([type=hidden]){grid-column:1/-1;grid-row:1}.attribute-row:not(form)>form:first-of-type select{grid-column:1;grid-row:2}.attribute-row:not(form)>form:first-of-type .attribute-actions{grid-column:2;grid-row:2}.attribute-row:is(form){grid-template-columns:minmax(110px,.8fr) minmax(0,1fr)}.attribute-row:is(form) .attribute-name{grid-column:1;grid-row:1}.attribute-row:is(form) input:not([type=hidden]){grid-column:2;grid-row:1}.attribute-row:is(form) select{grid-column:1;grid-row:2}.attribute-row:is(form) .attribute-actions{grid-column:2;grid-row:2}.attribute-row button{white-space:nowrap}.custom-attribute-form{grid-template-columns:minmax(110px,.8fr) minmax(0,1fr)}.custom-attribute-form input[name=attributeKey]{grid-column:1;grid-row:1}.custom-attribute-form input[name=value]{grid-column:2;grid-row:1}.custom-attribute-form select{grid-column:1;grid-row:2}.custom-attribute-form button{grid-column:2;grid-row:2;justify-self:start}.item-block{border-top:1px solid #eeeeea}.item-block>.item-row{border-top:0}.item-edit{padding:0 22px 18px}.item-edit summary{color:var(--muted);font-size:12px;font-weight:400}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;margin-top:12px}.field-grid input,.field-grid select,.field-grid textarea{width:100%;min-width:0;padding:10px 11px;border-radius:9px}.field-grid button{grid-column:1/-1;justify-self:start}.wide-fields{max-width:760px}.create-panel{background:var(--card);border:1px solid var(--line);border-radius:15px;padding:18px 20px;margin:26px 0}.create-panel summary{font-size:15px}.catalog-list,.history-list{display:flex;flex-direction:column;gap:10px}.catalog-item{background:var(--card);border:1px solid var(--line);border-radius:15px;padding:17px 20px}.catalog-item summary{display:flex;justify-content:space-between;gap:15px;color:var(--muted)}.catalog-name{color:var(--ink);font-weight:600}.catalog-item form+form{margin-top:10px}.cart-store-form{display:flex;gap:8px;margin:16px 0}.cart-store-form select{flex:1 1;min-width:0;border:1px solid #66806f;border-radius:9px;padding:9px;background:transparent;color:#f7f7ef}.cart-store-form .secondary-button{color:#e7eee8;border-color:#66806f}.checkout-details{border-top:1px solid #66806f;padding-top:16px;margin-top:18px}.checkout-details summary{color:#e7eee8}.stack-form{gap:10px;margin-top:13px}.stack-form,.stack-form label{display:flex;flex-direction:column}.stack-form label{gap:5px;color:#b6c8bb;font-size:12px}.stack-form input,.stack-form textarea{border:1px solid #66806f;background:transparent;color:#f7f7ef;padding:10px;border-radius:9px}.stack-form textarea{min-height:65px;resize:vertical}.purchase-card{background:var(--card);border:1px solid var(--line);border-radius:17px;padding:20px}.purchase-heading{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding-bottom:14px}.purchase-heading div{display:flex;flex-direction:column;gap:4px}.purchase-heading span{color:var(--muted);font-size:12px}.purchase-heading b{color:var(--green)}.purchase-items{margin-top:7px}.purchase-line{display:grid;grid-template-columns:1fr auto auto;grid-gap:15px;gap:15px;align-items:center;padding:11px 0;border-bottom:1px solid #eeeeea;font-size:13px}.purchase-line>span:last-of-type{color:var(--muted)}.purchase-line form{display:flex;align-items:center;gap:7px}.buy-again-label{color:var(--muted);font-size:11px;display:flex;align-items:center;gap:4px}.buy-again-label select{border:1px solid var(--line);border-radius:7px;padding:5px;background:var(--paper);color:var(--ink)}.item-delete-form{padding:0 22px 14px}