@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/manrope-latin-400-normal-PaqtzbVb.woff2)format("woff2"),url(/assets/manrope-latin-400-normal-8tf8FM3T.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/manrope-latin-500-normal-BYYD-dBL.woff2)format("woff2"),url(/assets/manrope-latin-500-normal-DMZssgOp.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/manrope-latin-700-normal-BZp_XxE4.woff2)format("woff2"),url(/assets/manrope-latin-700-normal-DGRFkw-m.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/manrope-latin-800-normal-BfWYOv1c.woff2)format("woff2"),url(/assets/manrope-latin-800-normal-uHUdIJgA.woff)format("woff")}:root{--text:#111827;--text-h:#08060d;--text-muted:#6b7280;--bg:#f3f4f6;--surface:#fff;--surface-soft:#f0fdf4;--border:#e5e7eb;--input-border:#d1d5db;--success:#16a34a;--success-hover:#15803d;--danger:#ef4444;--danger-hover:#dc2626;--danger-soft:#fee2e2;--danger-soft-border:#fecaca;--danger-soft-text:#991b1b;--warning-soft:#fef3c7;--warning-text:#92400e;--done-soft:#dcfce7;--done-text:#166534;--shadow-soft:0 2px 12px #0000000a;--shadow-card:0 10px 30px #00000014;--focus-ring:#2563eb;--sans:"Manrope", "Segoe UI", Roboto, sans-serif;--heading:"Manrope", "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;--fw-body:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-extrabold:800;--motion-fast:.16s;--motion-base:.24s;--motion-slow:.32s;--ease-standard:cubic-bezier(.2, .8, .2, 1);font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:16px}}:root[data-theme=dark]{--text:#e5e7eb;--text-h:#f9fafb;--text-muted:#9ca3af;--bg:#111827;--surface:#1f2937;--surface-soft:#0f2a1f;--border:#374151;--input-border:#4b5563;--success:#22c55e;--success-hover:#16a34a;--danger:#f87171;--danger-hover:#ef4444;--danger-soft:#3b1f24;--danger-soft-border:#7f1d1d;--danger-soft-text:#fecaca;--warning-soft:#3b2f1c;--warning-text:#fcd34d;--done-soft:#163322;--done-text:#86efac;--shadow-soft:0 2px 12px #00000047;--shadow-card:0 10px 30px #00000059;--focus-ring:#60a5fa;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:var(--bg);color:var(--text);font-weight:var(--fw-body);margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);font-weight:var(--fw-bold);color:var(--text-h);overflow-wrap:anywhere;word-break:break-word}h1{letter-spacing:clamp(-1.68px,-.18vw,-.6px);margin:clamp(14px,3.8vw,32px) 0;font-size:clamp(1.9rem,6.8vw,3.5rem);line-height:1.1}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:clamp(1.2rem,3.6vw,1.5rem);line-height:1.2}p{font-weight:var(--fw-medium);overflow-wrap:anywhere;word-break:break-word;margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--surface);padding:4px 8px;font-size:15px;line-height:135%}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}html[dir=ltr],[data-sonner-toaster][dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}html[dir=rtl],[data-sonner-toaster][dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{width:var(--width);--gray1:#fcfcfc;--gray2:#f8f8f8;--gray3:#f3f3f3;--gray4:#ededed;--gray5:#e8e8e8;--gray6:#e2e2e2;--gray7:#dbdbdb;--gray8:#c7c7c7;--gray9:#8f8f8f;--gray10:#858585;--gray11:#6f6f6f;--gray12:#171717;--border-radius:8px;box-sizing:border-box;z-index:999999999;outline:none;margin:0;padding:0;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;list-style:none;transition:transform .4s;position:fixed}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translate(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);opacity:0;transform:var(--y);touch-action:none;box-sizing:border-box;overflow-wrap:anywhere;outline:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;position:absolute}[data-sonner-toast][data-styled=true]{background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);width:var(--width);align-items:center;gap:6px;padding:16px;font-size:13px;display:flex;box-shadow:0 4px 12px #0000001a}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}[data-sonner-toast][data-y-position=top]{--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap));top:0}[data-sonner-toast][data-y-position=bottom]{--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap));bottom:0}[data-sonner-toast][data-styled=true] [data-description]{color:#3f3f3f;font-weight:400;line-height:1.4}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{color:inherit;font-weight:500;line-height:1.5}[data-sonner-toast][data-styled=true] [data-icon]{width:16px;height:16px;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end);flex-shrink:0;justify-content:flex-start;align-items:center;display:flex;position:relative}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform-origin:50%;animation:.3s forwards sonner-fade-in;transform:scale(.8)}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{flex-direction:column;gap:2px;display:flex}[data-sonner-toast][data-styled=true] [data-button]{height:24px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);cursor:pointer;border:none;border-radius:4px;outline:none;flex-shrink:0;align-items:center;padding-left:8px;padding-right:8px;font-size:12px;font-weight:500;transition:opacity .4s,box-shadow .2s;display:flex}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px #0006}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:#00000014}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:#ffffff4d}[data-sonner-toast][data-styled=true] [data-close-button]{left:var(--toast-close-button-start);right:var(--toast-close-button-end);width:20px;height:20px;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);cursor:pointer;z-index:1;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:opacity .1s,background .2s,border-color .2s;display:flex;position:absolute;top:0}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]:before{content:"";z-index:-1;height:100%;position:absolute;left:-100%;right:-100%}[data-sonner-toast][data-y-position=top][data-swiping=true]:before{bottom:50%;transform:scaleY(3)translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]:before{top:50%;transform:scaleY(3)translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]:before{content:"";position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]:after{content:"";height:calc(var(--gap) + 1px);width:100%;position:absolute;bottom:100%;left:0}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * .05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]:before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0px)) translateX(var(--swipe-amount-x,0px));transition:none}[data-sonner-toast][data-swiped=true]{-webkit-user-select:none;user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{0%{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{0%{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (width<=600px){[data-sonner-toaster]{right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%;position:fixed}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{width:calc(100% - var(--mobile-offset-left) * 2);left:0;right:0}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:#ecfdf3;--success-border:#bffcd9;--success-text:#008a2e;--info-bg:#f0f8ff;--info-border:#dde7fd;--info-text:#0973dc;--warning-bg:#fffcf0;--warning-border:#fbeeb1;--warning-text:#dc7609;--error-bg:#fff0f0;--error-border:#ffe0e1;--error-text:#e60000}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:#333;--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:#1f1f1f;--normal-border:#333;--normal-border-hover:#404040;--normal-text:var(--gray1);--success-bg:#001f0f;--success-border:#003d1c;--success-text:#59f3a6;--info-bg:#000d1f;--info-border:#19233e;--info-text:#5896f3;--warning-bg:#1d1f00;--warning-border:#2e2e00;--warning-text:#f3cf58;--error-bg:#2d0607;--error-border:#4d0408;--error-text:#ff9ea1}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success],[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info],[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning],[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error],[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);z-index:10;position:absolute;inset:0}.sonner-loading-wrapper[data-visible=false]{transform-origin:50%;animation:.2s forwards sonner-fade-out}.sonner-spinner{height:var(--size);width:var(--size);position:relative;top:50%;left:50%}.sonner-loading-bar{background:var(--gray11);border-radius:6px;width:24%;height:8%;animation:1.2s linear infinite sonner-spin;position:absolute;top:-3.9%;left:-10%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg)translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg)translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg)translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg)translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg)translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg)translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg)translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg)translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg)translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg)translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg)translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg)translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media (prefers-reduced-motion){[data-sonner-toast],[data-sonner-toast]>*,.sonner-loading-bar{transition:none!important;animation:none!important}}.sonner-loader{transform-origin:50%;transition:opacity .2s,transform .2s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8)translate(-50%,-50%)}*{box-sizing:border-box}body{font-family:var(--sans);background-color:var(--bg);color:var(--text);margin:0}.navbar{z-index:90;background-color:var(--surface);border-bottom:1px solid var(--border);min-height:68px;box-shadow:var(--shadow-soft);transition:background-color var(--motion-base) var(--ease-standard), border-color var(--motion-base) var(--ease-standard), box-shadow var(--motion-base) var(--ease-standard);justify-content:space-between;align-items:center;gap:12px;padding:0 32px;display:flex;position:sticky;top:0}.logo{color:var(--success);font-size:clamp(1.1rem,2.8vw,1.625rem);font-weight:var(--fw-extrabold);overflow-wrap:anywhere;min-width:0;margin:0;line-height:1.2}.logo-link{text-decoration:none}.nav-links{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.nav-links a{color:var(--text);font-weight:var(--fw-bold);white-space:nowrap;transition:background-color var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);border-radius:10px;padding:10px 12px;text-decoration:none}.nav-links>*{max-width:100%}.nav-links a:hover{background-color:var(--surface-soft);color:var(--success);transform:translateY(-1px)}.private-navbar{grid-template-columns:minmax(40px,auto) 1fr minmax(40px,auto);align-items:center;min-height:56px;padding:8px 10px;display:grid}.private-greeting{font-size:clamp(1rem,4.2vw,1.2rem);line-height:1.15}.private-navbar-slot{align-items:center;display:flex}.private-navbar-left{justify-content:flex-start}.private-navbar-right{justify-content:flex-end}.private-navbar-title{text-align:left;white-space:nowrap;text-overflow:ellipsis;align-items:baseline;gap:8px;margin:0;padding:0 8px;font-size:clamp(.95rem,4vw,1.18rem);display:inline-flex;overflow:hidden}.private-navbar-title-main{text-overflow:ellipsis;min-width:0;overflow:hidden}.private-navbar-title-meta{color:var(--text-muted);font-size:.72em;font-style:italic;font-weight:var(--fw-medium);opacity:.68;flex:none}.navbar-back-button{animation:navbarBackPulse 1.6s var(--ease-standard) 1;border-radius:10px}.navbar-back-button:hover{transform:translate(-2px)}@media (prefers-reduced-motion:reduce){.navbar-back-button{animation:none}.navbar-back-button:hover{transform:none}}@keyframes navbarBackPulse{0%{transform:translate(0)scale(1)}35%{transform:translate(-2px)scale(1.03)}70%{transform:translate(0)scale(.99)}to{transform:translate(0)scale(1)}}.icon-only-button{border:1px solid var(--border);background-color:var(--surface);border-radius:11px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:inline-flex}.icon-only-button svg{stroke-width:2.25px;width:18px;height:18px}.profile-entry-button{border-radius:999px}.profile-entry-button svg{width:19px;height:19px}.profile-menu{position:relative}.profile-menu-dropdown{z-index:100;border:1px solid var(--border);background:var(--surface);width:min(220px,72vw);box-shadow:var(--shadow-card);border-radius:12px;flex-direction:column;gap:4px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.profile-menu-item{color:var(--text);font-size:13px;font-weight:var(--fw-bold);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;min-height:44px;padding:8px 10px;text-decoration:none;display:inline-flex}.profile-menu-item:hover{background:var(--surface-soft)}.profile-menu-item svg{stroke-width:2.2px;width:15px;height:15px}.profile-menu-item.danger{color:var(--danger)}.icon-only-button:hover{background-color:var(--surface-soft)}.icon-only-button:active{transform:scale(.97)}.profile-chip{border:1px solid var(--border);background:color-mix(in oklab, var(--surface-soft) 62%, var(--surface));border-radius:999px;align-items:center;gap:8px;max-width:180px;padding:4px 8px 4px 4px;display:inline-flex}.profile-chip-avatar{background-color:var(--success);color:#fff;width:26px;height:26px;font-size:12px;font-weight:var(--fw-extrabold);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.profile-chip-name{font-size:12px;font-weight:var(--fw-bold);color:var(--text);text-overflow:ellipsis;white-space:nowrap;max-width:125px;overflow:hidden}.navbar-home{min-height:56px;padding:8px 10px}.navbar-home .logo{font-size:clamp(1rem,4.2vw,1.25rem)}.navbar-home .nav-links a{padding:7px 9px;font-size:13px}.page{justify-content:center;align-items:flex-start;min-height:calc(100dvh - 64px);padding:40px 24px;display:flex}.card{background-color:var(--surface);width:100%;max-width:420px;box-shadow:var(--shadow-card);animation:fade-in-up var(--motion-slow) var(--ease-standard);transition:transform var(--motion-base) var(--ease-standard), box-shadow var(--motion-base) var(--ease-standard), background-color var(--motion-base) var(--ease-standard);border-radius:16px;padding:clamp(20px,5vw,32px)}.card:hover{transform:translateY(-2px)}.card h1{text-align:center;margin-top:0;margin-bottom:12px;line-height:1.1}.card p{color:var(--text-muted);line-height:1.45}.form{flex-direction:column;gap:14px;display:flex}.form label{font-weight:var(--fw-semibold)}.form input{border:1px solid var(--input-border);background-color:var(--surface);color:var(--text);transition:border-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) var(--ease-standard);border-radius:10px;padding:12px 14px;font-size:16px}.form input:focus{border-color:var(--success);outline:none}.field-error{color:var(--danger-soft-text);font-size:13px;font-weight:var(--fw-semibold);text-align:left;margin:4px 0 0}.form button{background-color:var(--success);color:#fff;font-size:16px;font-weight:var(--fw-bold);cursor:pointer;transition:background-color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard), opacity var(--motion-fast) var(--ease-standard);border:none;border-radius:10px;margin-top:8px;padding:12px}.form button:hover{background-color:var(--success-hover);transform:translateY(-1px)}.form button:active{transform:translateY(0)}.form button:disabled{opacity:.7;cursor:not-allowed}.error-message{background-color:var(--danger-soft);width:100%;color:var(--danger-soft-text);border:1px solid var(--danger-soft-border);font-size:14px;font-weight:var(--fw-semibold);text-align:center;animation:fade-in-up var(--motion-base) var(--ease-standard);border-radius:10px;padding:12px 14px}.auth-switch-text{text-align:center;color:var(--text-muted);margin-top:4px;font-size:.9rem}.auth-switch-text a{color:var(--success);font-weight:var(--fw-bold);text-decoration:none}.auth-switch-text a:hover{text-decoration:underline}@media (width>=768px){.page{align-items:center}.navbar-home{min-height:62px;padding:10px 14px}.navbar-home .nav-links a{padding:8px 10px;font-size:14px}.private-navbar{min-height:60px;padding:10px 14px}.private-greeting{font-size:clamp(1.05rem,2.2vw,1.35rem)}}.dashboard{width:100%;max-width:1000px}.dashboard-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.large-card{max-width:760px}.product-row{grid-template-columns:1fr 140px;gap:12px;display:grid}.shopping-list{flex-direction:column;gap:12px;display:flex}.shopping-item{border:1px solid var(--border);border-radius:12px;grid-template-columns:1fr 120px 120px;align-items:center;gap:12px;padding:14px;display:grid}.shopping-item p{margin:4px 0 0}@media (width<=768px){.dashboard-header{flex-direction:column;align-items:flex-start;gap:16px}.list-grid,.product-row,.shopping-item{grid-template-columns:1fr}}@media (width<=600px){.navbar{flex-wrap:wrap;align-items:flex-start;padding:10px 12px}.private-navbar{flex-wrap:nowrap;align-items:center;gap:8px;min-height:52px;padding:8px 10px}.logo{text-align:left;flex:100%;font-size:clamp(1.05rem,4.8vw,1.375rem)}.private-navbar .logo{flex:auto}.nav-links{flex-wrap:wrap;justify-content:flex-start;gap:6px;width:100%}.private-navbar .nav-links{flex-wrap:nowrap;justify-content:flex-end;gap:6px;width:auto;margin-left:auto}.nav-links a{padding:8px 10px;font-size:13px}.private-navbar .icon-only-button{width:44px;height:44px}.private-navbar .profile-chip{max-width:130px;padding-right:6px}.private-navbar .profile-chip-name{max-width:82px}.private-navbar .icon-only-button svg{width:16px;height:16px}.lang-toggle,.theme-toggle,.logout-button{padding:8px 10px;font-size:13px}.page{padding:24px 12px}}@media (width<=420px){.navbar{padding:8px 10px}.private-navbar{padding:8px}.nav-links{gap:4px}.private-navbar .logo{font-size:.95rem}.private-navbar-title{gap:6px;padding-inline:6px}.private-navbar-title-meta{font-size:.66em}.nav-links a,.lang-toggle,.theme-toggle,.logout-button{padding:7px 9px;font-size:12px}}.logout-button{background-color:var(--danger);color:#fff;font-weight:var(--fw-bold);cursor:pointer;transition:background-color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);border:none;border-radius:10px;padding:10px 14px;font-size:14px}.logout-button:hover{background-color:var(--danger-hover);transform:translateY(-1px)}.theme-toggle{border:1px solid var(--border);background-color:var(--surface);color:var(--text);font-weight:var(--fw-bold);cursor:pointer;transition:background-color var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);border-radius:10px;padding:10px 12px}.theme-toggle:hover{background-color:var(--surface-soft);transform:translateY(-1px)}.lang-toggle{border:1px solid var(--border);background-color:var(--surface);color:var(--text);font-weight:var(--fw-bold);cursor:pointer;min-width:52px;transition:background-color var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);border-radius:10px;padding:10px 12px}.lang-toggle:hover{background-color:var(--surface-soft);transform:translateY(-1px)}@keyframes fade-in-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{z-index:1200;background:color-mix(in srgb, var(--text) 35%, transparent);opacity:0;animation:fade-overlay var(--motion-base) var(--ease-standard) forwards;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-content{background:var(--surface);border:1px solid var(--border);width:min(460px,100%);box-shadow:var(--shadow-card);opacity:0;animation:pop-in var(--motion-base) var(--ease-standard) forwards;border-radius:16px;padding:20px;transform:translateY(8px)scale(.98)}.confirm-modal h2{margin:0 0 8px;font-size:clamp(1.15rem,3.8vw,1.35rem)}.confirm-modal p{color:var(--text-muted);margin:0;line-height:1.45}.confirm-modal-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.confirm-modal-actions button{font-size:14px;font-weight:var(--fw-bold);cursor:pointer;transition:transform var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) var(--ease-standard), opacity var(--motion-fast) var(--ease-standard);border:none;border-radius:10px;padding:10px 14px}.confirm-modal-actions button:hover{transform:translateY(-1px)}.confirm-modal-cancel{background:var(--bg);color:var(--text);border:1px solid var(--border)}.confirm-modal-confirm{background:var(--success);color:#fff}.confirm-modal-confirm:hover{background:var(--success-hover)}.confirm-modal-confirm.danger{background:var(--danger)}.confirm-modal-confirm.danger:hover{background:var(--danger-hover)}.developer-credit{text-align:center;color:var(--text-muted);padding:10px 16px 14px;font-size:.74rem}.developer-credit a{color:inherit;opacity:.72;transition:color var(--motion-fast) var(--ease-standard), opacity var(--motion-fast) var(--ease-standard);text-decoration:none}.developer-credit a:hover{color:var(--success);opacity:1}@media (width<=480px){.modal-content{padding:16px}.confirm-modal-actions{flex-direction:column-reverse}.confirm-modal-actions button{width:100%}}@keyframes fade-overlay{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.skeleton{background:var(--border);display:block;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,#0000,#ffffff8c,#0000);animation:1.2s ease-in-out infinite skeleton-shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes skeleton-shimmer{to{transform:translate(100%)}}.skeleton-gap-sm{margin-top:8px}.skeleton-gap-md{margin-top:10px}.skeleton-gap-lg{margin-top:16px}.skeleton-gap-xl{margin-top:20px}.skeleton-gap-2xl{margin-top:24px}.skeleton-text{border-radius:8px;height:14px}.skeleton-title{border-radius:10px;height:28px}.skeleton-pill{border-radius:999px;height:30px}.skeleton-circle{border-radius:999px}@media (width>=768px){.skeleton-title{height:32px}}.dashboard-page{background-color:var(--bg);min-height:calc(100dvh - 64px);padding:14px 10px 112px;overflow-x:hidden}.dashboard-container{width:100%;max-width:1100px;margin:0 auto}.dashboard-title{text-align:left;margin-bottom:8px}.dashboard-title h1{overflow-wrap:anywhere;margin:0;font-size:clamp(1.2rem,4.9vw,2rem);line-height:1.1}.dashboard-title p{color:var(--text-muted);overflow-wrap:anywhere;line-height:1.35;font-weight:var(--fw-medium);margin-top:2px;font-size:.94rem}.dashboard-summary{grid-template-columns:1fr;gap:8px;margin-top:10px;display:grid}.summary-card{background-color:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-card), 0 2px 10px oklab(0% none none/.08);border-radius:12px;padding:9px 10px}.summary-card span{color:var(--text-muted);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.2px;font-size:.72rem;display:block}.summary-card strong{margin-top:3px;font-size:clamp(1.05rem,4.2vw,1.35rem);line-height:1.1;display:block}.summary-card small{color:var(--text-muted);margin-top:2px;font-size:.74rem;line-height:1.25;display:block}.dashboard-section{border-radius:14px;margin-top:10px;padding:8px}.dashboard-section h2{margin:0 0 10px;line-height:1.2}.dashboard-section-title{color:var(--text-muted);font-size:.7rem;font-weight:var(--fw-extrabold);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:6px;display:flex}.dashboard-section-icon{width:18px;height:18px;color:var(--success);background:color-mix(in oklab, var(--surface-soft) 70%, var(--surface));border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.dashboard-section-icon svg{stroke-width:2.2px;width:11px;height:11px}.dashboard-section:first-of-type{background:linear-gradient(180deg, color-mix(in oklab, var(--warning-soft) 24%, transparent), transparent)}.dashboard-section:last-of-type{background:linear-gradient(180deg, color-mix(in oklab, var(--done-soft) 26%, transparent), transparent)}.clickable-card{color:inherit;cursor:pointer;text-decoration:none}.clickable-card:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.list-card{border:1px solid var(--border);min-width:0;min-height:80px;transition:transform var(--motion-base) var(--ease-standard), box-shadow var(--motion-base) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), background-color var(--motion-base) var(--ease-standard);border-radius:14px;padding:.85rem;position:relative}.list-card.is-menu-open{z-index:40}.list-card:hover{transform:translateY(-2px)}.list-card-header{justify-content:space-between;align-items:center;gap:.55rem;margin-bottom:.45rem;display:flex}.card-meta{flex-direction:column;gap:6px;min-width:0;display:flex}.list-card-header h3{-webkit-line-clamp:2;min-width:0;line-height:1.2;font-weight:var(--fw-bold);-webkit-box-orient:vertical;margin:0;font-size:clamp(.98rem,3.9vw,1.1rem);display:-webkit-box;overflow:hidden}.card-menu{flex-shrink:0;position:relative}.list-grid{grid-template-columns:1fr;gap:10px;display:grid}.icon-button{width:44px;height:44px;font-size:16px;line-height:1;font-weight:var(--fw-bold);cursor:pointer;transition:transform var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard);border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;padding:0;text-decoration:none;display:inline-flex}.icon-button svg{stroke-width:2.2px;width:16px;height:16px}.action-icon-button{background:var(--surface);border-color:var(--border)}.menu-icon-button{color:var(--text-muted)}.menu-icon-button svg{stroke-width:2.2px;width:16px;height:16px}.card-menu-dropdown{z-index:60;border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-direction:column;gap:4px;width:min(160px,56vw);padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 18px 42px oklab(0% none none/.3)}.card-menu-item{color:var(--text);font-size:13px;font-weight:var(--fw-bold);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;min-height:44px;padding:8px 10px;display:inline-flex}.card-menu-item svg{stroke-width:2.2px;width:15px;height:15px}.card-menu-item:hover{background:var(--surface-soft)}.card-menu-item.danger{color:var(--danger)}.purchased-card{border-color:color-mix(in oklab, var(--done-text) 25%, var(--border))}.purchased-card .list-card-header{margin-bottom:.45rem}.list-card p{color:var(--text-muted);margin:0;font-size:.9rem;line-height:1.3}.list-card-meta-line{min-width:0;color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:.88rem;line-height:1.35;display:flex}.list-card-meta-line>span:not(.badge),.list-card-meta-line>strong{min-width:0}.list-card-meta-line>strong:before{content:"·";color:var(--text-muted);opacity:.75;margin-right:6px}.list-card-status{height:24px;padding:0 8px;font-size:11px}.list-card strong{color:var(--text);font-size:.88rem}.action-icon-button:hover{background:var(--surface-soft);transform:translateY(-1px)}.action-icon-button:active{transform:scale(.95)}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:.7s linear infinite spin}.fab-button{right:max(14px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));z-index:30;background-color:var(--success);color:#fff;border:1px solid color-mix(in oklab, white 18%, var(--success));width:48px;height:48px;box-shadow:0 10px 24px color-mix(in oklab, var(--success) 30%, transparent), var(--shadow-card);transition:transform var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard);border-radius:50%;justify-content:center;align-items:center;text-decoration:none;display:flex;position:fixed}.fab-button svg{stroke-width:2.4px;width:24px;height:24px}.fab-button:hover{background-color:var(--success-hover);transform:translateY(-2px)scale(1.02)}@media (width>=640px){.dashboard-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.dashboard-page{padding:18px 14px 112px}.dashboard-title{margin-bottom:10px}.dashboard-title p{font-size:.98rem}.dashboard-section{margin-top:12px;padding:10px}.list-grid{gap:12px}.list-card{padding:1rem}.icon-button{width:44px;height:44px}.icon-button svg{width:17px;height:17px}}@media (width>=768px){.dashboard-page{padding:22px 18px 112px}.dashboard-title{margin-bottom:16px}.dashboard-section{margin-top:16px;padding:14px}.list-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.list-card{padding:1.05rem}.fab-button{width:54px;height:54px;bottom:16px;right:16px}.fab-button svg{width:26px;height:26px}}@media (width>=1024px){.dashboard-page{padding:28px 20px 112px}.dashboard-section{margin-top:18px;padding:16px}.list-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.fab-button{width:60px;height:60px;bottom:20px;right:20px}}.empty-state{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.empty-state-icon{background-color:var(--bg);border-radius:999px;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;display:inline-flex}.empty-state-title{margin:0;line-height:1.2}.empty-state-description{color:var(--text-muted);margin:0;line-height:1.4}@media (width>=768px){.empty-state{gap:12px}}.home-page{background:radial-gradient(circle at 8% -10%, color-mix(in oklab, var(--success) 12%, transparent), transparent 45%), var(--bg);gap:12px;min-height:calc(100dvh - 64px);padding:14px 10px;display:grid}.home-hero{background:linear-gradient(180deg, color-mix(in oklab, var(--surface-soft) 55%, transparent), var(--surface));border:1px solid var(--border);max-width:720px;box-shadow:var(--shadow-card);text-align:left;border-radius:16px;margin:0 auto;padding:18px 14px}.home-kicker{color:var(--success);font-size:.78rem;font-weight:var(--fw-bold);letter-spacing:.3px;text-transform:uppercase;align-items:center;gap:6px;margin:0;display:inline-flex}.home-kicker svg{stroke-width:2.1px;width:14px;height:14px}.home-hero h1{letter-spacing:-.6px;text-wrap:balance;margin:8px 0 0;font-size:clamp(1.75rem,7vw,2.8rem);line-height:1.08}.home-subtitle{color:var(--text-muted);max-width:52ch;margin-top:8px;font-size:clamp(.95rem,3.4vw,1.1rem);line-height:1.4}.home-actions{gap:8px;margin-top:14px;display:grid}.home-benefits{gap:8px;margin:14px 0 0;padding:0;list-style:none;display:grid}.home-benefits li{color:var(--text);align-items:flex-start;gap:8px;font-size:.92rem;line-height:1.4;display:flex}.home-benefits li svg{width:16px;height:16px;color:var(--success);stroke-width:2.5px;flex-shrink:0;margin-top:2px}.home-how-it-works{border:1px solid var(--border);background-color:var(--surface);max-width:720px;box-shadow:var(--shadow-soft);border-radius:16px;margin:0 auto;padding:14px}.home-how-it-works h2{text-align:left;margin:0 0 12px;font-size:clamp(1.1rem,4.2vw,1.5rem)}.home-steps{gap:12px;margin:0;padding:0;list-style:none;display:grid}.home-step{align-items:flex-start;gap:12px;display:flex}.home-step-number{background:color-mix(in oklab, var(--success) 12%, var(--surface));width:36px;height:36px;color:var(--success);font-size:1rem;font-weight:var(--fw-extrabold);border:1px solid color-mix(in oklab, var(--success) 20%, var(--border));border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.home-step-content{padding-top:4px}.home-step-content strong{font-size:.95rem;font-weight:var(--fw-semibold);color:var(--text-h);line-height:1.2;display:block}.home-step-content p{color:var(--text-muted);margin:4px 0 0;font-size:.88rem;line-height:1.4}.home-features{border:1px solid var(--border);background-color:var(--surface);max-width:720px;box-shadow:var(--shadow-soft);border-radius:16px;margin:0 auto;padding:14px}.home-features-header h2{text-align:left;margin:0;font-size:clamp(1.1rem,4.2vw,1.5rem)}.home-features-header p{text-align:left;color:var(--text-muted);margin-top:6px;font-size:.92rem}.home-features-grid{gap:8px;margin-top:12px;display:grid}.home-feature-card{text-align:left;border:1px solid var(--border);background:color-mix(in oklab, var(--surface-soft) 35%, var(--surface));transition:transform var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard);border-radius:12px;padding:10px}.home-feature-card:hover{border-color:color-mix(in oklab, var(--success) 30%, var(--border));box-shadow:var(--shadow-card);transform:translateY(-2px)}.home-feature-title-row{align-items:center;gap:8px;display:flex}.home-feature-icon{background:color-mix(in oklab, var(--success) 12%, var(--surface));width:36px;height:36px;color:var(--success);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.home-feature-icon svg{stroke-width:2.2px;width:18px;height:18px}.home-feature-card h3{margin:0;font-size:.98rem;line-height:1.2}.home-feature-card p{color:var(--text-muted);margin-top:5px;font-size:.88rem;line-height:1.4}.home-cta-primary,.home-cta-secondary{min-height:42px;font-weight:var(--fw-bold);transition:transform var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard);border-radius:10px;justify-content:center;align-items:center;padding:10px 12px;text-decoration:none;display:inline-flex}.home-cta-primary{text-transform:uppercase;letter-spacing:.2px;background:var(--success);color:#fff;font-size:.9rem}.home-cta-primary:hover{background:var(--success-hover);transform:translateY(-1px)}.home-cta-secondary{font-size:.875rem;font-weight:var(--fw-medium);text-transform:none;letter-spacing:0;background:var(--surface);color:var(--text);border:1px solid var(--border)}.home-cta-secondary:hover{background:var(--surface-soft);transform:translateY(-1px)}.home-bottom-cta{border:1px solid var(--border);background:linear-gradient(180deg, color-mix(in oklab, var(--surface-soft) 55%, transparent), var(--surface));max-width:720px;box-shadow:var(--shadow-soft);text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:12px;margin:0 auto;padding:20px 14px;display:flex}.home-bottom-cta-title{font-size:clamp(1rem,3.5vw,1.2rem);font-weight:var(--fw-semibold);color:var(--text-h);margin:0;line-height:1.3}@media (width>=640px){.home-page{gap:14px;padding:18px 14px}.home-hero{padding:22px 20px}.home-actions{grid-template-columns:repeat(2,minmax(0,220px))}.home-how-it-works{padding:18px}.home-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.home-step{flex-direction:column;gap:8px}.home-step-content{padding-top:0}.home-features{padding:18px}.home-features-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.home-bottom-cta{padding:24px 20px}}@media (width>=1024px){.home-page{gap:16px;padding:28px 20px}.home-hero{padding:28px 24px}.home-how-it-works,.home-features{padding:22px}.home-bottom-cta{padding:28px 24px}}.not-found-page{background:radial-gradient(circle at top, color-mix(in srgb, var(--success) 12%, transparent), transparent 40%), var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.not-found-container{background:var(--surface);text-align:center;width:100%;max-width:520px;box-shadow:0 10px 25px #00000014, 0 4px 10px color-mix(in srgb, var(--success) 8%, transparent);border:1px solid var(--border);border-radius:28px;padding:clamp(1.5rem,5vw,3rem) clamp(1rem,4vw,2rem)}.not-found-code{font-size:clamp(3.4rem,18vw,6rem);font-weight:var(--fw-extrabold);color:var(--success);margin-bottom:1rem;line-height:1}.not-found-title{font-size:clamp(1.3rem,6vw,2rem);font-weight:var(--fw-bold);color:var(--text-h);margin-bottom:1rem}.not-found-text{color:var(--text-muted);margin-bottom:2rem;font-size:clamp(.95rem,2.8vw,1rem);line-height:1.7}.not-found-button{background:var(--success);color:#fff;font-weight:var(--fw-semibold);border-radius:16px;justify-content:center;align-items:center;padding:.95rem 1.6rem;text-decoration:none;transition:transform .2s,background .2s,box-shadow .2s;display:inline-flex}.not-found-button:hover{background:var(--success-hover);box-shadow:0 8px 18px color-mix(in srgb, var(--success) 25%, transparent);transform:translateY(-2px)}@media (width<=640px){.not-found-container{padding:2.5rem 1.5rem}}.settings-page{background-color:var(--bg);min-height:calc(100dvh - 64px);padding:12px}.settings-container{flex-direction:column;gap:10px;width:100%;max-width:900px;margin:0 auto;display:flex}.settings-accordion{gap:12px;display:grid}.settings-group{gap:6px;display:grid}.settings-group-title{color:var(--text-muted);font-size:.68rem;font-weight:var(--fw-extrabold);letter-spacing:.08em;text-align:left;text-transform:uppercase;margin:0 2px 1px;line-height:1.2}.settings-card{background-color:var(--surface);border:1px solid color-mix(in oklab, var(--border) 82%, transparent);text-align:left;min-height:46px;transition:transform var(--motion-base) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-base) var(--ease-standard), background-color var(--motion-base) var(--ease-standard);border-radius:11px;padding:7px 8px;box-shadow:0 4px 14px #0f172a0a}.settings-card:hover{border-color:color-mix(in oklab, var(--success) 18%, var(--border));transform:translateY(-2px)}.settings-card-danger:hover{border-color:color-mix(in oklab, var(--danger) 18%, var(--border))}.settings-accordion-trigger{width:100%;min-height:32px;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:10px;padding:0;display:flex}.settings-summary{color:var(--text-muted);margin-top:2px;font-size:.76rem;line-height:1.22}.settings-chevron{width:17px;height:17px;color:var(--text-muted);transition:transform var(--motion-base) var(--ease-standard), color var(--motion-fast) var(--ease-standard)}.settings-chevron.is-open{color:var(--success);transform:rotate(180deg)}.settings-panel{margin-top:6px;padding:2px 1px 3px}.settings-panel-wrap{transition:grid-template-rows var(--motion-base) var(--ease-standard);grid-template-rows:0fr;display:grid}.settings-panel-wrap .settings-panel{overflow:hidden}.settings-panel-wrap.is-open{grid-template-rows:1fr}.settings-card-header{align-items:center;gap:8px;display:flex}.settings-card-inline{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.settings-card-inline .settings-actions{flex-wrap:nowrap;flex-shrink:0;margin-top:0}@media (width<=480px){.settings-card-inline{flex-direction:column;align-items:flex-start}.settings-card-inline .settings-actions{flex-wrap:wrap;width:100%;margin-top:8px}.settings-card-inline .settings-actions .settings-option{width:100%}}.settings-card-title-row{align-items:center;gap:8px;min-width:0;display:flex}.settings-card-title-row>div{min-width:0}.settings-card-icon{background:color-mix(in oklab, var(--surface-soft) 70%, var(--surface));width:22px;height:22px;color:var(--success);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.settings-card-icon svg{stroke-width:2.2px;width:12px;height:12px}.settings-card h2{margin:0;font-size:clamp(.92rem,2.8vw,1.05rem);line-height:1.2}.settings-card p{color:var(--text-muted);margin-top:3px;line-height:1.4}.settings-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.settings-option{border:1px solid var(--border);background-color:var(--surface);color:var(--text);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.2px;cursor:pointer;transition:background-color var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);border-radius:9px;padding:8px 10px;font-size:13px}.settings-option:hover{background-color:var(--surface-soft);transform:translateY(-1px)}.settings-option.is-selected{border-color:var(--success);background-color:var(--surface-soft);color:var(--success)}.settings-profile-avatar{background:color-mix(in oklab, var(--surface-soft) 60%, var(--surface));border:1px solid var(--border);border-radius:10px;align-items:center;gap:12px;margin:10px 0 14px;padding:10px 12px;display:flex}.settings-profile-avatar>div{flex-direction:column;gap:2px;min-width:0;display:flex}.settings-profile-avatar strong{color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;overflow:hidden}.settings-profile-avatar span{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.settings-profile-form{gap:6px;margin-top:10px;display:grid}.settings-profile-form label{font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.2px;font-size:12px}.settings-profile-form input{border:1px solid var(--input-border);background-color:var(--surface);width:100%;color:var(--text);border-radius:9px;padding:10px 11px;font-size:15px}.settings-profile-form button{margin-top:6px}.settings-account-actions{margin-top:10px}.about-meta-list{gap:8px;margin:10px 0 0;display:grid}.about-meta-item{border:1px solid var(--border);background:color-mix(in oklab, var(--surface-soft) 45%, var(--surface));border-radius:9px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.about-meta-item dt{color:var(--text-muted);margin:0;font-size:.86rem}.about-meta-item dd{font-weight:var(--fw-bold);color:var(--text-h);margin:0}.changelog-list{gap:8px;margin-top:10px;display:grid}.changelog-item{border:1px solid var(--border);background-color:color-mix(in oklab, var(--surface-soft) 35%, var(--surface));border-radius:10px;padding:10px}.changelog-item-header{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.changelog-item-header strong{color:var(--text-h)}.changelog-item-header span{color:var(--text-muted);font-size:.82rem}.changelog-item ul{color:var(--text-muted);gap:3px;margin:8px 0 0;padding-left:18px;display:grid}.settings-option-danger{border-color:var(--danger-soft-border);background-color:var(--danger-soft);color:var(--danger-soft-text)}.settings-option-danger:hover{background-color:var(--danger-soft-border);color:var(--danger-soft-text)}.settings-option:disabled{opacity:.45;cursor:not-allowed;transform:none}.settings-btn-primary{border:1px solid var(--success);background-color:var(--success);color:#fff;font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.2px;cursor:pointer;transition:opacity var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);border-radius:9px;margin-top:6px;padding:8px 10px;font-size:13px}.settings-btn-primary:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.settings-btn-primary:disabled{opacity:.4;cursor:not-allowed;transform:none}.settings-card-heading{font-size:clamp(.92rem,2.8vw,1.05rem);font-weight:var(--fw-bold);color:var(--text-h);align-items:center;gap:6px;margin:0;line-height:1;display:inline-flex}.settings-dirty-dot{background-color:var(--success);border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.settings-badge-soon{font-size:10px;font-weight:var(--fw-extrabold);letter-spacing:.05em;text-transform:uppercase;background-color:color-mix(in oklab, var(--danger) 12%, transparent);color:var(--danger-soft-text);vertical-align:middle;border-radius:20px;margin-left:6px;padding:1px 6px;display:inline-block}.settings-subsection{border-top:1px solid var(--border);margin-top:16px;padding-top:14px}.settings-subsection-title{font-size:.78rem;font-weight:var(--fw-extrabold);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:6px;margin:0 0 10px;display:flex}.settings-account-actions-top{margin:6px 0 4px}.settings-field-error{color:var(--danger-soft-text);margin:0;font-size:.82rem}.settings-field-hint{color:var(--text-muted);margin:0;font-size:.78rem;line-height:1.4}.settings-profile-form--email{border-top:1px solid var(--border);margin-top:14px;padding-top:14px}.settings-btn-install{width:100%;margin-top:12px}.settings-expand-bar{justify-content:flex-end;margin-bottom:4px;display:flex}.settings-expand-toggle{color:var(--text-muted);font-size:.75rem;font-weight:var(--fw-bold);cursor:pointer;text-underline-offset:2px;transition:color var(--motion-fast) var(--ease-standard);background:0 0;border:none;padding:2px 0;text-decoration:underline}.settings-expand-toggle:hover{color:var(--text)}@media (width<=600px){.settings-actions{flex-direction:column}.settings-option{width:100%}.settings-card{padding:7px 8px}}@media (width>=640px){.settings-page{padding:18px 14px}}@media (width>=768px){.settings-page{padding:22px 18px}}@media (width>=1024px){.settings-page{padding:28px 20px}}.avatar-initials{color:#fff;letter-spacing:.03em;-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.psb{align-items:center;gap:8px;margin-top:4px;display:flex}.psb-segments{flex:1;gap:4px;display:flex}.psb-seg{background-color:var(--border);height:4px;transition:background-color var(--motion-base) var(--ease-standard);border-radius:4px;flex:1}.psb-seg--1{background-color:var(--danger-soft-text)}.psb-seg--2{background-color:#d4a843}.psb-seg--3{background-color:var(--success)}.psb-label{font-size:.75rem;font-weight:var(--fw-bold);white-space:nowrap;transition:color var(--motion-base) var(--ease-standard)}.psb-label--1{color:var(--danger-soft-text)}.psb-label--2{color:#d4a843}.psb-label--3{color:var(--success)}.create-list-page{background-color:var(--bg);min-height:calc(100dvh - 64px);padding:14px 10px 108px}.create-list-page.is-create-mode{padding-bottom:14px}.create-list-page.is-create-mode .create-list-container{grid-template-rows:minmax(0,1fr) auto;gap:14px;height:calc(100dvh - 92px);display:grid}.create-list-container{max-width:900px;margin:0 auto}.create-list-header{text-align:center;margin-bottom:12px}.create-list-header h1{overflow-wrap:anywhere;margin:0;font-size:clamp(1.35rem,5vw,2rem);line-height:1.1}.create-list-header p{color:var(--text-muted);overflow-wrap:anywhere;line-height:1.35;font-weight:var(--fw-medium);margin-top:4px;font-size:.94rem}.create-list-form{background-color:var(--surface);box-shadow:var(--shadow-card);animation:fade-in-up var(--motion-slow) var(--ease-standard);border-radius:16px;padding:clamp(14px,2.8vw,24px)}.create-list-form-compact{min-height:0;animation:fade-overlay var(--motion-slow) var(--ease-standard);grid-template-rows:auto auto minmax(0,1fr) auto;margin-top:10px;padding:clamp(14px,2.6vw,20px);display:grid}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.2px;font-size:12px}.form-group input{border:1px solid var(--input-border);background-color:var(--surface);color:var(--text);border-radius:9px;padding:10px 11px;font-size:15px}.form-group input:focus{border-color:var(--success);outline:none}.products-header{margin:14px 0 8px;display:flex}.products-header h2{overflow-wrap:anywhere;margin:0}.products-scroll-panel{overscroll-behavior:contain;border:1px solid var(--border);background:color-mix(in oklab, var(--surface-soft) 45%, var(--surface));scrollbar-gutter:stable;border-radius:14px;min-height:0;padding:8px;overflow-y:auto}.products-scroll-panel.is-create,.products-scroll-panel.is-edit{flex:1;max-height:none}.products-scroll-panel.is-edit{padding-bottom:72px}.products-list{flex-direction:column;gap:8px;display:flex}.products-summary-empty{border:1px dashed var(--border);background:color-mix(in oklab, var(--surface-soft) 58%, var(--surface));border-radius:12px;padding:14px}.products-summary-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.products-summary-item{border:1px solid var(--border);background:color-mix(in oklab, var(--surface-soft) 50%, var(--surface));border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;display:flex}.products-summary-item span{flex-direction:column;gap:2px;min-width:0;display:flex}.products-summary-item strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;line-height:1.25;overflow:hidden}.products-summary-item small{color:var(--text-muted);font-size:.82rem;line-height:1.25}.summary-remove-button{flex-shrink:0}.product-item{border:1px solid var(--border);transition:transform var(--motion-base) var(--ease-standard), box-shadow var(--motion-base) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard);border-radius:12px;padding:8px;position:relative}.product-item:hover{transform:translateY(-1px)}.product-row{grid-template-columns:minmax(0,1fr) 64px 36px;align-items:center;gap:8px;display:grid}.product-name-input,.product-quantity-input{border:1px solid var(--input-border);background-color:var(--surface);width:100%;color:var(--text);border-radius:8px;padding:9px 10px;font-size:14px}.product-name-input:focus,.product-quantity-input:focus{border-color:var(--success);outline:none}.product-quantity-input{text-align:center}.product-suggestions{z-index:5;border:1px solid var(--input-border);background-color:var(--surface);box-shadow:var(--shadow-card);border-radius:10px;flex-direction:column;gap:2px;padding:4px;display:flex;position:absolute;top:calc(100% - 6px);left:8px;right:8px}.product-suggestion-item{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:8px 9px;display:flex}.product-suggestion-item small{color:var(--text-muted);font-size:.72rem}.product-suggestion-item:hover,.product-suggestion-item.is-active{background-color:color-mix(in oklab, var(--success) 12%, var(--surface))}.product-suggestion-state{color:var(--text-muted);margin:0;padding:8px 10px;font-size:.84rem}.remove-icon-button{border:1px solid color-mix(in oklab, var(--danger) 22%, var(--border));background-color:var(--danger-soft);width:44px;height:44px;color:var(--danger);cursor:pointer;transition:background-color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), opacity var(--motion-fast) var(--ease-standard);border-radius:9px;justify-content:center;align-items:center;padding:0;display:inline-flex}.remove-icon-button svg{stroke-width:2.2px;width:16px;height:16px}.remove-icon-button:hover{background-color:var(--danger-soft-border)}.remove-icon-button:disabled{background-color:var(--input-border);border-color:var(--input-border);color:var(--text-muted);cursor:not-allowed}.create-list-actions{grid-template-columns:1fr;gap:10px;margin-top:14px;display:grid}.create-list-actions.is-panel{border:1px solid var(--border);background-color:var(--surface);box-shadow:var(--shadow-soft);border-radius:16px;padding:10px}.create-list-actions.is-compact{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}.add-product-inline{border:1px dashed color-mix(in oklab, var(--success) 36%, var(--border));background-color:color-mix(in oklab, var(--surface-soft) 65%, var(--surface));width:100%;min-height:54px;color:var(--success);font-weight:var(--fw-bold);cursor:pointer;transition:background-color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), opacity var(--motion-fast) var(--ease-standard);border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:12px 14px;font-size:15px;display:inline-flex}.add-product-inline svg{stroke-width:2.2px;width:15px;height:15px}.add-product-inline:hover{background-color:color-mix(in oklab, var(--surface-soft) 92%, var(--surface));transform:translateY(-1px)}.save-button{background-color:var(--success);color:#fff;width:100%;min-height:54px;font-size:15px;font-weight:var(--fw-extrabold);cursor:pointer;transition:background-color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard), opacity var(--motion-fast) var(--ease-standard);border:none;border-radius:10px;padding:12px 14px}.save-button:hover{background-color:var(--success-hover);transform:translateY(-1px)}.save-button:disabled,.add-product-inline:disabled{opacity:.7;cursor:not-allowed}.duplicate-warning-inline{color:var(--text-muted);margin-top:10px;font-size:.88rem;line-height:1.35}@media (width<=768px){.create-list-page{padding-bottom:112px}.create-list-page.is-create-mode{padding-bottom:14px}.create-list-page.is-create-mode .create-list-container{height:calc(100dvh - 92px)}.create-list-form{padding:14px}.products-header{margin:12px 0 8px}.product-row{grid-template-columns:minmax(0,1fr) 56px 34px}}@media (width>=640px){.create-list-page{padding:18px 14px 112px}.create-list-page.is-create-mode{padding-bottom:18px}.create-list-page.is-create-mode .create-list-container{height:calc(100dvh - 100px)}.create-list-header p{font-size:.98rem}.products-list{gap:12px}}@media (width>=769px) and (width<=1024px){.create-list-page{padding:22px 18px 112px}.create-list-page.is-create-mode{padding-bottom:22px}.create-list-page.is-create-mode .create-list-container{height:calc(100dvh - 108px)}.create-list-container{max-width:90%}.create-list-form{padding:18px}.product-item{padding:10px}}@media (width>=1024px){.create-list-page{padding:28px 20px 112px}.create-list-page.is-create-mode{padding-bottom:28px}.create-list-page.is-create-mode .create-list-container{height:calc(100dvh - 120px)}}.product-entry-modal{flex-direction:column;max-width:540px;height:min(760px,100dvh - 32px);max-height:calc(100dvh - 32px);display:flex;overflow:hidden}.product-entry-sheet-handle{display:none}@keyframes product-entry-fade-out{0%{opacity:1}to{opacity:0}}@keyframes product-entry-slide-out{0%{transform:translateY(0)}to{transform:translateY(110%)}}.product-entry-modal.is-closing{animation:.18s forwards product-entry-fade-out}.product-entry-discard-confirm{border:1px solid color-mix(in oklab, var(--danger) 35%, var(--border));background:color-mix(in oklab, var(--danger) 8%, var(--surface));border-radius:10px;flex-shrink:0;margin-bottom:10px;padding:10px 12px}.product-entry-discard-confirm p{color:var(--text);margin:0 0 8px;font-size:.88rem}.product-entry-discard-actions{justify-content:flex-end;gap:8px;display:flex}.product-entry-discard-actions button{border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.84rem;font-weight:var(--fw-bold);cursor:pointer;border-radius:8px;padding:6px 12px}.product-entry-discard-confirm-action{background:var(--danger)!important;border-color:var(--danger)!important;color:#fff!important}.product-entry-preview-item-right{flex-shrink:0;align-items:center;gap:6px;display:flex}.product-entry-remove-button{width:32px;height:32px;color:var(--text-muted);cursor:pointer;transition:color var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) var(--ease-standard);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.product-entry-remove-button:hover{color:var(--danger);background:color-mix(in oklab, var(--danger) 10%, var(--surface))}.product-entry-remove-button svg{stroke-width:2.4px;width:14px;height:14px}.product-entry-form{flex-direction:column;flex-shrink:0;gap:10px;display:flex}.product-entry-name-field{position:relative}.product-entry-suggestions{z-index:20;border:1px solid var(--input-border);background-color:var(--surface);max-height:min(220px,34dvh);box-shadow:var(--shadow-card);border-radius:10px;flex-direction:column;gap:2px;padding:4px;display:flex;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.product-entry-suggestion-item{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:8px 9px;display:flex}.product-entry-suggestion-item small{color:var(--text-muted);font-size:.72rem}.product-entry-suggestion-item:hover,.product-entry-suggestion-item.is-active{background-color:color-mix(in oklab, var(--success) 12%, var(--surface))}.product-entry-suggestion-state{color:var(--text-muted);margin:0;padding:8px 10px;font-size:.84rem}.product-entry-row{flex-direction:column;gap:8px;display:flex}.product-entry-quantity-block{flex-direction:column;gap:6px;display:flex}.product-entry-quantity-block>span{font-weight:var(--fw-bold);text-transform:uppercase;font-size:12px}.product-entry-stepper{grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:8px;display:grid}.product-entry-stepper button{border:1px solid var(--input-border);background-color:var(--surface);min-height:44px;color:var(--text);cursor:pointer;transition:transform var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.product-entry-stepper button:hover{background-color:color-mix(in oklab, var(--success) 8%, var(--surface));border-color:color-mix(in oklab, var(--success) 35%, var(--input-border))}.product-entry-stepper button:active{box-shadow:0 0 0 3px color-mix(in oklab, var(--success) 22%, transparent);transform:scale(.96)}.product-entry-stepper strong{border:1px solid var(--input-border);border-radius:8px;justify-content:center;align-items:center;min-height:44px;display:inline-flex}.product-entry-stepper svg{width:16px;height:16px}.product-entry-add-button{margin-top:2px}.product-entry-preview{border-top:1px solid var(--border);flex-direction:column;flex:auto;min-height:0;margin-top:14px;padding-top:10px;display:flex;overflow:hidden}.product-entry-preview h3{flex-shrink:0;margin:0;font-size:.94rem}.product-entry-preview-header{flex-direction:column;flex-shrink:0;gap:6px;margin:0 0 8px;display:flex}.product-entry-added-feedback{border:1px solid color-mix(in oklab, var(--success) 28%, var(--border));background-color:color-mix(in oklab, var(--success) 12%, var(--surface));color:var(--success-strong);font-size:.82rem;font-weight:var(--fw-bold);border-radius:999px;margin:0;padding:7px 10px;line-height:1.2}.product-entry-preview p{color:var(--text-muted);text-align:center;flex:auto;justify-content:center;align-items:flex-start;min-height:0;margin:0;padding-top:6px;font-size:.88rem;display:flex}.product-entry-preview ul{flex-direction:column;flex:auto;gap:6px;min-height:0;margin:0;padding:0 4px 0 0;list-style:none;display:flex;overflow-y:auto}.product-entry-modal .confirm-modal-actions{flex-shrink:0;padding-top:10px}.product-entry-preview li{border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:7px 9px;display:flex}.product-entry-preview li span{flex-direction:column;gap:2px;min-width:0;display:flex}.product-entry-preview li small{color:var(--text-muted);font-size:.72rem}@media (width<=640px){.modal-overlay:has(.product-entry-modal){align-items:flex-end;padding:0}.product-entry-modal{width:100%;max-width:100%;height:min(780px,100dvh - 10px);max-height:calc(100dvh - 10px);padding:14px 16px max(16px, env(safe-area-inset-bottom));border-radius:22px 22px 0 0}.product-entry-sheet-handle{cursor:pointer;width:100%;color:color-mix(in oklab, var(--text-muted) 50%, transparent);transition:color var(--motion-fast) var(--ease-standard);background:0 0;border:none;flex-direction:column;flex-shrink:0;align-items:center;gap:4px;margin:-6px 0 0;padding:0 0 12px;display:flex}.product-entry-sheet-handle:before{content:"";background:currentColor;border-radius:999px;width:46px;height:5px;display:block}.product-entry-sheet-handle svg{stroke-width:2.4px;width:16px;height:16px}.product-entry-sheet-handle:hover{color:var(--text-muted)}.product-entry-modal.is-closing{animation:.3s cubic-bezier(.4,0,.6,1) forwards product-entry-slide-out}.product-entry-modal h2{margin-bottom:12px;font-size:1.15rem}.product-entry-form,.product-entry-row{gap:12px}.product-entry-stepper{grid-template-columns:60px minmax(0,1fr) 60px;gap:10px}.product-entry-stepper button,.product-entry-stepper strong{border-radius:14px;min-height:56px}.product-entry-stepper strong{font-size:1.2rem}.product-entry-stepper svg{width:20px;height:20px}.product-entry-add-button{border-radius:14px;min-height:54px}.product-entry-preview{margin-top:12px}.product-entry-added-feedback{text-align:center;padding:9px 12px;font-size:.86rem}.product-entry-preview li{border-radius:12px;padding:11px 12px}.product-entry-preview li strong{font-size:.95rem}.product-entry-modal .confirm-modal-actions{background:linear-gradient(180deg, color-mix(in oklab, var(--surface) 0%, transparent), var(--surface) 35%);margin-inline:-16px;padding:12px 16px 0;position:sticky;bottom:0}.product-entry-modal .confirm-modal-confirm{border-radius:14px;width:100%;min-height:56px;font-size:1rem}}.shopping-page{background-color:var(--bg);min-height:calc(100dvh - 64px);padding:14px 10px;overflow-x:hidden}.shopping-container{width:100%;max-width:950px;margin:0 auto}.shopping-page.is-detail-mode{padding-bottom:14px}.shopping-page.is-detail-mode .shopping-container{grid-template-rows:minmax(0,1fr) auto;gap:14px;height:calc(100dvh - 92px);display:grid}.shopping-page.is-detail-mode .shopping-items{overscroll-behavior:contain;min-height:0;padding-right:2px;overflow-y:auto}.shopping-page.is-detail-mode .shopping-footer{margin-top:0;position:static}.shopping-items{flex-direction:column;gap:8px;display:flex}.shopping-tools{gap:8px;margin-top:2px;display:grid}.shopping-search{border:1px solid var(--border);background:var(--surface);border-radius:10px;align-items:center;gap:8px;padding:8px 10px;display:flex}.shopping-search svg{width:16px;height:16px;color:var(--text-muted);stroke-width:2.2px}.shopping-search input{min-width:0;color:var(--text);background:0 0;border:none;flex:1;font-size:14px}.shopping-search input[type=search]::-webkit-search-cancel-button{appearance:none}.shopping-search input:focus{outline:none}.shopping-search-clear{border:1px solid var(--border);background:var(--surface);width:44px;height:44px;color:var(--text-muted);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.shopping-search-clear svg{stroke-width:2.5px;width:13px;height:13px}.shopping-add-button{border:1px solid color-mix(in oklab, var(--success) 45%, var(--border));background:color-mix(in oklab, var(--success) 12%, var(--surface));color:var(--text);font-weight:var(--fw-bold);border-radius:10px;padding:8px 10px}.shopping-add-modal{max-width:520px}.shopping-add-modal h2{margin-bottom:4px}.shopping-add-modal p{color:var(--text-muted);margin-top:0}.shopping-add-form{gap:8px;display:grid}.shopping-add-suggestions{border:1px solid var(--input-border);background:var(--surface);box-shadow:var(--shadow-card);border-radius:10px;flex-direction:column;gap:2px;margin-top:-4px;padding:4px;display:flex}.shopping-add-suggestion-item{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:8px 9px;display:flex}.shopping-add-suggestion-item small{color:var(--text-muted);font-size:.72rem}.shopping-add-suggestion-item:hover,.shopping-add-suggestion-item.is-active{background-color:color-mix(in oklab, var(--success) 12%, var(--surface))}.shopping-add-suggestion-state{color:var(--text-muted);margin:0;padding:8px 10px;font-size:.84rem}.shopping-add-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.shopping-add-actions,.shopping-duplicate-actions{margin-top:6px}.review-unpriced-list{flex-direction:column;gap:4px;margin:8px 0 16px;padding:0;list-style:none;display:flex}.review-unpriced-item{text-align:left;border:1px solid var(--border);width:100%;color:var(--text);font-size:.92rem;font-weight:var(--fw-medium);cursor:pointer;transition:background-color var(--motion-fast) var(--ease-standard);background:0 0;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;display:flex}.review-unpriced-item:hover{background:var(--surface-soft)}.review-unpriced-item svg{width:14px;height:14px;color:var(--text-muted);flex-shrink:0}.shopping-card[data-highlighted=true]{border-color:color-mix(in oklab, var(--success) 62%, var(--border));box-shadow:0 0 0 2px color-mix(in oklab, var(--success) 24%, transparent);animation:2.6s shopping-item-highlight}@keyframes shopping-item-highlight{0%{background-color:color-mix(in oklab, var(--success) 22%, var(--surface));transform:translateY(0)}to{background-color:var(--surface);transform:translateY(0)}}.shopping-card{background-color:var(--surface);border:1px solid var(--border);min-width:0;box-shadow:var(--shadow-card);transition:transform var(--motion-base) var(--ease-standard), box-shadow var(--motion-base) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), background-color var(--motion-base) var(--ease-standard);border-radius:12px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.shopping-card:hover{transform:translateY(-2px)}.shopping-card-done{background-color:var(--surface-soft);border-color:var(--done-text)}.shopping-card-priced{border-color:color-mix(in oklab, var(--success) 58%, var(--border))}.shopping-card-no-price{border-color:color-mix(in oklab, var(--warning-text) 58%, var(--border));background-color:color-mix(in oklab, var(--warning-soft) 28%, var(--surface))}.shopping-card-pending{border-color:color-mix(in oklab, var(--warning-text) 26%, var(--border))}.shopping-card-done .shopping-info h2{color:var(--done-text)}.shopping-info h2{overflow-wrap:break-word;word-break:break-word;text-align:left;margin:0;font-size:clamp(.92rem,3.3vw,1.02rem);line-height:1.3}.shopping-item-name{overflow-wrap:break-word;word-break:break-word}.shopping-item-status{background:color-mix(in oklab, var(--surface-soft) 76%, var(--surface));color:var(--text-muted);font-size:.66rem;font-weight:var(--fw-bold);white-space:nowrap;border-radius:999px;flex:none;margin:0;padding:2px 7px;line-height:1.1}.shopping-card-priced .shopping-item-status{background:color-mix(in oklab, var(--success) 12%, var(--surface));color:var(--success)}.shopping-card-no-price .shopping-item-status{background:color-mix(in oklab, var(--warning-soft) 76%, var(--surface));color:var(--warning-text)}.shopping-check-button{border:2px solid var(--border);background:var(--surface);width:44px;height:44px;color:color-mix(in oklab, var(--text-muted) 42%, transparent);cursor:pointer;transition:border-color var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);border-radius:16px;flex:none;justify-content:center;align-items:center;margin-top:1px;display:inline-flex}.shopping-check-button:hover:not(:disabled){border-color:var(--success);transform:translateY(-1px)}.shopping-check-button[aria-pressed=true]{border-color:var(--success);background:var(--success);color:#fff}.shopping-card-no-price .shopping-check-button[aria-pressed=true]{border-color:var(--warning-text);background:var(--warning-soft);color:var(--warning-text)}.shopping-check-button:disabled{cursor:default;opacity:.72}.shopping-check-button svg{stroke-width:3px;width:22px;height:22px}.shopping-item-quantity{font-variant-numeric:tabular-nums;font-size:clamp(.92rem,3.3vw,1.02rem);line-height:1.3;font-weight:var(--fw-extrabold);color:var(--text-muted);padding-top:0}.shopping-meta{color:var(--text-muted);text-align:left;margin:1px 0 0;font-size:.74rem;line-height:1.25}.shopping-meta-no-history{margin-top:0}.shopping-line-primary{align-items:flex-start;gap:10px;width:100%;display:flex}.shopping-line-primary .shopping-info{cursor:pointer;-webkit-user-select:none;user-select:none;flex:1;grid-template-columns:auto 1fr;align-items:start;column-gap:6px;min-width:0;display:grid}.shopping-info-content{min-width:0}.is-detail-mode .shopping-line-primary .shopping-info{cursor:default}.shopping-history-row{margin-top:3px}.price-group{flex-shrink:0;width:116px;margin-top:1px}.price-group label{display:none}.price-group-inner{align-items:center;display:flex;position:relative}.price-group-prefix{color:var(--text-muted);font-size:13px;font-weight:var(--fw-bold);pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;left:9px}.price-group input{border:1px solid var(--input-border);background-color:var(--surface);width:100%;max-width:100%;min-height:46px;color:var(--text);font-size:14px;font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;text-align:right;border-radius:8px;padding:8px 9px 8px 30px}.price-group input::placeholder{color:var(--text-muted)}.price-group input:focus{border-color:var(--success);outline:none}.price-indicator-cheaper{color:var(--success)}.price-indicator-normal{color:var(--warning-text)}.price-indicator-expensive{color:var(--danger)}.shopping-footer{background-color:var(--surface);padding:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom));border:1px solid var(--border);box-shadow:var(--shadow-soft);animation:fade-overlay var(--motion-slow) var(--ease-standard);border-radius:16px;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid;position:sticky;bottom:0}.shopping-footer-compact{box-shadow:none;background:0 0;border:none;border-radius:0;flex-direction:column;align-items:flex-end;gap:6px;margin-top:12px;padding:0;animation:none;display:flex}.finish-progress-wrap{flex-direction:column;align-items:flex-end;gap:6px;width:100%;display:flex;position:relative}.finish-missing-price-badge{border:1px solid color-mix(in oklab, var(--warning-text) 42%, var(--border));background:color-mix(in oklab, var(--warning-soft) 72%, var(--surface));color:var(--warning-text);font-size:.74rem;font-weight:var(--fw-bold);white-space:nowrap;z-index:1;border-radius:999px;padding:4px 9px;line-height:1;position:absolute;bottom:calc(100% + 6px);right:0}.finish-button{background-color:var(--success);color:#fff;width:100%;min-height:54px;font-size:15px;font-weight:var(--fw-extrabold);cursor:pointer;transition:background-color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard), opacity var(--motion-fast) var(--ease-standard);border:none;border-radius:14px;grid-column:1/-1;margin-top:2px;padding:12px 14px}.finish-progress-button{border:2px solid var(--success);background:color-mix(in oklab, var(--success) 4%, var(--surface));color:var(--text);text-align:initial;isolation:isolate;display:block;position:relative;overflow:hidden}.finish-progress-fill{z-index:0;border-radius:inherit;background:linear-gradient(90deg, color-mix(in oklab, var(--success) 22%, var(--surface)), color-mix(in oklab, var(--success) 10%, var(--surface)) 65%, transparent);transition:width var(--motion-base) var(--ease-standard);position:absolute;inset:0 auto 0 0}.finish-progress-content{z-index:1;justify-content:space-between;align-items:center;gap:14px;min-width:0;display:flex;position:relative}.finish-progress-total{min-width:0;color:var(--success);font-size:clamp(1rem,4vw,1.24rem);font-weight:var(--fw-extrabold);font-variant-numeric:tabular-nums;white-space:nowrap;flex:0 auto}.finish-progress-action{color:var(--success);font-size:clamp(.9rem,3.4vw,1rem);font-weight:var(--fw-extrabold);white-space:nowrap;flex:none}@media (width<=639px){.shopping-footer-compact{right:10px;bottom:calc(8px + env(safe-area-inset-bottom));z-index:1000;margin:0;position:fixed;left:10px}.finish-button-sticky-mobile{box-shadow:none;position:static}.shopping-page{padding-bottom:142px}.shopping-items{padding-bottom:26px}}@media (width>=640px){.finish-progress-wrap{max-width:360px;margin-left:auto}.finish-button-sticky-mobile{position:static}}.finish-button:hover{background-color:var(--success-hover);transform:translateY(-1px)}.finish-button:disabled{opacity:.65;cursor:not-allowed;background-color:color-mix(in oklab, var(--success) 60%, var(--surface));transform:none}.finish-progress-button:disabled{background:color-mix(in oklab, var(--surface-soft) 78%, var(--surface))}.finish-progress-button:disabled .finish-progress-fill{opacity:.55}.finish-progress-button:hover:not(:disabled){background:var(--success)}.finish-progress-button:hover:not(:disabled) .finish-progress-total,.finish-progress-button:hover:not(:disabled) .finish-progress-action{color:#fff}@media (width<=380px){.finish-progress-content{gap:10px}.finish-progress-total{font-size:.98rem}.finish-progress-action{font-size:.86rem}}.shopping-footer-actions{grid-column:span 2;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.shopping-footer-actions .finish-button{grid-column:auto}.secondary-action,.danger-action{justify-content:center;align-items:center;gap:8px;display:inline-flex}.secondary-action{background-color:var(--warning-soft);color:var(--warning-text)}.secondary-action:hover{background-color:color-mix(in oklab, var(--warning-soft) 80%, var(--warning-text))}.danger-action{background-color:var(--danger);color:#fff}.danger-action:hover{background-color:var(--danger-hover)}.secondary-action svg,.danger-action svg{stroke-width:2.2px;width:16px;height:16px}@media (width<=639px){.shopping-add-row{grid-template-columns:1fr}}@media (width>=640px){.shopping-page{padding:18px 14px}.shopping-page.is-detail-mode{padding-bottom:18px}.shopping-page.is-detail-mode .shopping-container{height:calc(100dvh - 100px)}.shopping-items{gap:12px}.shopping-tools{grid-template-columns:minmax(0,1fr) auto;align-items:center}.shopping-card{padding:8px 10px}.shopping-footer{padding:14px;padding-bottom:calc(14px + env(safe-area-inset-bottom));margin-top:14px}.shopping-footer-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=768px){.shopping-page{padding:22px 18px}.shopping-page.is-detail-mode{padding-bottom:22px}.shopping-page.is-detail-mode .shopping-container{height:calc(100dvh - 108px)}.shopping-card{padding:9px 10px}}@media (width>=1024px){.shopping-page{padding:28px 20px}.shopping-page.is-detail-mode{padding-bottom:28px}.shopping-page.is-detail-mode .shopping-container{height:calc(100dvh - 120px)}.shopping-card{padding:9px 11px}.shopping-footer{padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom));gap:12px;margin-top:16px}}
