*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #111110;--surface: #1c1c1a;--border: #2e2e2c;--text: #e8e8e6;--muted: #666662;--accent: #e8e8e6;--accent-fg: #111110;--radius: 10px;--gap: 20px}body{font-family:system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);font-size:13px;line-height:1.5}.app{display:flex;flex-direction:column;min-height:100vh}.app__header{padding:18px 28px;border-bottom:1px solid var(--border);background:var(--surface)}.app__header h1{font-size:15px;font-weight:600;letter-spacing:-.01em}.app__main{display:grid;grid-template-columns:280px 1fr;flex:1}.controls{background:var(--surface);border-right:1px solid var(--border);padding:var(--gap);display:flex;flex-direction:column;gap:24px;overflow-y:auto}.controls__section{display:flex;flex-direction:column;gap:10px}.controls__heading{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.controls__pills{display:flex;flex-wrap:wrap;gap:6px}.pill{padding:4px 12px;border-radius:999px;border:1px solid var(--border);background:transparent;font-size:12px;cursor:pointer;color:var(--text);transition:background .12s,border-color .12s,color .12s}.pill:hover{background:var(--bg)}.pill--active{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.light-pad{position:relative;width:100%;aspect-ratio:1;border-radius:50%;background:var(--bg);border:1px solid var(--border);cursor:crosshair;overflow:hidden;-webkit-user-select:none;user-select:none;touch-action:none}.light-pad__dot{position:absolute;width:14px;height:14px;border-radius:50%;background:#f5c542;border:2px solid #d4a017;transform:translate(-50%,-50%);pointer-events:none;box-shadow:0 0 0 3px #f5c54240}.slider{display:flex;flex-direction:column;gap:4px}.slider__label{display:flex;justify-content:space-between;color:var(--text);font-size:12px}.slider__value{color:var(--muted);font-variant-numeric:tabular-nums}.slider input[type=range]{width:100%;accent-color:var(--accent)}.color-picker{display:flex;align-items:center;justify-content:space-between;font-size:12px}.color-picker input[type=color]{width:32px;height:24px;border:1px solid var(--border);border-radius:4px;cursor:pointer;padding:1px 2px;background:none}.stage{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;padding:40px}.preview{display:flex;align-items:center;justify-content:center;width:100%;min-height:320px;border-radius:var(--radius);transition:background .2s}.preview__card{width:240px;padding:24px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);display:flex;flex-direction:column;gap:14px}.preview__card-title{font-size:14px;font-weight:600;letter-spacing:-.01em}.preview__field{display:flex;flex-direction:column;gap:4px}.preview__label{font-size:11px;font-weight:500;opacity:.7}.preview__input-mock{padding:7px 10px;border-radius:6px;border:1px solid;font-size:12px;background:transparent}.preview__card-btn{padding:7px 14px;border-radius:6px;border:1px solid;font-size:12px;font-weight:500;background:transparent;cursor:default;align-self:flex-end}.preview__button{padding:10px 28px;border-radius:8px;background:var(--surface);border:1px solid var(--border);font-size:14px;cursor:default;color:var(--text)}.preview__modal{width:260px;padding:24px;border-radius:14px;border:1px solid var(--border);background:var(--surface);display:flex;flex-direction:column;gap:10px}.preview__modal-title-text{font-size:14px;font-weight:600;letter-spacing:-.01em}.preview__modal-body-text{font-size:12px;line-height:1.6;margin:0}.preview__input{width:220px;padding:10px 14px;border-radius:8px;background:var(--surface);border:1px solid var(--border);font-size:13px;color:var(--muted)}.css-output{width:100%;max-width:480px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.css-output__code{padding:16px 20px;font-family:SF Mono,Fira Code,monospace;font-size:12px;color:var(--text);white-space:pre-wrap;word-break:break-all;line-height:1.7}.css-output__copy{display:block;width:100%;padding:10px;background:var(--bg);border:none;border-top:1px solid var(--border);font-size:12px;font-weight:500;cursor:pointer;color:var(--text);transition:background .12s}.css-output__copy:hover{background:var(--border)}
