*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}#root,body,html{height:100%}:root{--cream:#FBF6EE;--cream-2:#F5EDDF;--paper:#FFFCF6;--ink:#3D2B1F;--ink-soft:#6E5644;--ink-mute:#9C8772;--line:rgba(61,43,31,0.12);--line-strong:rgba(61,43,31,0.25);--pink:#F4A8B8;--pink-deep:#E893A6;--peach:#FBC9A6;--peach-deep:#F8B68A;--mint:#BFE4C9;--mint-deep:#9AD4B0;--lavender:#D4C5EE;--lavender-deep:#B8A2E0;--butter:#F8E0A0;--butter-deep:#F4C870;--sky:#BFDAEE;--accent:var(--peach-deep);--accent-ink:#C46A36;--shadow-sm:0 1px 2px rgba(61,43,31,0.06);--shadow-md:0 4px 16px rgba(61,43,31,0.08);--shadow-lg:0 12px 32px rgba(61,43,31,0.12);--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--radius-xl:32px}body{font-family:Nunito,system-ui,-apple-system,sans-serif;font-feature-settings:"ss01";color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased}button{background:none;border:0;cursor:pointer}button,input,textarea{font:inherit;color:inherit}.app.dir-editorial{--cream:#F4EFE6;--paper:#FAF7F0}.app.dir-editorial,.app.dir-editorial h1,.app.dir-editorial h2,.app.dir-editorial h3{font-family:Fraunces,Georgia,serif}.app.dir-modernist{font-family:IBM Plex Sans,system-ui,sans-serif;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--cream:#F4F2EC;--paper:#FFFFFF}.app.dir-modernist h1,.app.dir-modernist h2,.app.dir-modernist h3{font-family:IBM Plex Mono,ui-monospace,monospace;letter-spacing:-.01em}.app,.screen-stack{min-height:100vh;background:var(--cream)}.screen-stack{max-width:480px;margin:0 auto;position:relative;overflow:hidden;width:100%;box-sizing:border-box;transform:translateZ(0)}@media (min-width:600px){.app{padding:24px;background:linear-gradient(180deg,#EFE7D8,#F4ECDD)}.screen-stack{border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--line);min-height:92vh}}.screen{padding:0 20px 120px;box-sizing:border-box;min-width:0;width:100%}.screen,.welcome{position:relative}.welcome{min-height:100vh;padding:0;overflow:hidden}.welcome-bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}.bg-blob{position:absolute;border-radius:50%;filter:blur(40px);opacity:.55}.bg-blob-1{width:280px;height:280px;background:var(--pink);top:-80px;right:-80px}.bg-blob-2{width:240px;height:240px;background:var(--mint);bottom:100px;left:-60px}.bg-blob-3{width:200px;height:200px;background:var(--lavender);top:40%;right:20%}.welcome-content{position:relative;padding:56px 24px 40px;display:flex;flex-direction:column;align-items:center;text-align:center;min-height:100vh;justify-content:space-between}.brand-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.8);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:8px 14px;border-radius:100px;font-size:13px;font-weight:700;letter-spacing:.02em;border:1px solid var(--line);color:var(--ink)}.welcome-cone-wrap{position:relative;display:inline-block;margin:24px 0}.welcome-cone{width:200px;height:300px;filter:drop-shadow(0 20px 30px rgba(61,43,31,.12));animation:floatY 4s ease-in-out infinite}@keyframes floatY{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.cone-star{position:absolute;font-size:18px;color:var(--accent-ink);animation:starBlink 2s ease-in-out infinite;pointer-events:none;line-height:1}.cone-star-1{top:10px;left:-18px;animation-delay:0s;font-size:22px}.cone-star-2{top:50px;right:-20px;animation-delay:.6s;font-size:14px}.cone-star-3{top:130px;left:-24px;animation-delay:1.1s;font-size:16px}.cone-star-4{top:90px;right:-14px;animation-delay:1.7s;font-size:20px}@keyframes starBlink{0%,to{opacity:1;transform:scale(1) rotate(0deg)}30%{opacity:.2;transform:scale(.6) rotate(15deg)}60%{opacity:1;transform:scale(1.15) rotate(-10deg)}}.welcome-h1{font-size:38px;line-height:1.05;font-weight:800;letter-spacing:-.02em;text-wrap:balance}.welcome-h1 em{font-style:italic;color:var(--accent-ink);font-weight:700}.dir-editorial .welcome-h1{font-weight:600;font-size:42px}.dir-editorial .welcome-h1 em{font-family:Fraunces,serif;font-style:italic}.dir-modernist .welcome-h1{font-size:32px;font-weight:700;letter-spacing:-.04em;text-transform:none}.welcome-sub{margin-top:24px;font-size:16px;color:var(--ink-soft);max-width:320px;text-wrap:balance}.welcome-cta{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:24px;margin-bottom:24px}.welcome-features{display:flex;gap:0;margin:auto 20px 24px;padding:0;background:rgba(255,255,255,.75);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.feature{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--ink-soft);text-align:center;flex:1 1;padding:16px 8px;border-right:1px solid var(--line)}.feature:last-child{border-right:none}.feature-icon{width:32px;height:32px;display:grid;place-items:center;background:var(--paper);border-radius:50%;color:var(--accent-ink);border:1px solid var(--line)}.welcome-footer{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 16px;padding:12px 20px 20px}.welcome-footer a{font-size:11px;color:var(--ink-mute);text-decoration:none;white-space:nowrap}.welcome-footer a:hover{color:var(--ink-soft);text-decoration:underline}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 22px;background:var(--ink);color:var(--paper);border-radius:100px;font-weight:700;font-size:15px;transition:transform .15s ease,box-shadow .15s ease;box-shadow:var(--shadow-md)}.btn-primary:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-lg{padding:16px 28px;font-size:16px}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 22px;border-radius:100px;background:transparent;border:2px solid var(--ink);color:var(--ink);font-family:inherit;font-weight:700;font-size:15px;cursor:pointer;transition:background .15s ease}.btn-secondary:hover{background:color-mix(in oklab,var(--ink) 8%,transparent)}.dir-modernist .btn-primary{border-radius:var(--radius-md);background:var(--ink)}.dir-editorial .btn-primary{background:var(--ink);border-radius:100px}.btn-ghost{margin-top:12px;padding:10px 18px;background:rgba(255,255,255,.7);border-radius:100px;font-size:13px;font-weight:600;color:var(--ink);border:1px solid var(--line)}.btn-ghost-line{padding:14px 22px;background:transparent;border:1.5px solid var(--line-strong);border-radius:100px;font-size:14px;font-weight:600;color:var(--ink-soft)}.builder-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;padding:16px 4px 12px;background:linear-gradient(180deg,var(--cream) 70%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.icon-btn{width:40px;height:40px;display:grid;place-items:center;background:var(--paper);border-radius:50%;border:1px solid var(--line);position:relative;color:var(--ink)}.dir-modernist .icon-btn{border-radius:var(--radius-md)}.cart-btn .cart-dot{position:absolute;top:-2px;right:-2px;background:var(--accent-ink);color:white;font-size:10px;font-weight:800;border-radius:100px;padding:2px 6px;min-width:18px;text-align:center}.builder-title-wrap{flex:1 1}.builder-title{font-size:20px;font-weight:800;letter-spacing:-.01em}.dir-editorial .builder-title,.dir-modernist .builder-title{font-weight:600}.builder-meta{font-size:12px;color:var(--ink-mute)}.cone-preview{background:var(--paper);border-radius:var(--radius-lg);padding:12px;display:flex;flex-direction:row;align-items:center;gap:14px;margin-bottom:12px;border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:border-color .3s,box-shadow .3s}.cone-preview.full{border-color:var(--accent-ink);box-shadow:0 0 0 2px color-mix(in oklab,var(--peach) 60%,transparent),var(--shadow-md)}.cone-preview-inner{filter:drop-shadow(0 6px 12px rgba(61,43,31,.1))}.cone-stats{flex-direction:column;align-items:stretch;gap:10px;padding-top:0;border-top:none}.stat-divider{display:none}.capacity-bar{margin-top:8px;height:4px;background:var(--cream-2);border-radius:100px;overflow:hidden}.capacity-fill{height:100%;background:linear-gradient(90deg,var(--mint-deep),var(--peach-deep));border-radius:100px;transition:width .4s ease}.cone-preview.full .capacity-fill{background:linear-gradient(90deg,var(--peach-deep),var(--accent-ink))}.upgrade-banner{display:flex;align-items:center;gap:12px;padding:14px 16px;background:linear-gradient(135deg,var(--butter),var(--peach));border:1.5px solid var(--accent-ink);border-radius:var(--radius-md);margin-bottom:14px;position:relative;overflow:hidden}.upgrade-banner.celebrate{animation:bannerPop .5s ease}@keyframes bannerPop{0%{transform:scale(.95);opacity:0}60%{transform:scale(1.03)}to{transform:scale(1);opacity:1}}.upgrade-banner.maxed{background:linear-gradient(135deg,var(--mint),var(--lavender));border-color:var(--ink)}.upgrade-icon{width:36px;height:36px;flex:0 0 auto;display:grid;place-items:center;background:rgba(255,255,255,.6);border-radius:50%;color:var(--accent-ink);animation:spin 4s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.upgrade-text{flex:1 1}.upgrade-text strong{display:block;font-size:14px;font-weight:800;letter-spacing:-.01em}.upgrade-text p{font-size:12px;color:var(--ink-soft);margin-top:2px}.upgrade-text b{color:var(--accent-ink);font-weight:800}.upgrade-btn{display:inline-flex;align-items:center;gap:4px;padding:10px 14px;background:var(--ink);color:var(--paper);border-radius:100px;font-weight:700;font-size:13px;flex:0 0 auto}.upgrade-btn:hover{background:var(--accent-ink)}.toast{position:fixed;top:60px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--paper);padding:10px 16px;border-radius:100px;font-size:13px;font-weight:600;box-shadow:var(--shadow-md);z-index:100;animation:toastIn .25s ease-out;display:flex;align-items:center;gap:12px}.toast-undo{color:var(--butter-deep);font-weight:700;padding:2px 4px;text-decoration:underline;opacity:.9;transition:opacity .2s}.toast-undo:active{opacity:.7}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}@keyframes liquidPour{0%{transform:translateY(-30px);opacity:0}60%{opacity:1}to{transform:translateY(0);opacity:1}}@keyframes candyDrop{0%{transform:translateY(-180px) rotate(-30deg);opacity:0}60%{opacity:1}to{transform:translateY(0) rotate(0deg);opacity:1}}@keyframes sparkle{0%,to{transform:scale(.8);opacity:.5}50%{transform:scale(1.2);opacity:1}}.cone-preview-inner{width:110px;height:165px;flex:0 0 auto}.cone-stats{display:flex;align-items:center;flex:1 1;gap:16px}.stat{flex:1 1}.stat-label{font-size:11px;color:var(--ink-mute);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.stat-value{font-size:28px;font-weight:800;letter-spacing:-.02em;line-height:1;margin-top:4px}.stat-unit{font-size:14px;color:var(--ink-mute);margin-left:2px;font-weight:500}.stat-divider{width:1px;height:36px;background:var(--line)}.dir-editorial .stat-value{font-family:Fraunces,serif;font-weight:600}.dir-modernist .stat-value{font-family:IBM Plex Mono,monospace;font-weight:500}.cat-tabs{display:flex;gap:8px;overflow-x:auto;margin:0 -20px;padding:4px 20px 12px;scrollbar-width:none}.cat-tabs::-webkit-scrollbar{display:none}.cat-tab{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 10px 10px;background:var(--paper);border:1.5px solid var(--line);border-radius:var(--radius-md);min-width:95px;position:relative;transition:all .15s ease}.cat-tab.active{border-color:var(--ink);background:var(--ink);color:var(--paper)}.cat-tab.locked{opacity:.4}.cat-tab-icon{width:36px;height:36px;display:grid;place-items:center}.cat-tab-label{font-size:11px;font-weight:700;letter-spacing:.01em}.lock-pill{position:absolute;top:4px;right:4px;background:var(--ink);color:var(--paper);width:16px;height:16px;border-radius:50%;display:grid;place-items:center}.info-banner{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;background:var(--lavender);border-radius:var(--radius-md);margin-bottom:14px;color:var(--ink)}.info-banner.warning{background:var(--peach)}.info-banner svg{flex:0 0 auto;margin-top:2px;color:var(--accent-ink)}.info-banner strong{display:block;font-size:13px;font-weight:800;margin-bottom:2px}.info-banner p{font-size:12px;line-height:1.4;opacity:.8}.search-wrap{position:relative;margin-bottom:14px}.search-wrap svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--ink-mute);pointer-events:none}.search-input{width:100%;padding:12px 14px 12px 38px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md);font-size:14px;outline:none;transition:border-color .15s}.search-input:focus{border-color:var(--ink)}.items-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}@media (min-width:380px){.items-grid{grid-template-columns:repeat(3,1fr);gap:8px}}@media (min-width:480px){.items-grid{grid-template-columns:repeat(4,1fr)}}.item-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md);padding:6px;display:flex;flex-direction:column;gap:4px;position:relative;transition:transform .15s,box-shadow .15s,border-color .15s}.item-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.item-card.in-cart{border-color:var(--accent-ink);background:var(--paper)}.item-card.pulse{animation:pulse .5s ease}.item-card.flash{box-shadow:0 0 0 2px var(--accent-ink)}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.item-illus{width:100%;aspect-ratio:1;border-radius:var(--radius-sm);display:grid;place-items:center;position:relative;overflow:hidden}.item-illus>div:not(.item-badge){width:80%;height:80%}.item-badge{position:absolute;bottom:3px;right:3px;background:var(--ink);color:var(--paper);font-size:9px;font-weight:800;padding:2px 5px;border-radius:100px}.item-info{min-height:28px}.item-name{font-size:11px;font-weight:700;line-height:1.15;color:var(--ink);text-wrap:balance}.item-price{font-size:9.5px;color:var(--ink-mute);margin-top:1px}.item-add{width:100%;padding:5px;background:var(--ink);color:var(--paper);border-radius:var(--radius-sm);display:grid;place-items:center;font-weight:700}.item-add:hover{background:var(--accent-ink)}.item-stepper{display:flex;align-items:center;justify-content:space-between;background:var(--ink);color:var(--paper);border-radius:var(--radius-sm);padding:2px;font-weight:700;font-size:10px}.item-stepper button{width:18px;height:18px;display:grid;place-items:center;border-radius:50%;color:var(--paper)}.item-stepper button:hover{background:rgba(255,255,255,.15)}.item-stepper.compact{background:var(--cream-2);color:var(--ink)}.item-stepper.compact button{color:var(--ink)}.builder-top-cta{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md);margin:0 0 12px}.builder-top-cta .sticky-info{flex:1 1}.builder-top-cta .sticky-price{font-size:16px}.builder-top-cta .btn-primary{padding:10px 18px;font-size:14px;white-space:nowrap}.sticky-bar{position:fixed;bottom:0;left:0;right:0;max-width:480px;margin:0 auto;padding:14px 16px;background:var(--paper);border-top:1px solid var(--line);display:flex;align-items:center;gap:12px;box-shadow:0 -4px 20px rgba(61,43,31,.06);z-index:30}@media (min-width:600px){.sticky-bar{border-bottom-left-radius:var(--radius-xl);border-bottom-right-radius:var(--radius-xl)}}.sticky-info{flex:1 1}.sticky-count{font-size:11px;color:var(--ink-mute);text-transform:uppercase;letter-spacing:.04em}.sticky-price{font-size:20px;font-weight:800;letter-spacing:-.01em}.cart-list{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.cart-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);padding:16px;box-shadow:var(--shadow-sm)}.cart-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.cart-card-name{font-size:16px;font-weight:800;letter-spacing:-.01em;line-height:1.2}.cart-card-size{font-size:12px;color:var(--ink-mute);margin-top:2px}.cart-card-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}.qty-stepper{display:flex;align-items:center;background:var(--cream);border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden}.qty-stepper button{width:32px;height:32px;display:grid;place-items:center;background:none;border:none;color:var(--ink);cursor:pointer;transition:background .1s}.qty-stepper button:hover{background:var(--line)}.qty-stepper span{min-width:28px;text-align:center;font-size:13px;font-weight:700;color:var(--ink);padding:0 2px}.cart-remove-btn{width:32px;height:32px;display:grid;place-items:center;background:none;border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink-mute);cursor:pointer;transition:all .15s}.cart-remove-btn:hover{background:var(--peach);border-color:var(--accent-ink);color:var(--accent-ink)}.cart-card-body{display:flex;gap:16px;align-items:flex-start}.cart-viz{flex:0 0 72px;height:108px;overflow:hidden}.cart-ingredients{flex:1 1;display:flex;flex-direction:column;gap:0}.cart-ingredient-row{display:flex;justify-content:space-between;font-size:13px;color:var(--ink-soft);padding:4px 0;border-bottom:1px solid color-mix(in oklab,var(--line) 50%,transparent)}.cart-ingredient-row:last-of-type{border-bottom:none}.cart-ingredient-row span:last-child{color:var(--ink-mute);font-weight:600;flex-shrink:0;margin-left:8px}.cart-cone-price{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.cart-cone-price span:first-child{font-size:12px;color:var(--ink-mute)}.cart-cone-price span:last-child{font-size:15px;font-weight:800;color:var(--ink);letter-spacing:-.01em}.cart-row{display:flex;align-items:center;gap:12px;padding:10px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md)}.cart-illus{width:48px;height:48px;border-radius:var(--radius-sm);display:grid;place-items:center;flex:0 0 auto}.cart-illus>div{width:80%;height:80%}.cart-info{flex:1 1}.cart-name{font-size:13px;font-weight:700;line-height:1.2}.cart-price{font-size:12px;color:var(--ink-mute);margin-top:2px}.cart-weight{font-size:13px;font-weight:600;color:var(--ink-soft);flex:0 0 auto;min-width:50px;text-align:right}.cone-count-wrap{display:flex;align-items:center;justify-content:space-between;padding:16px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md);margin-bottom:16px;gap:16px}.cone-count-wrap>div:first-child{display:flex;flex-direction:column;gap:2px}.ccc-title{font-weight:700;font-size:15px;line-height:1.2}.ccc-sub{font-size:12px;color:var(--ink-mute);line-height:1.2}.summary{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md);padding:16px;margin-bottom:16px}.summary-row{display:flex;justify-content:space-between;padding:6px 0;font-size:14px;color:var(--ink-soft)}.summary-row.total{font-size:18px;font-weight:800;color:var(--ink);margin-top:8px;padding-top:12px;border-top:1px solid var(--line);letter-spacing:-.01em}.cart-actions{display:flex;gap:10px;margin-bottom:16px}.cart-actions .btn-primary{flex:1 1}.empty-state{text-align:center;padding:40px 20px;display:flex;flex-direction:column;align-items:center;gap:16px}.empty-cone{width:140px;height:200px;opacity:.4}.empty-state h3{font-size:20px;font-weight:800}.empty-state p{font-size:14px;color:var(--ink-soft);margin-bottom:8px}.form-section{margin-bottom:20px}.form-section h3{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-mute);margin-bottom:10px}.dir-editorial .form-section h3{text-transform:none;font-size:15px;font-weight:600;letter-spacing:0;font-style:italic}.dir-modernist .form-section h3{font-family:IBM Plex Mono,monospace}.field{display:block;margin-bottom:10px}.field-label{display:block;font-size:12px;color:var(--ink-mute);margin-bottom:4px;font-weight:600}.field-input{width:100%;padding:12px 14px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md);font-size:14px;outline:none;transition:border-color .15s}.field-input:focus{border-color:var(--ink)}.field-row{display:flex;gap:8px}.field-row .field{flex:1 1}.option-list{display:flex;flex-direction:column;gap:8px}.option-row{display:flex;align-items:center;gap:12px;padding:14px;background:var(--paper);border:1.5px solid var(--line);border-radius:var(--radius-md);text-align:left;width:100%;transition:border-color .15s}.option-row.checked{border-color:var(--ink);background:color-mix(in oklab,var(--mint) 18%,var(--paper))}.option-row.disabled{opacity:.45;cursor:not-allowed}.option-row.disabled:hover{transform:none}.option-radio{width:20px;height:20px;border:2px solid var(--line-strong);border-radius:50%;flex:0 0 auto;display:grid;place-items:center;transition:border-color .15s}.option-row.checked .option-radio{border-color:var(--ink)}.option-radio-dot{width:10px;height:10px;background:var(--ink);border-radius:50%}.option-text{flex:1 1}.option-title{font-weight:700;font-size:14px}.option-sub{font-size:12px;color:var(--ink-mute);margin-top:2px}.option-price{display:none}.vop-checkbox{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:var(--paper);border:1.5px solid var(--line);border-radius:var(--radius-md);margin-bottom:16px;cursor:pointer;transition:border-color .15s}.vop-checkbox:has(input:checked){border-color:var(--ink);background:color-mix(in oklab,var(--mint) 12%,var(--paper))}.vop-checkbox input[type=checkbox]{flex:0 0 auto;width:20px;height:20px;margin-top:1px;accent-color:var(--ink);cursor:pointer}.vop-checkbox span{font-size:13px;line-height:1.5;color:var(--ink-soft)}.vop-checkbox a{color:var(--ink);text-decoration:underline;font-weight:600}.vop-checkbox a:hover{color:var(--accent-ink)}.legal{margin-top:12px;font-size:11px;color:var(--ink-mute);text-align:center;line-height:1.5}.full-popup-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:200;padding:24px 16px}.full-popup{background:var(--paper);border-radius:var(--radius-lg);padding:28px 24px;width:100%;max-width:360px;text-align:center;animation:popIn .2s ease}@keyframes popIn{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.full-popup-icon{font-size:40px;margin-bottom:8px}.full-popup-title{font-size:20px;font-weight:700;color:var(--ink);margin:0 0 8px}.full-popup-sub{font-size:14px;color:var(--ink-soft);margin:0 0 24px;line-height:1.5}.full-popup-actions{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.full-popup-actions .btn-primary,.full-popup-actions .btn-secondary{width:100%;justify-content:center}.full-popup-close{background:none;border:none;font-size:13px;color:var(--ink-mute);cursor:pointer;padding:4px 8px}.full-popup-close:hover{color:var(--ink)}.success{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 20px;position:relative;overflow:hidden}.success-confetti{position:absolute;inset:0;pointer-events:none}.confetti-piece{position:absolute;top:-10px;width:8px;height:14px;border-radius:2px;animation:fall 3s linear infinite}@keyframes fall{0%{transform:translateY(-20px) rotate(0);opacity:1}to{transform:translateY(110vh) rotate(2turn);opacity:0}}.success-content{text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px;position:relative}.success-cone{width:140px;height:200px}.success-badge{display:inline-flex;align-items:center;gap:6px;background:var(--mint);color:var(--ink);font-size:13px;font-weight:700;padding:8px 14px;border-radius:100px}.success-h1{font-size:38px;font-weight:800;letter-spacing:-.02em;line-height:1.05}.dir-editorial .success-h1{font-weight:600;font-style:italic;font-size:42px}.success-sub{font-size:14px;color:var(--ink-soft);max-width:320px;line-height:1.5}.success-stats{display:flex;gap:8px;margin:8px 0 16px}.success-stats>div{flex:1 1;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md);padding:12px 8px;font-size:11px;color:var(--ink-mute);display:flex;flex-direction:column;gap:4px}.success-stats span{font-size:16px;font-weight:800;color:var(--ink);letter-spacing:-.01em}.dir-editorial .success-stats span{font-family:Fraunces,serif;font-weight:600}.success-order-summary{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md);padding:16px;max-width:400px;margin:16px auto}.success-order-summary h3{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-mute);margin:0 0 12px}.order-items{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}.order-item{display:grid;grid-template-columns:1fr 80px 60px;grid-gap:8px;gap:8px;align-items:center;font-size:13px}.order-item-name{font-weight:600;color:var(--ink)}.order-item-detail{font-size:12px;color:var(--ink-mute);text-align:center}.order-item-price{font-weight:600;text-align:right;color:var(--accent)}.order-breakdown{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}.breakdown-row{display:flex;justify-content:space-between;font-size:13px;color:var(--ink-soft)}.breakdown-row span:last-child{font-weight:600}.breakdown-row.total{color:var(--ink);font-weight:700;font-size:14px}.breakdown-row.total span:last-child{color:var(--accent);font-size:16px}.order-meta{display:flex;flex-direction:column;gap:8px;font-size:13px}.meta-item{display:flex;justify-content:space-between;align-items:center}.meta-label{color:var(--ink-mute);font-weight:600}.meta-item span:last-child{color:var(--ink);text-align:right;flex:1 1;margin-left:8px}.dir-editorial .item-card{background:transparent;border-color:var(--line)}.dir-editorial .item-card.in-cart{background:color-mix(in oklab,var(--peach) 15%,transparent)}.dir-editorial .cone-preview{background:transparent;border:1px solid var(--line)}.dir-editorial .cart-row,.dir-editorial .cat-tab,.dir-editorial .summary{background:transparent}.dir-editorial .field-input{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding-left:0}.dir-modernist .cat-tab,.dir-modernist .item-card{border-radius:var(--radius-md)}.dir-modernist .item-illus,.dir-modernist .item-stepper{border-radius:var(--radius-sm)}.dir-modernist .summary{border-radius:var(--radius-md)}.dir-modernist .builder-meta,.dir-modernist .cart-price,.dir-modernist .item-price,.dir-modernist .stat-label,.dir-modernist .sticky-count{font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:.02em}.dir-modernist .sticky-price,.dir-modernist .summary-row.total span:last-child{font-family:IBM Plex Mono,monospace}.item-name-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.item-nutrition-btn{background:none;border:none;font-size:16px;cursor:pointer;padding:2px;flex-shrink:0;opacity:.7;transition:opacity .2s}.item-nutrition-btn:hover{opacity:1}.nutrition-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.nutrition-modal{background:white;border-radius:16px;max-width:500px;width:100%;max-height:80vh;overflow-y:auto;position:relative;box-shadow:0 20px 60px rgba(0,0,0,.3);animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.nutrition-modal-close{position:absolute;top:12px;right:12px;background:none;border:none;font-size:24px;cursor:pointer;color:var(--ink-mute);padding:4px;z-index:10;transition:color .2s}.nutrition-modal-close:hover{color:var(--ink)}.nutrition-modal-content{padding:24px}.nutrition-modal-title{margin:0 0 20px;font-size:22px;font-weight:700;color:var(--ink)}.nutrition-section{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--line)}.nutrition-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.nutrition-section h3{margin:0 0 10px;font-size:14px;font-weight:600;color:var(--ink-mute);text-transform:uppercase;letter-spacing:.05em}.nutrition-section p{margin:0;font-size:14px;line-height:1.5;color:var(--ink)}.nutrition-table{width:100%;border-collapse:collapse;font-size:14px}.nutrition-table tr{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--line)}.nutrition-table tr:last-child{border-bottom:none}.nutrition-label{color:var(--ink-mute);font-weight:500;text-align:left}.nutrition-value{color:var(--ink);font-weight:600;text-align:right;margin-left:16px}.nutrition-storage{background:color-mix(in oklab,var(--accent) 8%,transparent);border-radius:8px;border-bottom:none;margin-bottom:0;padding:12px}.nutrition-modal-image-only{max-width:600px}.nutrition-full-image{width:100%;max-height:70vh;object-fit:contain;border-radius:8px}@media (min-width:768px) and (max-width:1023px){.screen-stack{max-width:600px}}.builder-body{display:flex;flex-direction:column}.builder-right{order:-1}.builder-left{order:1}.builder-desktop-cta{display:none}@media (min-width:1024px){.screen-stack{max-width:1100px}.screen{padding:0 32px 60px}.screen.builder{padding-bottom:40px}.builder-body{display:grid;grid-template-columns:1fr 300px;grid-template-areas:"left right";grid-gap:0 28px;gap:0 28px;align-items:start}.builder-left{grid-area:left;order:unset}.builder-right{grid-area:right;order:unset;position:-webkit-sticky;position:sticky;top:64px}.builder-right .cone-preview{flex-direction:column;align-items:center;padding:20px 16px 16px;gap:16px;text-align:center}.builder-right .cone-preview-inner{width:140px;height:210px}.builder-right .cone-stats{width:100%;justify-content:center;gap:20px}.builder-right .stat-divider{display:block;width:1px;height:36px}.builder-right .capacity-bar{width:80px;margin:8px auto 0}.builder-desktop-cta{display:flex;flex-direction:column;gap:10px;margin-top:12px;padding:16px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg)}.builder-desktop-cta .sticky-info{flex:1 1}.builder-desktop-cta .btn-primary{width:100%;justify-content:center}.builder-top-cta,.sticky-bar{display:none}.items-grid{grid-template-columns:repeat(5,1fr)}.welcome-h1{font-size:52px}.welcome-cone{width:260px;height:390px}.welcome-features{margin:auto auto 32px;max-width:480px;width:calc(100% - 40px)}.cat-tabs{flex-wrap:wrap;overflow-x:visible;margin:0;padding:0 0 12px}.cat-tab{min-width:80px}}