:root{
  --paper:#f6efe5;--paper-deep:#eee2d2;--card:#fffdf8;--soft:#fbf6ee;--ink:#2f2b25;
  --ink-soft:#4d493f;--muted:#756f64;--line:#ddd2c2;--line-strong:#c9baa7;
  --sage:#6f7d56;--sage-dark:#4f5e3d;--sage-soft:#e8ecdf;--clay:#ad7651;
  --clay-dark:#86583c;--clay-soft:#f3e2d5;--gold:#bd9654;--gold-soft:#f5ead2;
  --rose:#9a5c5d;--rose-soft:#f3dfdc;--sky:#6e92a0;--sky-soft:#e5eef0;
  --shadow:0 18px 50px rgba(73,58,39,.09);--shadow-soft:0 8px 24px rgba(73,58,39,.07);
  --radius:24px;--radius-sm:15px;--font-body:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Helvetica,Arial,sans-serif;
  --font-display:Iowan Old Style,Palatino Linotype,Book Antiqua,Palatino,Georgia,serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:var(--paper);color:var(--ink);font-family:var(--font-body);line-height:1.55}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}
body::before,body::after{content:"";position:fixed;z-index:-1;pointer-events:none;border-radius:50%}body::before{width:29rem;height:29rem;right:-13rem;top:-14rem;background:radial-gradient(circle,rgba(189,150,84,.17),transparent 68%)}body::after{width:31rem;height:31rem;left:-16rem;bottom:-16rem;background:radial-gradient(circle,rgba(111,125,86,.15),transparent 68%)}
.shell{max-width:1240px;margin:0 auto;padding:0 1rem 4rem}.masthead{max-width:1240px;margin:0 auto;padding:1.3rem 1rem .7rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.wordmark{text-decoration:none;font-weight:850;letter-spacing:-.025em}.wordmark span{color:var(--sage)}.free-link{font-size:.88rem;color:var(--muted)}.free-link a{color:var(--sage-dark);font-weight:750;text-underline-offset:3px}
.hero{margin-top:.5rem;padding:clamp(1.4rem,4vw,3rem);border:1px solid var(--line);border-radius:32px;background:rgba(255,253,248,.94);box-shadow:var(--shadow);position:relative;overflow:hidden}.hero::after{content:"";position:absolute;width:18rem;height:18rem;border-radius:50%;right:-8rem;bottom:-10rem;background:radial-gradient(circle,rgba(173,118,81,.15),transparent 68%)}.hero>*{position:relative;z-index:1}.kicker,.eyebrow{color:var(--sage-dark);font-size:.72rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.hero h1{margin:.35rem 0 .8rem;font-family:var(--font-display);font-size:clamp(2.45rem,6vw,5rem);font-weight:550;line-height:.98;letter-spacing:-.045em}.hero p{max-width:72ch;margin:0;color:var(--ink-soft);font-size:1.04rem;line-height:1.72}.hero-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.25rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:42px;padding:.72rem 1rem;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);font-weight:780;text-decoration:none;transition:.16s ease}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-soft);border-color:var(--line-strong)}.btn.primary{background:var(--sage-dark);border-color:var(--sage-dark);color:#fff}.btn.clay{background:var(--clay-dark);border-color:var(--clay-dark);color:#fff}.btn.ghost{background:var(--soft)}.btn.danger{color:var(--rose);border-color:#dfc4c1;background:#fff9f7}.btn.small{min-height:34px;padding:.48rem .76rem;font-size:.84rem}.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.role-grid,.product-grid,.suite-grid,.metric-grid{display:grid;gap:1rem}.role-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:1rem}.role-card,.product-card,.panel,.metric,.module-card,.output-card,.saved-card,.record-card{background:rgba(255,253,248,.95);border:1px solid var(--line);box-shadow:var(--shadow-soft)}.role-card{border-radius:22px;padding:1.1rem;text-align:left}.role-card:hover,.product-card:hover,.module-card:hover{transform:translateY(-2px);border-color:#b7c2aa}.role-card h3,.product-card h3,.module-card h3{margin:.15rem 0 .4rem;font-family:var(--font-display);font-size:1.27rem}.role-card p,.product-card p,.module-card p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.55}.mark{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:var(--sage-soft);border:1px solid #d3dac9;color:var(--sage-dark);font-family:var(--font-display);font-size:1.15rem;font-weight:800}.mark.clay{background:var(--clay-soft);border-color:#e5cfc0;color:var(--clay-dark)}.mark.gold{background:var(--gold-soft);border-color:#e5d5b5;color:#7c622d}.mark.sky{background:var(--sky-soft);border-color:#cbdcdf;color:#4c7380}
.section{margin-top:1.2rem}.section-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.section-head h2{margin:0;font-family:var(--font-display);font-size:1.75rem;font-weight:600}.section-head p{margin:.3rem 0 0;color:var(--muted)}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.product-card{border-radius:22px;padding:1rem;display:flex;flex-direction:column;gap:.85rem;transition:.16s ease}.product-top{display:flex;align-items:flex-start;gap:.8rem}.product-meta{display:flex;flex-wrap:wrap;gap:.38rem}.tag,.chip{display:inline-flex;align-items:center;border:1px solid var(--line);background:var(--soft);border-radius:999px;padding:.3rem .55rem;font-size:.72rem;color:var(--ink-soft)}.tag.deep{background:var(--sage-soft);border-color:#cbd5be;color:var(--sage-dark)}.tag.live{background:var(--gold-soft);border-color:#e3d1aa;color:#806022}.tag.integrated{background:var(--clay-soft);border-color:#e1c8b7;color:var(--clay-dark)}.product-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto}.legacy-note{font-size:.78rem;color:var(--muted)}
.toolbar{margin-top:1rem;padding:.8rem;border:1px solid var(--line);border-radius:18px;background:rgba(255,253,248,.92);display:flex;gap:.65rem;flex-wrap:wrap;align-items:center}.toolbar input,.toolbar select{min-height:42px;border:1px solid var(--line);border-radius:12px;background:#fffefb;padding:.68rem .78rem;color:var(--ink)}.toolbar input{flex:1 1 280px}.toolbar select{flex:0 0 190px}
.app-shell{max-width:1360px;margin:0 auto;padding:0 1rem 3rem}.app-header{margin:.5rem 0 1rem;padding:1.25rem 1.35rem;border:1px solid var(--line);border-radius:25px;background:rgba(255,253,248,.95);box-shadow:var(--shadow-soft)}.app-header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.app-header h1{margin:.25rem 0 .5rem;font-family:var(--font-display);font-size:clamp(2rem,4vw,3.6rem);font-weight:560;letter-spacing:-.035em;line-height:1}.app-header p{margin:0;max-width:76ch;color:var(--ink-soft)}.app-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.app-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:1rem}.side{position:sticky;top:1rem;align-self:start;max-height:calc(100vh - 2rem);overflow:auto}.panel{border-radius:21px;padding:1rem}.panel h2,.panel h3{margin:.15rem 0 .55rem;font-family:var(--font-display);font-weight:600}.panel h2{font-size:1.4rem}.panel h3{font-size:1.15rem}.muted{color:var(--muted)}.small{font-size:.83rem}.modules{display:grid;gap:.45rem;margin-top:.8rem}.module-btn{width:100%;text-align:left;border:1px solid var(--line);border-radius:13px;background:var(--soft);padding:.7rem .75rem;color:var(--ink)}.module-btn strong{display:block}.module-btn span{display:block;margin-top:.18rem;color:var(--muted);font-size:.79rem;line-height:1.4}.module-btn.active{background:var(--sage-soft);border-color:#bac7ac;color:var(--sage-dark)}
.workspace{display:grid;gap:1rem}.workspace-grid{display:grid;grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);gap:1rem}.form-panel,.result-panel{border-radius:21px;padding:1.15rem;background:rgba(255,253,248,.96);border:1px solid var(--line);box-shadow:var(--shadow-soft)}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.field{display:flex;flex-direction:column;gap:.34rem}.field.full{grid-column:1/-1}.field label{font-size:.84rem;font-weight:750;color:var(--ink-soft)}.field .help{font-size:.75rem;color:var(--muted);line-height:1.45}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:11px;background:#fffefb;padding:.72rem .78rem;color:var(--ink);outline:none}.field textarea{min-height:106px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--sage);box-shadow:0 0 0 3px rgba(111,125,86,.12)}.check-row{display:flex;gap:.55rem;align-items:flex-start;border:1px solid var(--line);border-radius:11px;padding:.68rem;background:var(--soft)}.check-row input{margin-top:.16rem;accent-color:var(--sage-dark)}.form-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem}.status-line{min-height:1.1rem;color:var(--sage-dark);font-size:.8rem;font-weight:700}.result-empty{padding:2rem 1rem;text-align:center;border:1px dashed var(--line-strong);border-radius:16px;background:var(--soft);color:var(--muted)}.outputs{display:grid;gap:.75rem}.output-card{border-radius:16px;padding:.95rem}.output-card h3{margin:0 0 .45rem;font-family:var(--font-display);font-size:1.18rem}.output-card p{margin:.35rem 0;color:var(--ink-soft)}.output-card ul,.output-card ol{padding-left:1.25rem;margin:.45rem 0}.output-card li+li{margin-top:.32rem}.output-head{display:flex;justify-content:space-between;gap:.8rem;align-items:flex-start}.copy-btn{border:1px solid var(--line);border-radius:999px;background:var(--soft);padding:.35rem .58rem;font-size:.76rem}.artifact{white-space:pre-wrap;background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:.78rem;color:var(--ink-soft);font-size:.9rem;line-height:1.58}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:.84rem}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--line);padding:.55rem;vertical-align:top}.data-table th{color:var(--sage-dark);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;background:var(--sage-soft)}
.saved-area{display:grid;gap:.7rem}.saved-card{border-radius:15px;padding:.8rem}.saved-top{display:flex;justify-content:space-between;gap:.7rem;align-items:flex-start}.saved-card h4{margin:0}.saved-card p{margin:.3rem 0;color:var(--muted);font-size:.83rem}.saved-actions{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.55rem}.callout{padding:.75rem;border-radius:13px;background:var(--gold-soft);border:1px solid #e3d1aa;color:#6f5522}.callout.safe{background:var(--sage-soft);border-color:#cbd5be;color:var(--sage-dark)}.callout.alert{background:var(--rose-soft);border-color:#e5cac7;color:var(--rose)}
.progress-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.metric{border-radius:15px;padding:.8rem}.metric strong{display:block;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}.metric span{display:block;margin-top:.25rem;font-size:1.35rem;font-weight:800}.progress-track{height:9px;background:#ece4d9;border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--sage),var(--gold));border-radius:999px}
.modal{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:1rem}.modal-bg{position:absolute;inset:0;background:rgba(47,43,37,.68);backdrop-filter:blur(5px)}.modal-card{position:relative;z-index:1;width:min(900px,100%);max-height:calc(100vh - 2rem);overflow:auto;border-radius:24px;background:var(--card);border:1px solid var(--line);padding:1.15rem;box-shadow:var(--shadow)}
.footer{max-width:1240px;margin:0 auto;padding:0 1rem 2rem;color:var(--muted);font-size:.84rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
@media(max-width:1000px){.role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-layout{grid-template-columns:1fr}.side{position:static;max-height:none}.workspace-grid{grid-template-columns:1fr}.progress-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.masthead{align-items:flex-start;flex-direction:column}.hero{border-radius:24px;padding:1.2rem}.role-grid,.product-grid,.field-grid{grid-template-columns:1fr}.app-header-row{flex-direction:column}.app-actions{justify-content:flex-start}.progress-grid{grid-template-columns:1fr}.section-head{align-items:flex-start;flex-direction:column}.toolbar select{flex:1 1 100%}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{body{background:#fff}.masthead,.side,.app-actions,.form-panel,.toolbar,.hero-actions,.product-actions,.footer{display:none!important}.app-layout,.workspace-grid{display:block}.result-panel,.app-header,.panel,.output-card{box-shadow:none;border:1px solid #ccc;background:#fff}.shell,.app-shell{max-width:none;padding:0}.hero{box-shadow:none;border:0}.output-card{break-inside:avoid}}
