/* 空间总览 */
.spatial-overview{display:grid;height:calc(100vh - 146px);min-height:720px;grid-template-columns:minmax(610px,1fr) 344px;grid-template-rows:minmax(500px,1fr) 185px;gap:18px;max-width:1560px;margin:0 auto}.orbital-hero{position:relative;min-width:0;overflow:visible}.orbit-clock{position:absolute;z-index:0;top:3%;left:50%;width:min(1040px,106%);height:95%;transform:translateX(-50%);opacity:.96;mix-blend-mode:screen;pointer-events:none}.orbit-track{position:absolute;border:1px solid rgba(169,211,255,.72);border-radius:50%;box-shadow:0 0 8px rgba(91,169,255,.34),inset 0 0 7px rgba(91,169,255,.18)}.orbit-hour-track{top:8%;left:4%;width:92%;height:72%}.orbit-minute-track{top:6%;left:3%;width:94%;height:76%;border-color:rgba(199,226,255,.82)}.orbit-marker{position:absolute;z-index:2;width:9px;height:9px;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.94);border-radius:50%;background:#fff;box-shadow:0 0 7px 2px #fff,0 0 18px 7px rgba(85,165,255,.9),0 0 42px 15px rgba(70,146,255,.45);transition:left .82s linear,top .82s linear;will-change:left,top}.orbit-marker:before,.orbit-marker:after{content:"";position:absolute;top:50%;left:50%;background:linear-gradient(90deg,transparent,#dceeff,transparent);transform:translate(-50%,-50%);opacity:.75}.orbit-marker:before{width:54px;height:1px}.orbit-marker:after{width:1px;height:54px;background:linear-gradient(180deg,transparent,#dceeff,transparent)}.orbit-hour-point{width:12px;height:12px;background:#7fc0ff;box-shadow:0 0 8px 3px #fff,0 0 24px 9px rgba(42,133,255,.9),0 0 50px 18px rgba(42,133,255,.42)}.orbit-minute-point{width:8px;height:8px}.hero-center{position:absolute;z-index:2;top:53%;left:50%;width:min(760px,88%);transform:translate(-50%,-50%);color:#fff;text-align:center;text-shadow:0 3px 25px rgba(0,18,39,.45)}.hero-kicker{display:inline-flex;align-items:center;gap:9px;color:rgba(255,255,255,.8);font-size:13px;font-weight:650}.hero-center h1{margin-top:17px;font-size:clamp(34px,3.4vw,50px);font-weight:520;letter-spacing:-.045em;line-height:1.05}.service-pill{display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:10px 18px;border:1px solid rgba(255,255,255,.18);border-radius:17px;background:rgba(17,37,59,.47);color:rgba(255,255,255,.75);font-size:12px;backdrop-filter:blur(18px)}.service-pill strong{color:#49a3ff;font-size:20px;font-weight:530}.hero-actions{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:25px}.hero-primary,.hero-secondary,.hero-select{display:flex;width:270px;min-height:52px;align-items:center;justify-content:center;gap:10px;border-radius:999px}.hero-primary{background:var(--blue);box-shadow:0 13px 34px rgba(0,112,255,.32);color:#fff;font-size:14px;font-weight:700}.hero-primary:hover{background:#1988ff;transform:translateY(-1px)}.hero-secondary,.hero-select{position:relative;border:1px solid rgba(255,255,255,.17);background:rgba(23,42,61,.7);color:#fff;backdrop-filter:blur(18px)}.hero-select select{width:100%;height:50px;padding:0 43px 0 44px;border:0;outline:0;background:transparent;color:#fff;cursor:pointer;appearance:none;text-align:center}.hero-select>i:first-child{position:absolute;z-index:1;left:18px}.hero-select>i:last-child{position:absolute;right:18px;transform:rotate(90deg);pointer-events:none}.hero-select option{color:#102035}.service-status-bar{position:absolute;z-index:3;right:8%;bottom:12px;left:8%;display:grid;grid-template-columns:repeat(3,1fr);height:84px;padding:10px 20px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(24,42,60,.69);box-shadow:0 20px 48px rgba(0,15,31,.24);backdrop-filter:blur(26px)}.service-status-bar>div{display:flex;align-items:center;justify-content:center;gap:11px}.service-status-bar>div+div{border-left:1px solid rgba(255,255,255,.16)}.status-symbol{display:grid;width:44px;height:44px;place-items:center;border-radius:50%;background:rgba(255,255,255,.2);color:#fff;font-size:22px}.service-status-bar p{display:grid;gap:4px}.service-status-bar small{color:#fff;font-size:12px}.service-status-bar strong{display:flex;align-items:center;gap:7px;color:rgba(255,255,255,.62);font-size:10px;font-weight:500}.service-status-bar strong i{width:6px;height:6px}
.activity-panel{display:flex;margin-top:78px;margin-bottom:55px;min-height:0;flex-direction:column;overflow:hidden;padding:20px;border:1px solid rgba(255,255,255,.2);border-radius:28px;background:rgba(20,40,60,.66);box-shadow:0 25px 60px rgba(0,13,31,.2);color:#fff;backdrop-filter:blur(28px)}.activity-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.12)}.activity-head>div{position:relative;padding-left:17px}.live-dot{position:absolute;top:4px;left:0}.activity-head small{color:rgba(255,255,255,.6);font-size:10px}.activity-head h3{margin-top:3px;font-size:17px;font-weight:620}.round-button{width:36px;height:36px;border-radius:50%;font-size:18px}.activity-list{position:relative;flex:1;overflow:auto;padding:13px 0}.activity-list:before{content:"";position:absolute;top:28px;bottom:28px;left:17px;width:1px;background:rgba(255,255,255,.16)}.activity-item{position:relative;display:grid;grid-template-columns:35px minmax(0,1fr) auto;align-items:start;gap:11px;padding:12px 0}.activity-node{position:relative;z-index:1;display:grid;width:35px;height:35px;place-items:center;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:#1c3b59;color:#72da57;font-size:18px}.activity-item.retry .activity-node{color:#63aaff}.activity-item strong{display:block;overflow:hidden;color:#f7fbff;font-size:12px;font-weight:620;text-overflow:ellipsis;white-space:nowrap}.activity-item p{margin-top:5px;overflow:hidden;color:rgba(255,255,255,.49);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.activity-item time{padding-top:3px;color:rgba(255,255,255,.39);font-size:9px}.activity-empty{position:relative;z-index:1;display:grid;height:100%;place-items:center;align-content:center;color:rgba(255,255,255,.58);text-align:center}.activity-empty>span{display:grid;width:54px;height:54px;place-items:center;border-radius:50%;background:rgba(255,255,255,.1);font-size:25px}.activity-empty strong{margin-top:14px;color:#fff}.activity-empty p{max-width:190px;margin-top:7px;font-size:11px;line-height:1.6}.activity-more{min-height:45px;border-top:1px solid rgba(255,255,255,.11);background:transparent;color:rgba(255,255,255,.7);font-size:11px}.activity-more i{margin-left:7px}.sync-deck{grid-column:1/-1;display:grid;margin-right:22px;grid-template-columns:minmax(0,1fr) 360px;min-width:0;overflow:hidden;border:1px solid rgba(255,255,255,.74);border-radius:28px;background:rgba(247,250,253,.86);box-shadow:0 24px 64px rgba(0,17,36,.21);color:#132034;backdrop-filter:blur(34px)}.deck-main{min-width:0;padding:20px 27px}.deck-heading{display:flex;align-items:flex-start;justify-content:space-between}.deck-heading span,.account-ident small,.account-facts small,.deck-metrics small{color:#718091;font-size:10px}.deck-heading h3{margin-top:5px;font-size:18px}.deck-heading p{margin-top:4px;color:#788595;font-size:10px}.deck-badge{align-self:center;padding:7px 11px!important;border-radius:999px;background:rgba(77,194,54,.12);color:#2e9f25!important;font-weight:650}.deck-metrics{display:grid;grid-template-columns:repeat(4,1fr);margin-top:19px}.deck-metrics>div{display:grid;gap:4px;padding:0 20px}.deck-metrics>div:first-child{padding-left:0}.deck-metrics>div+div{border-left:1px solid rgba(15,34,55,.09)}.deck-metrics strong{font-size:25px;font-weight:620;letter-spacing:-.035em}.deck-metrics span{color:#8793a0;font-size:9px}.account-rail{display:flex;min-width:0;flex-direction:column;padding:17px 20px;border-left:1px solid rgba(17,35,55,.1);background:rgba(239,244,249,.58)}.account-ident{display:flex;align-items:center;gap:11px}.account-ident img{width:40px;height:40px;border-radius:50%;object-fit:cover}.account-ident>div{display:grid;min-width:0}.account-ident strong{font-size:13px}.account-ident span{overflow:hidden;color:#7b8795;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.account-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:13px}.account-facts>span{display:grid;gap:3px}.account-facts strong{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.relay-tools{margin-top:auto}.relay-tools .redeem-row{display:grid;grid-template-columns:1fr 58px;gap:6px}.relay-tools .control{height:34px;padding:0 10px;font-size:10px}.relay-tools .primary-button{min-height:34px;padding:0 8px;font-size:10px}.relay-tool-buttons{display:flex;gap:6px;margin-top:6px}.relay-tool-buttons button{flex:1;min-height:31px;padding:0 7px;font-size:9px}
/* 通用内容组件 */
.inline-loading{display:grid;min-height:110px;place-items:center;align-content:center;gap:10px;color:var(--muted);font-size:11px}.inline-loading:before{content:"";width:18px;height:18px;border:2px solid rgba(10,124,255,.18);border-top-color:var(--blue);border-radius:50%;animation:inline-spin .7s linear infinite}.inline-error{padding:24px;color:var(--red);font-size:12px}@keyframes inline-spin{to{transform:rotate(1turn)}}
.custom-select{position:relative;width:100%;min-width:0}.custom-select-native{position:absolute!important;width:1px!important;height:1px!important;margin:0!important;padding:0!important;opacity:0!important;pointer-events:none!important;clip-path:inset(50%)}.custom-select-trigger{display:flex;width:100%;min-height:38px;align-items:center;justify-content:space-between;gap:10px;padding:0 12px;border:1px solid var(--line);border-radius:12px;outline:0;background:var(--field);color:var(--ink);font-size:12px;text-align:left;cursor:pointer;transition:border .2s,box-shadow .2s,background .2s}.custom-select-control .custom-select-trigger{min-height:43px}.custom-select-trigger:focus-visible,.custom-select.open .custom-select-trigger{border-color:rgba(10,124,255,.6);box-shadow:0 0 0 4px rgba(10,124,255,.1)}.custom-select-trigger:disabled{cursor:not-allowed;opacity:.55}.custom-select-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-select-trigger>i{flex:0 0 auto;color:var(--muted);font-size:14px;transform:rotate(90deg);transition:transform .2s}.custom-select.open .custom-select-trigger>i{transform:rotate(-90deg)}.custom-select-menu{position:fixed;z-index:2147483000;display:none;max-height:260px;overflow:auto;padding:6px;border:1px solid rgba(255,255,255,.72);border-radius:14px;background:rgba(247,250,253,.96);box-shadow:0 20px 50px rgba(0,17,36,.24);backdrop-filter:blur(28px);scrollbar-width:none}.custom-select-menu::-webkit-scrollbar{display:none}.custom-select-menu.open{display:grid;gap:3px;animation:custom-select-in .16s ease-out}.custom-select-menu.open.open-up{animation-name:custom-select-up}.custom-select-option{display:flex;width:100%;min-height:38px;align-items:center;padding:8px 10px;border:0;border-radius:9px;background:transparent;color:#26364a;font-size:11px;text-align:left;cursor:pointer}.custom-select-option:hover,.custom-select-option:focus-visible{outline:0;background:rgba(10,124,255,.09);color:#076fd7}.custom-select-option.selected{background:#0a7cff;color:#fff}.custom-select-option:disabled{cursor:not-allowed;opacity:.42}.custom-select-theme{width:132px}.custom-select-theme .custom-select-trigger{min-height:32px;border:0;background:transparent;font-size:11px}.hero-select .custom-select{position:static;height:50px}.hero-select .custom-select-trigger{height:50px;padding:0 44px;border:0;border-radius:999px;background:transparent;color:#fff;justify-content:center;text-align:center;box-shadow:none}.hero-select .custom-select-trigger>i{display:none}.custom-select-hero-menu{text-shadow:none}.hero-select:has(.custom-select.open)>i:last-child{transform:rotate(-90deg)}html[data-theme="dark"] .custom-select-menu{border-color:rgba(255,255,255,.14);background:rgba(16,31,49,.97)}html[data-theme="dark"] .custom-select-option{color:#eaf2fb}html[data-theme="dark"] .custom-select-option:hover,html[data-theme="dark"] .custom-select-option:focus-visible{background:rgba(61,150,255,.16);color:#fff}html[data-theme="dark"] .custom-select-option.selected{background:#0a7cff;color:#fff}@keyframes custom-select-in{from{opacity:0;transform:translateY(-5px) scale(.98)}to{opacity:1;transform:none}}@keyframes custom-select-up{from{opacity:0;transform:translateY(5px) scale(.98)}to{opacity:1;transform:none}}
.page:not(:has(.spatial-overview)){max-width:1520px;margin:0 auto}.surface,.metric,.stat-box,.info-box,.select-toolbar{border:1px solid rgba(255,255,255,.65);background:var(--surface);box-shadow:0 18px 46px rgba(0,15,32,.15);color:var(--ink);backdrop-filter:blur(28px)}.surface{overflow:hidden;border-radius:var(--radius-lg)}.surface.pad,.guide-body{padding:24px}.section-stack{display:grid;gap:18px}.page-grid{display:grid;gap:18px}.grid-overview{grid-template-columns:1fr 1fr}.grid-overview .guide-card{grid-column:1/-1}.surface-header{display:flex;align-items:center;gap:11px;padding:20px 24px;border-bottom:1px solid var(--line)}.surface-header h3,.surface-title,.section-heading{font-size:18px;font-weight:680;letter-spacing:-.02em}.icon-square{display:grid;width:36px;height:36px;place-items:center;border-radius:11px;background:rgba(10,124,255,.1);color:var(--blue);font-size:19px}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.info-box{display:grid;gap:6px;padding:20px;border:0;border-radius:0;box-shadow:none}.info-box dt,.stat-box small,.metric small{color:var(--muted);font-size:10px}.info-box dd{font-size:14px;font-weight:640}.invite-box,.code-panel,.security-card{margin-top:16px;padding:18px;border-radius:var(--radius-md);background:rgba(12,31,52,.05)}.guide-width{max-width:1000px}.code-panel pre,.json-block{overflow:auto;margin:0;padding:16px;border-radius:14px;background:#071626;color:#d6e8fa;font:11px/1.7 var(--mono)}.guide-notes{padding:13px 0 0 22px;color:var(--muted);font-size:11px;line-height:1.7}.helper{margin-top:9px;color:var(--muted);font-size:11px;line-height:1.6}.logout-row{margin-top:14px}.select-toolbar{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;margin-bottom:18px;padding:18px;border-radius:var(--radius-lg)}.stats-grid,.balance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stat-box,.metric{display:grid;gap:8px;padding:18px;border-radius:var(--radius-md)}.stat-box strong,.metric strong{font-size:21px;letter-spacing:-.025em}.subheading{margin:25px 0 13px;font-size:15px}.field{display:grid;gap:7px}.field label{color:var(--muted);font-size:10px;font-weight:650}.control{width:100%;min-height:43px;padding:0 13px;border:1px solid var(--line);border-radius:12px;outline:0;background:var(--field);color:var(--ink);font-size:12px;transition:border .2s,box-shadow .2s}.control:focus{border-color:rgba(10,124,255,.6);box-shadow:0 0 0 4px rgba(10,124,255,.1)}textarea.control{min-height:100px;padding-block:12px;resize:vertical}.field-action,.redeem-row,.copy-row,.action-buttons,.message-actions{display:flex;gap:8px}.field-action .control,.redeem-row .control,.copy-row .control{flex:1}.primary-button,.soft-button,.danger-button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:7px;padding:0 15px;border-radius:12px;font-size:12px;font-weight:650;transition:transform .18s,background .18s}.primary-button{background:var(--blue);color:#fff;box-shadow:0 8px 20px rgba(10,124,255,.2)}.primary-button:hover{transform:translateY(-1px);background:#1988ff}.soft-button{border:1px solid var(--line);background:rgba(255,255,255,.56);color:var(--ink)}html[data-theme="dark"] .soft-button{background:rgba(255,255,255,.08)}.danger-button{background:rgba(255,77,86,.12);color:#db2631}.form-error{min-height:16px;color:var(--red);font-size:11px}.table-wrap{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:15px}.data-table{width:100%;border-collapse:collapse;font-size:11px}.data-table th{position:sticky;z-index:1;top:0;padding:12px 14px;background:rgba(234,240,246,.95);color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.05em;text-align:left;white-space:nowrap}.data-table td{padding:14px;border-top:1px solid var(--line);vertical-align:middle;white-space:nowrap}.data-table tbody tr:hover{background:rgba(10,124,255,.04)}.data-table td small{color:var(--muted)}.empty-cell{padding:44px!important;color:var(--muted);text-align:center!important}.badge,.sync-pill{display:inline-flex;min-height:23px;align-items:center;padding:3px 9px;border-radius:999px;background:rgba(88,103,120,.1);color:var(--muted);font-size:9px;font-weight:650}.badge.ok,.sync-pill{background:rgba(80,196,54,.13);color:#299c22}.badge.warn{background:rgba(255,174,48,.16);color:#c77b00}.twofa-row{display:flex;align-items:center;justify-content:space-between}.security-card+.security-card{margin-top:14px}.security-card .primary-button{margin-top:13px}.message-list{display:grid;gap:12px}.message-card{padding:20px}.message-head{display:flex;justify-content:space-between}.message-card p{margin-top:12px;color:var(--muted);font-size:12px;white-space:pre-wrap}.message-actions{margin-top:14px}.admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.query-grid{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}.result-box{margin-top:16px}.json-block{max-height:580px;white-space:pre-wrap}
/* 游玩卡片 */
.play-toolbar{display:flex;align-items:end;justify-content:space-between;gap:14px}.play-toolbar>div{width:min(440px,100%)}.play-stats{margin-top:16px}.play-pc-head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line)}.play-pc-head h3{margin-top:5px;font-size:20px}.play-pc-head p{margin-top:4px;color:var(--muted);font-size:10px}.play-pc-head>strong{color:var(--muted);font-size:11px}.play-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:15px}.play-card{display:grid;grid-template-columns:104px minmax(0,1fr);gap:14px;padding:11px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.47)}.play-cover{width:104px;height:104px;border-radius:13px;object-fit:cover}.play-info{display:flex;min-width:0;flex-direction:column;justify-content:center}.play-title-row{display:flex;justify-content:space-between;gap:8px}.play-title-row h4{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.play-title-row p{margin-top:4px;color:var(--muted);font-size:10px}.play-facts{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.play-facts span{padding:4px 7px;border-radius:7px;background:rgba(12,31,52,.06);font-size:9px;font-weight:650}.play-meta{display:flex;justify-content:space-between;margin-top:10px;color:var(--muted);font-size:9px}.retry-note{margin-top:7px;color:#c77b00;font-size:9px}.empty-play{padding:45px;color:var(--muted);text-align:center}
/* 弹层与提示 */
.modal-backdrop{position:fixed;z-index:80;inset:0;display:grid;place-items:center;padding:18px;background:rgba(0,12,28,.48);backdrop-filter:blur(12px)}.modal{width:min(620px,100%);max-height:90vh;overflow:auto;border:1px solid rgba(255,255,255,.5);border-radius:25px;background:var(--surface-solid);box-shadow:var(--shadow);color:var(--ink)}.modal.wide{width:min(920px,100%)}.modal-head{position:sticky;z-index:1;top:0;display:flex;align-items:center;justify-content:space-between;padding:19px 21px;border-bottom:1px solid var(--line);background:var(--surface-solid)}.modal-head h3{font-size:18px}.modal-close{width:31px;height:31px;border-radius:50%;background:rgba(14,32,52,.08);color:var(--muted);font-size:20px}.modal-body{padding:21px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;padding:0 21px 21px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.full{grid-column:1/-1}.toast-stack{position:fixed;z-index:100;right:20px;bottom:20px;display:grid;gap:8px;pointer-events:none}.toast{min-width:250px;padding:13px 15px;border:1px solid rgba(255,255,255,.6);border-radius:14px;background:rgba(247,250,253,.92);box-shadow:var(--shadow);color:#132034;font-size:12px;backdrop-filter:blur(24px)}.toast.error{color:#d92934}
.security-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.security-layout .twofa-card{grid-column:1/-1}.twofa-heading,.twofa-admin-summary{display:flex;align-items:center;justify-content:space-between;gap:20px}.twofa-heading small{color:var(--blue);font:700 10px/1.4 var(--mono);letter-spacing:.12em}.twofa-heading h3{display:flex;align-items:center;gap:9px;margin-top:5px;font-size:22px}.twofa-heading p,.twofa-admin-summary p{max-width:700px;margin-top:8px;color:var(--muted);font-size:11px;line-height:1.7}.twofa-shield{display:grid;width:58px;height:58px;flex:0 0 auto;place-items:center;border-radius:19px;background:linear-gradient(145deg,rgba(10,124,255,.18),rgba(10,124,255,.05));color:var(--blue);font-size:27px}.twofa-facts{display:grid;grid-template-columns:repeat(2,minmax(0,220px));gap:10px;margin:18px 0}.twofa-facts span{display:grid;gap:5px;padding:13px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.28)}.twofa-facts small{color:var(--muted);font-size:9px}.twofa-facts strong{font-size:12px}.totp-enrollment{display:grid;grid-template-columns:280px 1fr;gap:22px;align-items:center}.totp-qr{display:grid;place-items:center;padding:16px;border:1px solid var(--line);border-radius:22px;background:#fff}.totp-qr img{display:block;width:100%;aspect-ratio:1}.totp-instructions{display:grid;gap:10px}.totp-instructions h4,.detail-section h4{font-size:16px}.totp-instructions p{color:var(--muted);font-size:11px;line-height:1.7}.totp-confirm{display:grid;gap:10px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.otp-input{font:700 22px/1 var(--mono);letter-spacing:.18em;text-align:center}.recovery-warning{padding:14px;border:1px solid rgba(255,174,48,.35);border-radius:14px;background:rgba(255,174,48,.1);color:#a96500;font-size:11px;line-height:1.6}.recovery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:14px}.recovery-grid code{padding:12px;border:1px solid var(--line);border-radius:11px;background:var(--field);font:700 14px/1 var(--mono);text-align:center;letter-spacing:.08em}.recovery-actions{margin-top:16px}.user-search{width:250px}.user-actions{min-width:560px;flex-wrap:wrap}.user-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.detail-section{margin-top:20px}.detail-section h4{margin-bottom:10px}.detail-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--line)}.detail-list div{padding:13px;background:var(--surface-solid)}.detail-list dt{color:var(--muted);font-size:9px}.detail-list dd{margin-top:5px;font-size:12px}.twofa-admin-summary{padding:6px 0 20px}.twofa-admin-summary+*{margin-top:4px}
@media(max-width:1280px){.spatial-overview{grid-template-columns:minmax(560px,1fr) 310px}.activity-panel{padding:17px}.sync-deck{grid-template-columns:minmax(0,1fr) 320px}.service-status-bar{right:4%;left:4%}.play-grid{grid-template-columns:1fr}.admin-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1100px){.spatial-overview{height:auto;min-height:0;grid-template-columns:1fr;grid-template-rows:560px auto auto}.activity-panel{grid-row:2;min-height:390px;margin:0}.sync-deck{grid-row:3;grid-template-columns:1fr;margin-right:0}.account-rail{border-top:1px solid var(--line);border-left:0}.relay-tools{margin-top:15px}.grid-overview{grid-template-columns:1fr}.info-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.app-layout{overflow-x:clip}.spatial-overview{grid-template-rows:500px auto auto;gap:12px;overflow:visible}.orbit-clock{top:15%;width:170%;height:95%;aspect-ratio:auto}.hero-center{top:40%;width:96%}.hero-center h1{font-size:28px;overflow-wrap:anywhere}.service-status-bar{right:2%;bottom:9px;left:2%;height:72px;padding:8px}.status-symbol{display:none}.service-status-bar>div{gap:4px}.service-status-bar small{font-size:9px}.service-status-bar strong{font-size:8px}.activity-panel,.sync-deck{border-radius:22px}.sync-deck{display:block}.deck-main{padding:18px}.deck-metrics{grid-template-columns:repeat(2,1fr);gap:14px}.deck-metrics>div{padding:0}.deck-metrics>div+div{border-left:0}.account-rail{padding:18px}.select-toolbar,.query-grid{grid-template-columns:1fr}.stats-grid,.balance-grid,.info-grid,.form-grid{grid-template-columns:1fr}.admin-grid{grid-template-columns:1fr}.surface.pad,.guide-body{padding:17px}.admin-toolbar,.play-toolbar{align-items:stretch;flex-direction:column}.play-toolbar>div{width:100%}.play-card{grid-template-columns:78px minmax(0,1fr)}.play-cover{width:78px;height:78px}.play-title-row{display:block}.play-title-row .badge{margin-top:6px}.field-action,.redeem-row,.copy-row{flex-direction:column}.field-action button,.redeem-row button,.copy-row button{width:100%}.data-table th,.data-table td{padding:11px}.modal-backdrop{padding:8px}.modal{border-radius:20px}}
@media(max-width:720px){.security-layout{grid-template-columns:1fr}.twofa-heading,.twofa-admin-summary{align-items:flex-start}.twofa-facts,.totp-enrollment,.recovery-grid,.user-detail-grid,.detail-list{grid-template-columns:1fr}.totp-qr{width:min(280px,100%);margin:auto}.recovery-actions,.user-actions{flex-direction:column}.recovery-actions button,.user-actions button,.user-search{width:100%}.user-actions{min-width:180px}}

/* 时间轨道沿地球地平线收扁并降低亮度，避免悬浮在背景之外。 */
.orbit-track{border-color:rgba(137,196,255,.52);box-shadow:0 0 10px rgba(69,143,216,.24),inset 0 0 8px rgba(91,169,255,.12)}.orbit-hour-track{top:22%;height:44%}.orbit-minute-track{top:20%;height:48%;border-color:rgba(185,219,255,.64)}
@media(max-width:720px){.orbit-clock{top:3%}}

/* v0.11.2：统一页面、卡片、表单与移动端的间距节奏。 */
:root{
  --layout-gutter:clamp(24px,2.45vw,38px);
  --layout-section-gap:16px;
  --layout-card-padding:clamp(21px,1.7vw,25px);
  --layout-grid-gap:14px;
}
.app-header{
  height:112px;
  padding:18px var(--layout-gutter) 8px;
}
.page{
  padding:6px var(--layout-gutter) 34px;
}
.section-stack,.page-grid{
  gap:var(--layout-section-gap);
}
.surface.pad,.guide-body{
  padding:var(--layout-card-padding);
}
.surface-header{
  padding:18px var(--layout-card-padding);
}
.admin-grid{
  gap:var(--layout-grid-gap);
  margin-bottom:var(--layout-section-gap);
}
.admin-toolbar{
  gap:16px;
  margin-bottom:var(--layout-section-gap);
}
.admin-toolbar>div{
  min-width:0;
}
.admin-toolbar .helper{
  margin-top:6px;
}
.admin-toolbar>.action-buttons{
  gap:10px;
}
.select-toolbar{
  gap:var(--layout-grid-gap);
  margin-bottom:var(--layout-section-gap);
  padding:20px;
}
.stats-grid,.balance-grid{
  gap:var(--layout-grid-gap);
}
.stat-box,.metric{
  padding:19px 20px;
}
.subheading{
  margin:22px 0 12px;
}
.security-layout{
  gap:var(--layout-section-gap);
  align-items:start;
}
.security-layout .security-card,
.security-layout .security-card+.security-card{
  margin-top:0;
  padding:var(--layout-card-padding);
  background:var(--surface);
}
.security-card>h3+.field{
  margin-top:13px;
}
.security-card>.field+.field{
  margin-top:14px;
}
.security-card .primary-button{
  margin-top:15px;
}
.modal-head{
  padding:18px 22px;
}
.modal-body{
  padding:22px;
}
.modal-actions{
  gap:10px;
  padding:0 22px 22px;
}
.modal-body .form-grid{
  column-gap:14px;
  row-gap:15px;
}
.admin-keychip-tabs{
  display:inline-flex;
  gap:4px;
  margin-bottom:18px;
  padding:4px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--field);
}
.admin-keychip-tabs button{
  display:flex;
  min-height:44px;
  align-items:center;
  gap:8px;
  padding:0 16px;
  border-radius:12px;
  background:transparent;
  color:var(--muted);
  font-size:12px;
  font-weight:650;
}
.admin-keychip-tabs button.active{
  background:var(--surface);
  color:var(--ink);
  box-shadow:var(--shadow);
}
.admin-keychip-tabs button i{
  font-size:17px;
}
.admin-keychip-tabs button b{
  min-width:22px;
  padding:3px 7px;
  border-radius:999px;
  background:var(--field);
  color:var(--muted);
  font-size:9px;
}
.keychip-search{
  width:min(340px,32vw);
}
.official-status-cell{
  max-width:320px;
  overflow:hidden;
  text-overflow:ellipsis;
}
.catalog-pager{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-top:16px;
  color:var(--muted);
  font-size:11px;
}
.official-test-summary{
  display:grid;
  gap:1px;
  margin-top:16px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--line);
}
.official-test-summary p{
  display:grid;
  grid-template-columns:110px minmax(0,1fr);
  gap:14px;
  padding:14px;
  background:var(--surface);
  font-size:11px;
}
.official-test-summary strong{
  color:var(--muted);
}
.official-uri{
  overflow-wrap:anywhere;
}
.badge.info{
  background:rgba(10,124,255,.12);
  color:var(--blue);
}
.feedback-intro{
  margin-bottom:var(--layout-section-gap);
}
.feedback-intro .admin-toolbar{
  margin-bottom:0;
}
.feedback-list{
  display:grid;
  gap:var(--layout-grid-gap);
}
.feedback-card{
  padding:var(--layout-card-padding);
}
.feedback-head,.feedback-meta{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.feedback-head small,.feedback-meta,.feedback-reply small,.feedback-detail small{
  color:var(--muted);
  font-size:10px;
}
.feedback-head h3{
  margin-top:5px;
  font-size:18px;
}
.feedback-content,.feedback-reply p,.feedback-detail p{
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  line-height:1.75;
}
.feedback-content{
  margin-top:16px;
  color:var(--muted);
  font-size:12px;
}
.feedback-reply{
  margin-top:16px;
  padding:15px;
  border:1px solid rgba(10,124,255,.16);
  border-radius:14px;
  background:rgba(10,124,255,.06);
}
.feedback-reply p{
  margin-top:7px;
  font-size:12px;
}
.feedback-meta{
  margin-top:16px;
  padding-top:13px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:10px;
}
.feedback-search{
  width:min(320px,28vw);
}
.feedback-textarea{
  min-height:150px!important;
}
.feedback-detail{
  display:grid;
  gap:1px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--line);
}
.feedback-detail>div{
  display:grid;
  gap:7px;
  padding:14px;
  background:var(--surface);
}
.feedback-admin-form{
  margin-top:18px;
}

@media(max-width:1100px){
  :root{
    --layout-gutter:22px;
  }
  .app-header{
    height:96px;
    padding:18px var(--layout-gutter) 8px;
  }
  .page{
    padding:4px var(--layout-gutter) 30px;
  }
}

@media(max-width:720px){
  :root{
    --layout-gutter:16px;
    --layout-section-gap:14px;
    --layout-card-padding:18px;
    --layout-grid-gap:11px;
  }
  .app-header{
    height:88px;
    padding:14px var(--layout-gutter) 10px;
  }
  .page{
    padding:2px var(--layout-gutter) calc(28px + env(safe-area-inset-bottom));
  }
  .surface.pad,.guide-body{
    padding:var(--layout-card-padding);
  }
  .admin-toolbar,.play-toolbar{
    gap:13px;
  }
  .admin-toolbar>.action-buttons{
    gap:8px;
  }
  .admin-keychip-tabs{
    display:grid;
    grid-template-columns:1fr 1fr;
    width:100%;
  }
  .admin-keychip-tabs button{
    justify-content:center;
    padding:0 10px;
  }
  .keychip-search{
    width:100%;
  }
  .feedback-search{
    width:100%;
  }
  #adminKeychipPanel .admin-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  #adminKeychipPanel .admin-toolbar>.action-buttons button{
    white-space:nowrap;
  }
  .catalog-pager{
    align-items:stretch;
    flex-direction:column;
  }
  .catalog-pager .action-buttons button{
    flex:1;
  }
  .official-test-summary p{
    grid-template-columns:1fr;
    gap:5px;
  }
  .feedback-head,.feedback-meta{
    align-items:flex-start;
    flex-direction:column;
  }
  .select-toolbar{
    gap:12px;
    padding:var(--layout-card-padding);
  }
  .stat-box,.metric{
    padding:17px 18px;
  }
  .security-layout .security-card,
  .security-layout .security-card+.security-card{
    padding:var(--layout-card-padding);
  }
  .twofa-heading{
    gap:14px;
  }
  .twofa-facts{
    margin:16px 0;
  }
  .modal-backdrop{
    padding:12px;
  }
  .modal-head{
    padding:17px 18px;
  }
  .modal-body{
    padding:18px;
  }
  .modal-actions{
    padding:0 18px 18px;
  }
  .command-drawer,.admin-drawer{
    right:12px;
    bottom:84px;
    left:12px;
    padding:18px;
  }
  .drawer-head{
    padding:6px 4px 15px;
  }
  .command-drawer nav{
    margin-top:12px;
  }
  .drawer-theme{
    margin-top:10px;
  }
}
