
:root{color-scheme:light;--ink:#171c20;--muted:#687078;--paper:#f4f1e9;--surface:#fffdf8;--line:#d9d3c7;--gold:#a97822;--gold-dark:#765113;--green:#26705a;--red:#9b4439;--shadow:0 16px 48px rgba(61,48,24,.13)}
*{box-sizing:border-box}[hidden]{display:none!important}html,body{width:100%;height:100%;overflow:hidden}body{margin:0;color:var(--ink);background:radial-gradient(circle at 12% 8%,rgba(169,120,34,.12),transparent 28%),linear-gradient(135deg,#eee9dd 0%,var(--paper) 52%,#e9e4d8 100%);font-family:"Microsoft YaHei UI","Noto Sans SC",system-ui,sans-serif;font-size:clamp(12px,1.05vw,15px)}
button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(169,120,34,.28);outline-offset:2px}
.login-view{width:100%;height:100dvh;display:grid;place-items:center;padding:3vw}.login-card{width:min(720px,92vw);padding:clamp(28px,4vw,56px);display:grid;grid-template-columns:auto 1fr;gap:24px 28px;align-items:center;background:rgba(255,253,248,.93);box-shadow:var(--shadow);border-top:4px solid var(--gold)}
.brand-mark{width:68px;height:68px;display:grid;place-items:center;color:#fff;background:var(--ink);font-family:STKaiti,KaiTi,serif;font-size:34px;box-shadow:7px 7px 0 var(--gold)}.brand-mark.compact{width:40px;height:40px;font-size:21px;box-shadow:4px 4px 0 var(--gold)}
.eyebrow{margin:0 0 3px;color:var(--gold-dark);font:700 .72rem/1.2 Consolas,monospace;letter-spacing:.15em}h1{margin:0;font-family:STKaiti,KaiTi,serif;font-size:clamp(1.55rem,2.5vw,2.35rem);line-height:1;letter-spacing:-.03em}.muted{margin:10px 0 0;color:var(--muted)}
.login-form{grid-column:1/-1}.login-form>label{display:block;margin-bottom:8px;font-weight:600}.login-row{display:grid;grid-template-columns:1fr 1fr auto;gap:10px}.password-field{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}.password-field:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px rgba(154,110,26,.12)}.password-field input{width:100%;min-width:0;border:0!important;border-radius:0!important;box-shadow:none!important}.password-toggle{border:0;border-left:1px solid var(--line);background:#f7f3e9;color:var(--muted);padding:0 13px;font:inherit;cursor:pointer}.password-toggle:hover{background:#efe7d5;color:var(--ink)}.password-cancel{display:block;margin:10px 0 0 auto}
input,select,textarea{width:100%;border:1px solid var(--line);border-radius:4px;color:var(--ink);background:#fff;transition:border-color .18s,box-shadow .18s}input,select{height:38px;padding:0 11px}textarea{padding:10px 12px;resize:none;line-height:1.45}input:hover,select:hover,textarea:hover{border-color:#b8aa91}
.primary{min-width:112px;border:0;border-radius:3px;padding:0 20px;height:38px;color:#fff;background:var(--ink);font-weight:700;transition:transform .18s,background .18s}.primary:hover{background:var(--gold-dark);transform:translateY(-1px)}.primary:active{transform:translateY(1px)}
.dashboard{width:100%;height:100dvh;overflow:hidden;display:grid;grid-template-rows:auto auto auto minmax(0,1fr);padding:clamp(12px,2vw,24px);gap:clamp(8px,1.3vh,14px);max-width:1500px;margin:0 auto}.topbar{display:flex;justify-content:space-between;align-items:center;min-height:44px}.brand-line,.top-actions{display:flex;align-items:center;gap:14px}.brand-line h1{font-size:1.5rem}.account-badge{padding:4px 9px;color:var(--gold-dark);background:#e9dfc8;font:700 .75rem/1 Consolas,monospace}.connection{display:inline-flex;align-items:center;gap:7px;color:var(--green);font-weight:600}.connection i{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px rgba(38,112,90,.12)}.text-button{border:0;padding:6px 4px;color:var(--muted);background:transparent;font-weight:600}.text-button:hover{color:var(--gold-dark)}
.market-strip{min-height:clamp(82px,13vh,118px);display:grid;grid-template-columns:1.55fr .8fr .8fr 1.25fr;background:var(--ink);color:#fff;box-shadow:var(--shadow);overflow:hidden}.market-strip article{min-width:0;padding:clamp(12px,1.8vw,24px);border-right:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;justify-content:center}.market-strip article:last-child{border:0}.market-strip p{margin:0 0 6px;color:#c4c7c9;font-size:.78rem;letter-spacing:.08em}.market-strip strong{font-variant-numeric:tabular-nums;font-family:Consolas,monospace;font-size:clamp(1.2rem,2.4vw,2.05rem);line-height:1}.price-focus{background:linear-gradient(105deg,#1d2327,#272b2d)}.price-focus strong{color:#edc672;font-size:clamp(2rem,4.5vw,4rem);letter-spacing:-.06em}.price-focus span,.metric span{margin-top:7px;color:#aeb4b6;font-size:.75rem}.metric.wide strong{font-family:inherit;font-size:1.1rem;color:#e8d6aa}
.tabs{height:40px;display:flex;align-items:flex-end;border-bottom:1px solid var(--line)}.tab{height:40px;border:0;border-bottom:3px solid transparent;padding:0 22px;color:var(--muted);background:transparent;font-weight:700}.tab:hover{color:var(--ink)}.tab.active{color:var(--gold-dark);border-color:var(--gold)}.save-state{margin:0 0 10px auto;color:var(--muted);font-size:.78rem}
.workspace{min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden}.panel{min-height:0;overflow:hidden}.rule-grid{height:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:clamp(8px,1vw,14px)}
.setting-group,.template-card{min-width:0;margin:0;border:0;background:rgba(255,253,248,.88);box-shadow:0 7px 24px rgba(61,48,24,.07);padding:clamp(12px,1.5vw,20px)}.setting-group legend,.template-card legend{padding:0 8px 0 0;color:var(--gold-dark);font-family:STKaiti,KaiTi,serif;font-size:1.15rem;font-weight:700}.setting-group.restricted{opacity:.62}.setting-group.restricted:after{content:"仅 SQY 可修改";display:block;margin-top:-18px;color:var(--muted);font-size:.7rem;text-align:right}
.switch-row,.field-row,.compound-row{min-height:45%;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #ebe6db}.switch-row:last-child,.field-row:last-child,.compound-row:last-of-type{border-bottom:0}.switch-row span:first-child,.field-row>span:first-child{display:grid;gap:2px}.setting-group b{font-size:.92rem}.setting-group small,.group-note{color:var(--muted);font-size:.72rem}.field-row>input{width:min(142px,40%);text-align:right;font-variant-numeric:tabular-nums}.unit-input{width:min(150px,44%);position:relative}.unit-input input{padding-right:42px;text-align:right;font-variant-numeric:tabular-nums}.unit-input em{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--muted);font-style:normal;font-size:.75rem;pointer-events:none}
.switch-row>input,.mini-switch>input{position:absolute;opacity:0;pointer-events:none}.switch-row>i,.mini-switch>i{flex:0 0 auto;width:40px;height:22px;border-radius:12px;background:#c9c6bf;position:relative;transition:background .2s}.switch-row>i:after,.mini-switch>i:after{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 4px rgba(0,0,0,.22)}.switch-row>input:checked+i,.mini-switch>input:checked+i{background:var(--green)}.switch-row>input:checked+i:after{transform:translateX(18px)}.switch-row:focus-within>i,.mini-switch:focus-within>i{outline:3px solid rgba(169,120,34,.25)}.mini-switch{display:flex;align-items:center;gap:8px;font-weight:600}.mini-switch>i{width:34px;height:19px}.mini-switch>i:after{width:13px;height:13px}.mini-switch>input:checked+i:after{transform:translateX(15px)}.group-note{margin:4px 0 0}
.notify-rows{height:100%;display:grid;grid-template-rows:repeat(3,minmax(0,1fr))}.notify-rows .switch-row,.notify-rows .field-row{min-height:0}
.template-toolbar{min-height:48px;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center}.template-toolbar label{display:flex;align-items:center;gap:8px;font-weight:700}.template-toolbar select{width:130px}.placeholder-help{position:relative;display:flex;align-items:center;justify-content:center;gap:5px;color:var(--muted);font-size:.74rem}.placeholder-popover{position:absolute;z-index:3;top:34px;left:50%;transform:translateX(-50%);width:min(760px,76vw);padding:12px 14px;color:var(--ink);background:var(--surface);box-shadow:var(--shadow);line-height:2;border-top:3px solid var(--gold)}code{color:var(--gold-dark);background:#eae3d2;padding:2px 4px;border-radius:2px;font-family:Consolas,monospace}.template-grid{height:calc(100% - 48px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.template-card{display:grid;grid-template-rows:auto 34px auto minmax(70px,1fr);gap:5px}.template-card label{color:var(--muted);font-size:.72rem;font-weight:700}.template-card input{height:34px}.template-card textarea{min-height:0;font:.76rem/1.42 Consolas,monospace}
.actionbar{min-height:50px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding-top:10px}.notice{min-height:24px;color:var(--red);font-size:.8rem}.notice.success{color:var(--green)}.actionbar .primary{min-width:150px}
@media(max-height:700px){.dashboard{padding:8px 14px;gap:6px}.market-strip{min-height:68px}.market-strip article{padding:8px 14px}.setting-group{padding:7px 12px}.switch-row,.field-row,.compound-row{min-height:40%}.actionbar{min-height:40px;padding-top:3px}}
@media(max-width:760px){body{font-size:11px}.dashboard{padding:7px;gap:5px}.top-actions{gap:6px}.brand-line h1{font-size:1.15rem}.login-row{grid-template-columns:1fr}.market-strip{grid-template-columns:1.25fr .7fr .7fr 1fr}.market-strip article{padding:7px}.rule-grid,.template-grid{gap:6px}.setting-group,.template-card{padding:7px}.tab{padding:0 10px}.template-toolbar{gap:7px}}
