:root{color-scheme:dark;--bg:#020b12;--panel:#071722;--panel2:#0a1e2b;--line:#17465c;--text:#edfaff;--muted:#83a8ba;--cyan:#35d7ff;--green:#29f2a3}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 50% -20%,#123247 0,var(--bg) 42%);color:var(--text);font:700 14px/1.25 Inter,Segoe UI,sans-serif;min-height:100vh}
body.theme-day{color-scheme:light;--bg:#dce9ed;--panel:#eef6f8;--panel2:#d5e7eb;--line:#78a5b5;--text:#082836;--muted:#527887;--cyan:#008bbb}body.theme-dracula{--bg:#191a27;--panel:#232437;--panel2:#2e3048;--line:#555879;--text:#f8f8f2;--muted:#aeb1c5;--cyan:#8be9fd}
button,a,input{font:inherit}.studio-shell{width:min(1920px,100%);margin:auto;padding:14px}.studio-header,.studio-controls{display:flex;align-items:center;gap:16px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel) 94%,transparent);border-radius:16px;padding:12px 16px}.studio-header{justify-content:space-between;position:sticky;top:0;z-index:10;backdrop-filter:blur(16px)}.studio-brand{display:flex;align-items:center;gap:13px;min-width:280px}.brand-mark{display:grid;place-items:center;width:54px;height:48px;border-radius:10px;background:var(--cyan);color:#031019;font-size:20px}.studio-brand strong{display:block;font-size:20px;letter-spacing:.08em}.studio-brand small,.section-heading small{color:var(--muted);letter-spacing:.12em}.angle-readout{text-align:center}.angle-readout>*{display:block}.angle-readout strong{font-size:34px;color:var(--cyan);line-height:1}.angle-readout span{font-size:11px;color:var(--green);margin-top:4px;letter-spacing:.08em}.studio-header a,.studio-controls button{border:1px solid var(--line);border-radius:9px;background:var(--panel2);color:var(--text);padding:10px 13px;text-decoration:none;cursor:pointer}.studio-controls{margin-top:10px;justify-content:center;flex-wrap:wrap}.angle-control,.segmented,.size-control{display:flex;align-items:center;gap:7px}.angle-control label,.size-control{color:var(--muted);font-size:11px;letter-spacing:.08em}.angle-control input{width:clamp(220px,32vw,620px)}.size-control input{width:130px}.size-control output{min-width:42px;color:var(--cyan)}button[aria-pressed=true]{border-color:var(--cyan);box-shadow:0 0 0 1px color-mix(in srgb,var(--cyan) 35%,transparent) inset;color:var(--cyan)}
.type-section,.contact-section{margin-top:18px}.section-heading{display:flex;align-items:end;justify-content:space-between;padding:0 6px 10px}.section-heading h1,.section-heading h2{margin:2px 0 0;font-size:22px}.section-heading p{margin:0;color:var(--muted);font-weight:600}.type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.type-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:linear-gradient(150deg,var(--panel2),var(--panel));min-height:245px;padding:10px;cursor:pointer}.type-card[aria-selected=true]{border-color:var(--cyan);box-shadow:0 0 22px color-mix(in srgb,var(--cyan) 20%,transparent)}.type-card header{display:flex;justify-content:space-between;align-items:start}.type-card h3{margin:0;font-size:16px}.type-card code{font:700 11px/1 Consolas,monospace;color:var(--muted)}.type-card canvas{display:block;width:100%;height:180px}.type-card footer{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.type-swatch{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;box-shadow:0 0 8px currentColor}.contact-sheet{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:7px}.angle-cell{border:1px solid var(--line);border-radius:10px;background:var(--panel);padding:6px;text-align:center}.angle-cell.is-current{border-color:var(--cyan);box-shadow:0 0 12px color-mix(in srgb,var(--cyan) 25%,transparent)}.angle-cell canvas{display:block;width:100%;height:92px}.angle-cell strong{font-size:12px;color:var(--cyan)}.angle-cell small{display:block;color:var(--muted);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
@media(max-width:760px){.studio-header{position:static;flex-wrap:wrap}.studio-brand{min-width:0}.angle-readout{order:3;width:100%}.section-heading{display:block}.section-heading p{margin-top:5px}.angle-control{flex-wrap:wrap;justify-content:center}.angle-control label{order:3;width:100%}.angle-control input{width:100%}}
