:root{--ink:#172644;--muted:#63718a;--blue:#3059d5;--deep:#173eac;--pale:#ebf0ff;--line:#dce3ee;--surface:#fff;--back:#f4f6fa;--green:#177351;--warn:#a1373c;font-family:system-ui,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);font-size:15px;font-synthesis:none;line-height:1.6}
*{box-sizing:border-box}body{margin:0;background:var(--back)}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button,input,select,textarea{border-radius:9px}button{cursor:pointer}a{color:var(--blue)}button:disabled{opacity:.55;cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #5a88ff;outline-offset:3px}a{text-decoration:none}.skip{position:absolute;transform:translateY(-150%);z-index:20;background:white;padding:8px}.skip:focus{transform:none}.layout{display:grid;grid-template-columns:228px minmax(0,1fr);min-height:100vh}.workspace{min-width:0;display:flex;flex-direction:column}aside{background:#fff;border-right:1px solid var(--line);position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;padding:27px 17px 18px;overflow:auto}.brand{display:flex;align-items:center;gap:11px;color:var(--ink);padding:0 6px}.brand img{width:42px}.brand strong{display:block;font-size:18px;letter-spacing:-.04em}.micro,.num,.eyebrow{font-family:ui-monospace,"SFMono-Regular",Consolas,monospace;letter-spacing:.12em;font-size:10px;font-weight:700}.brand .micro{color:var(--muted)}.nav-label{margin:42px 14px 9px;font-size:11px;letter-spacing:.16em;color:var(--muted);font-weight:700}.nav-label.second{margin-top:25px}.nav-item{display:flex;align-items:center;gap:12px;min-height:43px;padding:8px 14px;margin:3px 0;border-radius:9px;color:#536078;font-weight:520;font-size:14px}.nav-item:hover,.quick:hover{background:#f2f5ff}.nav-item.active{background:#ebf0ff;color:#254fce;font-weight:700}.ico{width:19px;height:19px;vertical-align:middle;flex:none}.side-foot{margin-top:auto;border-top:1px solid var(--line);padding-top:18px}.account{display:flex;align-items:center;gap:10px;padding:5px;color:var(--ink)}.account b,.account small{display:block}.account small{font-size:11px;color:var(--muted)}.avatar,.square{width:36px;height:36px;border-radius:11px;display:inline-grid;place-items:center;background:#edf2ff;color:#365acb;flex:none}.chev{margin-left:auto;color:#8c98ac}header{display:flex;justify-content:space-between;align-items:center;padding:0 clamp(22px,4vw,64px);height:65px;background:white;border-bottom:1px solid var(--line);gap:10px}.crumb{display:flex;align-items:center;gap:13px;color:var(--muted);font-size:13px}.crumb b{color:var(--ink)}.top-note{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}main,footer{width:min(100%,1370px);margin-inline:auto}main{padding:30px clamp(22px,4vw,64px) 15px;flex:1}footer{padding:18px clamp(22px,4vw,64px) 24px;display:flex;gap:8px 16px;flex-wrap:wrap;color:var(--muted);font-size:12px}.mob-brand,.mobile-only,#mobile{display:none}
.hero{background:linear-gradient(108deg,#2449bb,#3964da 65%,#486fe0);min-height:196px;position:relative;overflow:hidden;border-radius:17px;color:white;padding:30px 34px;display:flex;align-items:center}.hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(#fff2 .8px,transparent .8px);background-size:17px 17px;mask-image:linear-gradient(90deg,transparent,#000)}.hero-text{position:relative;z-index:1}.hero h1{font-size:clamp(24px,2.6vw,39px);letter-spacing:-.055em;margin:13px 0 6px;line-height:1.3}.hero p{margin:0;color:#e2eaff;font-size:14px;letter-spacing:.08em}.eyebrow{font-size:10px;color:#e0e8ff;letter-spacing:.16em;display:flex;align-items:center;gap:8px}.eyebrow:before{content:"";width:19px;height:2px;background:#bed0ff}.ticket{position:absolute;right:1%;width:34%;height:100%;object-fit:contain}.section-head,.row-between,.titlebar,.inline{display:flex;align-items:center;gap:10px}.section-head,.row-between,.titlebar{justify-content:space-between}.section-head{margin:26px 0 13px}.section-head h2,.card h2{margin:0;font-size:20px;letter-spacing:-.045em}.section-head small,.muted,.help{color:var(--muted)}.help{font-size:13px}.cards{display:grid;gap:16px}.cols2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols4{grid-template-columns:repeat(4,minmax(0,1fr))}.card,.quick{background:white;border:1px solid var(--line);border-radius:14px;padding:20px;min-width:0}.quick{display:flex;align-items:center;gap:12px;color:var(--ink);transition:background .12s}.quick b,.quick small{display:block}.quick small{color:var(--muted);font-size:12px}.square{width:42px;height:42px}.mint{color:#08766d;background:#e7f6f1}.gold{color:#8b631c;background:#fff4da}.lav{color:#714db5;background:#f2edfc}.stat .row-between{color:var(--muted);font-size:13px}.stat strong{display:block;font:700 30px/1.3 ui-monospace,Consolas,monospace;margin:10px 0 3px}.stat small{color:var(--muted)}.titlebar{margin:0 0 20px}.titlebar h1{margin:2px 0;font-size:30px;letter-spacing:-.045em}.kicker{color:var(--blue);font-size:10px;letter-spacing:.16em;font-weight:750}.titlebar p,.card p{margin:4px 0 10px}.badge{display:inline-flex;gap:5px;align-items:center;border-radius:20px;padding:3px 9px;font-size:11px;font-weight:630;background:#eef1f6;color:#56657b;white-space:nowrap}.badge.blue{color:#3155b7;background:#edf2ff}.badge.green{color:#14664a;background:#e8f6ef}.badge.amber{color:#855812;background:#fff3d8}.alert{color:#943035;font-weight:700}.intro{display:flex;align-items:flex-start;gap:16px}.gated{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,.85fr);align-items:center;gap:18px}.entry-form{display:flex;gap:8px;align-items:flex-end}.entry-form label{flex:1;min-width:0}.actions,.filters,.tabs{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.btn,.filter{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #cfd9e8;background:white;color:#2d4166;padding:8px 14px;font-size:13px;font-weight:620;text-decoration:none;line-height:1.5;border-radius:9px}.btn:hover,.filter:hover{background:#f1f4ff}.btn.primary{background:var(--blue);color:white;border-color:var(--blue)}.btn.primary:hover{background:var(--deep)}.btn.danger{color:var(--warn)}.btn.small,.filter{min-height:32px;padding:5px 10px;font-size:12px}.filter.active{color:var(--blue);background:#edf2ff;border-color:#b8c9ff}.link{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--blue);border:0;background:transparent;padding:5px 0}.notice,.error,.ok-msg{border-radius:9px;padding:10px 13px;font-size:13px;margin:12px 0;background:var(--pale);color:#354e8d}.error{background:#fff0ef;color:#9b3c3c}.error:empty{display:none}.ok-msg{background:#e8f6ef;color:#1d624b}.form{display:grid;gap:15px}.form label,label.field,.entry-form label{display:grid;gap:5px;font-size:13px;font-weight:600;color:#344461}.form small{color:var(--muted);font-weight:400}.form input:not([type=checkbox]),.form select,.form textarea,.entry-form input,.search{border:1px solid #cbd6e4;background:white;padding:9px 11px;color:var(--ink);width:100%;min-width:0;min-height:41px}.form textarea{resize:vertical}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form label.check{display:flex;align-items:center;gap:9px;font-weight:500;padding:5px}.form input[type=checkbox]{width:17px;height:17px}.search{width:min(100%,340px)}.stack>*+*{margin-top:13px}.divider{height:1px;background:var(--line);margin:15px 0}.empty{padding:26px 12px;display:grid;place-items:center;text-align:center;gap:5px;color:var(--muted)}.empty .square{margin-bottom:5px}.empty b{color:var(--ink)}.narrow{max-width:670px}.page-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(235px,.85fr);gap:16px}.tabs{margin-bottom:16px}.record{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding:13px 0}.record:first-of-type{border-top:0}.record small,.detail small{display:block;color:var(--muted)}.record strong{overflow-wrap:anywhere}.data{width:100%;border-collapse:collapse;font-size:13px}.data th,.data td{text-align:left;vertical-align:middle;padding:10px 7px;border-bottom:1px solid #e5eaf1;overflow-wrap:anywhere}.data th{color:var(--muted);font-size:12px;font-weight:600}.table-wrap{overflow:auto}.data tr:last-child td{border-bottom:0}dl{margin:0}.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.facts dt{color:var(--muted);font-size:12px}.facts dd{margin:2px 0;font-size:14px;font-weight:600}.person h3,.entry h3{margin:0;font-size:16px}.mono,.num,.prob{font-family:ui-monospace,Consolas,monospace;font-variant-numeric:tabular-nums}.prob{color:var(--blue);font-weight:650}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:0 0 14px}.plain-list{padding-left:20px;margin:8px 0}.plain-list li+li{margin-top:7px}.rule-no{font-family:ui-monospace,monospace;font-weight:750;font-size:13px;color:var(--blue);background:var(--pale);border-radius:8px;padding:6px 9px;margin-right:7px}.rule h2{font-size:16px;margin:3px 0 13px}.rule p{font-size:14px;color:#526078}.formula{font-family:ui-monospace,Consolas,monospace;font-size:17px;color:var(--blue);background:#f4f6fd;border-radius:8px;padding:8px 12px;display:inline-block}details>summary{cursor:pointer;font-weight:650;color:#354c71;padding:6px 0}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.6 ui-monospace,monospace}.selection{max-height:230px;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:8px}.selection:empty{display:none}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#172644;color:white;font-size:14px;border-radius:9px;padding:9px 15px;max-width:min(92vw,660px);z-index:10;pointer-events:none;box-shadow:0 4px 15px #18274428;display:none}#toast.show{display:block}dialog{border:1px solid var(--line);border-radius:15px;width:min(510px,93vw);max-height:85dvh;color:var(--ink);padding:22px;box-shadow:0 20px 70px #1a2a4836}dialog::backdrop{background:#17264475}dialog h2{margin:0;font-size:20px}.draw-result{animation:reveal .5s ease-out both}@keyframes reveal{from{opacity:.3;transform:translateY(9px)}to{opacity:1;transform:none}}[hidden]{display:none!important}
@media(max-width:1050px){.layout{grid-template-columns:188px minmax(0,1fr)}aside{padding-inline:12px}.gated,.page-grid{grid-template-columns:1fr}.cols4{grid-template-columns:repeat(2,minmax(0,1fr))}.quick{padding:15px;gap:8px}.ticket{right:0;width:30%}.hero{padding:28px}.hero h1{font-size:28px}.gated .entry-form{max-width:560px}}
@media(max-width:740px){.layout{display:block}.workspace{min-height:100dvh}aside,.crumb,.desktop-only{display:none}.mob-brand{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--ink)}.mob-brand img{width:31px}.mobile-only{display:inline-flex}header{height:55px;position:relative;padding-inline:16px}.top-note{gap:6px}main{padding:18px 15px 12px}footer{padding:10px 15px 90px;font-size:11px}.hero{min-height:144px;border-radius:13px;padding:20px 16px;align-items:flex-start}.hero-text{width:79%}.hero h1{font-size:23px;max-width:300px;margin:13px 0 6px;line-height:1.35}.hero p{font-size:11px;letter-spacing:.015em}.ticket{width:32%;right:-4%;bottom:-7%;height:85%;opacity:.83}.eyebrow{font-size:8px;letter-spacing:.1em}.section-head{margin:21px 0 10px}.section-head h2,.card h2{font-size:17px}.cols3,.cols2{grid-template-columns:1fr}.cards{gap:10px}.card,.quick{padding:16px;border-radius:11px}.cols4{gap:9px}.stat{padding:13px}.stat strong{font-size:25px}.stat small{font-size:11px}.quick small{font-size:12px}.btn{min-height:42px}.gated{gap:10px}.intro{gap:10px}.entry-form{flex-wrap:wrap}.entry-form label{min-width:130px}.titlebar h1{font-size:25px}.titlebar p{font-size:13px}.titlebar{margin-bottom:14px}.row-between{align-items:flex-start}.section-head small{font-size:11px}#mobile{position:fixed;inset:auto 0 0;z-index:4;display:flex;align-items:stretch;justify-content:space-around;background:#fffffff7;backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:5px 3px max(5px,env(safe-area-inset-bottom));gap:3px}#mobile a{flex:1;display:flex;align-items:center;justify-content:center;gap:2px;flex-direction:column;font-size:10px;color:var(--muted);min-height:43px;border-radius:8px}#mobile a.active{color:var(--blue);background:var(--pale);font-weight:650}#toast{bottom:80px;min-width:180px;text-align:center}.facts{grid-template-columns:repeat(3,minmax(0,1fr))}.field-row{gap:9px}.rule h2{font-size:15px}.action-group{margin-top:10px}.authcard{max-width:100%}.toolbar{align-items:stretch}.search{width:100%}}
@media(max-width:374px){.hero h1{font-size:20px}.field-row{grid-template-columns:1fr}.ticket{opacity:.55}.facts{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.person .person-status{margin-top:13px}
