:root{--blue:#294bba;--blue-dark:#173789;--ink:#202d47;--muted:#637087;--line:#dbe2ef;--pale:#eef3ff;--red:#b63744;--background:#f5f7fc;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;color:var(--ink);font-size:16px;line-height:1.65;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--background)}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}a{color:var(--blue);text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #94aaff;outline-offset:3px}[hidden]{display:none!important}.survey-shell{max-width:744px;margin:auto;padding:0 24px}.intro{padding:38px 4px 25px}.brand{font-size:17px;font-weight:750;color:var(--blue);letter-spacing:.025em}.brand span{font-size:11px;vertical-align:middle;padding:2px 6px;border:1px solid #aebcf0;border-radius:4px;margin-left:4px;letter-spacing:.06em}.intro h1{font-size:32px;line-height:1.3;letter-spacing:.025em;margin:22px 0 12px}.intro>p{margin:10px 0;color:var(--muted)}.intro-meta{display:flex;gap:16px;flex-wrap:wrap;color:var(--muted);font-size:14px;margin-top:20px}.intro-meta span+span:before{content:"·";margin-right:16px;color:#95a5c2}.preview-note{background:#e8edff;border:1px solid #b7c7fa;border-radius:6px;padding:8px 12px;color:var(--blue)!important;font-size:14px}.progress-sticky{position:sticky;top:0;z-index:10;padding:14px 4px 12px;background:#f5f7fcf5;border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.progress-caption{display:flex;justify-content:space-between;font-size:14px;color:var(--muted);margin-bottom:8px;font-variant-numeric:tabular-nums}progress{appearance:none;display:block;width:100%;height:5px;border:0;border-radius:8px;background:#dce4f6;overflow:hidden}progress::-webkit-progress-bar{background:#dce4f6;border-radius:8px}progress::-webkit-progress-value{background:var(--blue);border-radius:8px;transition:width .2s}progress::-moz-progress-bar{background:var(--blue);border-radius:8px}.form-caption{font-size:16px;font-weight:600;line-height:1.85;color:var(--blue-dark);background:#e8efff;border:1px solid #b9c9f3;border-left:4px solid var(--blue);border-radius:10px;padding:14px 16px;margin:20px 0 22px}.form-caption p{margin:0}.form-caption p+p{margin-top:8px}.required{display:inline-block;color:#c2233c;font-size:1.4em;font-weight:800;line-height:1;margin:0 7px 0 0;vertical-align:-.12em}.question-wrap{display:grid;grid-template-rows:1fr;opacity:1;transition:grid-template-rows .25s ease,opacity .25s ease;margin-bottom:16px}.question-wrap.is-collapsed{grid-template-rows:0fr;opacity:0;margin-bottom:0;pointer-events:none}.question-inner{min-height:0;overflow:hidden}.question{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;scroll-margin-top:110px}.question-wrap.invalid .question{border-color:#c95361}.question-kicker{font-size:13px;color:#6b7ea5;margin-bottom:10px;font-variant-numeric:tabular-nums}.question h2,.question legend{font-size:18px;line-height:1.65;font-weight:600;margin:0 0 12px;padding:0;width:100%}.question fieldset{border:0;margin:0;padding:0;min-width:0}.question .hint{font-size:14px;color:var(--muted);margin:0 0 14px}.question .extra{font-size:15px;color:#4c5c75;margin:4px 0}.question .warning{margin:14px 0;background:#fff4dd;border-left:3px solid #c69537;border-radius:4px;padding:12px 14px;font-size:14px;line-height:1.75;color:#70521e}.text-input,textarea,.login-card input,.search-row input{width:100%;border:1px solid #cbd5e6;border-radius:9px;background:#fcfdff;color:var(--ink);padding:13px 14px;min-height:50px;transition:border-color .15s,box-shadow .15s}textarea{display:block;resize:vertical;min-height:108px;line-height:1.8;overflow:hidden}.text-input:focus,textarea:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px #294bba12}.options{display:grid;gap:10px}.option{position:relative;display:flex;align-items:center;gap:12px;cursor:pointer;border:1px solid #d4deef;border-radius:9px;min-height:54px;padding:12px 14px;line-height:1.55;background:#fff;transition:background-color .15s,border-color .15s}.option input{position:absolute;opacity:0;width:1px;height:1px}.option .indicator{flex:none;display:grid;place-items:center;border:1.5px solid #a6b3cc;width:20px;height:20px;border-radius:50%}.option .indicator:after{content:"";width:10px;height:10px;border-radius:50%;background:transparent}.option:has(input:checked){border-color:var(--blue);background:var(--pale)}.option:has(input:checked) .indicator{border-color:var(--blue)}.option:has(input:checked) .indicator:after{background:var(--blue)}.option:has(input:focus-visible){outline:3px solid #a8baff;outline-offset:2px}.option-letter{font-size:14px;color:#63769b;margin-right:3px}.error,.global-error{color:var(--red);font-size:14px;line-height:1.6}.error:empty,.global-error:empty{display:none}.upload-picker{position:relative;display:flex;justify-content:center;align-items:center;gap:8px;min-height:70px;border:1px dashed #9eaed0;background:#f7f9ff;border-radius:10px;color:var(--blue);cursor:pointer}.upload-picker input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.upload-hint{font-size:13px;color:var(--muted)}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.photo{min-width:0;border:1px solid var(--line);border-radius:9px;padding:6px;background:#f7f9fe}.photo img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:5px}.photo-caption{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.photo button{font-size:13px;border:0;background:transparent;color:var(--blue);padding:6px 4px}.photo.error-photo{border-color:#cc8490}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 20px;border-radius:9px;min-height:48px;font-size:16px;text-decoration:none;font-weight:600}.primary{border:1px solid var(--blue);background:var(--blue);color:#fff}.primary:hover{background:var(--blue-dark)}.secondary{border:1px solid #c5cfe2;background:#fff;color:var(--blue)}.submit-panel{padding:12px 4px 0}.submit{width:100%;font-size:18px;min-height:56px;justify-content:space-between;padding:14px 24px}.submit[aria-busy=true]:after{content:"";width:17px;height:17px;border:2px solid #ffffff66;border-top-color:white;border-radius:50%;animation:spin .7s linear infinite}.draft-state{text-align:center;font-size:13px;color:var(--muted);margin:12px 0}.privacy{font-size:14px;color:var(--muted);padding:12px 4px}.privacy summary{cursor:pointer;color:#4b5d83}.privacy p{margin:10px 0}.notice{padding:18px 20px;border-radius:9px;background:#eaf0ff;color:var(--blue-dark);margin:16px 0}.survey-shell footer{padding:24px 0 40px;text-align:center;font-size:13px;color:#75819a}.survey-shell footer a{display:block;margin-top:12px;color:#75819a}dialog{border:1px solid var(--line);border-radius:18px;padding:28px;max-width:440px;width:calc(100% - 36px);color:var(--ink);box-shadow:0 20px 80px #17306e25}dialog::backdrop{background:#14284966}dialog h2{font-size:21px;line-height:1.5;margin:0 0 12px}dialog p{font-size:15px;color:var(--muted)}.dialog-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.dialog-actions button{font-size:15px;padding:11px 16px}.message-page{max-width:600px;margin:12vh auto;padding:32px;text-align:center}.message-page h1{font-size:27px;line-height:1.6}.message-page p{color:var(--muted)}.success-icon{width:76px;height:76px;border-radius:50%;background:#e2eaff;color:var(--blue);font-size:42px;line-height:76px;margin:0 auto 24px}.login-card{max-width:420px;margin:12vh auto;background:white;border:1px solid var(--line);border-radius:16px;padding:30px}.login-card h1{font-size:28px}.login-card label{display:block;margin:24px 0 8px}.login-card button{width:100%;margin-top:20px}.admin-shell{max-width:1120px;padding:36px 24px;margin:auto}.admin-header{display:flex;justify-content:space-between;gap:20px;align-items:center}.admin-header h1{font-size:30px;margin:12px 0}.admin-stats{display:flex;gap:20px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;margin:24px 0}.admin-stats strong{font-size:38px;color:var(--blue)}.badge{background:#edf2ff;padding:6px 12px;border-radius:6px;font-size:14px;color:var(--blue)}.admin-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:24px 0}.admin-toolbar label{font-size:14px;display:block;margin-bottom:8px}.search-row{display:flex;gap:10px}.search-row input{min-width:200px}.search-row button{flex:none}.muted{color:var(--muted);font-size:14px}.table-scroll{overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fff}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:16px;border-bottom:1px solid var(--line);white-space:nowrap}th{background:#edf2fc;color:#4b5d83;font-size:14px}.empty{padding:40px;text-align:center;color:var(--muted);white-space:normal}.answer-shell{max-width:850px}.answer{background:white;border:1px solid var(--line);padding:22px;border-radius:12px;margin:16px 0}.answer h2{font-size:17px}.answer-text{white-space:pre-wrap;overflow-wrap:anywhere}.answer .question-kicker span{margin-left:20px}.answer-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.answer-photos img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:600px){.survey-shell{padding:0 16px}.intro{padding:26px 4px 22px}.intro h1{font-size:28px;margin-top:20px}.question{padding:20px 18px}.question h2,.question legend{font-size:17px}.intro-meta{gap:12px;font-size:13px}.intro-meta span+span:before{margin-right:12px}.login-card{margin:9vh 18px}.admin-shell{padding:24px 16px}.admin-toolbar{align-items:stretch;flex-direction:column}.admin-header{align-items:flex-start}.admin-header button{padding:10px;font-size:14px}.admin-stats{padding:18px;gap:12px}.search-row input{min-width:0}.answer-shell h1{font-size:26px}.privacy{line-height:1.85}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.tag-panel{margin:0 0 18px}.tag-help{font-size:14px;color:var(--muted);margin:0 0 14px}.tag-group+.tag-group{margin-top:15px}.tag-label{font-size:14px;color:var(--muted);margin-bottom:8px}.tag-options{display:flex;flex-wrap:wrap;gap:8px}.tag-chip{min-height:44px;max-width:100%;padding:8px 14px;border:1px solid #ccd4e1;border-radius:999px;background:#f8f9fc;color:#445069;font-size:15px;line-height:1.6;text-align:left;overflow-wrap:anywhere}.tag-chip[aria-pressed=true]{border-color:var(--blue);background:var(--blue);color:#fff}.tag-chip:focus-visible{outline:3px solid #94aaff;outline-offset:2px}.file-name{font-size:13px;line-height:1.6;overflow-wrap:anywhere;margin:6px 0}.file-icon{display:grid;place-items:center;aspect-ratio:1;background:#eaf0ff;color:var(--blue);border-radius:6px;font-size:15px}.attachment-link{min-width:0}.answer-tags{border-top:1px solid var(--line);margin-top:18px;padding-top:8px}.answer-tags p{font-size:14px;margin:8px 0}

.tag-label{display:inline-flex;align-items:center;gap:10px;max-width:100%;min-height:44px;margin:0;padding:9px 15px;border:1px solid #c5d0e7;border-radius:999px;background:#f0f4fd;color:#324e82;font-size:15px;font-weight:600;line-height:1.6;text-align:left}.tag-label::after{content:"＋";font-size:18px;line-height:1;flex:none}.tag-label[aria-expanded=true]{border-color:#8fa6e5;background:#e8efff}.tag-label[aria-expanded=true]::after{content:"−"}.tag-label .tag-count{font-size:12px;font-weight:500;white-space:nowrap;color:var(--blue)}.tag-group+.tag-group{margin-top:10px}.tag-group>.tag-options{margin-top:10px;padding:0 0 4px 8px}
