/* Orb 软件窗口「插件管理」页的网页版（2026-10-18 新建，/orb.php 和首页共用；结构在 orb_win.php，交互在 /js/orb-win.js）
   颜色照 Orb v3 设置窗口取的：窗口 #0e0c0a、面板 #15120f、边框 #282119、金 #e8b04b、橙下划线 #f09d49 */
.ow{--ow-bg:#0e0c0a;--ow-panel:#15120f;--ow-side:#0c0a08;--ow-line:#282119;--ow-line2:#352c20;--ow-ctl:#1e1a15;--ow-gold:#e8b04b;
    --ow-t1:#f4eddf;--ow-t2:#d9d2c4;--ow-t3:#9a8f80;--ow-t4:#797163;--ow-on:#46d996;
    position:relative;display:flex;flex-direction:column;border-radius:12px;background:var(--ow-bg);border:1px solid var(--ow-line2);
    box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 0 1px rgba(0,0,0,.4),0 0 60px rgba(238,189,85,.07);
    font-family:"Microsoft YaHei","PingFang SC","Hiragino Sans GB","Noto Sans SC",sans-serif;color:var(--ow-t2);text-align:left;overflow:hidden}
.ow::before{content:"";position:absolute;left:4%;right:4%;top:0;height:2px;z-index:2;pointer-events:none;
    background:linear-gradient(90deg,transparent,#f09d49 18%,#f6c25a 50%,#f09d49 82%,transparent)}
.ow button{font-family:inherit;color:inherit;cursor:pointer}
.ow input{font-family:inherit;color:var(--ow-t1);outline:none}

/* ---------- 标题栏 ---------- */
.ow-top{display:flex;align-items:center;gap:10px;height:62px;padding:0 16px;flex:none;white-space:nowrap}
.ow-logo{width:34px;height:34px;flex:none}
.ow-name{font:700 26px/1 "OptimusPrincepsSemiBold","Microsoft YaHei",serif;letter-spacing:.5px;
    background:linear-gradient(180deg,#fff0c4,#f2c25a 45%,#d38c27);-webkit-background-clip:text;background-clip:text;color:transparent}
.ow-ver{padding:2px 9px;border-radius:9px;font-size:12px;font-weight:700;color:var(--ow-gold);background:#2e2415;border:1px solid #5a4421}
.ow-hint{font-size:12.5px;color:var(--ow-t3);overflow:hidden;text-overflow:ellipsis;min-width:0}
/* 官网铭牌（SVG，照软件标题栏复刻）：地球经线收放像在转、外圈金珠绕圈、网址金色流动、星芒闪、箭头往右流；悬停整体提亮 */
.ow-site{display:block;width:244px;height:44px;margin:0 auto;flex:none;overflow:visible;cursor:pointer;filter:drop-shadow(0 3px 6px rgba(0,0,0,.55));transition:filter .25s}
.ow-site:hover{filter:drop-shadow(0 3px 6px rgba(0,0,0,.55)) brightness(1.12)}
.ow-site-tx,.ow-site-sh{font:800 26px "Microsoft YaHei UI","Microsoft YaHei","Segoe UI",sans-serif;letter-spacing:.2px}
.ow-site-sh{fill:#1a0f04;opacity:.85}
.ow-seal-tx{font:900 13.5px "Microsoft YaHei","PingFang SC",sans-serif;fill:#ffedc7;text-anchor:middle}
.ow-beads{fill:#fff4cf;transform-box:view-box;transform-origin:25px 22px;animation:owSpin 10.5s linear infinite}
.ow-beads circle:nth-child(odd){opacity:.45}
.ow-mer{fill:none;stroke:#f2c25a;stroke-width:1.1;transform-box:fill-box;transform-origin:center;animation:owMer 7s ease-in-out infinite}
.ow-mer.m2{animation-delay:-2.33s}
.ow-mer.m3{animation-delay:-4.66s}
.ow-spark path{fill:#fff7dc;transform-box:fill-box;transform-origin:center;transform:scale(0);animation:owSpark 2.7s ease-in-out infinite}
.ow-spark .s2{animation-delay:-1.8s}
.ow-spark .s3{animation-delay:-.95s}
.ow-chev polyline{stroke:#f2c25a;animation:owChev 1.5s ease-in-out infinite}
.ow-chev .c2{animation-delay:.3s}
@keyframes owSpin{to{transform:rotate(360deg)}}
@keyframes owMer{0%,100%{transform:scaleX(.05)}25%,75%{transform:scaleX(1)}50%{transform:scaleX(.05)}}
@keyframes owSpark{0%,100%{transform:scale(0) rotate(0)}12%{transform:scale(1.1) rotate(25deg)}30%{transform:scale(0) rotate(60deg)}}
@keyframes owChev{0%,100%{stroke-opacity:.3}50%{stroke-opacity:1}}
@media (prefers-reduced-motion:reduce){.ow-beads,.ow-mer,.ow-spark path,.ow-chev polyline{animation:none}.ow-spark path{transform:scale(0)}}
.ow-state{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:12px;font-size:12px;color:#a8e8c2;background:#1b1d17;border:1px solid #2c3a2c;flex:none}
.ow-state i{width:7px;height:7px;border-radius:50%;background:var(--ow-on);box-shadow:0 0 6px var(--ow-on)}
.ow-wb{display:inline-flex;gap:16px;margin-left:8px;color:#c8c0b2;font-style:normal;font-size:15px;flex:none}
.ow-wb i{font-style:normal}

/* ---------- 主体 ---------- */
.ow-body{display:flex;gap:12px;padding:0 14px 14px;min-height:0;flex:1}
.ow-side{width:236px;flex:none;display:flex;flex-direction:column;background:var(--ow-side);border:1px solid var(--ow-line);border-radius:10px;padding:10px;min-height:0}
.ow-sbar{display:flex;gap:6px;flex:none}
.ow-q,.ow-q2{height:30px;padding:0 10px;border-radius:6px;background:var(--ow-ctl);border:1px solid transparent;font-size:13px;min-width:0}
.ow-q{flex:1}
.ow-q:focus,.ow-q2:focus{border-color:#6b532a}
.ow-q::placeholder,.ow-q2::placeholder{color:#8a8170}
.ow-only{height:30px;padding:0 8px;border-radius:6px;background:var(--ow-ctl);border:1px solid transparent;font-size:12px;color:var(--ow-t3)}
.ow-only[aria-pressed="true"]{color:#241703;background:var(--ow-gold)}
.ow-slist{flex:1;overflow-y:auto;margin:8px -4px 0;padding:0 4px;min-height:0;scrollbar-width:thin;scrollbar-color:#3a3226 transparent}
.ow-fav{padding:4px 4px 8px}
.ow-fav b{display:block;font-size:14px;font-weight:600;color:var(--ow-t2)}
.ow-fav b::first-letter{color:var(--ow-gold)}
.ow-fav small{display:block;margin-top:3px;font-size:11.5px;color:var(--ow-t4)}
.ow-sec{padding:6px 4px 4px;font-size:13px;color:#8a8170}
.ow-nav{position:relative;padding:7px 12px 7px 22px;margin:2px 0;border-radius:7px;font-size:14px;color:var(--ow-t2);border:1px solid transparent}
.ow-nav.on{background:#312613;border-color:#6b532a;color:var(--ow-t1)}
.ow-nav.on::before{content:"";position:absolute;left:-1px;top:6px;bottom:6px;width:4px;border-radius:2px;background:#f59248}
.ow-scat{display:flex;align-items:center;gap:6px;padding:10px 4px 6px;font-size:13.5px;color:#c3bdb1;cursor:pointer;user-select:none}
.ow-scat i{font-style:normal;color:#5aa8e6;font-size:12px}
.ow-scat span{flex:1}
.ow-scat small{font-size:11.5px;color:#8a8170}
.ow-scat small b{font-weight:400}
.ow-sitem{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 22px;border-radius:7px;font-size:13.5px;color:#8a8170}
.ow-sitem.on{color:var(--ow-t2)}
.ow-sitem span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ow-sitem:hover{background:rgba(255,255,255,.03)}
.ow-sw{position:relative;width:30px;height:16px;flex:none;padding:0;border:0;border-radius:8px;background:#3d362c;transition:background .2s}
.ow-sw::after{content:"";position:absolute;left:3px;top:3px;width:10px;height:10px;border-radius:50%;background:#1d1914;transition:left .2s,background .2s}
.ow-sw[aria-pressed="true"]{background:#81632c}
.ow-sw[aria-pressed="true"]::after{left:17px;background:#f4c567;box-shadow:0 0 6px rgba(244,197,103,.6)}
.ow-sfoot{flex:none;display:flex;flex-direction:column;gap:9px;margin-top:8px;padding:12px 8px 2px;border-top:1px solid var(--ow-line);font-size:14px}
.ow-sfoot span:last-child{font-size:13px;color:var(--ow-t3)}

.ow-main{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--ow-panel);border:1px solid var(--ow-line);border-radius:10px;padding:18px 18px 14px;min-height:0}
.ow-h{flex:none}
.ow-h h3{margin:0;font-size:19px;font-weight:700;color:var(--ow-t1);letter-spacing:.5px}
.ow-h p{margin:6px 0 0;font-size:12.5px;color:var(--ow-t3)}
.ow-h::after{content:"";display:block;width:56px;height:3px;margin-top:12px;border-radius:2px;background:#f09d49}
.ow-tools{display:flex;align-items:center;gap:8px;margin:16px 0 12px;flex:none;flex-wrap:wrap}
.ow-cnt{font-size:13px;color:var(--ow-t3);margin-right:6px}
.ow-cnt b{font-weight:400;color:var(--ow-gold)}
.ow-btn{height:30px;padding:0 12px;border-radius:7px;background:var(--ow-panel);border:1px solid #3a3226;font-size:13px;color:#e2dcce;transition:border-color .2s,background .2s}
.ow-btn:hover{border-color:#6b532a;background:#1d1812}
.ow-q2{margin-left:auto;width:230px}
.ow-chips{display:none}

/* ---------- 插件表格 ---------- */
.ow-tbl{flex:1;min-height:0;display:flex;flex-direction:column;border:1px solid var(--ow-line);border-radius:6px;overflow:hidden}
.ow-tr{display:grid;grid-template-columns:136px minmax(0,1fr) 64px 60px;align-items:center;min-height:33px;border-bottom:1px solid #1f1b16}
.ow-tr>span{padding:0 10px;min-width:0}
.ow-th{flex:none;min-height:32px;background:#1c1813;font-size:12.5px;color:#a59c8c;border-bottom:1px solid var(--ow-line)}
.ow-th span:nth-child(3),.ow-th span:nth-child(4){text-align:center}
.ow-tbody{flex:1;overflow-y:auto;min-height:0;scrollbar-width:thin;scrollbar-color:#3a3226 transparent;overscroll-behavior:contain}
.ow-tbody::-webkit-scrollbar,.ow-slist::-webkit-scrollbar{width:8px}
.ow-tbody::-webkit-scrollbar-thumb,.ow-slist::-webkit-scrollbar-thumb{background:#3a3226;border-radius:4px}
.ow-cat{background:#27221a;font-size:13.5px;font-weight:700;color:var(--ow-t1)}
.ow-cat>span:first-child{display:flex;align-items:center;gap:8px}
.ow-cat>span:first-child i{width:3px;height:15px;border-radius:2px;background:var(--cc)}
.ow-cat>span:nth-child(2){font-size:12px;font-weight:400;color:#8a8170}
.ow-cat .ow-cn{font-weight:400}
.ow-row{font-size:13.5px;transition:background .15s}
.ow-row:hover{background:rgba(255,255,255,.035)}
.ow-nm{display:flex;align-items:center;gap:6px;color:#e6dfd2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ow-ds{color:#c9c1b3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}
.ow-st{text-align:center;color:#827766}
.ow-row.on .ow-st{color:var(--ow-on)}
.ow-ckc{display:flex;justify-content:center}
.ow-ck{position:relative;width:22px;height:22px;padding:0;border-radius:5px;background:var(--ow-ctl);border:1px solid #3a3226;transition:background .15s,border-color .15s}
.ow-ck::after{content:"";position:absolute;left:7px;top:3px;width:6px;height:11px;border:solid var(--ow-gold);border-width:0 3px 3px 0;transform:rotate(45deg) scale(0);transition:transform .18s cubic-bezier(.3,1.6,.6,1)}
.ow-ck[aria-pressed="true"]{background:#382d1c;border-color:#6b532a}
.ow-ck[aria-pressed="true"]::after{transform:rotate(45deg) scale(1)}
.ow-ck:focus-visible,.ow-sw:focus-visible{outline:2px solid var(--ow-gold);outline-offset:2px}
.ow-row.hide,.ow-cat.hide,.ow-sitem.hide,.ow-scat.hide{display:none}
.ow-empty{padding:28px 10px;text-align:center;font-size:13px;color:var(--ow-t3)}

/* 完整版：点插件名看演示 */
.ow-full .ow-row .ow-nm,.ow-full .ow-row .ow-ds{cursor:pointer}
.ow-play{width:0;height:0;border-style:solid;border-width:5px 0 5px 8px;border-color:transparent transparent transparent var(--ow-gold);opacity:0;transition:opacity .15s;flex:none}
.ow-full .ow-row:hover .ow-play{opacity:1}
.ow-full .ow-row:hover .ow-nm{color:var(--ow-gold)}
.ow-full{height:min(760px,calc(100vh - 262px));min-height:520px}   /* 整屏吸附时这一屏装得下：顶栏 + 标题 + 窗口 */

/* ---------- 迷你版（首页 Orb 卡）：只有表格，自动翻、自动拨开关 ---------- */
.ow-mini{border-radius:10px;height:100%}
.ow-mini .ow-top{height:44px;gap:7px;padding:0 10px}
.ow-mini .ow-logo{width:24px;height:24px}
.ow-mini .ow-name{font-size:19px}
.ow-mini .ow-ver{font-size:11px;padding:1px 7px}
.ow-mini .ow-hint,.ow-mini .ow-site,.ow-mini .ow-wb{display:none}
.ow-mini .ow-state{margin-left:auto;font-size:11px;padding:2px 8px}
.ow-mini .ow-body{padding:0 8px 8px}
.ow-mini .ow-main{position:relative;padding:10px 10px 8px;border-radius:8px}
.ow-mini .ow-h h3{font-size:14px}
.ow-mini .ow-h p{display:none}
.ow-mini .ow-h::after{width:40px;height:2px;margin-top:7px}
.ow-mini .ow-tools{position:absolute;right:12px;top:10px;margin:0}
.ow-mini .ow-cnt{font-size:11.5px;margin:0}
.ow-mini .ow-tbl{margin-top:9px}
.ow-mini .ow-tr{grid-template-columns:76px minmax(0,1fr) 30px;min-height:27px}
.ow-mini .ow-tr>span{padding:0 6px}
.ow-mini .ow-th{min-height:24px;font-size:10.5px}
.ow-mini .ow-th span:nth-child(3){display:none}
.ow-mini .ow-th span:last-child{padding:0;text-align:center;white-space:nowrap}
.ow-mini .ow-cat{display:flex;justify-content:space-between;align-items:center}
.ow-mini .ow-cat>span{white-space:nowrap}
.ow-mini .ow-st{display:none}
.ow-mini .ow-row{font-size:11.5px}
.ow-mini .ow-ds{font-size:10.5px}
.ow-mini .ow-cat{font-size:11.5px}
.ow-mini .ow-cat>span:nth-child(2){font-size:10px}
.ow-mini .ow-ck{width:16px;height:16px;border-radius:4px}
.ow-mini .ow-ck::after{left:4.5px;top:1.5px;width:4.5px;height:8px;border-width:0 2px 2px 0}
.ow-mini .ow-tbody{overflow:hidden}
.ow-mini .ow-row.flash{background:rgba(238,189,85,.1)}
.ow-cur{position:absolute;left:0;top:0;width:18px;height:26px;z-index:5;pointer-events:none;opacity:0;transition:opacity .3s;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 32'%3E%3Cpath d='M1 1v26l7-6 5 10 4-2-5-10h9z' fill='%23fff' stroke='%23111' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat;
    background-size:contain;filter:drop-shadow(0 2px 3px rgba(0,0,0,.7))}
.ow-cur.on{opacity:1}
.ow-cur::after{content:"";position:absolute;left:-14px;top:-14px;width:28px;height:28px;border-radius:50%;border:2px solid rgba(255,224,138,.9);opacity:0;transform:scale(.3)}
.ow-cur.tap::after{animation:owTap .45s ease-out}
@keyframes owTap{0%{opacity:1;transform:scale(.3)}100%{opacity:0;transform:scale(1.4)}}

/* ---------- 窄屏：收起侧栏，分类变成一排按钮；手机上一行只放名字 + 一句话 + 开关 ---------- */
@media (max-width:1000px){
    .ow-full .ow-side{display:none}
    .ow-full .ow-hint{display:none}
    .ow-full .ow-chips{display:flex;gap:6px;flex:none;overflow-x:auto;margin:0 0 10px;padding-bottom:2px;scrollbar-width:none}
    .ow-full .ow-chips::-webkit-scrollbar{display:none}
    .ow-full .ow-chips button{flex:none;height:28px;padding:0 11px;border-radius:14px;font-size:12.5px;color:var(--ow-t2);background:var(--ow-ctl);border:1px solid #3a3226}
    .ow-full .ow-chips button::before{content:"";display:inline-block;width:3px;height:11px;margin-right:6px;border-radius:2px;background:var(--cc);vertical-align:-1px}
}
@media (max-width:760px){
    .ow-full{height:auto;min-height:0}
    .ow-full .ow-top{height:52px;gap:8px;padding:0 12px}
    .ow-full .ow-logo{width:28px;height:28px}
    .ow-full .ow-name{font-size:21px}
    .ow-full .ow-site,.ow-full .ow-wb{display:none}
    .ow-full .ow-state{margin-left:auto}
    .ow-full .ow-body{padding:0 8px 8px}
    .ow-full .ow-main{padding:14px 12px 10px}
    .ow-full .ow-tools{gap:6px}
    .ow-full .ow-q2{order:5;width:100%;margin:2px 0 0}
    .ow-full .ow-btn{height:28px;padding:0 9px;font-size:12px}
    .ow-full .ow-tbody{max-height:62vh}
    .ow-full .ow-th{display:none}
    .ow-full .ow-tr{grid-template-columns:minmax(0,1fr) 46px}
    .ow-full .ow-cat{display:flex;justify-content:space-between;align-items:center;min-height:36px}
    .ow-full .ow-cat>span:nth-child(2){text-align:right;white-space:nowrap}
    .ow-full .ow-row{min-height:52px;grid-template-rows:auto auto;row-gap:3px;padding:7px 0}
    .ow-full .ow-row .ow-nm{grid-column:1;grid-row:1}
    .ow-full .ow-row .ow-ds{grid-column:1;grid-row:2;white-space:normal;font-size:12px;line-height:1.45;color:#a99f90;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
    .ow-full .ow-row .ow-st{display:none}
    .ow-full .ow-row .ow-ckc{grid-column:2;grid-row:1 / span 2}
    .ow-full .ow-play{opacity:1}
}
