*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#ececf1;--card:#ffffff;--surface:#f4f4f8;--surface2:#eaeaef;--tx:#15151b;--tx2:#76767e;--tx3:#9c9ca4;--line:rgba(20,20,26,0.07);--line2:rgba(20,20,26,0.13);--accent:#2e6be6;--accent-fill:rgba(46,107,230,0.1);--green:#1e9e5a;--green-fill:rgba(30,158,90,0.12);--lime:#c9e649;--btn:#141418;--btn-tx:#ffffff;--ghost:rgba(20,20,26,0.05);--ghost-tx:#15151b;--shadow:0 1px 2px rgba(17,17,22,0.05),0 10px 26px rgba(17,17,22,0.08),0 28px 56px rgba(17,17,22,0.05);--shadow-sm:0 1px 2px rgba(17,17,22,0.05),0 6px 16px rgba(17,17,22,0.08);--cover:radial-gradient(120% 100% at 0% 0%,#d9d1f1 0%,rgba(217,209,241,0) 52%),radial-gradient(120% 110% at 100% 0%,#bbd0ee 0%,rgba(187,208,238,0) 55%),radial-gradient(150% 130% at 86% 92%,rgba(201,230,73,0.16) 0%,rgba(201,230,73,0) 46%),linear-gradient(158deg,#c7c2e8,#bacbe8 52%,#cddfdb);--card-border:transparent}@media (prefers-color-scheme:dark){:root{--bg:#08080a;--card:#161619;--surface:#1e1e23;--surface2:#26262c;--tx:#f3f3f6;--tx2:#9a9aa2;--tx3:#6c6c74;--line:rgba(255,255,255,0.08);--line2:rgba(255,255,255,0.14);--accent:#5c8df0;--accent-fill:rgba(92,141,240,0.16);--green:#34c77b;--green-fill:rgba(52,199,123,0.15);--btn:#f2f2f4;--btn-tx:#141418;--ghost:rgba(255,255,255,0.07);--ghost-tx:#f3f3f6;--shadow:0 2px 8px rgba(0,0,0,0.5),0 22px 52px rgba(0,0,0,0.55);--shadow-sm:0 2px 8px rgba(0,0,0,0.45);--cover:radial-gradient(120% 100% at 0% 0%,#6a6498 0%,rgba(106,100,152,0) 52%),radial-gradient(120% 110% at 100% 0%,#4e6796 0%,rgba(78,103,150,0) 55%),radial-gradient(150% 130% at 86% 92%,rgba(201,230,73,0.12) 0%,rgba(201,230,73,0) 46%),linear-gradient(158deg,#565073,#4c6088 52%,#5c7e78);--card-border:var(--line)}}body,html{background:var(--bg);color:var(--tx);font-family:-apple-system,SF Pro Text,SF Pro Display,system-ui,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font-family:inherit;cursor:pointer;border:0;background:none}.app{max-width:480px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;position:relative;background:var(--bg)}.prog{padding:calc(14px + env(safe-area-inset-top)) 20px 0}.prog .bar{height:6px;border-radius:999px;background:var(--surface2);overflow:hidden}.prog .bar i{display:block;height:100%;background:var(--tx);border-radius:999px;transition:width .45s cubic-bezier(.4,0,.2,1)}.prog .lab{margin-top:11px;font-size:13px;color:var(--tx2);font-weight:500}.screen-pad{flex:1 1;padding:8px 18px 132px}.screen-anim{animation:screenIn .34s cubic-bezier(.22,.61,.36,1) both}@keyframes screenIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.screen-anim{animation:none}}.card{background:var(--card);border-radius:30px;padding:22px 20px;box-shadow:var(--shadow);border:1px solid var(--card-border);margin-top:16px}.card+.card{margin-top:14px}.q-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.q-title{font-size:21px;font-weight:700;color:var(--tx);line-height:1.26;letter-spacing:-.01em}.q-sub{font-size:14px;margin-top:8px}.chip,.q-sub{color:var(--tx2)}.chip{font-size:12px;font-weight:600;background:var(--surface);padding:5px 11px;border-radius:999px;white-space:nowrap;flex:none;border:1px solid var(--card-border)}.chip.sm{padding:3px 9px;font-size:11px}.opts{flex-direction:column;gap:8px;margin-top:14px}.opt,.opts{display:flex}.opt{align-items:center;gap:12px;width:100%;text-align:left;background:var(--surface);border-radius:18px;padding:14px 16px;border:1px solid var(--card-border);transition:background .18s ease,border-color .18s ease}.opt.sel{background:var(--accent-fill)}.opt-label{font-size:16px;font-weight:500;color:var(--tx);flex:1 1}.radio{width:22px;height:22px;border-radius:50%;border:1.7px solid var(--line2);position:relative;flex:none}.opt.sel .radio{border-color:var(--accent);background:var(--accent)}.opt.sel .radio:after{content:"";position:absolute;inset:5px;border-radius:50%;background:#fff}.cbx{width:24px;height:24px;border-radius:8px;border:1.7px solid var(--line2);flex:none;display:flex;align-items:center;justify-content:center;color:transparent}.cbx.on{background:var(--accent);border-color:var(--accent);color:#fff}.likert-row{margin-bottom:20px}.likert-row:last-child{margin-bottom:2px}.likert-row .lab{font-size:15.5px;font-weight:600;color:var(--tx);margin-bottom:11px}.likert{display:flex;gap:8px}.seg{flex:1 1;height:48px;border-radius:14px;background:var(--surface);color:var(--tx2);font-weight:600;font-size:16px;display:flex;align-items:center;justify-content:center;border:1px solid var(--card-border);transition:background .16s ease,color .16s ease}.seg.sel{background:var(--accent);color:#fff;border-color:transparent}.likert-ends{display:flex;justify-content:space-between;margin-top:9px}.likert-ends span{font-size:12.5px;color:var(--tx3)}.divider{height:1px;background:var(--line);margin:16px 2px}.ftext-lab{font-weight:600;margin-bottom:11px;display:flex;align-items:center;gap:8px}.ftext-lab,.ta{font-size:15px;color:var(--tx)}.ta{width:100%;min-height:84px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:13px 14px;line-height:1.45;resize:none;outline:none}.ta::placeholder{color:var(--tx3)}.ta:focus{border-color:var(--accent)}.input{width:100%;height:50px;border-radius:14px;background:var(--surface);border:1px solid var(--line);padding:0 14px;color:var(--tx);font-size:15px;outline:none}.input::placeholder{color:var(--tx3)}.input:focus{border-color:var(--accent)}.input,.ta{font-family:inherit}.q-head{align-items:flex-start}.q-head .chip{margin-top:2px}.note{display:flex;gap:7px;align-items:flex-start;font-size:12.5px;color:var(--tx3);line-height:1.46;margin-top:11px}.note svg{flex:none;margin-top:1px}.other-wrap{margin-top:2px}.btn{height:54px;border-radius:999px;font-weight:600;font-size:16.5px;display:flex;align-items:center;justify-content:center;letter-spacing:.01em;text-decoration:none;transition:transform .12s ease,opacity .18s ease}.btn:active{transform:scale(.985)}.btn[disabled]{opacity:.4;pointer-events:none}.btn.primary{background:var(--btn);color:var(--btn-tx);box-shadow:var(--shadow-sm)}.btn.ghost{background:var(--ghost);color:var(--ghost-tx)}.btn.full{width:100%}.actionbar{position:fixed;left:0;right:0;bottom:0;z-index:10}.actionbar-inner{max-width:480px;margin:0 auto;padding:16px 18px calc(20px + env(safe-area-inset-bottom));display:flex;gap:12px;background:linear-gradient(to top,var(--bg) 66%,rgba(0,0,0,0))}.actionbar-inner .btn.ghost{flex:1 1}.actionbar-inner .btn.primary{flex:1.55 1}.actionbar-inner.single .btn{flex:1 1}.consent{display:flex;align-items:center;gap:12px;margin:18px 4px 0;font-size:14.5px;color:var(--tx2)}.cover{min-height:100dvh;background:var(--cover);display:flex;flex-direction:column}.cover-top{padding:calc(72px + env(safe-area-inset-top)) 28px 0}.cover-spacer{flex:1 1;min-height:40px}.wordmark{letter-spacing:.34em;font-weight:600;font-size:13px;color:rgba(255,255,255,.92)}.cover-hero{font-size:30px;line-height:1.16;font-weight:700;color:#fff;margin-top:16px;letter-spacing:-.015em}.sheet{background:var(--card);border-radius:34px 34px 0 0;padding:28px 22px calc(26px + env(safe-area-inset-bottom));box-shadow:0 -12px 44px rgba(0,0,0,.14)}.sheet-title{font-size:21px;font-weight:700;color:var(--tx);letter-spacing:-.01em}.lead{font-size:15px;line-height:1.5;color:var(--tx2);margin-top:9px}.reasons{display:flex;flex-direction:column;gap:15px;margin:22px 0 24px}.reason{display:flex;gap:13px;align-items:flex-start}.reason .ic{color:var(--tx);opacity:.92;flex:none}.reason .t{font-weight:600;font-size:15.5px;color:var(--tx)}.reason .s{font-size:13.5px;color:var(--tx2);margin-top:1px}.ty{min-height:100dvh;flex-direction:column;text-align:center;padding:calc(96px + env(safe-area-inset-top)) 24px 140px}.badge,.ty{display:flex;align-items:center}.badge{width:80px;height:80px;border-radius:50%;background:var(--green-fill);color:var(--green);justify-content:center}.ty h1{font-size:33px;font-weight:700;color:var(--tx);margin:22px 0 0;letter-spacing:-.02em}.ty p{font-size:15.5px;color:var(--tx2);margin-top:10px;line-height:1.5;max-width:300px}.ebox{width:100%;max-width:380px;background:var(--card);border-radius:24px;padding:18px 18px 16px;box-shadow:var(--shadow);border:1px solid var(--card-border);margin-top:32px;text-align:left}.ebox .h{font-size:13px;font-weight:600;color:var(--tx2)}.check-row{display:flex;align-items:center;gap:12px;margin:13px 0}.cr-label{font-size:15.5px;font-weight:500;color:var(--tx)}.ebox .ok{font-size:13.5px;color:var(--green);font-weight:500;margin-top:4px}html[data-theme=light]{--bg:#ececf1;--card:#ffffff;--surface:#f4f4f8;--surface2:#eaeaef;--tx:#15151b;--tx2:#76767e;--tx3:#9c9ca4;--line:rgba(20,20,26,0.07);--line2:rgba(20,20,26,0.13);--accent:#2e6be6;--accent-fill:rgba(46,107,230,0.1);--green:#1e9e5a;--green-fill:rgba(30,158,90,0.12);--btn:#141418;--btn-tx:#ffffff;--ghost:rgba(20,20,26,0.05);--ghost-tx:#15151b;--shadow:0 1px 2px rgba(17,17,22,0.05),0 10px 26px rgba(17,17,22,0.08),0 28px 56px rgba(17,17,22,0.05);--shadow-sm:0 1px 2px rgba(17,17,22,0.05),0 6px 16px rgba(17,17,22,0.08);--cover:radial-gradient(120% 100% at 0% 0%,#d9d1f1 0%,rgba(217,209,241,0) 52%),radial-gradient(120% 110% at 100% 0%,#bbd0ee 0%,rgba(187,208,238,0) 55%),radial-gradient(150% 130% at 86% 92%,rgba(201,230,73,0.16) 0%,rgba(201,230,73,0) 46%),linear-gradient(158deg,#c7c2e8,#bacbe8 52%,#cddfdb);--card-border:transparent}html[data-theme=dark]{--bg:#08080a;--card:#161619;--surface:#1e1e23;--surface2:#26262c;--tx:#f3f3f6;--tx2:#9a9aa2;--tx3:#6c6c74;--line:rgba(255,255,255,0.08);--line2:rgba(255,255,255,0.14);--accent:#5c8df0;--accent-fill:rgba(92,141,240,0.16);--green:#34c77b;--green-fill:rgba(52,199,123,0.15);--btn:#f2f2f4;--btn-tx:#141418;--ghost:rgba(255,255,255,0.07);--ghost-tx:#f3f3f6;--shadow:0 2px 8px rgba(0,0,0,0.5),0 22px 52px rgba(0,0,0,0.55);--shadow-sm:0 2px 8px rgba(0,0,0,0.45);--cover:radial-gradient(120% 100% at 0% 0%,#6a6498 0%,rgba(106,100,152,0) 52%),radial-gradient(120% 110% at 100% 0%,#4e6796 0%,rgba(78,103,150,0) 55%),radial-gradient(150% 130% at 86% 92%,rgba(201,230,73,0.12) 0%,rgba(201,230,73,0) 46%),linear-gradient(158deg,#565073,#4c6088 52%,#5c7e78);--card-border:var(--line)}.boot{position:fixed;inset:0;z-index:100;background:var(--bg);display:flex;align-items:center;justify-content:center;animation:bootIn .35s ease both}.boot-leave{animation:bootOut .42s ease forwards}.boot-eye{position:relative;width:108px;height:106px;color:var(--tx);transform-origin:center;animation:bootEyeIn .55s cubic-bezier(.22,1,.36,1) both}.boot-eye svg,.boot-lid{width:100%;height:100%;display:block}.boot-slit{transform-box:fill-box;transform-origin:center;animation:bootBlink var(--boot-blink-dur,.6s) ease-in-out .8s 1 both}@keyframes bootIn{0%{opacity:0}to{opacity:1}}@keyframes bootOut{to{opacity:0;visibility:hidden}}@keyframes bootEyeIn{0%{opacity:0;transform:scale(.84)}55%{opacity:1;transform:scale(1.03)}to{opacity:1;transform:scale(1)}}@keyframes bootBlink{0%{transform:scaleY(1)}27%,60%{transform:scaleY(.05)}to{transform:scaleY(1)}}@keyframes bootLidBlink{0%{transform:scaleY(1)}27%,60%{transform:scaleY(.06)}to{transform:scaleY(1)}}@media (prefers-reduced-motion:reduce){.boot,.boot-eye,.boot-lid,.boot-slit{animation:none}.boot-eye{opacity:1}}.cpk-trigger{justify-content:space-between}.cpk-trigger>svg{color:var(--tx3);flex:none}.cpk-flag{margin-right:6px}.cpk-overlay{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.42);display:flex;align-items:flex-end;justify-content:center;animation:bootIn .18s ease both}.cpk-panel{width:100%;max-width:480px;max-height:82dvh;background:var(--card);border:1px solid var(--card-border);border-radius:26px 26px 0 0;box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden}@media (min-width:560px){.cpk-overlay{align-items:center}.cpk-panel{border-radius:26px;max-height:72dvh}}.cpk-searchrow{display:flex;gap:8px;align-items:center;padding:14px 14px 12px;border-bottom:1px solid var(--line)}.cpk-search{flex:1 1}.cpk-close{width:44px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--tx2);background:var(--surface);flex:none}.cpk-list{overflow-y:auto;padding:8px;-webkit-overflow-scrolling:touch}.cpk-row{display:flex;align-items:center;gap:11px;width:100%;text-align:left;padding:13px 12px;border-radius:13px;font-size:15.5px;color:var(--tx)}.cpk-row.on{background:var(--accent-fill)}.cpk-clear{color:var(--tx2);font-size:14px}.share-box{margin-top:14px}.share-btn{margin-top:12px;font-weight:600}