@font-face{font-family:"Noto Serif SC Site";src:url('/static/fonts/noto-serif-sc-site.woff2?v=ui-20261012-temple-v1') format('woff2');font-style:normal;font-weight:200 900;font-display:swap}
:root{font-family:"Noto Serif SC Site","Songti SC","STSong","SimSun",serif;font-size:15px;color:#252a28;background:#fff;font-synthesis:none;--green:#345c4d;--line:#e5e7e5;--muted:#747c77}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}[hidden]{display:none!important}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #7a9b8b;outline-offset:4px}a{color:var(--green)}
.mast{height:60px;margin:0 auto;padding:0 36px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px;font-size:13px;background:#fff}
.mark{font-weight:650;letter-spacing:1px}.mast>span:nth-child(2){color:var(--muted);padding-left:16px;border-left:1px solid var(--line)}#demo{margin-left:auto;font-size:11px;color:var(--muted);letter-spacing:.2px}
.mast .mark{text-decoration:none;color:var(--green)}#exit-study{margin-left:auto}#demo:not([hidden])+#exit-study{margin-left:0}
main{max-width:1440px;margin:0 auto;padding:30px 36px 42px;min-height:calc(100dvh - 108px)}
.sheet{max-width:720px;margin:12px auto;padding:26px 12px;background:#fff}.compact{max-width:600px;margin-top:8vh}
.eyebrow{font-size:12px;letter-spacing:1px;color:var(--muted);margin:0 0 10px}h1{font-size:28px;font-weight:600;line-height:1.45;letter-spacing:-.5px;margin:0 0 18px}.lead{color:#56615b;font-size:15px;line-height:1.9;margin:0 0 24px}.muted{color:var(--muted);font-size:12px;line-height:1.7}
.instructions{padding-left:20px;font-size:14px;line-height:1.9;color:#59635d;margin:24px 0}.instructions li{padding-left:4px;margin-bottom:8px}
.primary,.secondary{border-radius:6px;padding:12px 22px;min-height:44px;font-size:14px;font-weight:550;border:1px solid transparent}.primary{color:white;background:var(--green)}.primary:hover:enabled{background:#294a3d}.secondary{color:#424d46;background:#fff;border-color:#dce1dd}.secondary:hover:enabled{background:#f5f7f5}.small{font-size:12px;min-height:32px;padding:6px 11px}
.button-link{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.plain-button{border:0;background:transparent;color:var(--green);min-height:42px;padding:8px 10px;font-size:13px}.plain-button:hover{text-decoration:underline}
.sound-check{display:flex;align-items:center;gap:16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin:26px 0 20px;color:var(--muted);font-size:12px}
.check{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.7;margin:14px 0}.check input{width:17px;height:17px;flex-shrink:0;margin:3px 0 0;accent-color:var(--green)}#to-info{margin-top:12px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px 28px;margin:30px 0}.field label{display:block;font-size:13px;font-weight:550;margin-bottom:10px}.field select{width:100%;min-height:46px;border:1px solid #dce1dd;border-radius:6px;background:#fff;padding:10px 12px;color:#343e37}.hint{font-size:11px;line-height:1.7;color:var(--muted);margin:7px 0 0}
.trial-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.trial-heading>div{display:flex;align-items:baseline;gap:14px}.trial-heading .eyebrow{margin:0;font-size:11px;letter-spacing:.5px}.trial-heading h1{font-size:19px;letter-spacing:0;margin:0;font-weight:550}#basic-total{font-size:13px;font-weight:400;color:var(--muted)}#save-state{font-size:11px}
progress{appearance:none;display:block;width:100%;height:2px;border:0;background:#eef0ed;margin:16px 0 26px}progress::-webkit-progress-bar{background:#eef0ed}progress::-webkit-progress-value{background:var(--green)}progress::-moz-progress-bar{background:var(--green)}
.trial-body{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:40px;align-items:start}.media-column,.rating-column{min-width:0}.stage{position:relative;height:clamp(340px,calc(100dvh - 220px),680px);width:100%;background:#f4f5f3;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:4px}.stage img{display:block;height:100%;width:100%;object-fit:contain;image-orientation:from-image}
.cover{position:absolute;inset:0;background:#f4f5f3;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:24px;text-align:center}.cover p{color:var(--muted);font-size:13px;margin:0 0 22px}.play-status{min-height:43px;padding:12px 0 0;display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--muted)}
.rating-column{padding:12px 0 0}.questions{padding:0;background:transparent}.questions fieldset{border:0;padding:0;margin:0 0 34px;min-width:0}.questions fieldset+fieldset{border-top:1px solid var(--line);padding-top:27px}.questions legend{font-size:15px;line-height:1.8;font-weight:550;margin:0 0 19px;padding:0;float:left;width:100%}.questions legend+.scale{clear:both}
.scale{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.scale label{position:relative;cursor:pointer;text-align:center}.scale input{position:absolute;opacity:0;width:1px;height:1px}.choice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:85px;padding:10px 3px;border:1px solid #dfe3df;border-radius:6px;background:#fff;color:#59615d}.choice b{font-size:19px;line-height:1;font-weight:500}.choice span{font-size:11px;line-height:1.45;word-break:normal}.scale label:hover .choice{border-color:#7b9687}.scale input:checked+.choice{border-color:var(--green);background:#edf3ef;color:#294d3c;box-shadow:inset 0 0 0 1px var(--green)}.scale input:focus-visible+.choice{outline:3px solid #7a9b8b;outline-offset:3px}.scale input:disabled+.choice{opacity:.4}
.submit-row{display:flex;flex-direction:column;align-items:stretch;gap:12px}.submit-row>.muted{text-align:center;font-size:11px}.submit-row>.primary{width:100%;min-height:46px}.question-placeholder{padding:48px 16px;text-align:center;line-height:1.9;color:var(--muted);font-size:13px}.question-placeholder .eyebrow{color:#434d47;font-size:15px;letter-spacing:0}.question-placeholder p{margin:0 0 12px}
#notice{padding:12px 16px;border-left:3px solid #b98556;background:#faf4ed;font-size:13px;line-height:1.7;color:#825635;margin:0 0 22px}footer{display:flex;justify-content:center;gap:20px;min-height:48px;padding:15px 24px;font-size:11px;color:#929992}
#exit-dialog{width:min(94vw,510px);max-height:90dvh;border:1px solid #dce4de;border-radius:8px;padding:0;color:#252a28;box-shadow:0 18px 60px rgba(8,30,17,.18)}#exit-dialog::backdrop{background:rgba(15,27,20,.48)}.dialog-body{padding:30px 30px 24px}.dialog-body h2{font-size:23px;font-weight:600;margin:0 0 16px}.dialog-body>p:not(.eyebrow):not(.muted){font-size:14px;line-height:1.8;color:#4d5a51}.dialog-actions{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 16px}.dialog-actions .primary{width:100%}.dialog-body .muted{margin:14px 0 0}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.stat{padding:18px;border:1px solid var(--line);border-radius:6px}.stat b{display:block;font-size:26px;margin-bottom:7px}table{width:100%;border-collapse:collapse;font-size:13px}td,th{text-align:left;border-bottom:1px solid var(--line);padding:12px 8px}input[type=password]{width:100%;padding:12px;border:1px solid #dce1dd;border-radius:6px;margin:12px 0 20px}.admin-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:20px 0}.admin-actions a{text-decoration:none;display:inline-block}
@media(max-width:1100px){.mast{padding:0 26px}main{padding:25px 26px 32px}.trial-body{grid-template-columns:minmax(0,1fr) 330px;gap:28px}.scale{gap:6px}.choice{padding-left:2px;padding-right:2px}}
@media(max-width:850px){.trial-body{grid-template-columns:1fr;gap:14px}.stage{height:clamp(260px,48dvh,520px)}.rating-column{padding-top:10px}.questions{max-width:620px;margin:0 auto}.question-placeholder{padding:20px 12px}.questions fieldset{margin-bottom:24px}.questions fieldset+fieldset{padding-top:20px}.choice{min-height:72px}.trial-heading>div{display:block}.trial-heading .eyebrow{margin-bottom:5px}progress{margin-bottom:18px}}
@media(max-width:540px){.mast{height:auto;min-height:56px;padding:12px 18px;gap:9px;flex-wrap:wrap}.mast>span:nth-child(2){font-size:11px;padding-left:9px}#demo{font-size:10px;width:100%;margin:0}#exit-study{margin-left:auto}main{padding:22px 18px 26px}.sheet{padding:10px 2px;margin:0 auto}h1{font-size:24px}.form-grid{grid-template-columns:1fr;gap:20px}.sound-check{align-items:flex-start;flex-direction:column;gap:12px}.trial-heading h1{font-size:18px}#basic-total{font-size:11px}#save-state{font-size:10px}.stage{height:39dvh;min-height:240px}.scale{gap:6px}.choice{min-height:76px}.choice span{font-size:11px}.questions legend{font-size:14px}.compact{margin-top:6vh}.stats{grid-template-columns:1fr 1fr}.table-scroll{overflow:auto}footer{font-size:10px;padding:12px}.dialog-body{padding:23px 20px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.admin-back{margin-left:auto;text-decoration:none;font-size:12px}.admin-back:hover{text-decoration:underline;text-underline-offset:4px}.danger-outline,.danger{border-radius:6px;min-height:44px;padding:12px 22px;font-size:14px;font-weight:550}.danger-outline{margin-left:auto;border:1px solid #b85b4a;color:#9b4031;background:#fff}.danger-outline:hover{background:#fff4f1}.danger{border:1px solid #a83d2d;background:#a83d2d;color:#fff}.danger:hover{background:#8d3022}#delete-dialog{width:min(92vw,480px);border:1px solid #e4d6d2;border-radius:8px;padding:0;color:#252a28;box-shadow:0 18px 60px rgba(20,25,20,.22)}#delete-dialog::backdrop{background:rgba(15,27,20,.5)}.delete-dialog-body{padding:30px}.delete-dialog-body h2{font-size:23px;font-weight:600;margin:0 0 15px}.delete-dialog-body>p:not(.eyebrow){font-size:14px;line-height:1.85;color:#4d5a51}.delete-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:28px}@media(max-width:540px){.admin-back{font-size:11px}.danger-outline{margin-left:0}.delete-dialog-body{padding:24px 20px}.delete-dialog-actions>*{flex:1}}
