:root{--ink:#17211c;--muted:#66756d;--paper:#f8f4ec;--panel:#fffdf8;--line:#ded3c0;--line-strong:#a18f76;--line-soft:#a18f7647;--forest:#123d35;--forest-2:#1e6659;--cinnabar:#b6462f;--gold:#c69b45;--blue:#244f73;--shadow:0 28px 80px #1f180c24;--radius:8px;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Source Han Sans SC,Noto Sans CJK SC,Microsoft YaHei UI,Microsoft YaHei,PingFang SC,sans-serif}*{box-sizing:border-box}html,body,#app{min-height:100%;overflow-x:hidden}body{background:linear-gradient(90deg, #123d350d 1px, transparent 1px) 0 0 / 44px 44px, linear-gradient(#123d350b 1px, transparent 1px) 0 0 / 44px 44px, radial-gradient(circle at 18% 12%, #c69b4533, transparent 28%), radial-gradient(circle at 88% 82%, #244f7324, transparent 30%), var(--paper);min-height:100vh;margin:0}button,input,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}.shell{grid-template-columns:.92fr 1.08fr;align-items:stretch;gap:24px;width:min(1100px,100%);min-height:100dvh;margin:0 auto;padding:28px;display:grid}.brand-panel,.form-panel{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.brand-panel{color:#f9f0dd;background:linear-gradient(135deg, #123d35fa, #123d35d4), linear-gradient(45deg, transparent 49%, #f8e7bd1f 50%, transparent 51%) 0 0 / 34px 34px, radial-gradient(circle at 18% 22%, #c69b453d, transparent 30%), radial-gradient(circle at 86% 78%, #b6462f2e, transparent 32%), var(--forest);flex-direction:column;justify-content:center;min-height:calc(100dvh - 56px);padding:clamp(28px,5vw,56px);display:flex;position:sticky;top:28px;overflow:hidden}.brand-panel:before{content:"";pointer-events:none;border:1px solid #f9f0dd47;border-radius:4px;position:absolute;inset:18px}.privacy-line{color:#f8e7bda8;text-align:center;letter-spacing:0;width:max-content;max-width:calc(100% - clamp(56px,10vw,112px));font-size:15px;position:absolute;top:clamp(28px,4vw,48px);left:50%;transform:translate(-50%)}.brand-panel h1{color:#fffaf0;text-align:center;letter-spacing:0;justify-items:center;gap:.08em;max-width:700px;margin:0 auto;font-family:Source Han Serif SC,Noto Serif CJK SC,Noto Serif SC,Songti SC,STSong,serif;font-size:clamp(46px,4.8vw,76px);font-weight:700;line-height:1.12;display:grid}.brand-panel h1 span{display:block}.maker{text-align:right;color:#fffaf0b3;letter-spacing:0;width:max-content;max-width:calc(100% - clamp(56px,10vw,112px));font-size:14px;position:absolute;bottom:clamp(28px,4vw,48px);right:clamp(28px,5vw,56px)}.form-panel{background:#fffdf8f0;grid-template-rows:auto 1fr auto;gap:20px;min-height:calc(100dvh - 56px);padding:clamp(20px,3.4vw,42px);display:grid}.progress-wrap{border-bottom:1px solid var(--line);padding-bottom:18px}.progress-meta{color:var(--muted);justify-content:space-between;gap:16px;font-size:13px;line-height:1.45;display:flex}#page-label{max-width:76%;color:var(--forest);font-weight:700}.track{background:#eadfce;border-radius:999px;height:11px;margin-top:12px;overflow:hidden}#progress-bar{background:linear-gradient(90deg, var(--forest-2), var(--gold), var(--cinnabar));border-radius:inherit;width:0;height:100%;transition:width .26s}#question-host{align-items:center;min-height:360px;display:flex}#question-host>div,#question-host article{width:100%}.question-card h2{color:var(--ink);letter-spacing:0;margin:0 0 16px;font-family:Source Han Serif SC,Noto Serif CJK SC,Noto Serif SC,Songti SC,STSong,serif;font-size:clamp(28px,4.5vw,44px);font-weight:760;line-height:1.16}.question-card p{color:var(--muted);margin:0 0 28px;font-size:16px;line-height:1.75}.type-tag{vertical-align:middle;color:var(--forest-2);white-space:nowrap;background:#edf7ee;border:1px solid #1e66593d;border-radius:999px;margin-left:8px;padding:3px 8px;font-family:Source Han Sans SC,Microsoft YaHei UI,Microsoft YaHei,sans-serif;font-size:12px;font-weight:700;line-height:1.1;display:inline-flex;transform:translateY(-.12em)}.question-hint{width:max-content;max-width:100%;color:var(--forest-2);background:#edf7ee;border:1px solid #1e665938;border-radius:999px;margin:0 0 16px;padding:6px 10px;font-size:13px;font-weight:700;line-height:1.35}.catalog-card h2{margin-bottom:8px;font-size:clamp(26px,4vw,38px)}.catalog-card>p{margin-bottom:12px;font-size:14px;line-height:1.55}.catalog-grid{gap:4px;margin:0;padding:0;list-style:none;display:grid}.catalog-row{background:0 0;border-bottom:1px solid #ded3c0c2;grid-template-columns:34px minmax(120px,.92fr) 1fr;align-items:center;gap:10px;min-height:34px;padding:7px 0;display:grid}.catalog-row em{color:var(--gold);font-variant-numeric:tabular-nums;font-family:Source Han Serif SC,Noto Serif CJK SC,Noto Serif SC,Songti SC,STSong,serif;font-size:18px;font-style:normal;font-weight:800;line-height:1}.catalog-row strong{color:var(--forest);font-size:13px;font-weight:800;line-height:1.25}.catalog-row span{color:var(--muted);font-size:12px;line-height:1.25}.start-badge{background:var(--forest);color:#fffaf0;border-radius:999px;width:max-content;max-width:100%;margin:12px 0 0 auto;padding:9px 16px;font-size:14px;font-weight:800;line-height:1.2;box-shadow:0 12px 24px #123d352e}.section-banner{border:1px solid #c69b4580;border-left:4px solid var(--gold);background:#fff7e9;border-radius:6px;margin:0 0 18px;padding:15px 16px}.section-banner span{color:var(--line-strong);margin-bottom:6px;font-size:12px;font-weight:700;display:block}.section-banner strong{color:var(--forest);font-size:18px;line-height:1.35;display:block}.section-banner p{color:var(--muted);margin:8px 0 0;font-size:14px;line-height:1.65}.section-chip{width:max-content;max-width:100%;color:var(--forest);background:#fff7e9;border:1px solid #c69b4570;border-radius:999px;margin:0 0 12px;padding:6px 10px;font-size:13px;font-weight:700;line-height:1.35}.eyebrow{border:1px solid var(--line);width:max-content;max-width:100%;color:var(--forest);background:#fff7e9;border-radius:999px;margin-bottom:14px;padding:6px 10px;font-size:13px;font-weight:700}.field-label{color:var(--forest);margin-bottom:9px;font-size:13.5px;font-weight:760;line-height:1.48;display:block}input,textarea{border:1px solid var(--line);width:100%;min-height:56px;color:var(--ink);background:#fffaf1;border-radius:6px;outline:none;padding:15px 16px;font-size:16px;line-height:1.58;transition:border-color .18s,box-shadow .18s,background .18s}textarea{resize:vertical;min-height:142px}textarea::placeholder,input::placeholder{color:#4d463a9e}input:focus,textarea:focus{border-color:var(--forest-2);background:#fffdf8;box-shadow:0 0 0 4px #1e665921}.option-list{gap:8px;display:grid}.option{border:1px solid var(--line-soft);text-align:left;min-height:50px;color:var(--ink);background:#fffdf8bd;border-radius:6px;align-items:center;gap:11px;padding:12px 14px;font-size:15px;font-weight:500;line-height:1.5;transition:border-color .18s,background .18s,box-shadow .18s,transform .18s;display:flex;position:relative;overflow:hidden}.option:before{content:"";background:0 0;border-radius:0 99px 99px 0;width:3px;transition:background .18s;position:absolute;top:10px;bottom:10px;left:0}.option:hover{border-color:var(--line-strong);background:#fffaf1}.mark{color:#4d463aad;background:0 0;border:1px solid #a18f769e;border-radius:50%;flex:none;place-items:center;width:20px;height:20px;font-family:Source Han Sans SC,Microsoft YaHei UI,Microsoft YaHei,sans-serif;font-size:11px;font-weight:700;display:inline-grid}.option.selected{color:var(--forest);background:linear-gradient(90deg,#edf7eef5,#fffdf8db);border-color:#1e66595c;font-weight:700;box-shadow:0 8px 18px #123d3512}.option.selected:before{background:var(--forest-2)}.option.selected .mark{border-color:var(--forest-2);background:var(--forest-2);color:#fffaf0}.notice-card{border-left:4px solid var(--gold);color:var(--ink);background:#fff7e9;border-radius:6px;gap:8px;margin-bottom:12px;padding:16px;display:grid}.notice-card strong{color:var(--forest);font-size:17px}.notice-card span{color:var(--muted);line-height:1.7}.done-copy{border:1px solid var(--line);color:var(--forest);background:#edf7ee;border-radius:6px;padding:24px;font-size:18px;font-weight:700;line-height:1.7}.actions{border-top:1px solid var(--line);grid-template-columns:auto auto 1fr auto;gap:10px;padding-top:18px;display:grid}.actions button{cursor:pointer;min-height:48px;color:var(--ink);border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:700;transition:transform .16s,box-shadow .16s,background .16s;display:inline-flex}.actions button:active{transform:translateY(1px)}.actions button:disabled{cursor:not-allowed;opacity:.45}.download-status{border:1px solid var(--line-soft);color:var(--muted);background:#fffaf1;border-radius:6px;grid-column:1/-1;padding:11px 13px;font-size:13px;font-weight:700;line-height:1.45}.download-status.pending{color:#7a5a19;background:#fff7e9;border-color:#c69b456b}.download-status.success{color:var(--forest);background:#edf7ee;border-color:#1e665947}.download-status.error{color:var(--cinnabar);background:#fff1ec;border-color:#b6462f52}.ghost{background:#fffaf19e;border-color:var(--line-soft)!important;color:#17211cc2!important}.primary{background:var(--forest);box-shadow:0 10px 22px #123d3533;color:#fffaf0!important;border-color:var(--forest)!important}.primary:hover{background:#0f342d}.hidden{display:none!important}@media (width<=820px){body{background:linear-gradient(90deg, #123d350a 1px, transparent 1px) 0 0 / 28px 28px, linear-gradient(#123d350a 1px, transparent 1px) 0 0 / 28px 28px, var(--paper)}.shell{min-height:100dvh;padding:0;display:block}.brand-panel{min-height:226px;box-shadow:none;border-width:0 0 1px;border-radius:0;padding:54px 22px 42px;position:relative;top:auto}.brand-panel:before{inset:12px}.privacy-line{max-width:calc(100% - 44px);font-size:13px;top:20px;left:50%;transform:translate(-50%)}.brand-panel h1{word-break:keep-all;overflow-wrap:normal;max-width:340px;font-size:29px;line-height:1.18}.maker{text-align:right;width:auto;max-width:none;font-size:12px;bottom:18px;left:22px;right:22px}.form-panel{min-height:calc(100dvh - 226px);box-shadow:none;padding:20px 18px max(18px, env(safe-area-inset-bottom));border:0;border-radius:0}#question-host{align-items:start;min-height:390px;padding-top:20px}.question-card h2{margin-bottom:14px;font-size:23px;font-weight:760;line-height:1.22}.type-tag{margin-left:5px;padding:2px 6px;font-size:10.5px}.question-card p{margin-bottom:22px;font-size:15px}.option{min-height:48px;padding:10px 12px;font-size:15px;line-height:1.45}.field-label{font-size:13px}input,textarea{padding:14px 15px;font-size:15.5px}textarea{min-height:136px}.actions{grid-template-columns:1fr 1fr}#next-btn,#download-btn{grid-column:1/-1;min-height:54px}body.compact-mode .brand-panel{min-height:82px;padding:30px 18px 16px}body.compact-mode .brand-panel:before{inset:8px}body.compact-mode .privacy-line{color:#f8e7bdb8;font-size:11px;top:10px}body.compact-mode .brand-panel h1{justify-content:center;gap:4px;max-width:none;font-size:17px;line-height:1.1;display:flex}body.compact-mode .brand-panel h1 span{display:inline}body.compact-mode .maker{display:none}body.compact-mode .form-panel{min-height:calc(100dvh - 82px);padding-top:16px}body.compact-mode #question-host{min-height:350px;padding-top:18px}body.catalog-mode .brand-panel{min-height:136px;padding:36px 22px 28px}body.catalog-mode .brand-panel:before{inset:10px}body.catalog-mode .privacy-line{font-size:12px;top:14px}body.catalog-mode .brand-panel h1{max-width:300px;font-size:24px;line-height:1.15}body.catalog-mode .maker{font-size:11px;bottom:12px}body.catalog-mode .form-panel{min-height:calc(100dvh - 136px);padding-top:14px}body.catalog-mode .progress-wrap{padding-bottom:10px}body.catalog-mode #question-host{min-height:auto;padding-top:10px}body.catalog-mode .catalog-card h2{margin-bottom:4px;font-size:24px;line-height:1.15}body.catalog-mode .catalog-card>p{margin-bottom:8px;font-size:12px;line-height:1.42}body.catalog-mode .catalog-grid{gap:4px}body.catalog-mode .catalog-row{grid-template-columns:28px minmax(104px,.9fr) 1fr;gap:7px;min-height:26px;padding:4px 0}body.catalog-mode .catalog-row em{font-size:14px}body.catalog-mode .catalog-row strong,body.catalog-mode .catalog-row span{font-size:10.5px;line-height:1.18}body.catalog-mode .start-badge{margin-top:8px;padding:7px 12px;font-size:12px}body.catalog-mode .actions{padding-top:10px}body.catalog-mode .actions button{min-height:44px}}
