:root{--bg: #070b16;--text: #f8fbff;--muted: #c5d3ea;--panel: rgba(9, 14, 28, .76);--panel-strong: rgba(13, 19, 35, .92);--line: rgba(163, 195, 255, .3);--accent: #ff8a18;--blue: #2d68ff;--green: #25d978;--danger: #ff6b8b;--shadow: rgba(0, 0, 0, .34);color-scheme:dark}body[data-theme=light]{--bg: #eef5ff;--text: #102033;--muted: #334155;--panel: rgba(255, 255, 255, .86);--panel-strong: rgba(255, 255, 255, .96);--line: rgba(45, 104, 255, .24);--shadow: rgba(37, 99, 235, .18);color-scheme:light}*{box-sizing:border-box}html,body,#ow-app{min-height:100%}body{margin:0;min-height:100dvh;color:var(--text);font-family:Microsoft YaHei UI,Microsoft YaHei,Segoe UI Variable,Segoe UI,sans-serif;background:var(--bg);overflow-x:hidden;position:relative}body.modal-open{overflow:hidden}body:before{content:"";position:fixed;inset:-34px;z-index:0;pointer-events:none;background:url(../ow-bg.jpg) center center / cover no-repeat;filter:blur(22px) saturate(1.08);transform:scale(1.04);opacity:.9}body:after{content:"";position:fixed;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#070b16d1,#070b1657 34%,#070b166b 68%,#070b16d6),linear-gradient(180deg,#070b1647,#070b162e 50%,#070b16e0),url(../ow-bg.jpg) center top / contain no-repeat}body[data-theme=light]:after{background:linear-gradient(90deg,#eef5ff9e,#eef5ff42 38%,#eef5ff57 67%,#eef5ffb3),linear-gradient(180deg,#eef5ff29,#eef5ff42 48%,#eef5ffe0),url(../ow-bg.jpg) center top / contain no-repeat}button,a,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid rgba(255,138,24,.72);outline-offset:3px}.shell{position:relative;z-index:2;width:min(1640px,100%);min-height:100dvh;margin:0 auto;padding:30px 28px 72px;display:grid;grid-template-columns:320px minmax(720px,1fr) 320px;gap:24px;align-items:start}.command-center{min-width:0}.hero{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:18px;padding:22px;border:1px solid var(--line);border-radius:26px;background:linear-gradient(135deg,var(--panel-strong),rgba(255,255,255,.08));box-shadow:0 24px 70px var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.hero h1{margin:0;font-size:clamp(42px,5.2vw,72px);line-height:.95;letter-spacing:0;font-weight:950;text-wrap:balance}.hero h1 span{color:var(--accent)}.hero p{max-width:58ch;margin:12px 0 0;color:var(--muted);font-size:16px;line-height:1.6;font-weight:650}.top-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.top-actions button,.top-actions a,.source-link,.device-card button,.login-panel button[type=submit]{min-height:44px;border:1px solid var(--line);border-radius:12px;color:var(--text);background:#ffffff1a;text-decoration:none;font-weight:950;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}.top-actions button,.top-actions a{padding:0 15px}.top-actions button:hover,.top-actions a:hover,.device-card button:hover,.login-panel button[type=submit]:hover{transform:translateY(-1px);border-color:#ffffff7a;box-shadow:0 12px 26px #2d68ff2e}.status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:16px}.status-card,.rank-panel,.device-card,.login-panel{border:1px solid var(--line);background:var(--panel);box-shadow:0 24px 64px var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.status-card{min-height:86px;border-radius:18px;padding:15px}.status-card b{display:flex;align-items:center;gap:10px;min-height:30px;font-size:25px;line-height:1.1}.status-card span{display:block;margin-top:8px;color:var(--muted);font-size:13px;font-weight:700}.status-card i,.live-dot{display:inline-block;width:11px;height:11px;flex:0 0 auto;border-radius:999px;background:var(--green);box-shadow:0 0 #25d978c7;animation:pulse 1.35s infinite}@keyframes pulse{0%{box-shadow:0 0 #25d978c7}72%{box-shadow:0 0 0 10px #25d97800}to{box-shadow:0 0 #25d97800}}.device-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;padding:20px;border:1px solid var(--line);border-radius:26px;background:#ffffff1a;box-shadow:0 28px 72px var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.device-card{position:relative;min-height:182px;overflow:hidden;border-radius:18px;padding:18px}.device-glow{position:absolute;inset:0;background:radial-gradient(circle at 84% 18%,rgba(255,138,24,.24),transparent 26%),radial-gradient(circle at 20% 100%,rgba(86,213,255,.14),transparent 34%);pointer-events:none}.device-head{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px}.device-card h3{margin:0;font-size:28px;font-weight:950}.device-card p{position:relative;z-index:1;min-height:42px;margin:10px 0 58px;color:var(--muted);font-size:13px;line-height:1.45;font-weight:700;overflow:hidden}.device-card button{position:absolute;z-index:1;left:16px;right:16px;bottom:16px;background:linear-gradient(135deg,#1d4ed8,#2868ff);color:#fff;border-color:#75a1ffcc}.rank-panel{position:sticky;top:28px;border-radius:24px;padding:16px;overflow:hidden}.rank-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.rank-top h2{margin:0;font-size:22px;line-height:1.22}.rank-top p{margin:6px 0 0;color:var(--muted);font-size:12px;line-height:1.45;font-weight:700}.data-pill{flex:0 0 auto;min-height:28px;padding:6px 10px;border-radius:999px;color:var(--accent);background:#ff8a1829;font-size:12px;font-weight:950}.rank-list{display:flex;flex-direction:column;gap:10px}.rank-row{position:relative;display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;min-height:54px;overflow:hidden;border:1px solid rgba(142,197,255,.18);border-radius:15px;padding:10px;background:#ffffff12}.rank-row:before{content:"";position:absolute;inset:0 auto 0 0;width:var(--bar, 40%);background:linear-gradient(90deg,rgba(45,104,255,.22),transparent)}.rank-row>*{position:relative;z-index:1}.rank-num{width:25px;height:25px;border-radius:9px;background:#ff8a182e;color:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:950;font-size:12px}.rank-name b{display:block;font-size:16px}.rank-name small{display:block;margin-top:2px;color:var(--muted);font-size:11px;font-weight:700}.rank-row strong{font-size:18px}.rank-empty,.source-link{color:var(--muted);font-size:12px;line-height:1.55;font-weight:700}.source-link{margin-top:12px;padding:0 12px}.modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:18px;background:#0508129e;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.login-panel{position:relative;width:min(520px,100%);max-height:calc(100dvh - 36px);overflow:auto;border-radius:20px;padding:18px;animation:modal-in .18s ease-out}@keyframes modal-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-close{position:absolute;top:12px;right:12px;width:42px;height:42px;min-height:42px;border:1px solid var(--line);border-radius:12px;background:#ffffff1f;color:var(--text);cursor:pointer;padding:0;font-size:26px;line-height:1}.login-panel h2{margin:0;font-size:22px}.login-panel p{margin:7px 0 14px;color:var(--muted)}.login-panel label span{display:block;margin-bottom:8px;color:var(--muted);font-size:13px;font-weight:850}.login-panel input{width:100%;min-height:48px;border:1px solid var(--line);border-radius:12px;background:var(--panel-strong);color:var(--text);padding:0 13px}.login-panel button[type=submit]{width:100%;margin-top:12px;background:#16a34a;color:#fff}.error{margin-top:12px;color:var(--danger);font-weight:850}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media(max-width:1280px){.shell{grid-template-columns:1fr}.rank-panel{position:static}.shell>.rank-panel:first-child{order:2}.command-center{order:1}.shell>.rank-panel:last-child{order:3}}@media(max-width:760px){.shell{padding:max(14px,env(safe-area-inset-top)) 12px 48px}.hero{display:block;padding:18px}.hero h1{font-size:clamp(38px,15vw,56px)}.hero p{font-size:15px}.top-actions{justify-content:flex-start;margin-top:14px}.status-grid{grid-template-columns:1fr}.device-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}.device-card{min-height:158px;padding:13px;border-radius:16px}.device-card h3{font-size:22px}.device-card p{min-height:34px;margin:8px 0 50px;font-size:12px}.device-card button{left:10px;right:10px;bottom:10px;min-height:42px;border-radius:11px;font-size:14px}}
