:root{--color-bg: #faf7f0;--color-surface: #ffffff;--color-surface-alt: #f3ecd9;--color-border: #e8dcc0;--color-border-soft: #f0e8d4;--color-text: #2b2820;--color-text-muted: #5f574a;--color-text-faint: #857b63;--color-primary: #344c3d;--color-primary-hover: #25382b;--color-primary-bg: #e6ece5;--color-gold: #b8863c;--color-gold-bg: #f4e6c6;--color-green: #0f7a68;--color-green-bg: #e2f2ec;--color-red: #b3423a;--color-red-bg: #fae9e6;--color-blue: #33587f;--color-blue-bg: #e7eff6;--color-amber: #8a5f16;--color-amber-bg: #f8f0dc;--color-gray-bg: #eae8de;--shadow-sm: 0 1px 2px rgba(28, 33, 29, .07);--shadow-md: 0 6px 20px rgba(28, 33, 29, .1);--shadow-lg: 0 20px 48px rgba(28, 33, 29, .16);--radius-xs: 4px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-pill: 999px;--font-ui: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--focus-ring: 0 0 0 2px var(--color-surface), 0 0 0 4px var(--color-primary);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-ui);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:0;line-height:1.2;letter-spacing:-.01em}h1{font-size:1.5rem;font-weight:700}h2{font-size:1.15rem;font-weight:650}h3{font-size:1rem;font-weight:600}p{margin:0}a{color:var(--color-primary)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-xs)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.muted{color:var(--color-text-muted)}.faint{color:var(--color-text-faint)}.small{font-size:.85rem}.num{font-variant-numeric:tabular-nums lining-nums}.stack-1>*+*{margin-top:var(--space-1)}.stack-2>*+*{margin-top:var(--space-2)}.stack-3>*+*{margin-top:var(--space-3)}.stack-4>*+*{margin-top:var(--space-4)}.stack-5>*+*{margin-top:var(--space-5)}.row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.row-between{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.grow{flex:1 1 auto;min-width:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:36px;padding:0 .9rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-weight:550;font-size:.9rem;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .12s,border-color .12s}.btn:hover{background:var(--color-surface-alt)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover)}.btn-gold{background:var(--color-gold);border-color:var(--color-gold);color:#fff}.btn-gold:hover{background:#a3772f}.btn-danger{color:var(--color-red);border-color:#ebc8c3}.btn-danger:hover{background:var(--color-red-bg)}.btn-ghost{background:transparent;border-color:transparent}.btn-ghost:hover{background:var(--color-surface-alt)}.btn-sm{min-height:30px;padding:0 .6rem;font-size:.82rem}.btn-icon{min-height:32px;width:32px;padding:0}.input,.select,.textarea{width:100%;min-height:38px;padding:.45rem .7rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.textarea{min-height:88px;resize:vertical}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-bg)}.input-bare{width:100%;border:none;border-bottom:1px solid transparent;background:transparent;padding:.3rem 0;border-radius:0}.input-bare:hover{border-bottom-color:var(--color-border)}.input-bare:focus{outline:none;border-bottom:2px solid var(--color-primary);box-shadow:none}.label{display:block;font-size:.8rem;font-weight:600;color:var(--color-text-muted);margin-bottom:.3rem}.check{display:inline-flex;align-items:center;gap:.45rem;cursor:pointer}.check input{width:17px;height:17px;accent-color:var(--color-primary);margin:0}.switch{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.88rem;-webkit-user-select:none;user-select:none}.switch input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:34px;height:20px;border-radius:999px;background:#d8cfba;position:relative;cursor:pointer;transition:background .15s;margin:0}.switch input:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:transform .15s}.switch input:checked{background:var(--color-primary)}.switch input:checked:after{transform:translate(14px)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.card-pad{padding:var(--space-5)}.pill{display:inline-flex;align-items:center;gap:.35rem;padding:.12rem .55rem;border-radius:var(--radius-pill);font-size:.75rem;font-weight:650;letter-spacing:.01em;white-space:nowrap}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.pill-draft{background:var(--color-gray-bg);color:var(--color-text-muted)}.pill-published{background:var(--color-green-bg);color:var(--color-green)}.pill-closed{background:var(--color-amber-bg);color:var(--color-amber)}.banner{display:flex;gap:var(--space-3);align-items:flex-start;padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:.9rem}.banner-info{background:var(--color-blue-bg);color:var(--color-blue)}.banner-warn{background:var(--color-amber-bg);color:var(--color-amber)}.banner-error{background:var(--color-red-bg);color:var(--color-red)}.banner-ok{background:var(--color-green-bg);color:var(--color-green)}.banner ul{margin:.3rem 0 0;padding-left:1.1rem}.empty{text-align:center;padding:var(--space-7) var(--space-5);color:var(--color-text-muted)}.spinner{width:22px;height:22px;border-radius:50%;border:3px solid var(--color-border);border-top-color:var(--color-primary);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.center-page{min-height:70vh;display:grid;place-items:center}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:var(--space-4);height:60px;padding:0 clamp(1rem,2vw,2rem);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.brand{display:inline-flex;align-items:center;gap:.55rem;text-decoration:none;color:var(--color-text);font-weight:700;letter-spacing:-.01em}.brand-mark{width:30px;height:30px;flex:none}.brand small{font-weight:600;color:var(--color-gold)}.avatar{width:30px;height:30px;border-radius:50%;background:var(--color-primary-bg);color:var(--color-primary);display:grid;place-items:center;font-weight:700;font-size:.8rem;overflow:hidden;flex:none}.avatar img{width:100%;height:100%;object-fit:cover}.page{max-width:1180px;margin:0 auto;padding:var(--space-6) clamp(1rem,2vw,2rem) var(--space-7)}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}.form-tile{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) var(--space-5);text-decoration:none;color:inherit;transition:box-shadow .15s,border-color .15s;cursor:pointer}.form-tile:hover{box-shadow:var(--shadow-md);border-color:#d9c79c}.form-tile-title{font-weight:650;font-size:1.02rem;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.form-tile-stats{display:flex;gap:var(--space-4);font-size:.85rem;color:var(--color-text-muted)}.form-tile-stats strong{color:var(--color-text);font-variant-numeric:tabular-nums}.segmented{display:inline-flex;padding:3px;background:var(--color-surface-alt);border-radius:var(--radius-sm)}.segmented button{border:none;background:transparent;padding:.3rem .8rem;border-radius:4px;cursor:pointer;font-weight:550;font-size:.87rem;color:var(--color-text-muted)}.segmented button[aria-pressed=true]{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}.editor-head{background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:20}.editor-head-row{display:flex;align-items:center;gap:var(--space-3);padding:.6rem clamp(1rem,2vw,2rem);min-height:58px}.editor-title{font-weight:650;font-size:1.05rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.save-state{font-size:.8rem;color:var(--color-text-faint);white-space:nowrap}.tabs{display:flex;justify-content:center;gap:var(--space-1);padding:0 1rem;overflow-x:auto}.tab{border:none;background:none;padding:.6rem 1rem .7rem;font-weight:600;font-size:.9rem;color:var(--color-text-muted);cursor:pointer;border-bottom:3px solid transparent;white-space:nowrap}.tab[aria-selected=true]{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tab .count{display:inline-block;margin-left:.35rem;padding:0 .45rem;border-radius:999px;background:var(--color-surface-alt);font-size:.75rem}.editor-body{max-width:780px;margin:0 auto;padding:var(--space-5) 1rem var(--space-7)}.editor-wide{max-width:1100px}.q-card{position:relative;padding:var(--space-4) var(--space-5);border-left:4px solid transparent;transition:box-shadow .15s,border-color .15s}.q-card.selected{border-left-color:var(--color-primary);box-shadow:var(--shadow-md)}.q-card.has-issue{border-left-color:var(--color-red)}.q-card.section-card{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.q-card.section-card .muted,.q-card.section-card .faint{color:#d7e0d8}.q-card.section-card.selected{border-left-color:var(--color-gold)}.q-card.section-card .input-bare:hover{border-bottom-color:#fff6}.q-card.section-card .input-bare:focus{border-bottom-color:var(--color-gold)}.q-card-head{display:flex;gap:var(--space-3);align-items:flex-start}.q-card-foot{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-border-soft);flex-wrap:wrap}.section-card .q-card-foot{border-top-color:#ffffff2e}.section-card .btn-ghost{color:#fff}.section-card .btn-ghost:hover{background:#ffffff1f}.q-title-input{font-size:1.02rem;font-weight:550}.q-summary-title{font-weight:550}.q-summary-title .req{color:var(--color-red);margin-left:2px}.logic-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.75rem;font-weight:600;color:var(--color-blue);background:var(--color-blue-bg);padding:.1rem .5rem;border-radius:999px}.section-card .logic-badge{color:var(--color-primary);background:#fff}.type-select{width:190px;flex:none}.option-row{display:flex;align-items:center;gap:var(--space-2)}.option-marker{width:16px;height:16px;flex:none;border:2px solid #c8bc9f}.option-marker.round{border-radius:50%}.option-marker.square{border-radius:3px}.logic-box{background:var(--color-blue-bg);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4)}.logic-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) auto;gap:var(--space-2);align-items:center}.add-bar{display:flex;gap:var(--space-2);flex-wrap:wrap;justify-content:center;padding:var(--space-3);border:1px dashed #d6c8a4;border-radius:var(--radius-md);background:#ffffff80}.type-menu{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-2)}.type-menu button{justify-content:flex-start}.public-shell{min-height:100vh;background:var(--color-bg)}.public-top{height:6px;background:linear-gradient(90deg,var(--color-primary) 0 70%,var(--color-gold) 70% 100%)}.public-wrap{max-width:680px;margin:0 auto;padding:var(--space-5) 1rem var(--space-7)}.public-header{padding:var(--space-5);border-top:8px solid var(--color-primary)}.public-q{padding:var(--space-5)}.public-q.has-error{border-color:var(--color-red)}.public-q-title{font-weight:550;font-size:1rem}.public-q-title .req{color:var(--color-red);margin-left:3px}.public-section{padding:var(--space-4) var(--space-5);background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.public-section .muted{color:#d7e0d8}.field-error{color:var(--color-red);font-size:.85rem;display:flex;gap:.35rem;align-items:center}.choice-list{display:grid;gap:.55rem}.choice-list .check{padding:.2rem 0}.scale{display:flex;align-items:flex-end;gap:var(--space-2);flex-wrap:wrap}.scale-opts{display:flex;gap:.35rem;flex-wrap:wrap}.scale-opt{display:grid;justify-items:center;gap:.2rem;font-size:.85rem;cursor:pointer;min-width:38px}.scale-opt input{width:20px;height:20px;accent-color:var(--color-primary);margin:0}.dropzone{border:1.5px dashed #cdbd95;border-radius:var(--radius-sm);padding:var(--space-4);text-align:center;background:#fffdf8}.file-chip{display:inline-flex;align-items:center;gap:.4rem;background:var(--color-surface-alt);border-radius:var(--radius-sm);padding:.25rem .3rem .25rem .6rem;font-size:.85rem;max-width:100%}.file-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.public-foot{text-align:center;font-size:.8rem;color:var(--color-text-faint);margin-top:var(--space-5)}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:.88rem}.table th{text-align:left;font-weight:600;font-size:.78rem;color:var(--color-text-muted);text-transform:none;padding:.6rem .8rem;border-bottom:1px solid var(--color-border);white-space:nowrap;background:#fdfbf6}.table td{padding:.6rem .8rem;border-bottom:1px solid var(--color-border-soft);max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table tbody tr{cursor:pointer}.table tbody tr:hover td{background:#fdfaf2}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--space-3)}.stat{padding:var(--space-4)}.stat-value{font-size:1.6rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.stat-label{font-size:.8rem;color:var(--color-text-muted);font-weight:550}.bar-list{display:grid;gap:.6rem}.bar-item{display:grid;gap:.25rem}.bar-label{display:flex;justify-content:space-between;gap:var(--space-3);font-size:.88rem}.bar-label span:last-child{color:var(--color-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.bar-track{height:10px;background:var(--color-surface-alt);border-radius:999px;overflow:hidden}.bar-fill{height:100%;background:var(--color-primary);border-radius:999px;min-width:2px}.bar-fill.gold{background:var(--color-gold)}.col-chart{display:flex;align-items:flex-end;gap:3px;height:140px;padding-top:8px}.col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:4px;min-width:0}.col-bar{width:100%;background:var(--color-primary);border-radius:3px 3px 0 0;min-height:2px}.col-bar.zero{background:var(--color-border)}.col-label{font-size:.72rem;color:var(--color-text-faint);white-space:nowrap}.col-value{font-size:.72rem;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.text-answers{max-height:260px;overflow-y:auto;display:grid;gap:.4rem}.text-answers div{background:var(--color-bg);border-radius:var(--radius-sm);padding:.45rem .7rem;font-size:.9rem;overflow-wrap:anywhere}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c211d59;z-index:50;display:flex;justify-content:flex-end}.drawer{width:min(520px,100%);height:100%;background:var(--color-surface);box-shadow:var(--shadow-lg);overflow-y:auto;padding:var(--space-5)}.kv{display:grid;gap:.15rem;padding:.7rem 0;border-bottom:1px solid var(--color-border-soft)}.kv dt{font-size:.8rem;color:var(--color-text-muted);font-weight:600}.kv dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--color-text);color:#fff;padding:.6rem 1rem;border-radius:var(--radius-sm);font-size:.9rem;z-index:100;box-shadow:var(--shadow-lg)}.login{min-height:100vh;display:grid;place-items:center;padding:1rem;background:radial-gradient(circle at 20% 10%,#f4e6c6 0,transparent 45%),var(--color-bg)}.login-card{width:min(420px,100%);padding:var(--space-6);text-align:center}@media (max-width: 640px){body{font-size:15px}.page{padding-top:var(--space-5)}.type-select{width:100%}.q-card-head{flex-direction:column;align-items:stretch}.logic-row{grid-template-columns:1fr 1fr}.logic-row>:first-child{grid-column:1 / -1}.editor-head-row{flex-wrap:wrap}.hide-sm{display:none!important}.tabs{justify-content:flex-start}.form-title-input{font-size:1.25rem!important}.public-q,.public-header{padding:var(--space-4)}}@media (prefers-reduced-motion: reduce){.spinner{animation:none}}.progress{display:flex;align-items:center;gap:var(--space-2)}.progress-track{width:120px;height:8px;background:var(--color-surface-alt);border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:var(--color-primary);border-radius:999px;transition:width .25s}.drag-handle{position:absolute;top:3px;left:50%;transform:translate(-50%);z-index:2;padding:2px 10px;color:var(--color-text-faint);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;border-radius:4px}.drag-handle:hover{background:#0000000d;color:var(--color-text-muted)}@media (hover: none){.drag-handle{display:none}}.drag-handle:active{cursor:grabbing}.q-wrap{position:relative}.q-wrap.dragging{opacity:.45}.q-wrap.drop-before:before,.q-wrap.drop-after:after{content:"";position:absolute;left:0;right:0;height:3px;border-radius:3px;background:var(--color-gold)}.q-wrap.drop-before:before{top:-8px}.q-wrap.drop-after:after{bottom:-8px}.header-title-input{font-weight:650;font-size:1.05rem;border:1px solid transparent;border-radius:var(--radius-xs);background:transparent;padding:2px 6px;margin-left:-6px;width:100%;max-width:520px;text-overflow:ellipsis}.header-title-input:hover{border-color:var(--color-border)}.header-title-input:focus{outline:none;border-color:var(--color-primary);background:var(--color-surface)}.swatch{width:30px;height:30px;border-radius:50%;border:3px solid transparent;cursor:pointer;padding:0}.swatch[aria-pressed=true]{border-color:var(--color-surface);box-shadow:0 0 0 2px var(--color-text)}.settings-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0;border-top:1px solid var(--color-border-soft)}.settings-row:first-of-type{border-top:none}.settings-row .grow p{margin-top:2px}.q-options{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin-top:var(--space-3)}.q-wrap:has(.section-card) .drag-handle{color:#ffffffbf}.other-input{max-width:320px;flex:1;border-bottom:1px solid var(--color-border)!important}
