:root{--ink:#252d47;--muted:#8a92a6;--primary:#7074f6;--line:#e9ecf5;--paper:#fff;--mouse-x:0px;--mouse-y:0px;color-scheme:light}*{box-sizing:border-box}body{margin:0;font-family:Inter,'Segoe UI','Microsoft YaHei',sans-serif;color:var(--ink);background:#f7f9ff;font-size:14px;-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}[hidden]{display:none!important}h1,h2,h3,p{margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button,a{transition:color .2s,background .2s,transform .45s cubic-bezier(.16,1,.3,1),box-shadow .3s}button{border:0;background:none;color:inherit}a{text-decoration:none;color:inherit}input,select,textarea{min-width:0;outline:0}button:focus-visible,a:focus-visible{outline:3px solid #a7a9ff;outline-offset:4px}button:disabled{opacity:.5;cursor:not-allowed}p{color:#8790a6;line-height:1.9}small{font-size:12px;color:#949baf}h1{font-size:30px;letter-spacing:-.8px;font-weight:650}h2{font-size:23px;font-weight:650}h3{font-size:16px;font-weight:650}.brand{display:flex;gap:12px;align-items:center;font-size:21px;font-weight:750;letter-spacing:1px;white-space:nowrap}.brand small{display:block;font-size:9px;letter-spacing:2.15px;color:#9399b5;font-weight:550;margin-top:4px}.brand-icon{font-family:'Segoe UI Symbol',sans-serif;font-size:37px;color:#7b80f6;line-height:1;width:45px;filter:drop-shadow(0 4px 9px #797ef42a)}.ambient{position:fixed;pointer-events:none;width:45vw;height:45vw;z-index:-1;filter:blur(65px);border-radius:50%;opacity:.45;transform:translate(var(--mouse-x),var(--mouse-y));transition:transform 2s cubic-bezier(.16,1,.3,1)}.ambient-a{left:-18vw;top:-20vw;background:radial-gradient(circle,#c6d9ff,transparent 65%)}.ambient-b{right:-18vw;bottom:-20vw;background:radial-gradient(circle,#d9d0ff,transparent 65%)}.login-screen{min-height:100svh;display:flex;flex-direction:column;position:relative;background:radial-gradient(ellipse at 13% 25%,#edf4ff 0,transparent 58%),radial-gradient(ellipse at 92% 80%,#f0edff 0,transparent 55%)}.login-header{max-width:1400px;width:100%;margin:0 auto;padding:42px 70px;display:flex;align-items:center;justify-content:space-between}.header-note{font-size:12px;letter-spacing:1px;color:#9fa6bd}.login-main{width:100%;max-width:1150px;margin:auto;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:115px;padding:25px 45px 35px}.login-story{position:relative;padding-bottom:215px;animation:enter .9s cubic-bezier(.16,1,.3,1) both}.eyebrow{font-size:10px;letter-spacing:2.4px;font-weight:650;color:#999cbd;display:flex;align-items:center;gap:8px}.spark{width:6px;height:6px;border-radius:50%;background:#898cf9;box-shadow:0 0 0 5px #8e91fc0e}.login-story h1{font-size:59px;line-height:1.33;letter-spacing:-2.5px;font-weight:700;margin:23px 0 20px}.login-story h1>span{color:#7e81e8;position:relative}.login-story h1>span:after{content:'';position:absolute;height:6px;background:#dedfff;bottom:1px;left:2px;right:2px;border-radius:50%}.login-story>p{font-size:15px;line-height:1.95;color:#8e98ae}.protocols{display:flex;gap:8px;margin-top:25px;flex-wrap:wrap}.protocols span{font-size:10px;border:1px solid #e0e6f3;background:#ffffff78;padding:5px 10px;color:#8e99b3;border-radius:20px}.connection-orbit{position:absolute;width:340px;height:190px;bottom:0;left:2px;display:grid;place-items:center;transform:translate(calc(var(--mouse-x)*-.5),calc(var(--mouse-y)*-.5));transition:transform 1.5s cubic-bezier(.16,1,.3,1)}.ring{position:absolute;border:1px solid #c3caed66;border-radius:50%;height:130px;width:130px}.r2{height:210px;width:210px;transform:rotateX(55deg) rotateZ(-20deg)}.r3{height:290px;width:290px;border-style:dashed;transform:rotateX(65deg) rotateZ(15deg);animation:orbit-drift 16s cubic-bezier(.45,0,.55,1) infinite alternate}.connection-orbit .r1{transform:rotateX(55deg) rotateZ(-20deg)}.core{font-size:38px;font-weight:750;color:#9095f3;display:grid;place-items:center;position:relative;border:1px solid #ffffff;border-radius:25px;background:linear-gradient(145deg,#fff,#e7eaff);width:80px;height:80px;box-shadow:12px 19px 35px #9da8dc2b,inset 0 1px 3px #fff;transform:rotate(-12deg);animation:float 6s cubic-bezier(.45,0,.55,1) infinite}.core>span{font-size:19px;position:absolute;top:7px;right:10px}.satellite{font-size:10px;position:absolute;padding:7px 11px;background:#ffffffba;border:1px solid #e0e6f7;border-radius:9px;color:#9ea5c2;box-shadow:0 8px 20px #7484a80c}.s1{left:40px;top:42px;animation:float 7s ease-in-out infinite}.s2{right:34px;bottom:35px;animation:float 7s ease-in-out -3s infinite}.orbit-dot{height:6px;width:6px;border-radius:50%;background:#b6baf2;position:absolute;box-shadow:0 0 0 5px #b6baf215}.d1{right:47px;top:42px}.d2{left:88px;bottom:42px}.login-card{position:relative;border:1px solid #fff;border-radius:23px;padding:36px;background:linear-gradient(135deg,#fffffff5,#ffffffb0);box-shadow:0 25px 90px #6879aa10,0 3px 20px #b5bfd80d;backdrop-filter:blur(20px);animation:card-enter 1s cubic-bezier(.16,1,.3,1) .08s both}.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.mini-cloud{font-size:30px;color:#9298f6;background:#f0f1ff;width:47px;height:47px;display:grid;place-items:center;border-radius:14px}.secure-tag{font-size:10px;padding:5px 9px;border-radius:20px;color:#7ea899;background:#eff8f5}.login-card h2{font-size:26px;letter-spacing:-.5px}.login-card>p{font-size:13px;margin-top:8px}.login-card form{margin-top:28px}.field{display:grid;gap:9px;margin-bottom:20px}.field>span{font-size:13px;color:#78829c}.field input,.field select,.field textarea{width:100%;background:#fbfcff;border:1px solid #e6eaf5;padding:12px 14px;border-radius:9px;color:#424e6a;transition:border .2s,box-shadow .2s}.field input:focus,.field textarea:focus,.field select:focus{border-color:#a5a7f5;box-shadow:0 0 0 4px #999cf80b}.field input::placeholder,.field textarea::placeholder{color:#b2bbcf;font-size:12px}.password-input{position:relative}.password-input input{padding-right:55px}.password-input button{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:10px;color:#a4abc0}.login-hint{font-size:11px;color:#a0a9bf;margin-top:-4px;margin-bottom:21px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:39px;border:1px solid #e2e7f3;background:white;border-radius:9px;padding:10px 16px;font-size:12px;color:#7d859d;font-weight:550}.btn:hover{box-shadow:0 7px 15px #8392b117;transform:translateY(-2px);background:#fbfcff}.btn:active{transform:translateY(0) scale(.97);transition-duration:.1s}.btn.primary{border-color:#8185f5;background:linear-gradient(100deg,#8589f9,#747af0);box-shadow:0 7px 20px #878bf52a;color:#fff}.btn.primary:hover{box-shadow:0 8px 25px #8085ed48;background:linear-gradient(100deg,#777cf1,#666de3)}.btn.soft{background:#f1f2ff;border-color:#e7e8ff;color:#7d82d8}.btn.icon{width:36px;padding:6px;font-size:18px}.btn.full,.full{width:100%}.login-submit{width:100%;margin-top:0;min-height:46px;font-size:13px;justify-content:space-between;padding:12px 20px}.login-submit span{font-size:19px}.privacy-note{font-size:10px;color:#a3abc0;border-top:1px solid #edf0f8;padding-top:21px;margin-top:22px;line-height:1.9;display:flex;gap:9px}.privacy-note>span{color:#919cc2}.form-error{font-size:12px;color:#d77885;line-height:1.7;margin-top:12px;white-space:pre-wrap}.form-error:empty{display:none}.login-footer{display:flex;align-items:center;justify-content:space-between;max-width:1400px;width:100%;margin:0 auto;padding:30px 70px;color:#a8b0c5;font-size:10px}.login-footer a:hover{color:#7d82d8}.sidebar{position:fixed;inset:0 auto 0 0;width:238px;display:flex;flex-direction:column;background:#ffffffd9;border-right:1px solid #eaedf7;z-index:10;backdrop-filter:blur(18px)}.sidebar>.brand{padding:35px 27px 30px;font-size:20px}.sidebar .brand-icon{font-size:32px;width:34px}.sidebar .brand small{font-size:8px;letter-spacing:1.6px}.space-label{display:flex;align-items:center;gap:8px;margin:0 22px 23px;padding:12px;border:1px solid #edf0f8;border-radius:8px;color:#99a0b7;font-size:11px}.space-label>span:last-child{margin-left:auto}.workspace-dot{width:6px;height:6px;border-radius:50%;background:#acaef5}.nav-item{width:calc(100% - 36px);margin:3px 18px;display:flex;align-items:center;gap:13px;font-size:13px;padding:13px 16px;color:#8c96af;border-radius:9px;text-align:left}.nav-item>span{font-size:20px;width:20px;text-align:center;line-height:1}.nav-item small{margin-left:auto;font-size:10px;color:inherit}.nav-item:hover{background:#f6f7fd;color:#777fa0;transform:translateX(2px)}.nav-item.active{background:linear-gradient(90deg,#eef0ff,#f5f5ff);color:#797fda;font-weight:600}.nav-caption{font-size:10px;letter-spacing:1.2px;margin:27px 33px 9px;color:#b0b7c9}.sidebar-bottom{margin-top:auto;padding:20px 23px}.sidebar-tip{background:linear-gradient(135deg,#f3f5ff,#fafaff);border:1px solid #edf0fc;border-radius:11px;padding:17px 14px;margin-bottom:22px}.sidebar-tip>span{display:block;font-size:22px;color:#b1b6ed;margin-bottom:6px}.sidebar-tip strong{font-size:12px;color:#939ac4;font-weight:500}.sidebar-tip p{font-size:10px;margin-top:6px;color:#b0b6cc}.profile{display:flex;align-items:center;gap:11px;width:100%;text-align:left;border-top:1px solid #edf0f6;padding:19px 0 0}.avatar{height:34px;width:34px;background:linear-gradient(135deg,#edeaff,#e8f1ff);border-radius:10px;display:grid;place-items:center;color:#a1a4da;font-size:15px}.profile strong{font-size:12px;color:#838ca6}.profile small{display:block;font-size:10px;margin-top:4px;color:#b1b8cd}.workspace-main{margin-left:238px;min-height:100svh;display:flex;flex-direction:column}.topbar{height:72px;padding:0 38px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e9edf7;background:#ffffff66;color:#a2aac0;font-size:11px}.topbar>div:first-child{display:flex;align-items:center;gap:16px}.topbar strong{font-weight:500;color:#8d96af}.breadcrumb{color:#d1d7e5}.connected{display:flex;align-items:center;gap:7px;font-size:10px;color:#9eb7af}.connected i{height:5px;width:5px;background:#a0c9b8;border-radius:50%}.connected>span{border-left:1px solid #e6eaf4;padding-left:13px;margin-left:7px;color:#a8aec4}.mobile-menu{display:none}.page{padding:36px 38px 0;max-width:1500px;margin:0 auto;width:100%}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:27px;gap:15px}.page-heading .eyebrow{font-size:9px;color:#a3acc5;margin-bottom:10px}.page-heading p{font-size:12px;margin-top:8px}.greeting-dot{font-size:23px;color:#c0c3ee;display:inline-block;animation:star-turn 9s cubic-bezier(.65,0,.35,1) infinite}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:19px;margin-bottom:23px}.stats article{border:1px solid #e9edf8;border-radius:12px;background:#ffffffcf;padding:21px 24px;box-shadow:0 4px 15px #aab8d305}.stats article>span{font-size:12px;color:#98a2bc;display:flex;justify-content:space-between;align-items:center}.stats i{font-style:normal;font-size:19px;color:#a9ace4;background:#f0f2ff;width:32px;height:32px;border-radius:8px;display:grid;place-items:center}.stats article:nth-child(2) i{color:#94b9d8;background:#edf6ff}.stats article:nth-child(3) i{color:#9ac2b7;background:#eef8f4}.stats strong{font-size:32px;font-weight:600;display:block;margin:4px 0 7px;letter-spacing:-1px}.stats small{font-size:10px;color:#a8b2c7}.welcome-banner{display:flex;justify-content:space-between;align-items:center;overflow:hidden;position:relative;border:1px solid #e3e8ff;border-radius:15px;padding:29px 32px;min-height:226px;background:linear-gradient(110deg,#eef2ff,#f3f3ff 60%,#e9edff)}.welcome-banner h2{font-size:27px;line-height:1.5;font-weight:600;color:#717fa7;margin-top:14px;letter-spacing:-.6px}.welcome-banner p{font-size:12px;color:#9aa6c3;margin-top:9px}.welcome-banner button{font-size:12px;color:#8a91cc;display:flex;gap:35px;align-items:center;padding:0;margin-top:20px}.welcome-banner button>span{font-size:18px}.welcome-banner .eyebrow{font-size:8px;letter-spacing:1.8px;color:#9ca8ca}.banner-orbit{width:300px;height:200px;position:relative;display:grid;place-items:center;transform:translate(var(--mouse-x),var(--mouse-y));transition:transform 1.5s cubic-bezier(.16,1,.3,1)}.banner-orbit .ring{width:190px;height:190px;transform:rotateX(35deg) rotateZ(-20deg);border-color:#c1c9eb55}.banner-orbit .r2{width:280px;height:280px;border-style:dashed;animation:orbit-drift 13s cubic-bezier(.45,0,.55,1) infinite alternate}.banner-core{font-size:55px;font-weight:700;color:#acb1e9;background:linear-gradient(145deg,#ffffffd9,#e3e8ff99);border:1px solid #fff;border-radius:29px;position:relative;display:grid;place-items:center;height:110px;width:110px;transform:rotate(-14deg);box-shadow:12px 20px 45px #a1acd82c;animation:float 6s cubic-bezier(.45,0,.55,1) infinite}.banner-core>span{font-size:25px;position:absolute;right:12px;top:10px}.orb-label{position:absolute;bottom:12px;left:28px;font-size:8px;letter-spacing:1.5px;color:#a3aed4;background:#f5f7ffb3;border:1px solid #e2e8ff;padding:7px 10px;border-radius:6px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:28px 0 18px}.section-heading h2{font-size:17px}.section-heading h2 small{font-size:9px;letter-spacing:1.6px;color:#b0b8ce;margin-left:12px;font-weight:400}.section-heading>button{font-size:11px;color:#9ca5c0}.subscription-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.subscription-card{background:#ffffffed;border:1px solid #e6ebf8;border-radius:13px;padding:21px 18px 17px;box-shadow:0 5px 16px #a7b7d207;transform:perspective(800px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .65s cubic-bezier(.16,1,.3,1),box-shadow .4s,border-color .4s;animation:enter .7s cubic-bezier(.16,1,.3,1) calc(var(--i)*.06s) backwards}.subscription-card:hover{box-shadow:0 14px 30px #8599c31a;border-color:#cbd3f5}.row,.between{display:flex;align-items:center;gap:8px}.between{justify-content:space-between}.grow{flex:1}.client-icon{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(140deg,#b2c2ff,#a1b4f2);color:white;font-size:25px;font-style:italic;font-weight:700;box-shadow:0 4px 8px #a7bafa20}.client-surge{background:linear-gradient(140deg,#b9c9e9,#9fb2d1)}.client-ss{background:linear-gradient(140deg,#a8d4d0,#9bc2c0);font-size:17px}.client-anytls{background:linear-gradient(140deg,#cbbbed,#b7a6d9)}.tag{font-size:9px;letter-spacing:.3px;border:1px solid #edf0f7;color:#a5afc6;background:#f9faff;border-radius:5px;padding:4px 7px}.subscription-card h3{font-size:15px;margin-top:19px}.subscription-card p{font-size:10px;margin-top:7px;white-space:normal;min-height:34px}.subscription-url{display:flex;align-items:center;gap:6px;border:1px solid #edf0f8;background:#fbfcff;padding:9px 8px;border-radius:6px;color:#b0b9ce;font-size:9px;white-space:nowrap;margin:15px 0 12px;overflow:hidden}.subscription-url>span{overflow:hidden;text-overflow:ellipsis}.subscription-card .btn{font-size:10px;min-height:33px;padding:7px}.subscription-card .icon{width:33px;font-size:17px}.bottom-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:20px;margin-top:24px}.panel{background:#ffffffdb;border:1px solid #e8edf8;border-radius:13px;padding:23px}.panel>.section-heading:first-child{margin-top:0}.node-row{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #f0f3f9}.node-row:last-child{border:0}.node-row strong{font-size:12px;font-weight:500}.node-row small{display:block;font-size:10px;margin-top:4px}.node-row>.status,.node-row>.btn{margin-left:auto}.node-icon{width:35px;height:35px;display:grid;place-items:center;border-radius:9px;background:#f1f4fc;color:#a4aecb;font-size:20px}.status{display:inline-flex;align-items:center;gap:5px;background:#eff8f3;color:#8ab6a5;border:1px solid #e7f3ec;padding:4px 7px;border-radius:5px;font-size:10px;white-space:nowrap}.status:before{content:'•';font-size:10px}.status.off{color:#c896a5;background:#fcf1f5;border-color:#f9e7ee}.tip-panel{background:linear-gradient(135deg,#fff,#f6f8ff)}.tip-icon{font-size:25px;display:grid;place-items:center;width:37px;height:37px;background:#eef0ff;border-radius:10px;color:#b1b6ed;margin-bottom:18px}.tip-panel p{font-size:12px;margin:11px 0 18px}.tip-panel .btn{font-size:11px}.app-footer{margin-top:auto;display:flex;justify-content:space-between;font-size:10px;color:#b2bace;padding:28px 38px;max-width:1500px;width:100%;align-self:center}.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:22px}.search{border:1px solid #e7edf8;background:#fcfdff;border-radius:8px;padding:9px 12px;color:#8f9ab4;width:210px;font-size:12px}.search::placeholder{color:#b1bad0}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}th{font-size:11px;font-weight:500;color:#a2aec7;padding:13px 12px;border-bottom:1px solid #edf1f8}td{padding:17px 12px;border-bottom:1px solid #f0f3fa;font-size:12px;color:#909cb5}td strong{font-weight:550;color:#77859f}tr:last-child td{border-bottom:0}.text-button{font-size:11px;color:#929adb;padding:4px 8px}.text-button:hover{color:#6f79c8;transform:translateY(-1px)}.text-button.danger{color:#d1a0ad}.remark{white-space:normal;max-width:240px;min-width:110px;line-height:1.7;word-break:break-word}.mono{font-family:Consolas,monospace}.empty{padding:45px 15px;display:flex;align-items:center;flex-direction:column;gap:10px;color:#c6ceea}.empty>span{font-size:35px}.empty p{font-size:12px;color:#aeb8d0}.footnote{font-size:11px;color:#acb5cb;margin-top:15px;line-height:1.8}.converter{display:grid;grid-template-columns:1fr 1fr;gap:20px}.converter .section-heading{margin-top:0}.converter h3{font-size:14px;color:#8b97b3;display:flex;align-items:center;gap:10px}.step-number{display:inline-grid;place-items:center;background:#eff2fc;height:25px;width:25px;border-radius:7px;color:#adb6d4;font-size:11px}.code{width:100%;min-height:325px;resize:vertical;border:1px solid #e7edf7;border-radius:10px;background:#f9fbff;padding:17px;color:#8a97b5;font-family:Consolas,'Microsoft YaHei',monospace;font-size:12px;line-height:1.8;outline:0}.code:focus{border-color:#b8c1ed}.code::placeholder{color:#bec7dc}.format-choices{display:grid;grid-template-columns:repeat(4,1fr);margin:22px 0 18px;gap:7px}.format-choices input{position:absolute;opacity:0}.format-choices span{display:block;border:1px solid #e9edf8;border-radius:7px;text-align:center;padding:10px 2px;color:#a7b0c7;font-size:10px;cursor:pointer;transition:.3s}.format-choices input:checked+span{border-color:#c8ccf6;background:#f0f2ff;color:#8b93d5}.format-choices input:focus-visible+span{outline:2px solid #9299dc}.converter .output{min-height:195px}.converter .full+.section-heading{margin-top:24px}.upload input{display:none}.upload{cursor:pointer}dialog{padding:28px;max-width:560px;width:calc(100% - 32px);max-height:90svh;overflow:auto;border:1px solid #e2e9fc;border-radius:19px;background:#fff;box-shadow:0 30px 100px #6777a333;color:var(--ink)}dialog[open]{animation:dialog-enter .4s cubic-bezier(.22,1,.36,1)}dialog::backdrop{background:#63729335;backdrop-filter:blur(5px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.dialog-head h2{font-size:21px;margin-top:9px}.dialog-head .eyebrow{font-size:8px}.dialog-head button{font-size:25px;color:#a3acc5}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #edf1f8;padding-top:21px;margin-top:25px}dialog .code{min-height:190px}dialog textarea:not(.code){min-height:80px;resize:vertical}.toggle-row{display:flex;align-items:center;gap:9px;color:#8e9ab6;font-size:12px;margin-bottom:22px}input[type=checkbox]{accent-color:#9297e8;width:16px;height:16px}.grants{border:1px solid #e7edf8;border-radius:9px;max-height:180px;overflow:auto;padding:10px}.grants>label{display:flex;gap:8px;align-items:center;font-size:12px;color:#8d9bb6;padding:9px 5px}.grants small{margin-left:auto;font-size:10px}.grants p{font-size:12px}.confirm-text{font-size:14px;line-height:1.9}.toast{position:fixed;z-index:100;bottom:30px;left:50%;transform:translateX(-50%);padding:15px 24px;border:1px solid #e0e6ff;background:#fff;color:#8994b9;border-radius:11px;box-shadow:0 10px 45px #8497c331;font-size:13px;max-width:90vw;animation:toast-enter .35s cubic-bezier(.16,1,.3,1)}
@keyframes enter{from{opacity:0;translate:0 16px}to{opacity:1;translate:0 0}}@keyframes card-enter{from{opacity:0;transform:translateY(24px) scale(.97) rotate(1deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}@keyframes float{0%,100%{translate:0 0;rotate:-2deg}50%{translate:0 -12px;rotate:3deg}}@keyframes orbit-drift{from{transform:rotateX(60deg) rotateZ(-20deg)}to{transform:rotateX(45deg) rotateZ(45deg)}}@keyframes star-turn{0%,30%{transform:rotate(0)}70%,100%{transform:rotate(180deg)}}@keyframes dialog-enter{from{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-enter{from{opacity:0;bottom:15px}to{opacity:1;bottom:30px}}
@media(min-width:1500px){.login-main{gap:160px;max-width:1300px}.login-card{padding:43px}.login-story h1{font-size:65px}.page{padding-top:43px}.welcome-banner{min-height:247px}.subscription-card{padding:25px 23px}}
@media(max-width:1150px){.login-main{gap:50px;padding:25px 60px}.login-story h1{font-size:48px}.login-card{padding:29px}.sidebar{width:210px}.sidebar>.brand{padding-left:20px}.workspace-main{margin-left:210px}.page{padding:28px 25px 0}.topbar{padding:0 25px}.subscription-grid{grid-template-columns:repeat(2,1fr)}.subscription-card p{min-height:20px}.stats article{padding:17px}.banner-orbit{width:230px}.welcome-banner{padding:26px}.page h1{font-size:26px}.app-footer{padding:25px}.bottom-grid{grid-template-columns:1fr 1fr}}
@media(max-width:767px){.login-header{padding:28px 25px}.login-header .brand{font-size:19px}.header-note{display:none}.login-main{display:flex;flex-direction:column;gap:25px;padding:0 24px 35px;max-width:465px}.login-story{padding:0;width:100%;margin-top:13px}.login-story h1{font-size:32px;letter-spacing:-1px;margin:12px 0 8px}.login-story h1 br{display:none}.login-story p,.protocols,.connection-orbit{display:none}.login-story .eyebrow{font-size:8px}.login-card{width:100%;padding:27px;border-radius:19px}.login-card h2{font-size:24px}.card-top{margin-bottom:24px}.login-footer{padding:20px 25px;font-size:9px;gap:10px}.login-footer>span:last-child{display:none}.sidebar{transform:translateX(-100%);transition:transform .45s cubic-bezier(.16,1,.3,1);box-shadow:20px 0 70px #7187b422}.sidebar.open{transform:translateX(0)}.workspace-main{margin-left:0}.mobile-menu{display:block;font-size:17px;color:#a3acca}.topbar{padding:0 18px;height:61px}.topbar>div:first-child{gap:11px}.connected{font-size:9px}.connected>span{display:none}.page{padding:25px 17px 0}.page h1{font-size:24px}.page-heading p{font-size:11px}.page-heading .btn{font-size:10px;padding:9px 10px;white-space:nowrap}.stats{gap:8px}.stats article{padding:12px}.stats article>span{font-size:10px}.stats i{height:22px;width:22px;font-size:14px}.stats strong{font-size:26px;margin:7px 0}.stats small{font-size:8px}.welcome-banner{padding:24px;min-height:225px}.welcome-banner h2{font-size:25px}.welcome-banner p{font-size:10px;max-width:210px}.welcome-banner .eyebrow{font-size:6px;letter-spacing:1px}.banner-orbit{position:absolute;width:200px;right:-80px;opacity:.65;pointer-events:none}.welcome-banner>div:first-child{position:relative;z-index:1}.subscription-grid{gap:10px}.subscription-card{padding:17px 12px 12px}.subscription-card h3{font-size:13px}.subscription-card p{font-size:9px;min-height:32px}.subscription-card .btn{font-size:9px}.client-icon{height:33px;width:33px;font-size:21px}.client-ss{font-size:14px}.subscription-url{font-size:8px}.subscription-card .tag{font-size:8px;padding:3px 5px}.bottom-grid,.converter{grid-template-columns:1fr}.section-heading h2{font-size:16px}.section-heading h2 small{display:none}.panel{padding:18px}.table-toolbar h3{font-size:14px}.search{width:150px;font-size:11px}.app-footer{padding:22px 18px;font-size:9px}.footnote{font-size:10px}.code{min-height:250px}dialog{padding:23px}.page-heading{gap:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.ambient,.connection-orbit,.banner-orbit,.subscription-card{transform:none!important}}
/* Readability refinement: keep essential copy clear on light surfaces. */
.header-note,.login-footer{color:#67758f;font-size:12px}
.login-story>p{color:#65748f;font-size:16px}
.login-card>p{color:#66748c;font-size:14px}
.field>span{color:#52617b;font-size:14px;font-weight:550}
.field input::placeholder,.field textarea::placeholder{color:#7a88a0;font-size:14px}
.login-hint{color:#687791;font-size:13px;line-height:1.8}
.privacy-note{font-size:13px;color:#586a84;line-height:1.85;gap:10px}
.privacy-note>span{color:#697cb0;font-size:16px}
.secure-tag{font-size:12px;color:#3d7560;background:#eaf5ef}
.password-input button{font-size:12px;color:#677b9b}
.form-error{font-size:13px;color:#a64258}
.brand small{color:#67748e;font-size:10px}
.login-story .eyebrow{color:#69799b}
.eyebrow{color:#76829e}
.page-heading p,.tip-panel p{color:#657792;font-size:14px}
.subscription-card p{color:#65748e;font-size:13px;min-height:42px}
.subscription-url{font-size:12px;color:#677997}
.subscription-card .btn{font-size:12px}
.tag{color:#667b9b;font-size:11px}
.stats article>span{font-size:13px;color:#657792}
.stats small,.node-row small{font-size:12px;color:#657792}
.footnote{font-size:13px;color:#63768f;line-height:1.9}
th{font-size:12px;color:#5e7190}td{font-size:13px;color:#596e8a}
.status{font-size:12px;color:#467b67}.status.off{color:#a2536f}
.profile small,.sidebar-tip p,.app-footer{color:#6e809c;font-size:12px}
.sidebar .brand small{color:#6e7c98;font-size:9px}
.nav-item{color:#687c9a}.nav-caption{color:#7a8ba5;font-size:11px}
.text-button{font-size:12px;color:#697abd}
@media(max-width:767px){.privacy-note{font-size:13px;line-height:1.9}.login-footer{font-size:11px}.login-story .eyebrow{font-size:9px}.stats small{font-size:11px}.subscription-card p{font-size:12px}.subscription-card .btn{font-size:11px}.subscription-url{font-size:11px}.subscription-card .tag{font-size:10px}.page-heading p{font-size:13px}.footnote{font-size:12px}.app-footer{font-size:11px}.subscription-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:380px){.subscription-grid{grid-template-columns:1fr}}
/* Cloudy Connect v2: clear light surfaces and visible animated boundaries. */
:root{--ink:#172643;--muted:#52627d;--primary:#5149da;--line:#bac9e5}
body{background:#edf2fc;color:var(--ink)}p,small,.footnote,.header-note,.login-footer,.app-footer,.page-heading p,.subscription-card p,.stats small,.nav-caption{color:#52627d!important}
.brand small{color:#4c5b79;font-size:11px}.eyebrow{color:#5149bb!important}.tag{background:#e9eafd;color:#383491;border:1px solid #c3c5ee}.text-button{color:#463ec0}.text-button.danger{color:#b32342}
.panel,.stats article,.subscription-card,.login-card,.upload-strip{border:1.5px solid #aab9e6;background:linear-gradient(135deg,#fff 70%,#f1f4ff);box-shadow:0 8px 26px #34488512,0 0 0 3px #bcc8ff18;animation:boundary-glow 5.5s cubic-bezier(.45,0,.15,1) infinite alternate;position:relative}
.panel:hover,.subscription-card:hover,.stats article:hover,.upload-strip:hover{border-color:#7775e9;box-shadow:0 14px 36px #4c54bc24,0 0 18px #847dff32}
@keyframes boundary-glow{0%,15%{border-color:#aab9e6;box-shadow:0 8px 26px #34488512,0 0 0 2px #bcc8ff16}65%,100%{border-color:#867ddd;box-shadow:0 10px 30px #5363aa1a,0 0 15px #8e84ff32,0 0 0 3px #a5b8ff1a}}
.stats article:nth-child(2),.subscription-card:nth-child(2){animation-delay:-1.8s}.stats article:nth-child(3),.subscription-card:nth-child(3){animation-delay:-3.6s}
.welcome-banner{border:1.5px solid #8976e4;box-shadow:0 12px 36px #5a4dc12b}.sidebar{border-right:1.5px solid #c0c8e5}.topbar{border-bottom:1px solid #bdcae5;background:#fffffff2}.nav-item{color:#455673}.nav-item.active{color:#3930af;background:#e7e8ff;box-shadow:inset 3px 0 #6659e8}.btn{border:1px solid #bbc8e1}.btn.primary{background:linear-gradient(120deg,#5d4edb,#425ed1);color:white;box-shadow:0 5px 16px #584be838}.btn.primary:hover{box-shadow:0 8px 26px #584be855;transform:translateY(-2px)}
.field input,.field textarea,.field select,.search,.code{border:1px solid #adbcda;background:#fbfcff;color:#20304b}.field input:focus,.field textarea:focus,.field select:focus,.code:focus{border-color:#6553dc;box-shadow:0 0 0 3px #7b6cec20}input::placeholder,textarea::placeholder{color:#64738e!important}
th{color:#374866;background:#edf1fa}td{color:#34435e;border-bottom:1px solid #d4ddef}tbody tr:hover{background:#f3f4ff}.status{color:#17654f;background:#def4ec}.status.off{color:#9b3543;background:#fce6e9}.section-heading small{color:#596886}.footnote{font-size:12px!important;line-height:1.8}.login-security{color:#485878!important}
.upload-strip{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:24px;border-radius:18px;margin-bottom:24px}.upload-strip strong{font-size:17px}.upload-strip p{margin-top:6px}.file-upload-label{display:inline-flex;cursor:pointer;gap:12px;align-items:center}.file-upload-label input{max-width:210px;font-size:12px}.node-details{margin-top:8px;min-width:190px}.node-details summary{cursor:pointer;color:#5145ba;font-size:12px}.node-details div{padding:8px;background:#eff3fc;border-left:2px solid #9282e8;margin-top:6px}.node-details small,.preview-node small,.publish-people small{display:block;margin-top:4px}.node-details strong{font-size:12px}.preview-list{max-height:280px;overflow:auto;border:1px solid #b4c1df;border-radius:12px;margin-top:12px}.preview-node{display:flex;align-items:center;gap:12px;padding:12px;border-bottom:1px solid #d6deef}.preview-node:last-child{border:0}#node-preview h3{margin-top:20px}.publication-intro{margin-bottom:22px}.publication-intro p{margin-top:8px}.person-chip{display:inline-block;background:#eeedff;border:1px solid #cfcbef;padding:5px 9px;border-radius:9px;margin:3px}.publish-people label{padding:12px}.publish-people input,.preview-node input{accent-color:#5747cb;width:17px;height:17px}.muted{color:#62708a}
@media(max-width:700px){.upload-strip{padding:18px;align-items:flex-start;flex-direction:column}.stats small{font-size:10px!important}.page-heading p,.subscription-card p{font-size:12px!important}.subscription-card .btn{font-size:11px}.connected{font-size:11px}.field input,.field textarea,.field select{font-size:16px}.file-upload-label{flex-wrap:wrap}.footnote{font-size:12px!important}}
@media(prefers-reduced-motion:reduce){.panel,.stats article,.subscription-card,.login-card,.upload-strip{animation:none!important}.btn.primary:hover{transform:none}}

/* v3: stronger typography and distinct subscription rows. */
:root{--ink:#101c32;--muted:#3d4f6c;--line:#9caccc;--primary:#4934c5}
body{color:#101c32;background:#e8eefb;font-size:15px}p,small,.footnote,.nav-item,.header-note,.login-footer,.app-footer,.page-heading p,.subscription-card p,.stats small{color:#3d4f6c!important}.field>span{color:#243653;font-weight:650}.privacy-note,.login-hint{color:#344664!important;font-size:13px!important}.nav-item.active{color:#33249a!important;font-weight:700}.tag{color:#302376;background:#e4dfff;border-color:#aca1e1}.panel,.stats article,.subscription-card,.login-card{border-width:2px;animation-name:boundary-glow-v3}
@keyframes boundary-glow-v3{0%,15%{border-color:#879bd0;box-shadow:0 9px 25px #36479520,0 0 0 2px #b4adff25}65%,100%{border-color:#7860dc;box-shadow:0 14px 36px #4d4e992a,0 0 24px #9172f654,0 0 0 3px #b1a2ff22}}
.node-subscriptions{grid-template-columns:repeat(2,minmax(0,1fr))!important}.node-subscriptions .subscription-card:nth-child(3),.node-subscriptions .subscription-card:nth-child(4){background:linear-gradient(130deg,#fff,#ecefff);margin-top:10px}.subscription-card h3{font-size:19px}.subscription-card p{font-size:13px}.subscription-url{font-size:12px;color:#44516b}.page-heading p{font-size:14px}.health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;margin-top:22px}.health-card{border:1px solid #a4b3d3;padding:20px;border-radius:16px;background:#f9fbff}.health-card p{font-size:12px;margin-top:10px}.health-card .field{margin-top:16px}.health-badge{display:inline-block;margin-top:14px;padding:7px 12px;border-radius:8px;font-size:13px;font-weight:700;background:#e7ebf3;color:#44506a}.health-badge.available{background:#d8f1e4;color:#12553a}.health-badge.unavailable{background:#fbe0e4;color:#992338}.health-badge.maintenance{background:#fff0c9;color:#7a5100}.announcement-summary{margin-bottom:24px;border-color:#8f73db}.announcement-summary>div{margin:15px 0}.announcement-body{white-space:pre-wrap;overflow-wrap:anywhere;color:#263652!important;line-height:1.9}.announcements{display:grid;gap:22px}.announcements article{padding:24px}.subboost-frame{display:block;border:1px solid #a5b1d1;border-radius:14px;width:100%;height:calc(100vh - 230px);min-height:720px;background:#10131c}.btn{font-weight:600}.btn.primary,.login-submit{color:#fff!important}.page h1{color:#101c32}.table-wrap th{color:#24334e;font-weight:700}.table-wrap td{color:#293b57}
@media(max-width:600px){.node-subscriptions{gap:12px}.subscription-card h3{font-size:15px}.subscription-card p{font-size:12px}.subscription-card .btn{font-size:11px}.subscription-url{font-size:10px}.subboost-frame{min-height:750px}.health-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.panel,.stats article,.subscription-card,.login-card{animation:none!important;border-color:#8876cf;box-shadow:0 8px 25px #5c4f9920}}


/* Cloudy Connect v4: daily home and quieter navigation. */
.brand{cursor:default}.regular-user .sidebar-tip{display:none}.daily-welcome{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px;padding:20px 24px;border:1px solid #b5c5e8;border-radius:18px;background:#f4f7ff}.daily-welcome p{color:#314568;font-size:15px}.overview-announcements{min-height:250px;margin:0 auto 28px;padding:28px 32px}.overview-announcements h2{margin-top:10px}.notice-item{padding:20px 0;border-top:1px solid #cbd4e8}.notice-item h3{font-size:19px}.notice-item p{margin:10px 0;color:#263b5e}.notice-empty{min-height:170px;display:grid;align-content:center;justify-items:center;gap:10px}.notice-empty>span{font-size:34px;color:#6356d0}.notice-empty p{color:#465a7d}.daily-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.daily-grid .panel{padding:27px}.daily-grid h3{margin:12px 0;font-size:19px}.daily-copy{color:#263750!important;font-size:15px;line-height:1.9;margin:12px 0 20px}.daily-puzzle{grid-column:1/-1}.history-credit,.network-detail{display:block;margin-top:9px;line-height:1.7;color:#455777}.assigned-files{margin:26px 0 32px}.btn.soft{color:#443396;background:#eeebff;font-weight:650}.topbar,.breadcrumb,.connected{color:#425571}.login-footer,.app-footer{gap:18px;flex-wrap:wrap}.login-footer a,.app-footer a{color:#424f73}.privacy-note{font-size:13px;line-height:1.85;color:#344766}.tag{color:#423c73}.page-heading h1{overflow-wrap:anywhere}
@media(max-width:760px){.daily-welcome{align-items:flex-start;flex-direction:column;gap:10px}.daily-grid{grid-template-columns:1fr}.overview-announcements{padding:24px}.daily-puzzle{grid-column:auto}}

.daily-copy{white-space:pre-line}.converter-shell{min-width:0}

/* Isolate embedded upstream typography from host-wide important text colors. */
#cloudy-converter p,#cloudy-converter small{color:#cbd5e1!important}
#cloudy-converter input::placeholder,#cloudy-converter textarea::placeholder{color:#a7b5cd!important}
#cloudy-converter .text-center:has(>h1){display:none}
#cloudy-converter{box-shadow:0 0 0 1px #8b7af2,0 12px 38px #6656b329}

.sidebar{height:100vh;height:100dvh;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden;padding-bottom:max(16px,env(safe-area-inset-bottom))}.sidebar>.brand,.space-label{flex-shrink:0}.sidebar #navigation{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-bottom:12px}.sidebar-bottom{position:static!important;flex:0 0 auto;margin-top:12px!important;padding-bottom:0!important}.sidebar-tip{display:none}.profile{width:100%}.subscription-url{height:auto;min-height:52px;align-items:flex-start}.subscription-url span{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;user-select:all;font-family:Consolas,monospace;font-size:13px;line-height:1.7}.batch-toolbar,.log-controls,.log-pagination{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:16px 0}.batch-toolbar select{padding:10px;border:1px solid #9cadd0;border-radius:8px;background:#fff;color:#243653}.log-controls .search{flex:1;min-width:190px}.log-pagination{justify-content:space-between}.batch-toolbar strong{color:#352b79}.log-result{min-height:120px}

.protocol-heading{margin:24px 0 16px}.file-subscription{padding:18px 0;border-bottom:1px solid #bdc9e0}.file-subscription h4{margin-bottom:12px}.panel+.panel{margin-top:20px}

.personal-token{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 18px;background:#fff;border:1px solid #7298dd;border-radius:14px;color:#253d68;box-shadow:0 0 18px #588dff26}.personal-token code{font-size:15px;font-weight:700;word-break:break-all;user-select:all}.file-subscription .btn{margin-top:12px}

/* Client-specific imports, with independent file selection. */
.client-import-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.client-import-grid .panel{margin:0;min-width:0;border:1px solid #8ca9df;box-shadow:0 8px 28px #487cf218,inset 0 1px 0 #fff}.client-import-card h3{margin:0}.client-import-card .field{margin:24px 0 16px}.client-import-card select{width:100%;color:#162d56;background:#fff;min-height:48px}.client-import-card .btn{width:100%;justify-content:center;min-height:48px;margin-top:10px}.import-app{text-decoration:none;display:flex;align-items:center;gap:10px}.import-app img{object-fit:contain;border-radius:7px;background:white;padding:2px}.import-hint{font-size:13px!important;line-height:1.7;color:#344d72!important;margin:18px 0 0}.client-import-card .tag{white-space:nowrap}@media(max-width:1100px){.client-import-grid{grid-template-columns:1fr}.client-import-card .field{margin-top:16px}}

/* Publishing system */
.publication-intro p{line-height:1.8;color:#273957}.publication-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid #b3c7e1}.publication-row:last-child{border-bottom:0}.publication-row p{margin:7px 0;color:#435675}.protocol-heading{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.protocol-select{margin-left:auto;font-size:14px;display:flex;gap:8px;align-items:center;color:#19345a}.protocol-select input{width:18px;height:18px;accent-color:#305cdd}.publish-people [hidden]{display:none!important}.publication-intro{margin-bottom:24px}
