/* Shared workshop shell, based on the ingredient gallery. */
:root{--paper:#edf0e8;--ink:#193e36;--muted:#526b61;--line:#ced7cb;--accent:#21684f;--green:#21684f;--peach:#c26645;--white:#fafbf6;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--paper)}
body{background:var(--paper);color:var(--ink)}
header.site-header{height:80px;min-height:80px;max-width:1280px;margin:0 auto;padding:0 40px;display:flex;align-items:center;justify-content:space-between;gap:32px;border-bottom:1px solid var(--line);background:transparent;flex-wrap:nowrap}
.site-header .brand{display:flex;align-items:center;gap:10px;flex-shrink:0;font-size:17px;font-weight:750;letter-spacing:.03em;color:var(--ink);text-decoration:none}
.site-header .brand-mark{display:grid;place-items:center;width:29px;height:29px;color:var(--white);background:var(--ink);font-size:25px;line-height:1;border-radius:7px}
.site-header nav{display:flex;width:auto;align-items:center;gap:28px;flex-wrap:nowrap;font-size:14px;line-height:1.5}
.site-header nav a{position:relative;display:block;padding:14px 0;color:var(--muted);white-space:nowrap;text-decoration:none;transition:color .15s ease}
.site-header nav a:hover,.site-header nav a[aria-current=page]{color:var(--accent)}
.site-header nav a[aria-current=page]{font-weight:700}
.site-header nav a[aria-current=page]::after{content:"";position:absolute;bottom:4px;left:0;right:0;height:3px;border-radius:2px;background:var(--accent)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--peach);outline-offset:4px}
body:has(.workspace) main,body:has(.settings-shell) main,body:has(.records-shell) main{max-width:1280px;padding:48px 40px 60px}
body:has(.workspace) .intro,body:has(.records-shell) .intro{margin-bottom:36px;gap:28px}
body:has(.workspace) h1,body:has(.records-shell) h1,.settings-shell h1{font-size:clamp(28px,3.2vw,42px);font-weight:800;line-height:1.3;letter-spacing:-.045em}
body:has(.workspace) .eyebrow,body:has(.records-shell) .eyebrow,.settings-shell .eyebrow{font-family:inherit;font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--accent);margin-bottom:16px}
.builder,.preview,.records-shell{background:var(--white);border-color:var(--line);border-radius:15px;padding:28px}
.workspace{grid-template-columns:minmax(330px,.95fr) minmax(400px,1.25fr);gap:28px}
.tabs{background:#e2e8dd;padding:5px;border-radius:9px}
.tabs button{min-height:42px;border-radius:6px}
.tabs button[aria-pressed=true]{background:var(--white);font-weight:650;box-shadow:0 2px 6px #193e3610}
.builder input,.builder select,.builder textarea{border-color:#c2cec0;border-radius:6px;background:#fff;color:var(--ink);font-size:14px}
.builder select{height:44px}.builder label{font-size:12px;line-height:1.6}.builder .note{font-size:12px;line-height:1.8}.primary{background:var(--accent);border-radius:7px;min-height:46px}.intro .new-link{width:auto}
.settings-shell{max-width:760px;padding:36px 40px}.settings-shell .subtitle{margin-bottom:24px}.settings-shell #model-status{padding:13px 16px;border:1px solid var(--line);background:#e8eee1;border-radius:8px;margin-bottom:26px}.settings-shell #connection-form{margin-top:24px}.settings-shell details{margin-top:24px}.settings-shell details[open]{padding-bottom:8px}.settings-shell summary{font-size:13px;padding:16px 0;font-weight:650}.settings-shell .setting-actions{border-top:1px solid var(--line);padding-top:24px;gap:12px 20px}.settings-shell .setting-actions button{min-height:44px}.settings-shell>.text-button{display:inline-block;margin-top:12px}
@media(max-width:900px){.workspace{grid-template-columns:1fr}.site-header nav{gap:20px}}
@media(max-width:680px){header.site-header{height:auto;min-height:108px;flex-direction:column;align-items:stretch;gap:12px;padding:18px 20px 10px}.site-header .brand{font-size:16px}.site-header nav{width:100%;justify-content:space-between;gap:10px;font-size:13px}.site-header nav a{padding:10px 0}.site-header nav a[aria-current=page]::after{bottom:0}body:has(.workspace) main,body:has(.settings-shell) main,body:has(.records-shell) main{padding:30px 20px 40px}.builder,.preview,.records-shell,.settings-shell{padding:20px;border-radius:12px}.workspace{gap:22px}.builder input,.builder select,.builder textarea{font-size:16px}.intro-note{padding-left:16px}.intro-note strong{font-size:17px}.settings-shell .row{grid-template-columns:1fr;gap:0}}
@media(prefers-reduced-motion:reduce){.site-header nav a{transition:none}}

/* The welcome hero lives on creation history; ingredients open with browsing. */
.ingredients-main{padding-top:40px}
.history-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center;padding:6px 0 56px}
body:has(.records-shell) .history-hero h1{font-size:clamp(40px,4.6vw,60px);font-weight:800;line-height:1.24;letter-spacing:-.065em;margin:0 0 20px}
.history-hero h1 span{color:var(--peach)}
.hero-lead{font-size:15px;line-height:1.9;color:var(--muted);margin:0}
.hero-create{display:inline-flex;align-items:center;gap:32px;margin-top:26px;font-size:13px;font-weight:650;padding:12px 18px;background:var(--ink);color:var(--white);border-radius:6px}
.hero-create:hover{background:var(--accent)}
.history-spotlight{display:block;min-width:0;background:#dbe3d7;border:1px solid #c7d3c5;padding:18px 18px 0;border-radius:15px;max-width:440px;width:100%;justify-self:end;box-shadow:0 12px 24px -22px #183c3670;transition:transform .2s ease}
.history-spotlight:hover{transform:translateY(-3px)}
.hero-screen{position:relative;display:grid;place-items:center;aspect-ratio:4/3;background:#16342f;padding:8px;border-radius:4px;overflow:hidden}
.hero-screen canvas{display:block;width:100%;height:auto;image-rendering:pixelated;aspect-ratio:4/3}
#hero-note{font-size:13px;line-height:1.8;text-align:center;color:#dbe3d7;padding:20px;margin:0}
.hero-caption{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 1px 16px}.hero-caption small{display:block;font-size:11px;letter-spacing:.08em;color:var(--muted);margin-bottom:4px}.hero-caption strong{font-size:15px;overflow-wrap:anywhere}.hero-caption>span{font-size:22px;padding-right:6px}
.records-heading{display:flex;align-items:baseline;gap:24px;margin-bottom:22px}.records-heading h2{font-size:22px}.records-heading p{font-size:13px;color:var(--muted);margin:0}
@media(max-width:900px){.history-hero{gap:32px}}
@media(max-width:680px){.history-hero{grid-template-columns:1fr;gap:28px;padding:0 0 36px}body:has(.records-shell) .history-hero h1{font-size:43px}.history-spotlight{max-width:100%;padding:14px 14px 0}.hero-lead{font-size:13px}.records-heading{display:block}.records-heading p{margin-top:8px}.ingredients-main{padding-top:28px}}
@media(prefers-reduced-motion:reduce){.history-spotlight{transition:none}}
