:root{--bg-top:#f5efe5;--bg-bottom:#edf6f3;--panel:#fffcf7e6;--panel-strong:#fffdf9;--text:#21312e;--muted:#586967;--line:#516a6429;--accent:#c96f3b;--accent-deep:#8f4a2d;--accent-soft:#c96f3b24;--success:#2e7b5d;--danger:#b33b31;--shadow:0 30px 70px #3f504d24;color:var(--text);background:radial-gradient(circle at top left, #e6975f33, transparent 24rem), radial-gradient(circle at right center, #62a7922e, transparent 20rem), linear-gradient(180deg, var(--bg-top) 0%, var(--bg-bottom) 100%);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer;border:0}button:disabled{opacity:.55;cursor:not-allowed}#app{min-height:100vh}h1,h2,p{margin:0}.page-shell{width:min(1080px,100vw - 24px);margin:0 auto;padding:28px 0 56px}.hero-card,.survey-card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.hero-card{border-radius:30px;padding:30px}.hero-kicker,.section-badge,.question-code{letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;font-size:.78rem;font-weight:800;display:inline-flex}.hero-kicker,.section-badge{color:var(--accent-deep)}.hero-card h1,.survey-card h2{font-family:Noto Serif SC,Source Han Serif SC,Songti SC,serif}.hero-card h1{margin-top:10px;font-size:clamp(2rem,4.4vw,3.25rem);line-height:1.08}.hero-org{color:var(--accent-deep);margin-top:12px;font-size:1.05rem;font-weight:700}.hero-text,.section-text,.notice-box p{color:var(--muted);margin-top:14px;line-height:1.8}.hero-actions,.card-actions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.step-strip{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px;display:grid}.step-chip{border:1px solid var(--line);color:var(--muted);text-align:center;background:#ffffff80;border-radius:999px;padding:14px 18px;font-weight:700}.step-chip-active{color:#fff;background:linear-gradient(135deg, var(--accent) 0%, var(--accent-deep) 100%);box-shadow:0 14px 28px #8f4a2d3d}.step-chip-done,.step-chip-ready{background:#ffffffd6}.survey-card{border-radius:28px;margin-top:18px;padding:28px}.card-head{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.survey-card h2{margin-top:10px;font-size:clamp(1.45rem,3vw,2.1rem);line-height:1.2}.id-badge-wrap{background:linear-gradient(135deg,#c96f3b29 0%,#72ad972e 100%);border:1px solid #a46e4b2e;border-radius:22px;min-width:240px;padding:14px 18px}.id-badge-label{color:var(--muted);font-size:.9rem;display:block}.id-badge-value{color:var(--accent-deep);word-break:break-word;margin-top:8px;font-size:1.08rem;display:block}.section-group{margin-top:24px}.section-group-title{color:var(--accent-deep);font-weight:800}.question-stack{gap:16px;margin-top:14px;display:grid}.question-card{background:var(--panel-strong);border:1px solid #536f691f;border-radius:22px;gap:14px;padding:20px;display:grid}.question-code{color:var(--accent)}.question-label{font-size:1rem;font-weight:700;line-height:1.75}.field-group span,.inline-subfield span{color:var(--muted);font-weight:700}.question-card input[type=text],.question-card input[type=number],.field-group input,.inline-subfield input{background:#fff;border:1px solid #5f736f2e;border-radius:16px;outline:none;width:100%;padding:14px 16px}.question-card input:focus,.field-group input:focus,.inline-subfield input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.number-input-wrap{align-items:center;gap:12px;width:min(220px,100%);display:inline-flex}.option-grid{flex-wrap:wrap;gap:12px;display:flex}.option-pill{background:#fff9f2d9;border:1px solid #c57c5324;border-radius:18px;align-items:center;gap:10px;padding:14px 16px;transition:transform .16s,border-color .16s,box-shadow .16s;display:inline-flex;position:relative}.option-pill:hover{border-color:#c96f3b52;transform:translateY(-1px)}.option-pill input{accent-color:var(--accent);margin:0}.option-pill-active{background:linear-gradient(135deg,#c96f3b24 0%,#fffffff5 100%);border-color:#c96f3b52;box-shadow:0 12px 24px #c96f3b1f}.inline-subfield{gap:8px;display:grid}.notice-box{background:linear-gradient(135deg,#fff7f0f2 0%,#f3fcf8e6 100%);border:1px solid #c96f3b2e;border-radius:22px;margin-top:18px;padding:18px 20px}.notice-box span{color:var(--muted);font-size:.9rem;display:block}.notice-box strong{color:var(--accent-deep);margin-top:8px;font-size:1.1rem;display:block}.error-banner,.success-banner{border-radius:18px;margin-top:16px;padding:14px 16px;line-height:1.7}.error-banner{color:var(--danger);background:#fff0edeb;border:1px solid #b33b3129}.success-banner{color:var(--success);background:#ecf9f3f0;border:1px solid #2e7b5d29}.primary-btn,.secondary-btn,.text-link{border-radius:999px;font-weight:800}.primary-btn,.secondary-btn{padding:13px 22px}.primary-btn{color:#fff;background:linear-gradient(135deg, var(--accent) 0%, var(--accent-deep) 100%);box-shadow:0 14px 28px #8f4a2d3d}.secondary-btn{color:var(--text);border:1px solid var(--line);background:#ffffffc7}.text-link{color:var(--accent-deep);text-underline-offset:4px;background:0 0;padding:0;text-decoration:underline}.completion-card,.admin-hero,.admin-auth-card,.loading-card{max-width:860px;margin:0 auto}.completion-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:24px;display:grid}.completion-grid div{background:#ffffffbd;border-radius:20px;padding:18px}.completion-grid span{color:var(--muted);display:block}.completion-grid strong{margin-top:8px;font-size:1.05rem;display:block}.field-group{gap:10px;margin-top:20px;display:grid}.admin-table-card{overflow:hidden}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:900px}.data-table th,.data-table td{text-align:left;border-bottom:1px solid #57726c24;padding:14px 12px}.data-table th{color:var(--muted);font-size:.92rem}@media (width<=800px){.page-shell{width:min(100vw - 16px,1080px);padding:16px 0 40px}.hero-card,.survey-card{border-radius:24px;padding:22px}.card-head{flex-direction:column}.step-strip{grid-template-columns:1fr}.option-grid{flex-direction:column}}
