:root{--wine:#641f31;--deep:#441522;--red:#bf334b;--gold:#d9ae73;--paper:#f6f2ed;--white:#fffdfb;--ink:#33252b;--muted:#8d7e82;--line:#e9dfdc;--green:#318766;font-family:"Microsoft YaHei","PingFang SC","Noto Sans CJK SC",sans-serif;color:var(--ink);background:#e9e2df;font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #d9ae73;outline-offset:2px}input,select{color:var(--ink);background:#fff;border:1px solid #e3d5d1;border-radius:10px;padding:11px 12px;min-width:0}label{font-size:12px;font-weight:700}h1,h2,h3,p{margin-top:0}p{line-height:1.6}[hidden]{display:none!important}
.app{width:min(100%,430px);min-height:100dvh;margin:auto;background:var(--paper);box-shadow:0 0 70px #33141f29;padding-bottom:84px}.top{background:var(--wine);color:#fff;padding:25px 24px 27px;position:relative;overflow:hidden}.top:before,.top:after{content:"";position:absolute;border:1px solid #ffffff16;border-radius:50%;pointer-events:none}.top:before{width:235px;height:235px;right:-83px;top:-124px}.top:after{width:153px;height:153px;right:12px;top:-56px}.brand{display:flex;gap:10px;align-items:center;position:relative;z-index:1}.brand strong{font-size:18px}.mark{width:36px;height:36px;border-radius:11px;background:var(--gold);display:grid;place-items:center;color:var(--deep);font:italic bold 25px Georgia,serif;box-shadow:inset 0 -3px #60311f1f}.brand-side{margin-left:auto;border:1px solid #ffffff48;border-radius:99px;padding:5px 9px;color:#f6dfcb;font-size:10px}.top-title{position:relative;z-index:1;margin-top:31px}.top-title h1{font-size:26px;margin:0 0 6px}.top-title p{font-size:12px;color:#e6cdd1;margin:0}.connection{display:inline-flex;align-items:center;gap:7px;margin-top:15px;font-size:11px;color:#f7e8db}.connection i{width:7px;height:7px;border-radius:50%;background:#90d8b5;box-shadow:0 0 0 3px #90d8b529}.page{display:none;padding:18px 18px 35px}.page.active{display:block}.dashboard{margin-top:-17px;position:relative}.surface,.rule-card,.slot-card,.routing-box,.activate-card{background:var(--white);border:1px solid #efe7e2;border-radius:17px}.primary{border:0;border-radius:10px;padding:12px 16px;background:var(--red);color:#fff;font-weight:700}.primary:hover{background:#a92a42}.wide{width:100%}.secondary{border:1px solid #e8d5d3;border-radius:10px;padding:11px 15px;background:#fff;color:var(--wine);font-weight:700}
.hero-card{background:linear-gradient(145deg,#fffdfb,#fff7f1);box-shadow:0 16px 38px #491e271c;border:1px solid #fff;border-radius:23px;padding:20px 19px 17px;position:relative;overflow:hidden}.hero-card:after{content:"";width:110px;height:110px;position:absolute;top:-53px;right:-39px;border-radius:50%;background:#faece3}.account-head{display:flex;align-items:center;gap:12px;position:relative;z-index:1}.avatar{width:46px;height:46px;border-radius:14px;background:var(--wine);color:#fbe9d0;display:grid;place-items:center;font:25px Georgia,serif;flex:none}.account-identity{flex:1;min-width:0}.account-identity b{display:block;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-identity span{display:block;color:var(--muted);font-size:11px;margin-top:3px}.status-badge{font-size:10px;color:var(--green);background:#e8f4ed;border-radius:99px;padding:5px 8px;font-weight:700;white-space:nowrap}.status-badge.waiting{color:#926c4d;background:#f6ece1}.hero-divider{height:1px;background:var(--line);margin:18px 0}.run-row,.run-main{display:flex;align-items:center;gap:11px}.run-row{justify-content:space-between}.envelope{width:49px;height:50px;background:#d94358;border-radius:10px 10px 13px 13px;position:relative;flex:none;box-shadow:0 8px 14px #b82f4729}.envelope:before{content:"";position:absolute;left:0;right:0;top:0;height:24px;background:#ed6872;border-radius:10px 10px 50% 50%;border-bottom:2px solid #fff2e6}.envelope:after{content:"¥";position:absolute;left:17px;top:20px;color:#fff0d1;font-size:17px;font-weight:800}.run-copy b{display:block;font-size:16px}.run-copy span{display:block;font-size:11px;color:var(--muted);margin-top:4px}.switch,.toggle-input{appearance:none;width:48px;height:28px;border:0;border-radius:99px;background:#cfc5c3;position:relative;padding:0;flex:none;transition:background .2s}.switch:after,.toggle-input:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #0002;transition:transform .2s}.switch.on,.toggle-input:checked{background:var(--green)}.switch.on:after,.toggle-input:checked:after{transform:translateX(20px)}.hero-foot{font-size:11px;color:#765e64;background:#f7efeb;border-radius:10px;padding:9px 10px;margin-top:17px;display:flex;align-items:center;justify-content:space-between;gap:8px}.hero-slot-button{background:none;border:0;color:var(--wine);font-size:11px;font-weight:700;white-space:nowrap;padding:0}.slot-picker,.inline-select{display:flex;align-items:center;gap:12px;margin:17px 0 0}.slot-picker select,.inline-select select{flex:1}.section-title{display:flex;align-items:end;justify-content:space-between;margin:25px 3px 11px}.section-title h2{font-size:16px;margin:0}.section-title button{border:0;background:none;color:var(--red);font-size:11px;font-weight:700;padding:2px}.rule-preview{padding:5px 15px}.preview-row{display:flex;justify-content:space-between;align-items:center;padding:13px 1px;border-bottom:1px solid var(--line);font-size:12px}.preview-row:last-child{border:0}.preview-row span{color:#776971}.preview-row b{font-size:12px}.route-card{width:100%;padding:16px;display:flex;align-items:center;gap:12px;text-align:left}.route-icon{width:37px;height:37px;border-radius:11px;background:#f4e7d5;display:grid;place-items:center;color:#9a5d32;font-size:18px}.route-copy{flex:1}.route-copy b,.route-copy small{display:block}.route-copy b{font-size:13px}.route-copy small{font-size:10px;color:var(--muted);margin-top:4px}.chevron{font-size:19px;color:#a28e91}.recent-logs{padding:4px 16px}.mini-log{display:flex;align-items:center;gap:11px;padding:13px 0;border-bottom:1px solid var(--line)}.mini-log:last-child{border:0}.log-symbol{width:30px;height:30px;border-radius:10px;background:#f9e9e7;color:var(--red);display:grid;place-items:center;font-weight:700}.log-symbol.skip,.log-symbol.stop{background:#f1efec;color:#867c7d}.mini-log .copy{flex:1;min-width:0}.mini-log b,.mini-log small{display:block}.mini-log b{font-size:12px}.mini-log small{font-size:10px;color:var(--muted);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-log time{font-size:10px;color:#a79799}.mini-empty{padding:20px 5px;text-align:center}.mini-empty b{font-size:13px}.mini-empty p{font-size:11px;color:var(--muted);margin:5px 0 0}
.content-heading{margin:7px 2px 17px}.content-heading h2{font-size:19px;margin:0 0 4px}.content-heading p{font-size:11px;color:var(--muted);margin:0}.inline-select{margin:0 0 16px}.notice{border-radius:14px;background:#f3e8dd;padding:16px;font-size:12px;line-height:1.6}.notice button{display:block;border:0;background:none;color:var(--red);font-weight:700;padding:8px 0 0}.rule-card{padding:18px;margin-bottom:12px}.rule-card h3{font-size:14px;margin:0 0 5px}.rule-card p{font-size:11px;color:#8d7e82;margin:0}.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px}.row-between>div{flex:1}.example{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}.example span{background:#e8f4ed;color:var(--green);padding:4px 8px;border-radius:6px;font-size:10px;font-weight:700}.example .no{background:#f9e9eb;color:#b35d64}.number-input{display:flex;align-items:center;gap:8px;margin-top:15px;color:var(--wine);font-size:12px}.number-input input{width:92px;font-size:21px;font-weight:700;color:var(--wine)}#delay-range{width:100%;accent-color:var(--red);margin-top:17px;padding:0}.scale{display:flex;justify-content:space-between;color:#a59697;font-size:10px}.rule-order{background:#f2e5dc;border-radius:14px;padding:14px 16px;margin:14px 0}.rule-order b{font-size:12px;color:var(--wine)}.rule-order p{font-size:11px;margin:5px 0 0}.slot-summary{background:#f5e8dd;border-radius:14px;display:flex;justify-content:space-between;padding:14px;font-size:12px;margin-bottom:14px}.slot-summary span{color:#927e76}.slot-list{display:grid;gap:12px}.slot-card{padding:17px}.slot-card .avatar{width:43px;height:43px}.slot-meta{font-size:11px;color:#8b7980;line-height:1.9;margin:15px 0 0}.slot-meta b{color:var(--ink)}.slot-actions{display:flex;gap:8px;margin-top:14px}.slot-actions button{flex:1;border:1px solid #ead5d6;background:#fff8f7;border-radius:9px;color:var(--wine);font-size:11px;font-weight:700;padding:10px 6px}.slot-actions .danger{background:#fff;color:#b34d42}.empty-slot{border:1px dashed #ddc7c0;background:#fffaf6;border-radius:17px;display:grid;justify-items:center;text-align:center;padding:22px;margin-top:12px}.empty-slot .plus{font-size:25px;color:var(--red)}.empty-slot b{font-size:13px}.empty-slot p{font-size:10px;color:var(--muted);margin:5px 0 12px}.empty-slot .primary{font-size:11px;padding:9px 18px}.routing-box{padding:17px;margin-top:13px}.routing-box h3{font-size:13px;margin:0 0 5px}.routing-box p{font-size:11px;color:var(--muted);margin:0 0 13px}.routing-box label{display:block;margin-bottom:6px}.routing-box select{width:100%}.route-state{font-size:11px;color:var(--green);padding-top:12px;margin-top:14px;border-top:1px solid var(--line)}.license-strip{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:var(--muted);margin:17px 2px}.license-strip b{color:var(--wine)}.account-footer{display:flex;justify-content:center;gap:18px;margin:15px 0}.account-footer button{background:none;border:0;color:#977a7e;font-size:11px}
.log-tip{background:#eee7e3;color:#8a7b7f;border-radius:10px;padding:12px;font-size:11px;line-height:1.55}.log-filters{display:flex;gap:7px;margin:15px 0}.filter{border:1px solid #eadbd8;background:#fff;border-radius:99px;color:#8a7279;font-size:11px;padding:7px 13px}.filter.active{background:var(--wine);color:#fff;border-color:var(--wine)}.timeline{border-left:1px solid #e3d2d2;margin-left:8px;padding-left:9px}.entry{background:var(--white);border:1px solid #ece2de;border-radius:16px;padding:16px 13px;margin:0 0 10px;position:relative}.entry:before{content:"";position:absolute;left:-15px;top:18px;width:7px;height:7px;border-radius:50%;background:#ab9fa2;box-shadow:0 0 0 3px var(--paper)}.entry.opened:before{background:var(--red)}.entry.error:before{background:#d6a345}.entry time{font-size:10px;color:#a29396}.entry .result{float:right;font-size:11px;font-weight:700;color:#8c7c7d}.entry.opened .result{color:var(--green)}.entry.error .result{color:#c3862e}.entry b{display:block;font-size:13px;margin:9px 0 3px}.entry p{font-size:11px;color:#8d7e82;margin:0}.packet{display:inline-block;margin-top:9px;padding:4px 8px;border-radius:6px;background:#f6eeea;font-size:10px;color:#9a5758}.log-empty{background:#fffdfb;border:1px dashed #decac4;border-radius:16px;padding:28px 18px;text-align:center;margin:0 0 0 -9px}.log-empty .empty-icon{display:block;font-size:27px;color:var(--red);margin-bottom:8px}.log-empty b{font-size:14px}.log-empty p{font-size:11px;color:var(--muted);margin:7px 0 0}.log-empty button{border:0;background:none;color:var(--red);font-size:11px;font-weight:700;margin-top:10px}.refresh-button{display:block;margin:19px auto 0;border:0;background:none;color:var(--red);font-size:11px;font-weight:700}.bottom-nav{position:fixed;z-index:10;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,430px);height:calc(66px + env(safe-area-inset-bottom));padding:6px 5px env(safe-area-inset-bottom);background:#fffdfb;border-top:1px solid #eee4df;display:flex;justify-content:space-around}.nav-btn{display:grid;justify-items:center;align-content:center;gap:2px;min-width:62px;border:0;background:none;color:#988b8d;font-size:10px}.nav-btn.active{color:var(--wine);font-weight:700}.nav-icon{font-size:19px;line-height:1;width:28px;height:28px;display:grid;place-items:center;border-radius:8px}.nav-btn.active .nav-icon{background:#f8e7eb}
.activate-page{padding:18px}.activate-card{padding:24px;margin:12px auto;max-width:380px}.section-kicker{font-size:11px;color:var(--red);font-weight:700}.activate-card h2{font-size:24px;margin:8px 0}.activate-card p{font-size:12px;color:var(--muted)}.activate-card label{display:block;margin:20px 0 7px}.activate-card input{width:100%;margin-bottom:13px}.modal-backdrop{position:fixed;inset:0;background:#24151db3;z-index:20;display:grid;place-items:end center;padding:15px}.sheet{width:min(100%,430px);max-height:min(90dvh,780px);overflow:auto;background:var(--paper);border-radius:22px 22px 16px 16px;padding:22px}.sheet-head{display:flex;justify-content:space-between;align-items:center}.sheet-head h2{font-size:19px;margin:0}.close-button{background:none;border:0;font-size:26px;color:#806a6c;line-height:1}.sheet>p{font-size:12px;color:var(--muted);margin:8px 0 15px}.login-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:15px}.login-choice{display:flex;align-items:center;gap:7px;border:1px solid #e7d8d4;background:#fff;border-radius:11px;padding:11px 9px;font-size:12px;cursor:pointer}.login-choice:has(input:checked){border-color:var(--red);background:#fff3f3;color:var(--wine)}.login-choice:has(input:disabled){opacity:.5;cursor:not-allowed}.login-choice input{accent-color:var(--red);margin:0}.qr-frame{width:218px;min-height:218px;margin:18px auto 8px;border:1px solid var(--line);border-radius:12px;background:#fff;display:grid;place-items:center}.qr-frame img{width:198px;height:198px;object-fit:contain}.login-state{text-align:center;font-size:12px!important;color:var(--ink)!important}.sheet .secondary{margin-top:4px}.sheet form{margin-top:15px}.sheet form label{display:block;margin-bottom:7px}.sheet form input{width:100%;margin-bottom:10px}.toast{position:fixed;z-index:30;bottom:calc(80px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%,20px);width:max-content;max-width:min(90vw,390px);background:#33252b;color:#fff;border-radius:12px;padding:11px 15px;font-size:12px;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:350px){.top{padding-left:19px;padding-right:19px}.page{padding-left:13px;padding-right:13px}.brand strong{font-size:16px}.login-choices{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
