@import"https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;1,9..144,400;1,9..144,500;1,9..144,600&family=Inter+Tight:wght@400;500;600&display=swap";*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;tab-size:4;-webkit-tap-highlight-color:transparent}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}progress{vertical-align:initial}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{--paper:#ede5d0;--paper-2:#e8dcca;--paper-3:#ddd0b8;--ink:#2a221b;--ink-2:#5a4a3a;--ink-3:#8a7868;--line:#d8cab0;--line-soft:#e8dcc4;--accent:oklch(60% .13 45);--accent-soft:oklch(85% .06 45);--accent-deep:oklch(45% .13 45);--leaven:oklch(72% .1 95);--flour:oklch(92% .03 80);--water:oklch(75% .07 220);--salt:oklch(85% .01 0);--warning:oklch(65% .15 30);--ok:oklch(60% .1 145);--font-display:"Fraunces",Georgia,serif;--font-ui:"Inter Tight",-apple-system,BlinkMacSystemFont,sans-serif;--font-num:"Fraunces",Georgia,serif;--r-sm:10px;--r:16px;--r-lg:22px;--r-pill:999px;--tap:56px;--tap-lg:64px;--shadow-card:0 1px 0 var(--paper-3),0 8px 24px -12px rgba(42,34,27,.18);--shadow-press:inset 0 2px 6px rgba(42,34,27,.18)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,html{background:var(--paper);color:var(--ink);font-family:var(--font-ui);font-size:17px;line-height:1.45;margin:0;padding:0;-webkit-font-smoothing:antialiased;overscroll-behavior:none;text-rendering:optimizeLegibility}body{background-image:radial-gradient(circle at 20% 10%,hsla(0,0%,100%,.4) 0,transparent 50%),radial-gradient(circle at 80% 70%,rgba(217,195,156,.18) 0,transparent 55%);min-height:100vh}button{background:none;border:0;cursor:pointer;font-size:inherit}button,input{color:inherit;font-family:inherit}.app{margin:0 auto;max-width:1240px;padding:0 16px 120px;position:relative}.app-header{background:linear-gradient(to bottom,var(--paper) 70%,transparent);justify-content:space-between;padding:18px 10px 14px;position:sticky;top:0;z-index:10}.app-header,.brand{align-items:center;display:flex}.brand{gap:12px}.brand-mark{background:var(--ink);border-radius:50%;color:var(--paper);display:grid;font-size:19px;font-weight:600;height:38px;place-items:center;width:38px}.brand-mark,.brand-name{font-family:var(--font-display);font-style:italic;letter-spacing:-.02em}.brand-name{font-size:22px;font-weight:500}.brand-sub{color:var(--ink-3);font-size:12px;letter-spacing:.08em;margin-top:-2px;text-transform:uppercase}.lang-toggle{background:var(--paper-2);border-radius:var(--r-pill);display:flex;font-size:13px;font-weight:600;letter-spacing:.04em;padding:3px}.lang-toggle button{border-radius:var(--r-pill);color:var(--ink-3);min-width:38px;padding:7px 12px}.lang-toggle button.active,.tabs{background:var(--ink);color:var(--paper)}.tabs{bottom:14px;box-shadow:0 12px 32px -8px #2a221b59;gap:2px;left:50%;padding:6px;position:fixed;transform:translate(-50%);z-index:50}.tabs,.tabs button{border-radius:var(--r-pill);display:flex}.tabs button{align-items:center;color:#f4ede099;font-size:14px;font-weight:500;gap:8px;min-height:44px;padding:12px 18px;white-space:nowrap}.tabs button.active{background:var(--paper);color:var(--ink)}.tabs .tab-icon{display:inline-block;height:18px;width:18px}.tab-icon-wrap{display:inline-flex;position:relative}.tab-badge{background:var(--accent,#e05a2b);border:1.5px solid var(--paper);border-radius:50%;height:8px;position:absolute;right:-4px;top:-2px;width:8px}.section-title{font-family:var(--font-display);font-size:34px;font-style:italic;font-weight:400;letter-spacing:-.02em;margin:8px 0 4px;padding:0 10px}.section-sub{color:var(--ink-3);font-size:15px;margin:0 0 16px;padding:0 10px}.card{background:var(--paper-2);border:1px solid var(--line-soft);border-radius:var(--r-lg);margin:0 6px 12px;padding:20px}.card-title{align-items:center;display:flex;font-family:var(--font-display);font-size:18px;font-weight:500;justify-content:space-between;letter-spacing:-.01em;margin:0 0 14px}.card-sub{color:var(--ink-3);font-family:var(--font-ui);font-size:13px;font-style:normal;font-weight:400;letter-spacing:0}.stepper{align-items:stretch;background:var(--paper);border:1px solid var(--line-soft);border-radius:var(--r);display:grid;gap:8px;grid-template-columns:var(--tap) 1fr var(--tap);padding:6px}.stepper button{background:var(--paper-3);border-radius:calc(var(--r) - 6px);color:var(--ink);display:grid;font-size:26px;font-weight:500;height:var(--tap);place-items:center;transition:background .15s,transform .05s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.stepper button:active{background:var(--accent-soft);transform:scale(.96)}.stepper-value{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:0 4px;position:relative;text-align:center}.stepper-value input{background:transparent;border:0;font-family:var(--font-num);font-feature-settings:"tnum";font-size:32px;font-weight:500;letter-spacing:-.02em;outline:none;text-align:center;width:100%}.stepper-value .unit{color:var(--ink-3);font-size:11px;letter-spacing:.1em;margin-top:-2px;text-transform:uppercase}.field-label{align-items:center;color:var(--ink-2);display:flex;font-size:14px;font-weight:500;justify-content:space-between;margin:14px 0 6px}.field-label .hint{color:var(--ink-3);font-size:12px;font-weight:400}.slider-wrap{background:var(--paper);border:1px solid var(--line-soft);border-radius:var(--r);padding:16px 18px}.slider-row{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:8px}.slider-val{font-family:var(--font-num);font-feature-settings:"tnum";font-size:28px;font-weight:500;letter-spacing:-.02em}.slider-cap{color:var(--ink-3);font-size:13px}.qty-val{align-items:baseline;display:flex;gap:3px}.qty-val input{-moz-appearance:textfield;background:transparent;border:none;color:var(--ink);font-family:var(--font-num);font-feature-settings:"tnum";font-size:28px;font-weight:500;letter-spacing:-.02em;outline:none;padding:0;width:4ch}.qty-val input::-webkit-inner-spin-button,.qty-val input::-webkit-outer-spin-button{-webkit-appearance:none}.qty-unit{color:var(--ink-3);font-size:13px}input[type=range].slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--paper-3);border-radius:var(--r-pill);cursor:pointer;display:block;height:14px;margin:8px 16px 4px;outline:none;width:calc(100% - 32px)}input[type=range].slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--ink);border:4px solid var(--paper);border-radius:50%;box-shadow:0 2px 6px #2a221b33;cursor:pointer;height:32px;width:32px}input[type=range].slider::-moz-range-thumb{background:var(--ink);border:4px solid var(--paper);border-radius:50%;box-shadow:0 2px 6px #2a221b33;cursor:pointer;height:32px;width:32px}.slider-ticks{color:var(--ink-3);display:flex;font-feature-settings:"tnum";font-size:11px;justify-content:space-between;margin-top:4px;padding:0 16px}.preset-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:4px}.chip{align-items:center;background:var(--paper);border:1px solid var(--line-soft);border-radius:var(--r-pill);color:var(--ink-2);display:inline-flex;font-size:13px;font-weight:500;gap:6px;min-height:40px;padding:10px 14px;transition:all .15s}.chip:active{transform:scale(.96)}.chip.active{background:var(--ink);border-color:var(--ink);color:var(--paper)}.chip .chip-sub{font-size:11px;font-weight:400;opacity:.6}.result{background:var(--ink);border-radius:var(--r-lg);color:var(--paper);margin:12px 6px 0;overflow:hidden;padding:22px;position:relative}.result-head{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:16px}.result-head h3{font-family:var(--font-display);font-size:22px;font-style:italic;font-weight:400;letter-spacing:-.01em;margin:0}.result-head .meta{color:#f4ede099;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.ing-list{display:flex;flex-direction:column;gap:14px}.ing-row{align-items:center;display:grid;gap:14px;grid-template-columns:90px 1fr auto}.ing-name{align-items:center;color:#f4ede0d9;display:flex;font-size:14px;gap:8px}.ing-dot{border-radius:50%;display:inline-block;flex-shrink:0;height:10px;width:10px}.ing-bar{background:#f4ede014;height:14px;overflow:hidden;position:relative}.ing-bar,.ing-bar-fill{border-radius:var(--r-pill)}.ing-bar-fill{height:100%;transition:width .4s cubic-bezier(.2,.8,.2,1)}.ing-val{font-family:var(--font-num);font-feature-settings:"tnum";font-size:22px;font-weight:500;letter-spacing:-.01em;min-width:80px;text-align:right}.ing-val .unit-s{color:#f4ede08c;font-family:var(--font-ui);font-size:11px;font-weight:400;margin-left:2px}.result-foot{border-top:1px solid rgba(244,237,224,.12);display:flex;gap:12px;justify-content:space-between;margin-top:18px;padding-top:16px}.result-stat{flex:1}.result-stat .lbl{color:#f4ede08c;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.result-stat .val{font-family:var(--font-num);font-feature-settings:"tnum";font-size:20px;letter-spacing:-.01em;margin-top:2px}.header-actions{align-items:center;display:flex;gap:8px}.btn-sm{align-items:center;border-radius:var(--r-pill);display:inline-flex;font-size:13px;font-weight:500;gap:6px;height:38px;justify-content:center;padding:0 16px;transition:all .15s;white-space:nowrap}.btn-sm:active{transform:scale(.96)}.btn{align-items:center;border-radius:var(--r);display:inline-flex;font-size:15px;font-weight:500;gap:8px;height:var(--tap);justify-content:center;padding:0 22px;transition:all .15s}.btn-primary{background:var(--ink);color:var(--paper)}.btn-primary:active{background:var(--ink-2);transform:scale(.98)}.result .btn-primary{background:#f4ede01a;border:1px solid rgba(244,237,224,.12)}.result .btn-primary:active{background:#f4ede02e}.btn-ghost{color:#f4ede099}.btn-ghost:active{color:var(--paper)}.btn-row{display:flex;gap:10px;margin-top:14px}.btn-row .btn{flex:1}.card-title-left{align-items:center;display:flex;gap:10px}.empty-state{color:var(--ink-3);font-size:14px;padding:36px 20px;text-align:center}.empty-state .es-icon{display:block;margin:0 auto 10px;opacity:.3}.rec-row{align-items:center;border-top:1px solid var(--paper-3);display:flex;gap:10px;padding:14px 0}.rec-info{flex:1;min-width:0}.rec-nom{color:var(--ink);font-size:15px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rec-meta{color:var(--ink-3);font-size:12px;margin-top:2px}.rec-btn{align-items:center;background:var(--paper-2);border:1px solid var(--paper-3);border-radius:50%;color:var(--ink-2);cursor:pointer;display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.rec-btn-primary{background:var(--ink);border-color:var(--ink);color:var(--paper)}.rec-btn-star{border-color:var(--accent);color:var(--accent)}.modal-overlay{align-items:flex-end;background:#00000073;display:flex;inset:0;justify-content:center;padding-bottom:env(safe-area-inset-bottom,0);position:fixed;z-index:200}.modal-card{background:var(--paper);border-radius:20px 20px 0 0;max-width:520px;padding:28px 24px 32px;width:100%}.modal-title{color:var(--ink);font-family:var(--font-display);font-size:22px;font-weight:400;margin:0 0 20px}.modal-label{color:var(--ink-2);display:block;font-size:13px;margin-bottom:8px}.modal-input{background:var(--paper-2);border:1px solid var(--paper-3);border-radius:12px;box-sizing:border-box;color:var(--ink);font-size:16px;outline:none;padding:14px 16px;width:100%}.modal-input:focus{border-color:var(--ink)}.modal-actions{display:flex;gap:12px;margin-top:20px}.modal-actions .btn{flex:1}.timeline{display:flex;flex-direction:column}.tl-step{align-items:center;border-bottom:1px solid var(--line-soft);display:grid;gap:12px;grid-template-columns:38px 1fr auto;padding:13px 0}.tl-step:last-child{border-bottom:0}.tl-bullet{background:var(--paper-3);border-radius:50%;color:var(--ink-2);display:grid;flex-shrink:0;font-family:var(--font-num);font-size:13px;font-weight:500;height:32px;place-items:center;width:32px}.tl-step.done .tl-bullet{background:var(--ok);color:var(--paper)}.tl-step.active .tl-bullet{background:var(--ink);box-shadow:0 0 0 4px var(--accent-soft);color:var(--paper)}.tl-name{font-size:15px;font-weight:500}.tl-detail{color:var(--ink-3);font-size:12px;margin-top:2px}.tl-actions{align-items:center;display:flex;gap:2px}.tl-btn{border-radius:50%;color:var(--ink-3);display:grid;font-size:19px;height:32px;line-height:1;place-items:center;transition:background .12s;width:32px}.tl-btn:active{background:var(--paper-3);color:var(--ink)}.tl-btn.delete{font-size:14px;opacity:.45}.tl-btn.delete:active{background:var(--paper-3);opacity:1}.test-row{border-top:1px solid var(--paper-3);gap:12px;margin-top:12px;padding-top:12px}.test-row,.test-toggle{align-items:center;display:flex}.test-toggle{color:var(--ink-2);cursor:pointer;font-size:13px;gap:8px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.test-toggle input[type=checkbox]{accent-color:var(--ink);cursor:pointer}.test-sec{align-items:center;color:var(--ink-2);display:flex;font-size:13px;gap:6px}.test-sec button{align-items:center;cursor:pointer;display:flex;font-size:16px;height:28px;justify-content:center;width:28px}.test-sec button,.test-sec input[type=number]{background:var(--paper-2);border:1px solid var(--paper-3);border-radius:6px;color:var(--ink)}.test-sec input[type=number]{font-size:14px;padding:4px 2px;text-align:center;width:48px}.timer-display{padding:20px 0 8px;text-align:center}.timer-label{color:#f4ede080;font-size:11px;letter-spacing:.18em;margin:0 0 4px;text-transform:uppercase}.timer-stage{color:var(--paper);font-family:var(--font-display);font-size:20px;font-style:italic;margin:0 0 16px}.timer-time{color:var(--paper);font-family:var(--font-num);font-feature-settings:"tnum";font-size:68px;font-weight:400;letter-spacing:-.04em;line-height:1}.timer-controls{align-items:center;display:flex;gap:14px;justify-content:center;margin-top:24px;padding-bottom:4px}.timer-btn{background:#f4ede01f;border-radius:50%;color:var(--paper);display:grid;height:60px;place-items:center;transition:transform .1s,background .15s;width:60px}.timer-btn.primary{background:var(--accent);height:76px;width:76px}.timer-btn:active{transform:scale(.92)}.ratio-result{align-items:flex-end;display:flex;gap:4px;justify-content:space-around;padding:20px 0 8px}.ratio-result-part{align-items:center;display:flex;flex:1;flex-direction:column;gap:8px}.ratio-result-sep{align-self:center;color:#f4ede04d;font-size:28px;margin-bottom:24px}.ratio-result-val{font-family:var(--font-num);font-feature-settings:"tnum";font-size:52px;font-weight:400;letter-spacing:-.04em;line-height:1}.ratio-result-lbl{color:#f4ede080;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.ratio-custom{border-top:1px solid var(--line-soft);display:flex;flex-direction:column;gap:10px;margin-top:16px;padding-top:16px}.ratio-part{align-items:center;display:flex;gap:12px;justify-content:space-between}.ratio-part-label{color:var(--ink-2);font-size:14px;font-weight:500;min-width:52px}.ratio-mini-stepper{align-items:center;background:var(--paper);border:1px solid var(--line-soft);border-radius:var(--r-sm);display:flex;flex:1;overflow:hidden}.ratio-mini-stepper button{color:var(--ink-2);display:grid;flex-shrink:0;font-size:17px;height:38px;place-items:center;transition:background .1s;width:28px}.ratio-mini-stepper button:active{background:var(--paper-3)}.ratio-mini-stepper input{-moz-appearance:textfield;background:transparent;border:none;color:var(--ink);flex:1;font-family:var(--font-num);font-size:15px;font-weight:500;height:38px;min-width:0;outline:none;text-align:center}.ratio-mini-stepper input::-webkit-inner-spin-button,.ratio-mini-stepper input::-webkit-outer-spin-button{-webkit-appearance:none}.ratio-sep{color:var(--ink-3);flex-shrink:0;font-size:20px;line-height:38px}.auth-wrap{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:24px 16px}.auth-card{background:var(--paper-2);border:1px solid var(--line-soft);border-radius:28px;box-shadow:var(--shadow-card);max-width:480px;padding:28px 24px 32px;width:100%}.auth-back{align-items:center;color:var(--ink-3);display:flex;font-size:14px;gap:6px;margin-bottom:24px;padding:0}.auth-back:active{color:var(--ink)}.auth-brand{display:flex;justify-content:center;margin-bottom:16px}.auth-brand .brand-mark{font-size:24px;height:52px;width:52px}.auth-title{font-family:var(--font-display);font-size:28px;font-style:italic;font-weight:500;letter-spacing:-.02em;line-height:1.2;margin:0 0 10px;text-align:center}.auth-sub{color:var(--ink-3);font-size:14px;line-height:1.5;margin:0 0 24px;text-align:center}.auth-tabs{background:var(--paper);border:1px solid var(--line-soft);border-radius:var(--r-pill);display:flex;margin-bottom:20px;padding:4px}.auth-tabs button{border-radius:var(--r-pill);color:var(--ink-3);flex:1;font-size:14px;font-weight:500;padding:10px 12px;transition:all .15s}.auth-tabs button.active{background:var(--ink);color:var(--paper)}.auth-google{align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r);color:var(--ink);display:flex;font-size:15px;font-weight:500;gap:10px;height:52px;justify-content:center;margin-bottom:16px;transition:background .12s;width:100%}.auth-google:active{background:var(--paper-3)}.auth-or{color:var(--ink-3);font-size:12px;letter-spacing:.12em;margin-bottom:16px;text-align:center;text-transform:uppercase}.auth-field{margin-bottom:14px}.auth-field--last{margin-bottom:22px}.auth-label{color:var(--ink-2);display:block;font-size:13px;font-weight:500;margin-bottom:6px}.auth-input{background:var(--paper);border:1.5px solid var(--line);border-radius:var(--r);color:var(--ink);font-size:15px;height:52px;outline:none;padding:0 16px;transition:border-color .15s;width:100%}.auth-input:focus{border-color:var(--ink)}.auth-input::-moz-placeholder{color:var(--ink-3)}.auth-input::placeholder{color:var(--ink-3)}.btn-full{align-items:center;border-radius:var(--r);display:flex;font-size:16px;font-weight:600;height:56px;justify-content:center;margin-bottom:10px;transition:all .15s;width:100%}.btn-full.btn-dark{background:var(--ink);color:var(--paper)}.btn-full.btn-dark:active{background:var(--ink-2);transform:scale(.99)}.btn-full.btn-light{background:var(--paper);border:1px solid var(--line-soft);color:var(--ink);margin-bottom:0}.btn-full.btn-light:active{background:var(--paper-3)}.auth-note{color:var(--ink-3);margin:14px 0 6px}.auth-demo,.auth-note{font-size:12px;text-align:center}.auth-demo{color:var(--accent);margin:0}@media(max-width:380px){.stepper{grid-template-columns:50px 1fr 50px}.stepper button{font-size:22px;height:50px}.stepper-value input{font-size:26px}.section-title{font-size:28px}.ing-row{grid-template-columns:70px 1fr auto}.ing-val{font-size:18px;min-width:64px}}
