:root{--ink:#1c1c1e;--ink-soft:#6e6e73;--page:#f5f5f7;--paper:#ffffff;--grey-bg:#f2f2f4;--line:#e5e5ea;--mitchell:#0f7a6b;--malcolm:#b5522a;--pending:#b8863b;--alert:#c23b33;--scrim:rgba(0,0,0,0.32);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:20px;--space-5:32px;--space-6:48px;--radius-sm:6px;--radius-md:10px;--radius-card:14px;--radius-pill:999px;--font:-apple-system,"SF Pro Text","Inter",BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:light}@media (prefers-color-scheme:dark){:root{--ink:#f2f2f3;--ink-soft:#98989d;--page:#000000;--paper:#1c1c1e;--grey-bg:#2c2c2e;--line:#38383a;color-scheme:dark}}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--page);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--mitchell);text-decoration:none}h1,h2,h3{font-weight:600;letter-spacing:-.01em;margin:0;line-height:1.3}h1{font-size:22px;line-height:1.35}h2{font-size:17px}h3{font-size:15px}:focus-visible{outline:2px solid var(--mitchell);outline-offset:2px}.wrap{max-width:680px;margin:0 auto;padding:0 var(--space-4)}.wrap.wide{max-width:1040px}.topbar{background:var(--page);border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:20}.topbar .wrap{display:flex;align-items:center;justify-content:space-between;height:56px;gap:var(--space-3)}.topbar .wrap>.row{flex-wrap:nowrap;flex:none}.brand{font-size:17px;font-weight:600;color:var(--ink);letter-spacing:-.01em;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}.brand span{color:var(--ink-soft);font-weight:400}.back{display:inline-flex;align-items:center;gap:2px;font-size:17px;font-weight:500;margin-left:-6px;padding:6px 6px 6px 0;white-space:nowrap}.back .ico{width:22px;height:22px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:var(--radius-sm);padding:8px 14px;font:inherit;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;min-height:36px;text-decoration:none}.btn.primary{background:var(--ink);border-color:var(--ink);color:var(--paper)}.btn.link{color:var(--mitchell);padding-left:6px;padding-right:6px}.btn.ghost,.btn.link{border-color:transparent;background:transparent}.btn.ghost{color:var(--ink-soft)}.btn.danger{color:var(--alert)}.btn:disabled{opacity:.45;cursor:default}@media (hover:hover){.btn:not(.primary):not(:disabled):hover{background:var(--grey-bg)}}.chip{display:inline-flex;align-items:center;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:var(--radius-pill);padding:4px 12px;font:inherit;font-size:13px;cursor:pointer}.chip.on{background:var(--ink);border-color:var(--ink);color:var(--paper)}.row{display:flex;align-items:center;flex-wrap:wrap}.grid3,.row{gap:var(--space-2)}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--space-2)}.import{display:flex;gap:var(--space-3);align-items:center;justify-content:space-between}@media (max-width:520px){.hide-sm{display:none}.btn.icon-sm{padding-left:9px;padding-right:9px;min-width:36px}.import{flex-direction:column;align-items:stretch}.import .btn{min-height:44px;font-size:15px}}.muted{color:var(--ink-soft)}.small{font-size:13px}.card{background:var(--paper);border-radius:var(--radius-card)}.panel{padding:var(--space-4)}input,select,textarea{font:inherit;font-size:16px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px;width:100%}input:focus-visible,textarea:focus-visible{outline-offset:-1px}textarea{resize:vertical;line-height:1.5}label{display:block;font-size:13px;font-weight:600;margin:0 0 6px}.field{margin-bottom:var(--space-4)}.hint{font-size:13px;margin-top:4px}.hint,.tag{color:var(--ink-soft)}.tag{display:inline-block;background:var(--grey-bg);border-radius:var(--radius-pill);padding:2px 10px;font-size:12px;font-weight:500}.notice{background:var(--grey-bg);border-radius:var(--radius-md)}.error,.notice{padding:10px 14px;font-size:13px}.error{border:1px solid var(--alert);color:var(--alert);border-radius:var(--radius-md)}.list{flex-direction:column}.list,.rcard{display:flex;gap:var(--space-3)}.rcard{align-items:center;padding:var(--space-3);color:var(--ink)}@media (hover:hover){.rcard:hover{background:var(--grey-bg)}}.rcard .img{width:72px;height:72px;flex:none;border-radius:var(--radius-md);background:var(--grey-bg) center/cover no-repeat;display:grid;place-items:center;font-size:22px;font-weight:600;color:var(--ink-soft)}.rcard h3{font-size:17px;margin-bottom:2px}.hero{padding:var(--space-4) 0 var(--space-2);max-width:680px}.hero img{width:100%;border-radius:var(--radius-card);aspect-ratio:16/10;object-fit:cover;margin-bottom:var(--space-4)}.meta{display:flex;gap:var(--space-4);flex-wrap:wrap;margin-top:var(--space-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.meta div b{display:block;font-size:12px;color:var(--ink-soft);font-weight:500}.layout{display:grid;grid-gap:var(--space-3);gap:var(--space-3);grid-template-columns:1fr;padding:var(--space-3) 0 120px}@media (min-width:1000px){.layout{grid-template-columns:340px 1fr;gap:var(--space-4);align-items:start}.layout .ing{position:-webkit-sticky;position:sticky;top:72px}}.serv{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-3) 0}.serv>button{width:36px;height:36px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:18px;cursor:pointer}.serv .n{font-size:17px;font-weight:600;min-width:26px;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.inglist{list-style:none;margin:0;padding:0}.inglist li{display:flex;gap:var(--space-3);padding:10px 0;border-bottom:1px solid var(--line);cursor:pointer;align-items:baseline}.inglist li:last-child{border-bottom:0}.inglist li.done{color:var(--ink-soft);text-decoration:line-through}.inglist li.head{cursor:default;border-bottom:0;padding:var(--space-4) 0 2px;font-size:13px;font-weight:600;color:var(--ink-soft)}.inglist li.head:first-child{padding-top:0}.inglist .amt{font-weight:600;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.box{width:18px;height:18px;border:1.5px solid var(--line);border-radius:5px;flex:none;position:relative;top:3px}li.done .box{background:var(--ink);border-color:var(--ink)}.steps{list-style:none;margin:0;padding:0;counter-reset:s}.steps li{counter-increment:s;display:grid;grid-template-columns:28px 1fr;grid-gap:var(--space-2);gap:var(--space-2);padding:var(--space-3) 0;border-bottom:1px solid var(--line)}.steps li:last-child{border-bottom:0}.steps li:before{content:counter(s);font-weight:600;color:var(--ink-soft);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.steps li.head{display:block;border:0;padding:var(--space-4) 0 0;counter-increment:none}.steps li.head:before{display:none}.tchip{display:inline-flex;align-items:center;gap:4px;border:0;cursor:pointer;font:inherit;font-weight:500;background:var(--grey-bg);color:var(--mitchell);padding:0 8px;border-radius:var(--radius-pill);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ico{width:1em;height:1em;flex:none}.notes{margin-top:var(--space-4);white-space:pre-wrap}.tray{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(14px + env(safe-area-inset-bottom));z-index:60;display:flex;gap:var(--space-2);flex-wrap:wrap;justify-content:center;max-width:calc(100% - 24px)}.tray.lift{bottom:calc(96px + env(safe-area-inset-bottom))}.timer{display:flex;align-items:center;gap:var(--space-3);background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-pill);padding:6px 6px 6px 16px;box-shadow:0 8px 28px rgba(0,0,0,.14);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.timer b{font-size:19px;font-weight:600}.timer .lbl{font-size:12px;color:var(--ink-soft);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:4px}.timer button{background:var(--grey-bg);color:var(--ink);border:0;border-radius:var(--radius-pill);height:34px;min-width:34px;padding:0 10px;cursor:pointer;font:inherit;font-size:13px;display:inline-flex;align-items:center;justify-content:center}.timer.ring{border:2px solid var(--pending);animation:pulse 1s infinite}.timer.ring .lbl{color:var(--pending)}@keyframes pulse{50%{transform:scale(1.03)}}.cook{position:fixed;inset:0;background:var(--page);z-index:50;display:flex;flex-direction:column}.cook .top{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line);gap:var(--space-3);background:var(--paper)}.cook .top strong{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cook .stage{touch-action:manipulation;-webkit-tap-highlight-color:transparent;cursor:pointer;flex:1 1;overflow:auto;display:flex;align-items:center;justify-content:center;padding:var(--space-5) var(--space-4) 120px}.cook .stepText{font-size:clamp(22px,3.4vw,34px);line-height:1.4;max-width:820px;letter-spacing:-.01em}.cook .stepNo{color:var(--ink-soft);font-weight:600;font-size:13px;margin-bottom:var(--space-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cook .nav{display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--paper)}.cook .nav .btn{flex:1 1;min-height:56px;font-size:17px}.cook .side{display:none}.cook .body{flex:1 1;display:flex;overflow:hidden}@media (min-width:1000px){.cook .body{display:grid;grid-template-columns:340px 1fr}.cook .side{display:block;overflow:auto;padding:var(--space-4);border-right:1px solid var(--line);background:var(--paper)}}.tapHint{display:none;color:var(--ink-soft);font-size:13px;margin:var(--space-4) 0 0}@media (hover:none){.tapHint{display:block}}.dots{display:flex;gap:6px}.dots i{width:6px;height:6px;border-radius:50%;background:var(--line)}.dots i.on{background:var(--ink)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}@media print{.actions,.topbar,.tray{display:none!important}}