:root{color-scheme:light;--paper: #f4efe4;--paper-2: #e7e0d1;--ink: #1c1915;--soft: #3f3a33;--line: #d5ccbb;--accent: #0d5c45;--accent-hover: #084635;--accent-soft: #dceae3;--danger: #7d2b1b;--danger-soft: #f6e4dc;--on-accent: #f6f1e7;--shadow: 0 14px 32px rgb(48 36 18 / 12%);--sans: "Segoe UI", "Liberation Sans", "Noto Sans", "DejaVu Sans", sans-serif;--serif: "Iowan Old Style", Palatino, "Palatino Linotype", "Liberation Serif", "Noto Serif", "Times New Roman", serif;--mono: ui-monospace, "Cascadia Code", "Liberation Mono", "DejaVu Sans Mono", monospace}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5}::selection{background:var(--accent);color:var(--on-accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}*{scrollbar-width:thin;scrollbar-color:#b7ad9b transparent}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;background:var(--paper-2);color:var(--soft)}h1,h2,p{margin:0}h1{font-family:var(--serif);font-size:1.75rem;font-weight:650;letter-spacing:-.03em;line-height:1.15}.shell{width:min(1120px,calc(100% - 2rem));margin:0 auto;padding:1.25rem 0 3rem}.top,.meta,.row{display:flex;align-items:center;justify-content:space-between;gap:.75rem 1rem}.top{padding-bottom:.85rem;border-bottom:1px solid var(--line)}.meta{padding:.75rem 0 1rem;color:var(--soft);font-variant-numeric:tabular-nums}.workspace{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:1.25rem 2rem;align-items:start}.composer,.result{display:flex;flex-direction:column;gap:.85rem;min-width:0}.result{position:sticky;top:1rem;max-height:calc(100vh - 2rem)}label,.field-name{display:block;font-size:.92rem;font-weight:650}.field{display:flex;flex-direction:column;gap:.4rem}textarea,input[type=text],input[type=password],input[type=search],select{width:100%;border:1px solid var(--line);border-radius:8px;background:#fbf8f2;padding:.65rem .75rem;caret-color:var(--accent)}textarea{min-height:180px;resize:vertical;line-height:1.45}textarea::placeholder,input::placeholder{color:var(--soft)}select.skills{min-height:220px;padding:.35rem}.counter{color:var(--soft);font-size:.85rem;font-variant-numeric:tabular-nums;text-align:right}.desc{color:var(--soft);min-height:2.8em}.sid{font-family:var(--mono);font-size:.84em;color:var(--accent)}.actions,.result-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}button.primary,button.danger,button.ghost{border-radius:999px;border:1px solid transparent;padding:.55rem 1rem}button.primary{background:var(--accent);color:var(--on-accent)}button.primary:hover:not(:disabled){background:var(--accent-hover)}button.danger{background:transparent;border-color:var(--danger);color:var(--danger)}button.danger:hover:not(:disabled){background:var(--danger-soft)}button.ghost{background:transparent;border-color:var(--line);color:var(--ink)}button.ghost:hover:not(:disabled){background:var(--paper-2)}.alert{margin:0 0 .9rem;padding:.7rem .8rem;border-radius:8px;background:var(--danger-soft);color:var(--danger)}.result-view{flex:1;min-height:320px;overflow:auto;border:1px solid var(--line);border-radius:8px;background:#fbf8f2;padding:.9rem 1rem}.output{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.55}.placeholder{color:var(--soft)}.caret{display:inline-block;width:.45rem;height:1em;margin-left:.15rem;background:var(--accent);vertical-align:text-bottom;animation:blink 1s steps(1) infinite}.combo{position:relative}.combo-list{position:absolute;z-index:5;top:calc(100% + 4px);left:0;right:0;max-height:240px;overflow:auto;margin:0;padding:.25rem;list-style:none;background:#fbf8f2;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.combo-list button{display:block;width:100%;text-align:left;border:0;border-radius:6px;background:transparent;padding:.35rem .5rem;font-family:var(--mono);font-size:.86rem}.combo-list button[aria-selected=true],.combo-list button:hover{background:var(--accent-soft)}.hint{color:var(--soft);font-size:.85rem}.gate{width:min(28rem,calc(100% - 2rem));margin:12vh auto 0;display:flex;flex-direction:column;gap:1rem}.gate h1{padding-bottom:.75rem;border-bottom:3px solid var(--accent)}.lead{color:var(--soft)}@media(max-width:900px){.workspace{grid-template-columns:1fr}.result{position:static;max-height:none}.top,.meta{align-items:flex-start;flex-direction:column}}@media(prefers-reduced-motion:reduce){.caret{animation:none}}@keyframes blink{50%{opacity:0}}
