:root{--ink:#252928;--muted:#787e7b;--paper:#f7f8f5;--line:#e3e7e2;--orange:#da7155;--green:#537a68;--gold:#d6ac5c;--blue:#658493}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #d6ac5c;outline-offset:3px}input,select,textarea{display:block;width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink)}textarea{min-height:90px;resize:vertical}label{display:block;font-weight:500;margin:17px 0 7px}.primary{border:0;border-radius:9px;background:var(--ink);color:white;padding:12px 22px;margin-top:22px;min-height:44px}.quiet{border:0;background:transparent;color:var(--muted);padding:9px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--muted);font-weight:600}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:8vw;gap:10vw;background:#f2f3ed}.login-card{max-width:430px}.login h1{font-size:clamp(30px,3.6vw,51px);font-weight:500;line-height:1.35;letter-spacing:-2px;margin:28px 0 18px}.login p{color:var(--muted);line-height:1.8}.login form{margin-top:38px}.login .primary{width:100%}.login small{display:block;margin-top:32px;font-size:11px;color:var(--muted)}.login-art{background:#e7ebe0;border-radius:24px;min-height:440px;display:flex;align-items:center;justify-content:center;overflow:hidden}.ticket{background:#fffdf7;padding:50px 42px;width:83%;box-shadow:0 20px 50px #59634918;transform:rotate(-7deg);border-bottom:9px solid var(--orange)}.ticket>span{font-family:Georgia,serif;letter-spacing:5px;font-size:11px}.ticket strong{display:block;font-size:30px;line-height:1.6;font-weight:400;margin:32px 0}.ticket-rule{border-top:1px dashed #bdc3b8}.ticket p{font-size:12px}header{height:75px;background:#fff;display:flex;justify-content:space-between;align-items:center;padding:0 35px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-weight:600}.brand-mark{font-family:Georgia,serif;font-size:21px;background:#e7ebe0;border-radius:10px;padding:7px 13px}.badge{font-size:9px;letter-spacing:1.5px;color:var(--orange);background:#fbebe5;padding:5px 7px;border-radius:4px}.header-right{display:flex;gap:16px;align-items:center;font-size:12px;color:var(--muted)}.notice{padding:11px 35px;background:#fcf5e7;color:#856d43;font-size:12px;line-height:1.6}.workspace{display:grid;grid-template-columns:245px minmax(0,1fr)}aside{padding:25px 20px;border-right:1px solid var(--line);background:#fff;max-height:calc(100vh - 116px);overflow:auto;position:sticky;top:0}.system{width:100%;display:flex;gap:14px;align-items:center;border:0;border-radius:9px;padding:13px 12px;margin-top:7px;background:transparent;text-align:left;color:var(--muted)}.system span{font-family:Georgia,serif;color:#9da59c}.system.active{background:#edf1e9;color:#3d5546}.search-label{font-size:11px;color:var(--muted);margin-top:28px}.nav-group{font-size:10px;color:var(--muted);letter-spacing:1px;margin:25px 8px 10px}.operation{width:100%;text-align:left;border:0;background:none;color:#666f69;font-size:12px;padding:9px 10px;border-radius:6px;line-height:1.5}.operation.active{background:#f9eee7;color:#9a5a46}.operation:hover{background:#f3f4ef}main{padding:38px;min-width:0;max-width:1400px}.intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.intro h1{font-size:29px;font-weight:500;letter-spacing:-.7px;margin:10px 0}.intro p,.muted{color:var(--muted);font-size:12px;line-height:1.7}.live-dot{font-size:10px;color:var(--green);white-space:nowrap}.live-dot:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);margin-right:7px}.work-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}.panel{border:1px solid var(--line);border-radius:13px;padding:25px;background:#fff;min-width:0;min-height:355px}.panel-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.panel h2,.history h2{font-size:18px;font-weight:500;margin:20px 0 10px}.pill{font-size:10px;border:1px solid var(--line);padding:4px 7px;border-radius:5px;color:var(--muted)}#action-hint{font-size:12px;color:var(--muted);line-height:1.6}fieldset{margin:20px 0;padding:0 15px 15px;border:1px solid var(--line);border-radius:8px}legend{font-size:12px;color:var(--muted);padding:0 6px}fieldset label{font-size:12px}.optional{font-size:10px;color:var(--muted);font-weight:400;margin-left:6px}.field-hint{font-size:10px;line-height:1.5;color:var(--muted);margin-top:5px}.array-add{border:1px dashed #c8d0c4;background:#f7f9f4;color:var(--green);border-radius:6px;padding:8px 12px;margin-top:10px}.array-remove{float:right;border:0;background:none;color:var(--orange);font-size:11px;padding:4px 5px}.boolean{display:flex;align-items:center;gap:8px}.boolean input{width:16px;height:16px}.empty{min-height:200px;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#a6ada5;font-size:12px}.empty span{font-size:30px;color:#ced5c7}.receipt-row{display:grid;grid-template-columns:115px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid #eff1ed;font-size:12px}.receipt-row dt{color:var(--muted)}.receipt-row dd{margin:0;overflow-wrap:anywhere}.record{padding:10px 0;border-bottom:1px solid var(--line)}.record h3{font-size:12px;font-weight:500}.record .copy{border:0;border-radius:5px;padding:5px 8px;background:#edf1e9;color:var(--green);font-size:10px}.receipt-object{padding-left:12px;border-left:2px solid #e9ede4;margin:12px 0}.receipt-object>strong{font-size:12px;font-weight:500}.status-good{color:var(--green)}.status-bad,#login-error,#action-error{color:#b15f46}details{margin-top:20px;font-size:11px;color:var(--muted)}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:10px;line-height:1.6;max-height:350px;overflow:auto;background:#f6f7f3;padding:14px;border-radius:7px}.history{margin-top:32px;padding:0 5px}.history ol{list-style:none;padding:0}.history li{padding:10px 0;border-bottom:1px solid var(--line);font-size:12px;display:flex;gap:18px;line-height:1.6}.history time{color:var(--muted);font-size:10px;min-width:58px}[hidden]{display:none!important}@media(max-width:1100px){main{padding:25px}.workspace{grid-template-columns:210px minmax(0,1fr)}.work-grid{grid-template-columns:1fr}.intro .live-dot{display:none}}@media(max-width:650px){.login{grid-template-columns:1fr;padding:40px 25px}.login-art{display:none}header{height:65px;padding:0 18px}.header-right #health{display:none}.notice{padding:10px 18px}.workspace{grid-template-columns:1fr}aside{position:static;max-height:310px;padding:18px;border-right:0;border-bottom:1px solid var(--line)}aside>.eyebrow{display:none}.system{display:inline-flex;width:48%;margin:0}.search-label{margin-top:16px}#operations{max-height:125px;overflow:auto}.nav-group{margin-top:16px}main{padding:25px 18px}.intro h1{font-size:25px}.panel{padding:20px}.receipt-row{grid-template-columns:95px minmax(0,1fr)}}@media(prefers-reduced-motion:no-preference){.panel{animation:rise .3s ease-out}@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

.scenario-panel{background:#fff;border:1px solid #e3e9e4;border-radius:16px;padding:22px;margin-bottom:22px}.scenario-buttons{display:flex;flex-wrap:wrap;gap:10px}.scenario-buttons button{min-height:44px;border:1px solid #dce6de;background:#f3f7f3;border-radius:10px;padding:12px 16px;color:#244d37;cursor:pointer}.results #result{max-height:680px;overflow:auto;overflow-wrap:anywhere}.results pre{max-height:300px;overflow:auto}.receipt-row dd{overflow-wrap:anywhere}

.points-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.points-product{min-width:0;border:1px solid #dfe5df;border-radius:14px;padding:20px;background:white}.points-product h3{line-height:1.5}.points-product p{line-height:1.7}.points-product button{max-width:100%;white-space:normal}@media(max-width:700px){.points-products{grid-template-columns:1fr}}
