:root{--ink: #e8edf7;--ink-soft: rgba(232, 237, 247, .72);--muted: rgba(180, 196, 220, .55);--deep: #061018;--deep-mid: #0a1a28;--bg0: #061018;--bg1: rgba(10, 26, 40, .72);--bg2: #0f2436;--line: rgba(232, 237, 247, .14);--text: #e8edf7;--accent: #3d8bff;--accent-bright: #6eb0ff;--accent-soft: rgba(61, 139, 255, .16);--accent-glow: rgba(61, 139, 255, .35);--ok: #7fd4c0;--danger: #e07a6a;--radius: 10px;--font-display: "Syne", "Noto Sans SC", sans-serif;--font-body: "Noto Sans SC", "PingFang SC", sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;max-height:100%;margin:0;overflow:hidden}body{font-family:var(--font-body);color:var(--text);background:radial-gradient(900px 520px at 12% -8%,rgba(61,139,255,.18),transparent 55%),radial-gradient(720px 420px at 92% 0%,rgba(127,212,192,.1),transparent 50%),linear-gradient(165deg,var(--deep),#081420 48%,#040c14);color-scheme:dark}button,textarea,input,select{font:inherit;color:inherit}select,textarea,input{background:var(--bg2);color:var(--ink);border:1px solid var(--line);border-radius:8px}select{padding:.35rem .55rem;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}select option{background:#0a1a28;color:#e8edf7}.app{height:100%;max-height:100%;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.top{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.25rem;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#061018c7}.brand{font-family:var(--font-display);font-size:1.35rem;font-weight:700;letter-spacing:.02em;text-decoration:none;color:var(--ink)}.brand:hover{text-shadow:0 0 18px var(--accent-glow)}.brand span{font-family:var(--font-body);font-weight:500;font-size:.92rem;margin-left:.45rem;color:var(--accent-bright)}.top-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.chip{border:1px solid var(--line);background:var(--bg2);border-radius:999px;padding:.35rem .75rem;color:var(--ink-soft);text-decoration:none;cursor:pointer}.chip:hover{color:var(--ink);border-color:#96c8ff73}.chip[data-on=true]{border-color:#3d8bff8c;background:var(--accent-soft);color:var(--ink)}.layout{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1.2fr) minmax(260px,340px);gap:0;min-height:0;height:100%;overflow:hidden}.panel{min-height:0;border-right:1px solid var(--line);display:flex;flex-direction:column;background:#0a1a2873}.panel:last-child{border-right:none}.panel-head{padding:1rem 1rem .6rem;display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.panel-head h2{margin:0;font-size:.95rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.scene-select{position:relative;z-index:5}.scene-select-trigger{display:inline-flex;align-items:center;gap:.45rem;min-width:7.5rem;justify-content:space-between;border:1px solid rgba(150,200,255,.4);background:#0f2436;color:#e8edf7;border-radius:8px;padding:.35rem .65rem;cursor:pointer}.scene-select-trigger:hover,.scene-select-trigger[aria-expanded=true]{border-color:#6eb0ffbf;background:#132c42}.scene-select-caret{color:var(--accent-bright);font-size:.75rem;line-height:1}.scene-select-menu{position:absolute;right:0;top:calc(100% + .3rem);margin:0;padding:.3rem;list-style:none;min-width:100%;border:1px solid rgba(150,200,255,.35);border-radius:10px;background:#0a1a28;box-shadow:0 12px 32px #00000073}.scene-select-menu li{margin:0}.scene-select-option{display:block;width:100%;text-align:left;border:none;border-radius:7px;background:transparent;color:#e8edf7;padding:.45rem .65rem;cursor:pointer}.scene-select-option:hover{background:#3d8bff47;color:#fff}.scene-select-option[data-active=true]{background:#3d8bff66;color:#fff;font-weight:600}.panel-body{padding:0 1rem 1rem;overflow:auto;flex:1;min-height:0;scrollbar-width:none}.panel-body::-webkit-scrollbar{width:0;height:0}.scene-tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.75rem}.scene-tabs button{border:1px solid var(--line);background:transparent;border-radius:999px;padding:.25rem .6rem;color:var(--muted);cursor:pointer}.scene-tabs button[data-on=true]{background:var(--accent-soft);border-color:#3d8bff73;color:var(--ink)}.tpl-list{display:flex;flex-direction:column;gap:.45rem}.tpl-item{text-align:left;border:1px solid var(--line);background:#0610188c;border-radius:var(--radius);padding:.65rem .75rem;cursor:pointer}.tpl-item:hover,.tpl-item[data-on=true]{border-color:#3d8bff73;background:var(--bg2)}.tpl-item strong{display:block;font-size:.92rem;margin-bottom:.2rem}.tpl-item small{color:var(--muted);line-height:1.35}.editor-label{display:block;font-size:.8rem;color:var(--muted);margin-bottom:.35rem}.editor{width:100%;min-height:140px;height:min(28vh,220px);max-height:36vh;resize:none;border:1px solid var(--line);border-radius:var(--radius);background:#040c14e6;color:var(--ink);padding:.85rem;line-height:1.55;overflow:auto;scrollbar-width:none}.editor::-webkit-scrollbar{width:0;height:0}.var-grid{display:grid;gap:.55rem;margin:.75rem 0 1rem}.var-grid label{display:grid;gap:.25rem;font-size:.8rem;color:var(--muted)}.var-grid input{border:1px solid var(--line);border-radius:8px;background:#040c14e6;color:var(--ink);padding:.45rem .6rem}.actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.85rem}.btn{border:1px solid var(--line);background:var(--bg2);border-radius:8px;padding:.5rem .9rem;cursor:pointer;color:var(--ink)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--accent-bright),var(--accent));color:#061018;border-color:transparent;font-weight:600}.btn-ghost{background:transparent}.hint,.status{margin-top:.75rem;font-size:.85rem;color:var(--muted);line-height:1.45}.status[data-kind=error]{color:var(--danger)}.status[data-kind=ok]{color:var(--ok)}.chat-box{display:flex;flex-direction:column;gap:.55rem;margin-top:.75rem;max-height:22vh;overflow:auto;padding-right:.25rem;scrollbar-width:none}.chat-box::-webkit-scrollbar{width:0;height:0}.bubble{border-radius:10px;padding:.55rem .7rem;line-height:1.45;font-size:.9rem;white-space:pre-wrap}.bubble[data-role=user]{background:#3d8bff24;border:1px solid rgba(61,139,255,.3);align-self:flex-end;max-width:92%}.bubble[data-role=assistant]{background:#040c14e6;border:1px solid var(--line);align-self:flex-start;max-width:95%}.chat-input-row{display:flex;gap:.45rem;margin-top:.65rem}.chat-input-row input{flex:1;border:1px solid var(--line);border-radius:8px;background:#040c14e6;color:var(--ink);padding:.5rem .65rem}.candidates{display:flex;flex-direction:column;gap:.65rem}.card{border:1px solid var(--line);border-radius:var(--radius);background:#0610188c;padding:.75rem}.card-top{display:flex;justify-content:space-between;gap:.5rem;align-items:center;margin-bottom:.45rem}.badge{font-size:.75rem;color:var(--accent-bright);border:1px solid rgba(61,139,255,.4);border-radius:999px;padding:.1rem .5rem}.score{font-variant-numeric:tabular-nums;color:var(--ok);font-weight:600}.card pre{margin:0;white-space:pre-wrap;word-break:break-word;font-family:var(--font-body);font-size:.88rem;line-height:1.5;color:var(--text)}.score-row{display:grid;grid-template-columns:repeat(2,1fr);gap:.2rem .6rem;margin:.55rem 0;font-size:.75rem;color:var(--muted)}.card-actions{display:grid;grid-template-columns:minmax(0,1.2fr) repeat(3,minmax(0,1fr));gap:.3rem;align-items:stretch}.card-actions .btn{width:100%;padding:.4rem .25rem;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-actions .btn-rate[data-on=true]{border-color:#3d8bff8c;background:var(--accent-soft);color:var(--ink)}.history{margin-top:1rem;border-top:1px solid var(--line);padding-top:.75rem}.history h3{margin:0 0 .45rem;font-size:.8rem;color:var(--muted);font-weight:600}.history button{display:block;width:100%;text-align:left;border:none;background:transparent;color:var(--muted);padding:.35rem 0;cursor:pointer;font-size:.8rem;border-bottom:1px solid var(--line)}.history button:hover{color:var(--text)}@media (max-width: 960px){.layout{grid-template-columns:1fr;overflow:auto;scrollbar-width:none}.layout::-webkit-scrollbar{width:0;height:0}.panel{border-right:none;border-bottom:1px solid var(--line);min-height:42vh}}.site-beian{display:flex;justify-content:center;align-items:center;padding:.45rem 1rem;border-top:1px solid var(--line);background:#061018e6}.site-beian a{font-size:.7rem;letter-spacing:.04em;color:var(--muted);text-decoration:none}.site-beian a:hover{color:var(--ink-soft);text-decoration:underline}
