:root{font-family:Inter,"Microsoft YaHei",system-ui,sans-serif;color:#dce8f4;background:#0b1320;font-size:14px}*{box-sizing:border-box}body{margin:0}header,main,footer{max-width:1280px;margin:auto;padding:28px}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #243248}h1{font-size:28px;margin:10px 0}h2{font-size:18px;margin:0 0 18px}p{line-height:1.7;color:#9cb0c7}button,input,select{font:inherit}button{border:1px solid #34445a;background:#1c2b40;color:#dce8f4;border-radius:7px;padding:9px 13px;cursor:pointer}button:hover{background:#2b405d}button:disabled{opacity:.45;cursor:wait}button.primary{background:#6de2c4;color:#102c29;border:0;font-weight:700}.eyebrow{color:#6de2c4;letter-spacing:2px;font-size:11px}section{background:#111e30;border:1px solid #243248;border-radius:12px;padding:23px;margin-bottom:20px}#login{max-width:480px;margin:30px auto}#login input{margin-bottom:15px}.layout{display:grid;grid-template-columns:330px 1fr;gap:22px}label{display:block;margin:0 0 17px;color:#bacbdf}input,select{display:block;width:100%;margin-top:8px;padding:11px;border:1px solid #34445a;background:#0b1626;color:#edf5ff;border-radius:6px}small{display:block;line-height:1.7;color:#8c9eb5;margin:-6px 0 20px}#notice{padding:12px 16px;background:#142c3d;border-radius:7px;margin-bottom:20px;overflow-wrap:anywhere}.banner{padding:15px 18px;background:#182a2c;color:#a7d7cc;border-left:3px solid #6de2c4;margin-bottom:24px;line-height:1.8}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.row h2{margin:0}#count{font-size:12px;color:#6de2c4}.card{border-top:1px solid #2a3b50;padding:20px 0}.card h3{margin:0;font-size:16px}.status{font-size:12px;border:1px solid #3a5269;padding:4px 8px;border-radius:12px;white-space:nowrap}.status.live{color:#6de2c4;border-color:#326a5c}.meta{font-size:12px;line-height:1.9;color:#98adc6;overflow-wrap:anywhere;margin:12px 0}.actions{display:flex;flex-wrap:wrap;gap:7px}.actions button{font-size:12px;padding:7px 10px}.danger{color:#ff9e9e}pre{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;color:#b8d5ec}a{color:#6de2c4}footer{font-size:12px;color:#8195ad;text-align:center}[hidden]{display:none!important}@media(max-width:850px){.layout{grid-template-columns:1fr}header,main{padding:18px}h1{font-size:23px}}
:root{--modal-border:#35465c}
#browserModal{width:960px;height:680px;max-height:calc(var(--vv-height,100dvh) - 32px);max-width:calc(100vw - 32px);min-width:280px;min-height:180px;position:fixed;top:calc(var(--vv-top,0px) + var(--vv-height,100dvh)/2);bottom:auto;transform:translateY(-50%);margin:0 auto;resize:both;padding:0;border:1px solid var(--modal-border);border-radius:14px;background:#111e30;color:#dce8f4;box-shadow:0 24px 100px #0009;overflow:hidden}
#browserModal::backdrop{background:#02081299;backdrop-filter:blur(3px)}
#browserModal[open]{display:flex;flex-direction:column}
.modalHeader{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--modal-border);flex:none}
.modalHeader button{padding:6px 10px;background:transparent}
.modalBody{position:relative;flex:1;min-height:0;background:#fafafa}
#browserFrame{display:block;width:100%;height:100%;border:0;background:#fafafa}
#modalProgress{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;margin:0;padding:24px;color:#42556d}
@media(max-width:600px),(pointer:coarse){#browserModal{width:calc(100vw - 28px);height:78dvh;resize:none;border-radius:10px}}
#modalTitle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:500}.modalHeader{gap:12px}.modalHeader button{flex:none}
/* Light window chrome inspired by the supplied desktop popup. */
#browserModal{width:760px;height:800px;border:1px solid #a7b5c9;border-radius:3px;background:#fff;color:#14243b;box-shadow:0 18px 65px #0008}
.modalHeader{height:34px;padding:0 0 0 12px;background:#d4e3fc;border-bottom:0;color:#152237;gap:12px}
#windowCaption{font-family:Segoe UI,Arial,sans-serif;font-size:12px;font-weight:400}
.modalHeader button{height:34px;width:45px;padding:0;border:0;border-radius:0;color:#182337;background:transparent;font-size:16px}
.modalHeader button:hover{background:#c42b1c;color:white}
.modalAddress{display:flex;align-items:center;gap:9px;height:34px;flex:none;padding:0 12px;background:#f9fbff;border-bottom:1px solid #c6cfdb;color:#173459}
.addressIcon{font-size:17px;color:#54677c;flex:none}
#modalTitle{display:block;font-family:Segoe UI,Arial,sans-serif;font-size:13px;font-weight:400;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
#browserModal::backdrop{background:#0009;backdrop-filter:none}
@media(max-width:600px),(pointer:coarse){#browserModal{width:calc(100vw - 24px);height:82dvh;border-radius:4px}.modalAddress{padding:0 9px}}
.modalHeader{height:32px;padding-left:8px;gap:7px;user-select:none}.windowMark{color:#1262a5;font-size:16px}#windowCaption{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.windowControls{display:flex;align-self:stretch;flex:none}.windowControls button{height:32px;width:46px;font-size:16px}.windowControls button:hover{background:#b9cde9;color:#152237}.windowControls #closeBrowserModal:hover{background:#c42b1c;color:#fff}.modalAddress{height:34px;padding:0 8px;gap:8px}#browserModal.isMaximized{width:calc(100vw - 16px);height:calc(var(--vv-height,100dvh) - 16px);max-width:calc(100vw - 16px);max-height:calc(var(--vv-height,100dvh) - 16px);resize:none}#browserModal.isMinimized{height:34px;min-height:34px;resize:none}#browserModal.isMinimized .modalBody,#browserModal.isMinimized .modalAddress{display:none}
.windowMark{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;flex:none}.windowMark img{width:16px;height:16px;object-fit:contain}
.modalAddress input#modalTitle{flex:1;width:0;min-width:0;margin:0;padding:4px 2px;border:0;border-radius:3px;background:transparent;color:#173459;outline:none}.modalAddress input#modalTitle:focus{background:white;box-shadow:inset 0 0 0 1px #8eafe4}.modalAddress button{padding:0;border:0;background:transparent;color:#435568;width:26px;height:26px;border-radius:50%;flex:none}.modalAddress button:hover{background:#e0e7f1}#siteInfoPanel{position:absolute;z-index:4;top:66px;left:6px;width:320px;max-width:calc(100% - 12px);background:white;color:#1c2632;border:1px solid #d9dfe7;border-radius:12px;padding:16px;box-shadow:0 8px 22px #0004;font:13px/1.5 Arial,sans-serif}.siteInfoHeading{display:flex;align-items:center;justify-content:space-between;gap:12px}.siteInfoHeading strong{overflow-wrap:anywhere}.siteInfoHeading button{background:transparent;border:0;color:#555;font-size:20px;padding:0 5px}#siteInfoPanel p{font-size:12px;color:#526070;margin:12px 0}#siteInfoPanel details{padding:12px 0;border-top:1px solid #edf0f4}#siteInfoPanel summary{cursor:pointer}#browserModal.isMinimized #siteInfoPanel{display:none}
#modalProgress.isLoading{font-size:0;background:rgba(255,255,255,.82)}#modalProgress.isLoading::after{content:"";width:88px;height:88px;border:2px solid transparent;border-top-color:#174ea6;border-right-color:#174ea6;border-bottom-color:#174ea6;border-radius:50%;animation:cloudSpin .85s linear infinite}@keyframes cloudSpin{to{transform:rotate(360deg)}}
.connectionLight{display:inline-flex;align-items:center;gap:6px;font-size:12px;white-space:nowrap}.connectionLight::before{content:"";width:9px;height:9px;border-radius:50%;background:#8793a4;box-shadow:0 0 0 3px #8793a416}.connectionLight.ready::before{background:#42d99b;box-shadow:0 0 8px #42d99b55}.connectionLight.failed::before{background:#ff6579;box-shadow:0 0 8px #ff657955}.connectionLight.connecting::before{animation:connectionPulse 1s ease-in-out infinite}@keyframes connectionPulse{50%{opacity:.3}}.card>.row{flex-wrap:wrap}.card>.row h3{margin-right:auto}
.entryLoading{font-size:0;min-height:180px;display:flex;align-items:center;justify-content:center}.entryLoading::after{content:"";width:88px;height:88px;border:2px solid transparent;border-top-color:#174ea6;border-right-color:#174ea6;border-bottom-color:#174ea6;border-radius:50%;animation:cloudSpin .85s linear infinite}

#liveStatus{color:#6de2c4;font-size:12px;margin:12px 0}.checkedAt{font-size:12px;color:#8fa8bf;margin-top:9px;font-variant-numeric:tabular-nums}.refreshProfile{font-size:12px;padding:6px 10px}.connectionLight.running::before{background:#42d99b}.statusStale .checkedAt{color:#f3c77c}.statusStale .connectionLight::before{background:#8793a4;box-shadow:none}.statusStale .status{color:#9cb0c7;border-color:#3a5269}

.statusStale .checkedAt::after{content:" · 状态可能已过期"}
.successControls{margin-top:18px;padding:16px;border:1px solid #35564f;border-radius:8px;background:#102a2b}.successState{color:#82e6c8;font-size:12px;margin-bottom:14px;line-height:1.7}.successControls label{margin-bottom:12px;font-size:13px}.successControls p{font-size:12px;margin:12px 0 0}.successControls input{background:#0b1b25}
