:root{--bg:#f6f7fb;--panel:#fff;--text:#0f172a;--muted:#64748b;--border:#e5e7eb;--accent:#6366f1;--accent-text:#fff;--danger:#dc2626;--radius:12px;--shadow:0 1px 2px #0f172a0d, 0 8px 24px -12px #0f172a26;color:var(--text);-webkit-font-smoothing:antialiased;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg);line-height:1.5}a{color:var(--accent);text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3{letter-spacing:-.01em;margin:0;line-height:1.2}.shell{flex-direction:column;min-height:100vh;display:flex}.topbar{background:var(--panel);border-bottom:1px solid var(--border);z-index:10;align-items:center;gap:16px;height:56px;padding:0 24px;display:flex;position:sticky;top:0}.brand{color:var(--text);align-items:center;gap:8px;font-size:17px;font-weight:700;display:flex}.brand .dot{background:var(--accent);border-radius:50%;width:10px;height:10px}.topbar .spacer{flex:1}.page{width:100%;max-width:1080px;margin:0 auto;padding:32px 24px 80px}.page-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:24px;display:flex}.page-head h1{font-size:24px}.page-head .spacer{flex:1}.tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:20px;display:flex}.tabs a{color:var(--muted);border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px;font-weight:500}.tabs a.active{color:var(--text);border-color:var(--accent)}.btn{border:1px solid var(--border);background:var(--panel);border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:14px;font-weight:500;transition:background .15s,transform 50ms;display:inline-flex}.btn:hover{background:#f1f3f8}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--accent);color:var(--accent-text);border-color:#0000}.btn.primary:hover{filter:brightness(1.05);background:var(--accent)}.btn.danger{color:var(--danger)}.btn.sm{padding:5px 10px;font-size:13px}.btn.ghost{background:0 0;border-color:#0000}.btn:disabled{opacity:.5;cursor:default}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card.pad{padding:20px}.muted{color:var(--muted)}.small{font-size:13px}.row{align-items:center;gap:10px;display:flex}.stack{flex-direction:column;gap:10px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--muted);font-size:13px;font-weight:500}.input,textarea.input,select.input{border:1px solid var(--border);background:#fff;border-radius:8px;outline:none;width:100%;padding:9px 12px;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent)}textarea.input{resize:vertical;min-height:72px}.check{cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.check input{width:16px;height:16px;accent-color:var(--accent)}.badge{border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.badge.live{color:#15803d;background:#dcfce7}.badge.draft{color:#475569;background:#f1f5f9}.badge.ok{color:#15803d;background:#dcfce7}.badge.fail{color:#b91c1c;background:#fee2e2}.error{color:var(--danger);font-size:14px}.toast{color:#fff;box-shadow:var(--shadow);z-index:100;background:#0f172a;border-radius:10px;padding:10px 16px;font-size:14px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.form-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.form-card{color:inherit;flex-direction:column;gap:10px;padding:18px;transition:transform .15s,box-shadow .15s;display:flex}.form-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px -12px #0f172a40}.form-card h3{font-size:16px}.form-card .meta{color:var(--muted);justify-content:space-between;align-items:center;font-size:13px;display:flex}.empty{text-align:center;color:var(--muted);padding:64px 24px}.editor{grid-template-columns:300px 1fr;align-items:start;gap:20px;display:grid}@media (width<=860px){.editor{grid-template-columns:1fr}}.qlist{flex-direction:column;gap:6px;display:flex}.qitem{cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;width:100%;padding:10px 12px;display:flex}.qitem:hover{background:#f1f3f8}.qitem.active{background:color-mix(in srgb, var(--accent) 10%, white);border-color:color-mix(in srgb, var(--accent) 35%, white)}.qitem .icon{background:color-mix(in srgb, var(--accent) 15%, white);width:34px;height:26px;color:var(--accent);border-radius:6px;flex:none;place-items:center;font-size:12px;font-weight:700;display:grid}.qitem .t{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;overflow:hidden}.qitem .req{color:var(--danger)}.qitem .handle{opacity:0;gap:2px;display:flex}.qitem:hover .handle,.qitem.active .handle{opacity:1}.handle button{color:var(--muted);background:0 0;border:none;border-radius:4px;padding:2px 4px}.handle button:hover{color:var(--text);background:#e2e8f0}.type-picker{grid-template-columns:repeat(2,1fr);gap:6px;display:grid}.type-picker button{border:1px solid var(--border);text-align:left;background:#fff;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.type-picker button:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, white)}.type-picker .icon{text-align:center;width:28px;color:var(--accent);font-size:12px;font-weight:700}.options-list{flex-direction:column;gap:6px;display:flex}.options-list .row .input{flex:1}.two{grid-template-columns:1fr 1fr;gap:12px;display:grid}.color-row{align-items:center;gap:8px;display:flex}.color-row input[type=color]{border:1px solid var(--border);background:#fff;border-radius:8px;width:40px;height:34px;padding:2px}.swatches{gap:6px;display:flex}.swatches button{width:24px;height:24px;box-shadow:0 0 0 1px var(--border);border:2px solid #fff;border-radius:50%}.share-box{align-items:center;gap:8px;display:flex}.share-box code{text-overflow:ellipsis;white-space:nowrap;background:#f1f3f8;border-radius:8px;flex:1;padding:8px 12px;font-size:13px;overflow:hidden}.stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:20px;display:grid}.stat{padding:16px}.stat .n{font-size:26px;font-weight:700}.stat .l{color:var(--muted);font-size:13px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:10px 14px}th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);white-space:nowrap;background:#fafbfd;font-size:12px;position:sticky;top:0}td{max-width:320px}tr:hover td{background:#fafbfd}.summary-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}.bar{align-items:center;gap:10px;margin:6px 0;font-size:14px;display:flex}.bar .label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.bar .track{background:#eef0f5;border-radius:4px;flex:2;height:8px;overflow:hidden}.bar .fill{background:var(--accent);border-radius:4px;height:100%}.bar .n{text-align:right;width:56px;color:var(--muted);font-size:13px}.text-answers{flex-direction:column;gap:6px;max-height:240px;font-size:14px;display:flex;overflow:auto}.text-answers div{background:#f8fafc;border-radius:8px;padding:8px 10px}.login{place-items:center;min-height:100vh;padding:24px;display:grid}.login .card{flex-direction:column;gap:14px;width:100%;max-width:360px;padding:28px;display:flex}.pf{background:var(--pf-bg,#fff);min-height:100dvh;color:var(--pf-text,#0f172a);flex-direction:column;display:flex}.pf-progress{background:color-mix(in srgb, var(--accent) 15%, transparent);z-index:5;height:4px;position:fixed;top:0;left:0;right:0}.pf-progress>div{background:var(--accent);height:100%;transition:width .4s cubic-bezier(.2,.8,.2,1)}.pf-main{flex:1;justify-content:center;align-items:center;padding:80px 24px 120px;display:flex}.pf-q{width:100%;max-width:680px;animation:.35s cubic-bezier(.2,.8,.2,1) pf-in}.pf-q.back{animation-name:pf-in-back}@keyframes pf-in{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@keyframes pf-in-back{0%{opacity:0;transform:translateY(-28px)}to{opacity:1;transform:none}}.pf-num{color:var(--accent);align-items:center;gap:6px;margin-bottom:10px;font-size:14px;font-weight:600;display:flex}.pf-title{letter-spacing:-.015em;font-size:clamp(24px,3.4vw,32px);font-weight:600}.pf-title .req{color:var(--accent);margin-left:4px}.pf-desc{color:var(--pf-muted,#64748b);margin-top:8px;font-size:17px}.pf-answer{margin-top:28px}.pf-input{border:none;border-bottom:2px solid color-mix(in srgb, var(--accent) 30%, transparent);width:100%;color:inherit;background:0 0;outline:none;padding:8px 0;font-size:26px;transition:border-color .2s}.pf-input::placeholder{color:color-mix(in srgb, var(--pf-text,#0f172a) 30%, transparent)}.pf-input:focus{border-bottom-color:var(--accent)}textarea.pf-input{resize:none;min-height:120px;font-size:22px;line-height:1.4}.pf-hint{color:var(--pf-muted,#64748b);margin-top:10px;font-size:13px}.pf-hint kbd{font:inherit;font-weight:600}.pf-choices{flex-direction:column;gap:10px;display:flex}.pf-choice{text-align:left;border:1px solid color-mix(in srgb, var(--accent) 45%, transparent);background:color-mix(in srgb, var(--accent) 8%, transparent);color:inherit;border-radius:10px;align-items:center;gap:12px;padding:12px 16px;font-size:18px;transition:background .15s,transform .1s;display:flex}.pf-choice:hover{background:color-mix(in srgb, var(--accent) 16%, transparent)}.pf-choice.selected{background:color-mix(in srgb, var(--accent) 28%, transparent);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.pf-choice .key{border:1px solid var(--accent);background:var(--pf-bg,#fff);width:26px;height:26px;color:var(--accent);border-radius:5px;flex:none;place-items:center;font-size:13px;font-weight:700;display:grid}.pf-choice.selected .key{background:var(--accent);color:var(--accent-text,#fff)}.pf-scale{flex-wrap:wrap;gap:8px;display:flex}.pf-scale button{min-width:44px;height:56px;color:inherit;border:1px solid color-mix(in srgb, var(--accent) 45%, transparent);background:color-mix(in srgb, var(--accent) 8%, transparent);border-radius:10px;flex:1;font-size:18px;font-weight:600}.pf-scale button:hover{background:color-mix(in srgb, var(--accent) 16%, transparent)}.pf-scale button.selected{background:var(--accent);color:var(--accent-text,#fff);border-color:var(--accent)}.pf-scale-labels{color:var(--pf-muted,#64748b);justify-content:space-between;margin-top:8px;font-size:13px;display:flex}.pf-stars{gap:6px;display:flex}.pf-stars button{color:color-mix(in srgb, var(--accent) 25%, transparent);background:0 0;border:none;padding:4px;font-size:40px;line-height:1;transition:transform .1s,color .1s}.pf-stars button.on{color:var(--accent)}.pf-stars button:hover{transform:scale(1.12)}.pf-error{color:#dc2626;align-items:center;gap:6px;margin-top:14px;font-size:14px;display:flex}.pf-actions{align-items:center;gap:14px;margin-top:28px;display:flex}.pf-btn{background:var(--accent);color:var(--accent-text,#fff);box-shadow:0 6px 16px -6px color-mix(in srgb, var(--accent) 60%, transparent);border:none;border-radius:10px;align-items:center;gap:8px;padding:12px 22px;font-size:18px;font-weight:600;transition:transform .1s,filter .15s;display:inline-flex}.pf-btn:hover{filter:brightness(1.06)}.pf-btn:active{transform:translateY(1px)}.pf-btn:disabled{opacity:.6}.pf-nav{box-shadow:0 6px 16px -6px color-mix(in srgb, var(--accent) 60%, transparent);border-radius:8px;gap:2px;display:flex;position:fixed;bottom:24px;right:24px;overflow:hidden}.pf-nav button{background:var(--accent);width:40px;height:36px;color:var(--accent-text,#fff);border:none;font-size:16px}.pf-nav button:disabled{opacity:.4}.pf-footer{color:var(--pf-muted,#64748b);font-size:12px;position:fixed;bottom:28px;left:24px}.pf-footer a{color:inherit;opacity:.8}.pf-thanks{text-align:center}.pf-thanks .check{background:var(--accent);width:72px;height:72px;color:var(--accent-text,#fff);border-radius:50%;place-items:center;margin:0 auto 20px;font-size:34px;animation:.4s cubic-bezier(.2,.8,.2,1.4) pf-pop;display:grid}@keyframes pf-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}.pf-center{min-height:100vh;color:var(--muted);place-items:center;display:grid}@media (width<=600px){.pf-main{padding:56px 20px 110px}.pf-input{font-size:22px}.pf-choice{font-size:16px}}
