@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;600&display=swap";:root{--bg-top: #f4efe5;--bg-bottom: #fffef9;--surface: rgba(255, 255, 255, .9);--surface-solid: #ffffff;--text-primary: #1e2430;--text-secondary: #4d5a70;--border: #d4dced;--border-strong: #9aabc6;--accent: #0f766e;--accent-hover: #0f5f59;--danger: #b42318;--danger-hover: #941d14;--ok: #166534;--ok-bg: #ecfdf3;--err-bg: #fef2f2;--radius: 14px;--shadow: 0 22px 42px rgba(31, 44, 67, .12);--focus-ring: 0 0 0 3px rgba(15, 118, 110, .2);font-family:IBM Plex Sans,Segoe UI,sans-serif;color:var(--text-primary)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(1200px 500px at 20% -10%,#ffe3bf 0%,transparent 55%),radial-gradient(900px 420px at 95% 0%,#d8f2e9 0%,transparent 60%),linear-gradient(180deg,var(--bg-top) 0%,var(--bg-bottom) 100%)}button,input,textarea{font:inherit}.page{min-height:100vh;padding:20px}.shell{width:min(1080px,100%);margin:0 auto;display:grid;gap:16px}.hero{padding:12px 4px}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:12px;color:var(--text-secondary)}h1,h2,h3{margin:0;line-height:1.15}h1{margin-top:8px;font-size:clamp(32px,6vw,52px)}h2{font-size:24px}.lead{margin:10px 0 0;font-size:17px;color:var(--text-secondary)}.meta{margin:8px 0 0;color:var(--text-secondary);font-size:14px}.mono{font-family:IBM Plex Mono,monospace;margin:8px 0 0}.workspace{display:grid;gap:14px;grid-template-columns:repeat(12,minmax(0,1fr))}.workspace .card:nth-child(1){grid-column:span 4}.workspace .card:nth-child(2){grid-column:span 8}.workspace .card:nth-child(3){grid-column:span 12}.card{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:18px;display:grid;gap:14px}.stack{display:grid;gap:12px}.field{display:grid;gap:6px}.field>span{font-size:14px;font-weight:600}input,textarea{width:100%;min-height:44px;border:1px solid var(--border-strong);background:var(--surface-solid);border-radius:10px;padding:10px 12px;color:var(--text-primary);transition:border-color .18s ease,box-shadow .18s ease}textarea{min-height:120px;resize:vertical}input:hover,textarea:hover{border-color:#7f95b7}input:focus-visible,textarea:focus-visible,button:focus-visible,.tab:focus-visible,.link-button:focus-visible{outline:none;box-shadow:var(--focus-ring);border-color:var(--accent)}.row{display:flex;flex-wrap:wrap;gap:10px}.file-input-hidden{display:none}button{min-height:44px;border:1px solid transparent;border-radius:10px;padding:10px 14px;background:var(--accent);color:#fff;font-weight:600;cursor:pointer;transition:transform .12s ease,background-color .18s ease}button:hover{background:var(--accent-hover)}button:active{transform:translateY(1px)}button:disabled{opacity:.6;cursor:not-allowed}.button-muted{background:#eff4ff;color:#20314f;border-color:#c6d3ec}.button-muted:hover{background:#dde8fc}.button-danger{background:var(--danger)}.button-danger:hover{background:var(--danger-hover)}.tabs{display:inline-flex;padding:4px;gap:4px;border-radius:11px;background:#eef3fb;border:1px solid #ccdaf0}.tab{background:transparent;color:#304666;border-color:transparent}.tab-active{background:#fff;border-color:#cfdbef}.alert{margin:0;border-radius:10px;border:1px solid;padding:10px 12px}.alert-success{background:var(--ok-bg);border-color:#93ddb5;color:var(--ok)}.alert-error{background:var(--err-bg);border-color:#fdc7c3;color:#9f1239}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#07132673;display:grid;place-items:center;padding:20px}.modal{width:min(520px,100%);border-radius:14px;border:1px solid #cedaf0;box-shadow:var(--shadow);background:#fff;padding:20px;display:grid;gap:12px}.modal p{margin:0;color:var(--text-secondary)}.link-button{background:transparent;border:none;color:#1f4d9f;justify-self:start;padding:2px 0;min-height:auto}@media(max-width:920px){.workspace .card:nth-child(1),.workspace .card:nth-child(2),.workspace .card:nth-child(3){grid-column:span 12}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
