:root{color-scheme:dark;--bg:#0d0e0e;--panel:#171719;--field:#101314;--border:#3a3839;--paper:#f3ead7;--muted:#aeb5af;--lime:#baff43;--red:#f04c50;--gold:#e6cb91;--soft:#262b27}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 92% -5%,#27372933,transparent 36%),radial-gradient(circle at 0 5%,#3e151a22,transparent 38%),var(--bg);color:var(--paper);font:15px/1.48 system-ui,-apple-system,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--lime);outline-offset:3px}button:disabled{opacity:.4;cursor:not-allowed}button,input,select,textarea{min-width:0}a{color:inherit}button{border:1px solid #444;border-radius:9px;padding:10px 14px;background:#242824;color:var(--paper);font-weight:700}button:hover{border-color:#9ab479}input,textarea,select{border:1px solid #494f49;color:var(--paper);background:var(--field);border-radius:8px;padding:10px 11px;width:100%;accent-color:var(--lime)}input[type=number]{font-variant-numeric:tabular-nums}label{display:grid;gap:6px;font-size:.78rem;color:#d8d8cb;font-weight:700}textarea{resize:vertical}.topbar{min-height:60px;padding:10px clamp(14px,3vw,45px);border-bottom:1px solid #3e372a;background:#090a0b;display:flex;align-items:center;gap:16px;justify-content:space-between}.backlink{text-decoration:none;color:var(--paper);font-weight:800;white-space:nowrap}.top-right{font-size:.66rem;letter-spacing:.1em;white-space:nowrap;font-weight:850}.dot{display:inline-block;margin-left:4px;width:7px;height:7px;border-radius:50%;background:var(--lime)}.eyebrow{font-size:.68rem;letter-spacing:.17em;color:var(--gold);font-weight:850;margin:0 0 4px}.eyebrow.green{color:var(--lime)}.app{width:min(1770px,100%);margin:auto;padding:18px clamp(12px,2.3vw,32px) 50px}.hero{display:flex;align-items:center;gap:18px;border:1px solid #6b5641;border-radius:15px;padding:12px 18px;background:linear-gradient(100deg,#211718,#122015 90%);margin-bottom:23px}.hero img{width:112px;height:112px;object-fit:cover;border-radius:10px;flex:none;box-shadow:0 0 0 1px #aa6f4b}.hero h1{font-size:clamp(1.45rem,2.6vw,2.35rem);line-height:1.06;margin:0 0 8px;letter-spacing:-.035em;text-transform:uppercase}.hero h1 em{font-style:normal;color:var(--lime)}.hero p:last-child{margin:0;font-size:.86rem;color:#d1cbbb}.primary{background:var(--lime);border-color:var(--lime);color:#0c0f0b;font-weight:900}.primary:hover{background:#d2ff79;border-color:#d2ff79}.soft{background:#222925;border-color:#51644c}.gate{max-width:540px;margin:clamp(20px,5vw,90px) auto;padding:clamp(20px,4vw,34px);border:1px solid #6d774b;border-radius:16px;background:linear-gradient(135deg,#1b221d,#121414);box-shadow:0 18px 55px #0007;text-align:center}.gate h2{font-size:1.5rem;margin:8px 0}.gate p{color:#bdc3b7}.gate-icon{font-size:2.4rem;color:var(--lime)}.login-form{display:grid;gap:12px;margin:20px 0;text-align:left}.login-form button{width:100%;padding:12px}.gate small{color:#a0a79d}.feedback{color:#d7d1b5;font-size:.81rem}.feedback.error{color:#ffa7a1}.workbench-top{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:14px}.workbench-top h2{margin:0;font-size:1.5rem}.toolbar{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px}.workspace{display:grid;grid-template-columns:minmax(190px,215px) minmax(0,1.55fr) minmax(260px,.95fr);gap:14px;align-items:start}.panel{border:1px solid #44463d;border-radius:14px;background:linear-gradient(155deg,#191b19,#111312);padding:16px;min-width:0}.section-head{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-bottom:12px}.section-head>div{display:flex;align-items:center;gap:9px;min-width:0}.section-head h3{font-size:1rem;letter-spacing:.01em;margin:0;line-height:1.2}.section-head>span{color:#b9c5b7;font-size:.7rem;white-space:nowrap}.tag{font-size:.65rem!important;color:#b7c3b4;border:1px solid #3e4d3c;background:#202620;border-radius:999px;padding:4px 7px}.tag.live{color:var(--lime)}.step-index{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;border:1px solid #779056;background:#273323;color:var(--lime);font-weight:900;font-size:.82rem}.section-space{margin-top:28px;padding-top:21px;border-top:1px solid #39413a}.basics{display:grid;grid-template-columns:1fr minmax(115px,.42fr);gap:12px}.basics .wide{grid-column:1/-1}.guide{font-size:.79rem;color:#b1b9ad;margin:0 0 13px}.guide strong{color:#def7ae}.preset-strip{display:flex;flex-wrap:wrap;gap:7px;margin:9px 0 12px}.preset-strip button{display:flex;align-items:center;gap:6px;font-size:.75rem;font-weight:800;padding:7px 10px;border-color:#5a684f;background:#222b22;color:#e6e9d6}.preset-strip svg{width:18px;height:18px}.editable-stack{display:grid;gap:10px}.edit-card{border:1px solid #3f4b3e;border-radius:11px;background:#1b211c;padding:11px;min-width:0}.edit-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:10px}.edit-top .number-label{font-weight:900;font-size:.74rem;color:var(--lime)}.edit-controls{display:flex;align-items:center;gap:4px}.icon-btn{min-width:32px;padding:4px 7px;border-radius:7px;font-size:.8rem}.drag-handle{cursor:grab;touch-action:none;min-width:35px}.drag-handle:active{cursor:grabbing}.edit-card.drop-target{outline:2px dashed var(--lime);outline-offset:3px}.edit-card .ingredient-fields{display:grid;grid-template-columns:minmax(160px,1.3fr) minmax(110px,.85fr) minmax(70px,.5fr) minmax(80px,.6fr) minmax(75px,.65fr);gap:7px}.edit-card .ingredient-fields label{font-size:.68rem}.edit-card .ingredient-fields input,.edit-card .ingredient-fields select{padding:8px;font-size:.82rem}.edit-card .ingredient-fields .note-field{grid-column:1/-1}.edit-card .step-fields{display:grid;grid-template-columns:115px 1fr 85px;gap:8px}.edit-card .step-fields .detail-field{grid-column:1/-1}.edit-card .step-fields label{font-size:.68rem}.edit-card .step-fields input,.edit-card .step-fields select{padding:8px;font-size:.83rem}.edit-card .micro-preview{display:flex;gap:4px;align-items:center;flex-wrap:wrap;margin-top:9px;color:var(--lime);font-size:.8rem}.edit-card .micro-preview svg{width:21px;height:21px}.add-row{display:block;width:100%;margin-top:10px;border:1px dashed #78975e;background:#1b281b;color:#d3f3b4;font-size:.81rem}.save-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #39413a;margin-top:25px;padding-top:16px}.recipe-list{display:grid;gap:7px}.recipe-list button{text-align:left;width:100%;background:#202720;border-color:#4d5b4a;font-size:.82rem;overflow-wrap:anywhere}.recipe-list button.active{border-color:var(--lime);color:var(--lime);background:#283421}.recipe-list small{display:block;color:#a8b8a7;font-size:.67rem;font-weight:400;margin-top:3px}.hint{font-size:.71rem;color:#9fa69c;line-height:1.45;margin:18px 0}.delete-button,.lock-button{width:100%;font-size:.75rem;margin-top:8px}.delete-button{border-color:#764345;color:#ffa7a0;background:#291719}.lock-button{background:none}.preview{position:sticky;top:14px}.preview-body{display:grid;gap:14px}.preview-title{font-size:1.65rem;text-transform:uppercase;line-height:1.08;margin:6px 0 4px;color:#f6ecd8}.preview-description{margin:0;color:#c0beb1;font-size:.85rem}.preview-yield{border-radius:99px;border:1px solid #8b945c;padding:4px 9px;color:var(--lime);font-size:.7rem;width:max-content}.preview-subtitle{font-size:.8rem;font-weight:900;color:var(--lime);border-bottom:1px solid #394a33;padding-bottom:7px;margin:6px 0 4px;letter-spacing:.07em;text-transform:uppercase}.p-ing{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:start;gap:9px;padding:8px 0;border-bottom:1px solid #333c31}.p-ing>svg{color:#c2f476;width:26px;height:26px}.p-ing strong{font-size:.83rem;display:block}.p-ing small{font-size:.7rem;color:#b5baae}.p-icons{display:flex;flex-wrap:wrap;gap:4px;margin:5px 0}.p-icons svg{width:28px;height:28px;color:#e9eccf}.p-step{display:grid;grid-template-columns:23px 42px 1fr;gap:8px;align-items:start;padding:9px 0;border-bottom:1px solid #343e33}.p-step-num{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:var(--red);color:white;font-weight:900;font-size:.72rem}.p-step svg{width:36px;height:36px;color:var(--lime)}.p-step strong{font-size:.84rem;display:block}.p-step small{font-size:.72rem;color:#aeb5a9}.empty{color:#adb5ab;font-size:.8rem;padding:12px 4px}footer{border-top:1px solid #2c302c;padding:15px;text-align:center;color:#868d85;font-size:.63rem;letter-spacing:.08em}.workbench[hidden],.gate[hidden]{display:none!important}
@media(max-width:1280px){.workspace{grid-template-columns:190px minmax(0,1fr)}.preview{grid-column:2;position:static}.preview-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.preview-body>.preview-header{grid-column:1/-1}}
@media(max-width:860px){.workspace{grid-template-columns:1fr}.library{grid-row:1}.recipe-list{grid-template-columns:repeat(2,minmax(0,1fr))}.preview{grid-column:1}.preview-body{grid-template-columns:1fr}.hero img{width:80px;height:80px}.hero{padding:12px}.topbar .eyebrow{display:none}.workbench-top{align-items:start;flex-direction:column}.toolbar{justify-content:flex-start}}
@media(max-width:600px){.app{padding:10px 10px 36px}.topbar{padding:11px;font-size:.75rem}.top-right{font-size:.57rem}.hero h1{font-size:1.32rem}.hero img{width:65px;height:65px}.hero p:last-child{font-size:.74rem}.panel{padding:12px}.workspace{gap:10px}.basics{grid-template-columns:1fr}.basics .wide{grid-column:1}.recipe-list{grid-template-columns:1fr}.edit-card .ingredient-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.edit-card .ingredient-fields label:first-child{grid-column:1/-1}.edit-card .step-fields{grid-template-columns:1fr 1fr}.edit-card .step-fields .title-field{grid-column:1/-1}.edit-card .step-fields .detail-field{grid-column:1/-1}.save-bottom{align-items:stretch;flex-direction:column}.save-bottom button{width:100%}.toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.toolbar button:last-child{grid-column:1/-1}.section-head .tag{font-size:.6rem!important}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
