@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;1,600&display=swap');
:root{--ink:#1d2b26;--muted:#78827b;--paper:#f5f3ed;--card:#fffefa;--green:#1f6b52;--green-dark:#164d3d;--lime:#cce56a;--line:#e3e4d9;--coral:#ed755f;--shadow:0 8px 24px #1d2b2610}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}button,input{font:inherit}button{cursor:pointer;border:0}.app-shell{max-width:1120px;margin:auto;padding:0 34px}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:-.04em;font-size:20px}.brand-mark{width:25px;height:25px;background:var(--green);border-radius:50%;color:var(--lime);display:grid;place-items:center;font-size:17px}.top-actions{display:flex;align-items:center;gap:14px}.icon-button{background:transparent;color:var(--green);font-size:24px}.avatar{width:34px;height:34px;border-radius:50%;background:var(--lime);color:var(--green-dark);font-weight:700}.hero{display:flex;justify-content:space-between;align-items:center;padding:58px 0 42px}.eyebrow,.section-kicker{font:500 10px 'DM Mono',monospace;letter-spacing:.14em;color:var(--green)}h1,h2,p{margin-top:0}h1{font-size:52px;line-height:1.02;letter-spacing:-.06em;margin:12px 0 18px}h1 em{font-family:'Playfair Display',serif;font-weight:600;color:var(--green)}.hero-copy{color:var(--muted);max-width:470px;line-height:1.55}.hero-orb{width:170px;height:170px;border-radius:50%;background:var(--lime);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(5deg);margin-right:7%;box-shadow:0 0 0 14px #cce56a33}.hero-orb span{font-size:25px;margin-bottom:7px}.hero-orb small{font-size:11px;color:var(--green-dark)}.hero-orb strong{font-size:25px;letter-spacing:-.05em}.tabs{display:flex;gap:30px;border-bottom:1px solid var(--line);margin-bottom:28px}.tab{padding:0 2px 15px;background:none;color:var(--muted);font-weight:600;position:relative}.tab.active{color:var(--ink)}.tab.active:after{content:'';position:absolute;height:3px;border-radius:3px;background:var(--green);bottom:-1px;left:0;right:0}.tab span{font:11px 'DM Mono';background:#e4e8dc;padding:3px 6px;border-radius:8px;margin-left:4px}.progress-card,.next-action,.task-card,.recipe-card,.equipment-card{background:var(--card);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}.progress-card{padding:18px 22px;margin-bottom:15px}.progress-heading,.progress-footer,.section-row,.next-main,.next-meta,.task-card,.recipe-card,.equipment-card{display:flex;align-items:center;justify-content:space-between}.progress-heading>div{display:flex;align-items:baseline;gap:14px}.progress-heading strong{font-size:27px;letter-spacing:-.06em}.progress-heading>span,.progress-footer{color:var(--muted);font-size:12px}.progress-track{height:7px;background:#e7eadf;border-radius:10px;overflow:hidden;margin:12px 0 11px}.progress-track div{height:100%;background:var(--green);border-radius:10px;transition:width .5s}.progress-footer b{color:var(--ink);font-weight:500;margin-left:4px}.next-action{background:var(--green);color:#fff;padding:22px 24px;margin-bottom:35px}.next-label{font:500 10px 'DM Mono';letter-spacing:.14em;color:var(--lime);margin-bottom:14px}.pulse-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--lime);margin-right:7px;box-shadow:0 0 0 4px #cce56a33}.next-main{align-items:flex-start}.next-main h2{font-size:24px;margin:0 0 5px;letter-spacing:-.05em}.next-main p{color:#c1d7c8;font-size:13px;margin:0}.primary-button{background:var(--lime);color:var(--green-dark);font-weight:700;border-radius:8px;padding:12px 17px;white-space:nowrap;transition:transform .15s}.primary-button:hover{transform:translateY(-1px)}.primary-button span{font-size:17px;margin-left:10px}.primary-button.small{padding:9px 13px;font-size:12px}.next-meta{justify-content:flex-start;gap:22px;border-top:1px solid #ffffff2c;margin-top:18px;padding-top:13px;color:#d1e5d6;font-size:11px}.next-meta span:before{margin-right:5px;color:var(--lime)}#nextRecipe:before{content:'◉'}#nextDuration:before{content:'◷'}#nextEquipment:before{content:'⌁'}.section-row{align-items:flex-end;margin-bottom:15px}.section-row h2{margin:6px 0 0;font-size:22px;letter-spacing:-.05em}.text-button{color:var(--green);background:none;font-size:12px;font-weight:600}.task-list{display:grid;gap:9px;margin-bottom:50px}.task-card{padding:15px 17px;gap:14px}.task-number{width:30px;height:30px;background:#eef0e8;border-radius:50%;display:grid;place-items:center;color:var(--green);font:12px 'DM Mono';flex:0 0 auto}.task-card.running .task-number{background:var(--lime)}.task-info{flex:1;min-width:0}.task-info h3{font-size:14px;margin:0 0 5px}.task-info p{font-size:11px;color:var(--muted);margin:0}.task-recipe{font:10px 'DM Mono';color:var(--green);white-space:nowrap}.task-time{font:11px 'DM Mono';color:var(--muted);white-space:nowrap}.task-card.done{opacity:.55}.task-card.done h3{text-decoration:line-through}.task-action{min-width:83px;padding:8px 10px;border-radius:7px;background:#eef1e8;color:var(--green);font-size:11px;font-weight:700}.task-card.running .task-action{background:var(--coral);color:#fff}.recipe-list,.equipment-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.recipe-card,.equipment-card{display:block;padding:20px}.recipe-card{min-height:190px;position:relative}.recipe-icon{font-size:28px}.recipe-card h3{font-size:18px;line-height:1.1;margin:15px 0 7px;letter-spacing:-.04em}.recipe-card p{font-size:11px;color:var(--muted);line-height:1.45}.recipe-footer{display:flex;justify-content:space-between;align-items:center;margin-top:18px;font:10px 'DM Mono';color:var(--green)}.edit-button{background:none;color:var(--green);font-size:12px;font-weight:700}.equipment-card{display:flex;align-items:center;gap:14px}.equipment-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:#eef1e8;font-size:20px}.equipment-card strong{font-size:14px;display:block}.equipment-card small{color:var(--muted);font-size:11px}.availability{font-size:11px;color:var(--green);font-weight:600}.hidden{display:none!important}footer{border-top:1px solid var(--line);padding:24px 0 35px;display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}footer span:first-child{font-weight:700;color:var(--green)}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:var(--ink);color:#fff;padding:12px 18px;border-radius:9px;font-size:12px;opacity:0;pointer-events:none;transition:.25s;z-index:5}.toast.show{opacity:1;transform:translate(-50%,0)}.modal-backdrop{position:fixed;inset:0;background:#17251f99;display:grid;place-items:center;padding:20px;z-index:4}.modal{background:var(--card);width:min(440px,100%);border-radius:16px;padding:28px;position:relative;box-shadow:0 20px 50px #0003}.modal-close{position:absolute;right:18px;top:14px;background:none;font-size:27px;color:var(--muted)}.modal h2{margin:10px 0 5px;letter-spacing:-.05em}.modal-help{color:var(--muted);font-size:12px;margin-bottom:23px}.modal label{display:block;font-size:12px;font-weight:600;margin-top:15px}.modal input{display:block;width:100%;margin-top:7px;border:1px solid var(--line);border-radius:7px;padding:11px;background:#fff}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.secondary-button{background:#eef1e8;color:var(--green);border-radius:8px;padding:11px 15px;font-weight:600}
@media(max-width:700px){.app-shell{padding:0 17px}.topbar{height:64px}.hero{padding:38px 0 30px;align-items:flex-start}.hero-orb{width:105px;height:105px;margin:0 0 0 15px;flex:0 0 auto;box-shadow:0 0 0 8px #cce56a33}.hero-orb strong{font-size:17px}.hero-orb small{font-size:9px}.hero-orb span{font-size:17px;margin-bottom:3px}h1{font-size:38px}.hero-copy{font-size:13px}.tabs{gap:23px}.progress-card{padding:16px}.next-action{padding:18px;margin-bottom:29px}.next-main{gap:12px}.next-main h2{font-size:20px}.next-main p{font-size:12px}.next-main .primary-button{padding:11px 12px}.next-meta{gap:12px;flex-wrap:wrap}.task-card{padding:12px}.task-recipe{display:none}.task-action{min-width:70px;padding:8px 6px}.recipe-list,.equipment-list{grid-template-columns:1fr}.recipe-card{min-height:0}.section-row h2{font-size:20px}footer{padding-bottom:25px}}
/* Task group hierarchy */
.task-group{display:grid;gap:9px;margin-bottom:19px}.group-heading{display:flex;align-items:center;justify-content:space-between;padding:0 3px}.group-hint{font-size:11px;color:var(--muted);margin-left:10px}.live-badge{font:10px 'DM Mono';color:var(--coral)}.watch-card{border-left:3px solid var(--lime)}.done-group{opacity:.72}.empty-state{padding:35px;text-align:center;color:var(--muted);background:var(--card);border:1px dashed var(--line);border-radius:15px}
.section-actions{display:flex;align-items:center;gap:13px}.ai-button{background:#e9efdf;color:var(--green);border:1px solid #dce6cd;border-radius:7px;padding:8px 11px;font-size:11px;font-weight:700}.ai-button:hover{background:var(--lime)}.prompt-modal{max-height:calc(100vh - 30px);overflow:auto}.prompt-step{display:flex;align-items:center;gap:11px;margin:17px 0 9px}.prompt-step>span{width:23px;height:23px;border-radius:50%;background:var(--lime);display:grid;place-items:center;color:var(--green-dark);font:11px 'DM Mono';flex:0 0 auto}.prompt-step>div{flex:1}.prompt-step strong,.prompt-step small{display:block}.prompt-step strong{font-size:12px}.prompt-step small{font-size:10px;color:var(--muted);margin-top:3px}.prompt-step code{font:10px 'DM Mono';background:#eef1e8;padding:2px 4px;border-radius:3px}.prompt-preview,.ai-reply{width:100%;resize:vertical;border:1px solid var(--line);border-radius:8px;background:#f7f7f1;padding:11px;color:var(--ink);font:11px/1.45 'DM Mono';min-height:145px}.ai-reply{min-height:110px;background:#fff;margin-bottom:2px}.prompt-error{color:#b34d3c;background:#fff0ec;border-radius:7px;padding:9px;font-size:11px;margin:10px 0 0}.prompt-error:not(.hidden){display:block}
.task-group{display:grid;gap:9px;margin-bottom:19px}.group-heading{display:flex;align-items:center;justify-content:space-between;padding:0 3px}.group-hint{font-size:11px;color:var(--muted);margin-left:10px}.live-badge{font:10px 'DM Mono';color:var(--coral)}.watch-card{border-left:3px solid var(--lime)}.done-group{opacity:.72}.empty-state{padding:35px;text-align:center;color:var(--muted);background:var(--card);border:1px dashed var(--line);border-radius:15px}
