@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/abfec168c8990f67-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/3131c862d4942660-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6a9c36ea9dc9b36b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e1694c6cb47c173f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ee40bb094c99a29a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Nunito;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/abfec168c8990f67-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Nunito;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/3131c862d4942660-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6a9c36ea9dc9b36b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Nunito;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e1694c6cb47c173f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Nunito;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ee40bb094c99a29a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/abfec168c8990f67-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/3131c862d4942660-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/6a9c36ea9dc9b36b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e1694c6cb47c173f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ee40bb094c99a29a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/abfec168c8990f67-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/3131c862d4942660-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/6a9c36ea9dc9b36b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e1694c6cb47c173f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ee40bb094c99a29a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/abfec168c8990f67-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/3131c862d4942660-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/6a9c36ea9dc9b36b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/e1694c6cb47c173f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/ee40bb094c99a29a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(/_next/static/media/abfec168c8990f67-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(/_next/static/media/3131c862d4942660-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(/_next/static/media/6a9c36ea9dc9b36b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(/_next/static/media/e1694c6cb47c173f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(/_next/static/media/ee40bb094c99a29a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Nunito Fallback;src:local("Arial");ascent-override:99.71%;descent-override:34.82%;line-gap-override:0.00%;size-adjust:101.39%}.__className_3cd16e{font-family:Nunito,Nunito Fallback;font-style:normal}.__variable_3cd16e{--font-nunito:"Nunito","Nunito Fallback"}:root{color-scheme:light;--bg-color:#fff9fa;--paper:rgba(255,255,255,0.85);--paper-solid:#ffffff;--ink:#5c4b51;--sub-ink:#9a8c90;--line:#ffe3e6;--accent:#ff9a9e;--accent-strong:#ff7e85;--accent-light:#fff0f3;--danger:#ff6b81;--radius-sm:16px;--radius-md:24px;--radius-full:9999px;--shadow-soft:0 12px 36px rgba(255,170,180,0.15);--shadow-float:0 20px 40px rgba(255,170,180,0.2);--shadow-button:0 6px 0 rgba(255,126,133,0.2);--shadow-button-active:0 2px 0 rgba(255,126,133,0.2)}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;background-color:var(--bg-color);background-image:radial-gradient(circle at 15% 10%,rgba(255,218,224,.6) 0,transparent 40%),radial-gradient(circle at 85% 20%,rgba(254,207,239,.5) 0,transparent 45%),radial-gradient(circle at 50% 80%,rgba(255,236,210,.5) 0,transparent 50%);background-attachment:fixed;color:var(--ink);font-family:var(--font-nunito),"Quicksand","PingFang SC","Noto Sans SC","Microsoft YaHei",sans-serif;letter-spacing:.02em}a{color:inherit;text-decoration:none;transition:opacity .2s}a:hover{opacity:.7}button,input,select,textarea{font:inherit;color:inherit}.page{width:min(100%,800px);margin:0 auto;padding:30px 16px 60px;display:grid;grid-gap:24px;gap:24px}.hero-card{background:linear-gradient(135deg,#ff9a9e,#fecfef);border:none;border-radius:var(--radius-md);padding:32px 24px;box-shadow:var(--shadow-float);color:white;text-align:center;position:relative;overflow:hidden}.hero-card:before{content:"";position:absolute;top:-50px;right:-50px;width:150px;height:150px;background:rgba(255,255,255,.2);border-radius:50%;filter:blur(20px)}.hero-kicker{color:rgba(255,255,255,.9);font-size:.85rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;margin:0 0 8px}.hero-card h1{margin:0 0 12px;font-size:1.6rem;font-weight:800;line-height:1.3;text-shadow:0 2px 10px rgba(0,0,0,.05)}.hero-card p{margin:0;color:rgba(255,255,255,.95);font-weight:500;line-height:1.5}.install-hint{margin-top:16px;font-size:.85rem;background:rgba(255,255,255,.25);padding:8px 16px;border-radius:var(--radius-full);display:inline-block;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:white;font-weight:600}.card{background:var(--paper);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:2px solid rgba(255,255,255,.6);border-radius:var(--radius-md);padding:24px;box-shadow:var(--shadow-soft);transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-float)}.filter-bar h2,.section-block h2{margin:0 0 16px;font-size:1.2rem;font-weight:800;color:var(--accent-strong);display:flex;align-items:center;gap:8px}.filter-bar h2:before,.section-block h2:before{content:"✧";font-size:1.1em;color:var(--accent)}.inline-form,.mini-form,.stack-form{display:flex;gap:12px;align-items:center}.stack-form{flex-direction:column;align-items:stretch}.stack-form label{display:grid;grid-gap:8px;gap:8px;color:var(--ink);font-weight:700;font-size:.95rem}.inline-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}input,select,textarea{border-radius:var(--radius-sm);border:2px solid var(--line);padding:12px 16px;background:var(--paper-solid);font-weight:500;transition:all .2s ease;outline:none;color:var(--ink)}input::placeholder,textarea::placeholder{color:var(--sub-ink);opacity:.6}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-light);transform:translateY(-1px)}button{border-radius:var(--radius-full);padding:12px 24px;background:linear-gradient(135deg,var(--accent) 0,var(--accent-strong) 100%);color:white;border:none;font-weight:800;font-size:.95rem;cursor:pointer;box-shadow:var(--shadow-button);transform:translateY(0);transition:transform .1s ease,box-shadow .1s ease,filter .2s ease;letter-spacing:.05em;display:flex;align-items:center;justify-content:center;gap:6px}button:hover:not(:disabled){filter:brightness(1.05)}button:active:not(:disabled){transform:translateY(4px);box-shadow:var(--shadow-button-active)}button:disabled{background:#e2d9db;box-shadow:0 4px 0 #d1c7c9;cursor:not-allowed;transform:none}.danger-btn{background:linear-gradient(135deg,#ff8a8a 0,var(--danger) 100%);box-shadow:0 6px 0 rgba(255,107,129,.3)}.danger-btn:active:not(:disabled){box-shadow:0 2px 0 rgba(255,107,129,.3)}.filter-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.filter-grid label{display:grid;grid-gap:8px;gap:8px;font-weight:700;font-size:.9rem;color:var(--ink)}.filter-actions{margin-top:16px;display:flex;align-items:center;gap:16px}.ghost-link{font-size:.95rem;font-weight:700;color:var(--sub-ink);text-decoration:none;padding:8px 16px;border-radius:var(--radius-full);background:var(--line);transition:all .2s}.ghost-link:hover{background:var(--accent-light);color:var(--accent-strong)}.section-heading{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px}.section-heading span{background:var(--accent-light);color:var(--accent-strong);padding:4px 12px;border-radius:var(--radius-full);font-weight:800;font-size:.85rem}.item-grid{display:grid;grid-gap:16px;gap:16px}.item-card{border:2px solid var(--line);background:var(--paper-solid);border-radius:var(--radius-md);padding:20px;display:grid;grid-gap:12px;gap:12px;transition:transform .2s,box-shadow .2s}.item-card:hover{transform:scale(1.01);border-color:var(--accent-light);box-shadow:var(--shadow-soft)}.item-card h3{margin:0;font-size:1.2rem;font-weight:800;color:var(--ink)}.item-card header{display:flex;justify-content:space-between;align-items:center;gap:12px}.item-quantity{margin:0;color:var(--accent-strong);font-weight:900;font-size:1.1rem;background:var(--accent-light);padding:6px 12px;border-radius:var(--radius-sm)}.item-tags{display:flex;flex-wrap:wrap;gap:8px}.item-tags span{background:#f4eff1;color:var(--sub-ink);border-radius:var(--radius-full);padding:4px 12px;font-size:.8rem;font-weight:700}.item-note{margin:0;color:var(--sub-ink);font-size:.95rem;font-weight:500;line-height:1.4;background:#faf7f8;padding:10px 14px;border-radius:var(--radius-sm)}.stock-actions{display:grid;grid-gap:10px;gap:10px;margin-top:8px}.mini-form{display:grid;grid-template-columns:1fr auto;grid-gap:8px;gap:8px}.mini-form input{padding:10px 14px;border-radius:var(--radius-sm)}.mini-form button{padding:10px 20px;box-shadow:0 4px 0 rgba(255,126,133,.2)}.mini-form button:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px 0 rgba(255,126,133,.2)}.list-stack{display:grid;grid-gap:12px;gap:12px;margin-top:16px}.list-item-row{display:flex;gap:12px;align-items:center;background:var(--paper-solid);padding:12px;border-radius:var(--radius-md);border:2px dashed var(--line)}.grow{flex:1 1}.location-tree{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-gap:12px;gap:12px}.location-row{display:flex;gap:12px;align-items:center;background:var(--paper-solid);padding:12px;border-radius:var(--radius-md);border:2px dashed var(--line);position:relative}li>.location-tree{padding-left:20px;position:relative}li>.location-tree:before{content:"";position:absolute;left:10px;top:0;bottom:24px;width:2px;background:var(--line);border-radius:2px}.empty-state{margin:0;color:var(--sub-ink);text-align:center;padding:40px 20px;background:var(--paper-solid);border-radius:var(--radius-md);border:2px dashed var(--line);font-weight:600}.unlock-card{margin-top:12vh;max-width:400px;margin-left:auto;margin-right:auto;text-align:center}.unlock-card h1{color:var(--accent-strong);font-weight:800;margin-bottom:8px}.unlock-form{margin-top:24px;display:grid;grid-gap:16px;gap:16px;text-align:left}.unlock-form button{margin-top:8px;font-size:1.1rem;padding:14px 24px}.form-error{margin:0;color:var(--danger);font-size:.9rem;font-weight:700;text-align:center;background:#ffe3e3;padding:8px;border-radius:var(--radius-sm)}@media (max-width:680px){.page{padding:20px 12px 40px;gap:16px}.filter-grid,.inline-grid{grid-template-columns:1fr}.inline-form,.list-item-row,.location-row{flex-direction:column;align-items:stretch}.location-row form{width:100%}.mini-form{grid-template-columns:1fr}}