@media (max-width:820px){
body{display:block;font-size:14px}
#main{position:fixed;inset:0;bottom:calc(58px + env(safe-area-inset-bottom))}
#tb{display:none}
#scale{bottom:8px;left:8px}
#msg{left:8px;right:8px;top:calc(56px + env(safe-area-inset-top));max-width:none;max-height:60%;overflow:auto;font-size:14px}#msg button{padding:8px;margin:4px 0;width:100%}
#cat,#side,#helpS{position:fixed;left:0;right:0;bottom:0;top:calc(40px + env(safe-area-inset-top));width:auto;z-index:20;background:#fafafa;border:0;border-radius:14px 14px 0 0;box-shadow:0 -4px 20px #0004;overflow:auto;-webkit-overflow-scrolling:touch;padding-bottom:calc(16px + env(safe-area-inset-bottom));transform:translateY(105%);transition:transform .22s;display:block}
#side,#helpS{padding:0 12px calc(16px + env(safe-area-inset-bottom))}
#cat.open,#side.open,#helpS.open{transform:none}
.sh-h{display:flex;position:sticky;top:0;z-index:2;align-items:center;justify-content:space-between;background:#fafafa;padding:10px 8px;border-bottom:1px solid #ddd;margin:0 -12px 6px}
#cat .sh-h{margin:0 0 6px}.sh-h b{font-size:16px;padding-left:6px}.sh-h button{font-size:15px;padding:6px 14px;border:1px solid #bbb;border-radius:8px;background:#fff}
#cat>h3:first-of-type{display:none}#side .hint{display:none}
.item{touch-action:pan-y;padding:10px;margin:6px 8px}.item img{width:64px;height:52px}.item b{font-size:14px}.flt button{padding:9px;font-size:14px}
#mbar{display:flex;position:fixed;left:0;right:0;bottom:0;height:calc(58px + env(safe-area-inset-bottom));padding:0 2px env(safe-area-inset-bottom);background:#fff;border-top:1px solid #ccc;z-index:10}
#mbar button{flex:1;min-width:0;border:0;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:10.5px;color:#333;padding:2px 0;gap:2px}
#mbar button i{font-style:normal;font-size:20px;line-height:22px}#mbar button:disabled{opacity:.35}#mbar #mCat{color:#1976d2;font-weight:600}
#topsel{position:fixed;left:0;right:0;top:0;padding:calc(6px + env(safe-area-inset-top)) 10px 6px;background:#1976d2;color:#fff;z-index:9;align-items:center;gap:8px;font-size:13px}
#topsel.on{display:flex}#topsel span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#topsel button{border:1px solid #fff8;background:#fff2;color:#fff;border-radius:6px;padding:5px 8px;font-size:13px}
#more{position:fixed;right:6px;bottom:calc(64px + env(safe-area-inset-bottom));background:#fff;border:1px solid #ccc;border-radius:10px;box-shadow:0 4px 20px #0003;z-index:15;flex-direction:column;min-width:200px;overflow:hidden}
#more.open{display:flex}#more button{border:0;border-bottom:1px solid #eee;background:#fff;text-align:left;padding:13px 16px;font-size:15px}
#toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(100px + env(safe-area-inset-bottom));background:#323232;color:#fff;padding:9px 16px;border-radius:20px;z-index:30;font-size:14px;white-space:normal;width:max-content;max-width:92vw;text-align:center}
#hint0{position:fixed;left:16px;right:16px;top:38%;text-align:center;background:#e3f2fd;border:1px solid #90caf9;color:#0d47a1;padding:16px;border-radius:12px;font-size:16px;z-index:5;pointer-events:none}
#hint0.on{display:block}#toast.on{display:block}
#dim{position:fixed;inset:0;background:#0003;z-index:19;display:none}#dim.on{display:block}
#helpS ol{padding-left:22px;line-height:1.5;font-size:15px}#helpS li{margin-bottom:8px}
}
.flt{display:flex;flex-wrap:wrap;gap:4px}.flt button{min-width:52px;font-weight:600}h2.szh{font-size:15px;margin:10px 8px 2px;padding:4px 8px;background:#1976d2;color:#fff;border-radius:6px}
.lbl{font-size:11px;background:#fff3cd;border:1px solid #e0b400;border-radius:4px;padding:0 4px;margin-left:4px}
.xitem{opacity:.6;margin:4px 8px;padding:6px 8px;border:1px dashed #bbb;border-radius:6px;background:#f2f2f2}.xitem b{display:block}.xitem small{display:block;color:#555}.xitem em{display:block;color:#b00;font-size:12px}
.xa{display:flex;gap:10px;align-items:center;margin-top:4px}.xa a{color:#1976d2}.xa button,.rqd{font-size:12px}
#reqS{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:99;display:flex;align-items:center;justify-content:center}#reqS>div{background:#fff;border-radius:10px;padding:14px;max-width:420px;width:90%;max-height:80vh;overflow:auto}
@media(max-width:820px){html,body{max-width:100%;overflow-x:hidden}*,*::before,*::after{box-sizing:border-box}
#cat,#side,#helpS,#more,#mbar,#topsel,#msg{max-width:100vw;overflow-x:hidden}
#cTop{max-width:100%}#cat .flt{display:flex;flex-wrap:wrap;gap:4px;padding:0 8px;margin:0 0 6px}#cat .flt button{flex:1 1 0;min-width:0;margin:0}
#csearch{width:calc(100% - 16px)!important;max-width:calc(100% - 16px);min-width:0}#csearch::placeholder{text-overflow:ellipsis}
.item,.xitem{min-width:0;max-width:calc(100% - 16px)}.item>div{min-width:0;flex:1 1 auto}.item img{flex:0 0 auto}
.item b,.item small,.xitem b,.xitem small,.xitem em,#side,#helpS,#msg,#tsTxt{overflow-wrap:anywhere;word-break:break-word}
.xa{flex-wrap:wrap}.sh-h{display:flex;justify-content:space-between;align-items:center;gap:8px;min-width:0}.sh-h b{min-width:0;overflow:hidden;text-overflow:ellipsis}
#mbar>*{min-width:0}#side table{max-width:100%;table-layout:fixed;word-break:break-word}}
.modalS{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:99;display:flex;align-items:center;justify-content:center}.modalS>div{background:#fff;border-radius:10px;padding:14px;max-width:460px;width:92%;max-height:82vh;overflow:auto;box-sizing:border-box}.nd-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.nd{border:1px solid #ddd;border-radius:8px;padding:8px;margin:6px 0}.nd b,.nd small{display:block;overflow-wrap:anywhere}.nd small{color:#666}#pipeS select,#pipeS input{padding:6px;border:1px solid #bbb;border-radius:6px}.pipeRow td{background:#f3f8ff}
#cat .flt{display:flex;flex-wrap:wrap;gap:4px;padding:0 8px;margin:0 0 6px;overflow:visible}
#cat .flt button{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:visible;margin:0}
@media (max-width:600px){
#cat .flt{gap:4px;padding:0 8px;margin:0 0 6px}
#cat .flt button{height:31px;padding:0 6px;font-size:14px;line-height:29px;border-radius:16px;font-weight:600}
#cat .flt button.on{background:#1976d2;color:#fff;border-color:#1976d2}
}
@media (max-width:360px){#cat .flt{gap:3px;padding:0 6px}#cat .flt button{padding:0 4px;font-size:13px}}
@media (max-width:440px){
#topsel{flex-wrap:wrap;row-gap:5px;padding-left:8px;padding-right:8px;gap:5px}
#topsel span{flex:1 0 100%;order:-1}
#topsel button{flex:1 1 auto;padding:5px 4px;font-size:13px;white-space:nowrap;min-width:0}
#mbar button{font-size:10px;letter-spacing:-.2px;white-space:nowrap}
}
@media (max-width:360px){#topsel button{font-size:12px;padding:5px 3px}#mbar button{font-size:9px;letter-spacing:-.3px}}

#cList .tg{border-bottom:1px solid #e3e3e3}
#cList .tgh,#cList .tsh{display:flex;align-items:center;gap:8px;width:100%;min-height:48px;padding:8px 12px;border:0;background:#fff;text-align:left;font-size:16px;font-weight:600;color:#222;cursor:pointer;-webkit-tap-highlight-color:rgba(25,118,210,.15)}
#cList .tg.open>.tgh{background:#e8f1fb;color:#0d47a1;position:sticky;top:0;z-index:2}
#cList .tsh{min-height:44px;padding-left:28px;font-size:15px;font-weight:500;background:#fafafa}
#cList .ts.open>.tsh{color:#1565c0}
#cList .tn{flex:1 1 auto;min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.25}
#cList .tw{flex:0 0 14px;height:14px;position:relative}#cList .tw:before{content:'';position:absolute;left:2px;top:3px;width:7px;height:7px;border-right:2px solid #1976d2;border-bottom:2px solid #1976d2;transform:rotate(-45deg);transition:transform .15s}#cList .open>button>.tw:before{transform:rotate(45deg);top:1px}
#cList .tc{flex:0 0 auto;min-width:28px;padding:1px 8px;border-radius:12px;background:#eceff1;color:#455a64;font-size:13px;font-weight:600;text-align:center}
#cList .chips{display:flex;flex-wrap:wrap;gap:6px;padding:8px 12px;margin:0}
#cList .chips button{flex:0 0 auto;min-width:44px;height:34px;padding:0 10px;border:1px solid #bbb;border-radius:17px;background:#fff;font-size:14px;font-weight:600;white-space:nowrap}
#cList .chips button.on{background:#1976d2;color:#fff;border-color:#1976d2}
#cList .tnone{padding:8px 16px;color:#888}
#cList.srch .tgh{cursor:default}

#adpS{position:fixed;inset:0;z-index:120;background:rgba(0,0,0,.25)}
#adpS.pop{background:transparent}
#adpS .adp{position:absolute;background:#fff;box-shadow:0 6px 24px rgba(0,0,0,.25);padding:10px 12px;overflow:auto}
#adpS.mob .adp{left:0;right:0;bottom:0;max-height:72vh;border-radius:14px 14px 0 0;padding-bottom:calc(10px + env(safe-area-inset-bottom))}
#adpS.pop .adp{width:370px;max-height:70vh;border-radius:10px}
#adpS .adp-h{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:16px}
#adpS .adp-h button{min-height:40px;padding:0 12px}
#adpS .adp-s{margin:2px 0 8px;color:#555;font-size:13px;overflow-wrap:anywhere}
#adpS .adp-n{color:#b00;font-size:14px}
#adpS .adp-t{display:flex;gap:6px;margin-bottom:8px}
#adpS .adp-t button{flex:1 1 0;min-width:0;height:40px;border:1px solid #bbb;border-radius:20px;background:#fff;font-weight:600;font-size:14px;white-space:nowrap}
#adpS .adp-t button.on{background:#1976d2;color:#fff;border-color:#1976d2}
#adpS .adp-i{display:flex;align-items:center;gap:10px;width:100%;min-height:60px;margin:0 0 6px;padding:6px 8px;border:1px solid #ddd;border-radius:8px;background:#fff;text-align:left}
#adpS .adp-i img{flex:0 0 56px;width:56px;height:44px;object-fit:contain}
#adpS .adp-x{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}
#adpS .adp-x b{font-size:14px}#adpS .adp-x small{font-size:12px;color:#555;overflow-wrap:anywhere}
#adpS .adp-g{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}#adpS .adp-g i{font-style:normal;font-size:11px;background:#eceff1;border-radius:4px;padding:0 5px;white-space:nowrap}
#cView{display:flex;align-items:center;gap:6px;padding:6px 12px 2px;font-size:13px;color:#555}#cView button{height:30px;padding:0 12px;border:1px solid #bbb;border-radius:15px;background:#fff;font-size:13px;font-weight:600}
#cView button.on{background:#7b1fa2;color:#fff;border-color:#7b1fa2}
button,input,select,textarea{font-family:inherit}.ic{width:20px;height:20px;flex:none;color:#1565C0;vertical-align:-5px;margin-right:6px}button:disabled .ic,button[disabled] .ic{color:#9e9e9e}button:disabled{color:#9e9e9e}.on .ic,.chainT.on .ic,button.on .ic{color:currentColor}button:has(>.ic){display:inline-flex;align-items:center;justify-content:center;gap:0}#more button{display:flex;align-items:center;justify-content:flex-start}#more .ic{width:22px;height:22px;margin-right:12px}#mbar button i{display:flex;justify-content:center;height:22px}#mbar .ic{width:22px;height:22px;margin:0}#topsel button>span{flex:none!important;width:auto!important;min-width:0!important;order:0!important;padding:0!important}@media(min-width:441px) and (max-width:820px){#tsCopy>span{display:none}#tsCopy .ic{margin:0}}@media(min-width:821px){#cat .flt button{height:30px;padding:0 7px;font-size:14px;line-height:28px;border-radius:15px;flex:1 1 auto;min-width:0;white-space:nowrap}}@media(max-width:440px){#mbar button{letter-spacing:-.5px;padding-left:0;padding-right:0}}#topsel .ic{margin-right:4px}#tsMir .ic,#tsDel .ic{margin:0}button>.ic,button>span,#mbar i{pointer-events:none}#scaleTxt,#dim{font-family:GOSTA,sans-serif}.logo{display:block;width:100%;height:100%}#brand{display:inline-block;width:30px;height:30px;vertical-align:middle;margin:0 8px 0 2px}#brandM{display:none}@media(max-width:820px){#brand{display:none}#brandM{display:block;position:fixed;left:8px;top:calc(env(safe-area-inset-top) + 8px);width:30px;height:30px;z-index:5;background:#fff;border-radius:8px;padding:2px;box-shadow:0 1px 3px rgba(0,0,0,.15)}#topsel.on~#brandM{display:none}}/* ===== iOS grouped style (ios.css, appended by brand.py) ===== */
:root{--ios-bg:#F2F2F7;--ios-card:#fff;--ios-sep:rgba(60,60,67,.18);--ios-2:#8E8E93;--ios-blue:#007AFF;--ios-green:#34C759;--ios-red:#FF3B30;--ios-r:26px;
 --ios-font:-apple-system,BlinkMacSystemFont,"SF Pro Text",system-ui,Roboto,"Segoe UI",sans-serif}
body{font-family:var(--ios-font);color:#000;-webkit-font-smoothing:antialiased;background:var(--ios-bg)}
button,input,select,textarea{font-family:inherit}
.ic{color:var(--ios-blue)}
/* side panels */
#cat,#side,#helpS{background:var(--ios-bg)!important}
#cat{border-right:1px solid var(--ios-sep)}#side{border-left:1px solid var(--ios-sep)}
#cTop,.sh-h{background:rgba(242,242,247,.94)!important;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:0!important}
.sh-h b{font-size:28px;font-weight:700;letter-spacing:-.4px;padding-left:8px!important}
#cat .sh-h,#cTop .sh-h{padding:14px 12px 6px!important}
.sh-h button,.nd-h button,#adpS .adp-h button{border:0!important;background:rgba(118,118,128,.12)!important;color:var(--ios-blue);border-radius:999px!important;font-size:15px;font-weight:600;padding:6px 14px!important;min-height:34px}
.sh-h button .ic,.nd-h button .ic,#adpS .adp-h button .ic{width:16px;height:16px;margin-right:4px}
#csearch{border:0!important;background:rgba(118,118,128,.12);border-radius:12px!important;font-size:17px!important;padding:9px 12px!important;margin:4px 16px 8px!important;width:calc(100% - 32px)!important;max-width:calc(100% - 32px)!important;outline:none;-webkit-appearance:none}
#csearch:focus{background:#fff;box-shadow:0 0 0 2px var(--ios-blue)}
@media(max-width:820px){#cat,#side,#helpS{border-radius:14px 14px 0 0}}
/* segmented controls: size filter, view, adapter tabs */
#cat .flt,#cList .chips,#adpS .adp-t{background:rgba(118,118,128,.12);border-radius:10px;padding:2px!important;gap:2px!important;margin:0 16px 8px!important}
#cList .chips{margin:8px 16px!important}
#cat .flt button,#cList .chips button,#adpS .adp-t button{border:0!important;background:transparent!important;color:#000!important;border-radius:8px!important;height:32px!important;line-height:32px!important;font-size:14px!important;font-weight:600!important;padding:0 8px!important;box-shadow:none}
#cat .flt button.on,#cList .chips button.on,#adpS .adp-t button.on{background:#fff!important;color:#000!important;box-shadow:0 3px 8px rgba(0,0,0,.12),0 0 0 .5px rgba(0,0,0,.04)!important}
#cList .chips button{flex:1 0 auto}
#cView{padding:2px 16px 8px!important;color:var(--ios-2)!important;font-size:13px}
#cView button{border:0!important;background:rgba(118,118,128,.12)!important;color:#000;height:32px;border-radius:999px;padding:0 14px}
#cView button.on{background:var(--ios-blue)!important;color:#fff!important}
/* grouped lists */
#cList{padding:4px 16px 16px}
#cList .tg{background:var(--ios-card);border:0!important;margin:0 0 12px;border-radius:var(--ios-r);overflow:hidden}
#cList .tg.open{overflow:visible}
#cList .tgh,#cList .tsh{min-height:56px!important;padding:8px 16px!important;gap:14px!important;background:transparent!important;font-size:17px!important;font-weight:400!important;color:#000!important;border-radius:var(--ios-r)}
#cList .tg.open>.tgh{background:var(--ios-card)!important;color:#000!important;border-radius:var(--ios-r) var(--ios-r) 0 0;box-shadow:0 .5px 0 var(--ios-sep)}
#cList .tgh::before{content:'';flex:0 0 30px;height:30px;border-radius:8px;background:var(--tile,#007AFF) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M3 10h6v4H3zM15 10h6v4h-6zM9 12h6M12 7v10'/%3E%3C/svg%3E") center/20px no-repeat}
#cList .tg:nth-child(7n+1){--tile:#007AFF}#cList .tg:nth-child(7n+2){--tile:#FF9500}#cList .tg:nth-child(7n+3){--tile:#34C759}#cList .tg:nth-child(7n+4){--tile:#AF52DE}#cList .tg:nth-child(7n+5){--tile:#5AC8FA}#cList .tg:nth-child(7n+6){--tile:#FF3B30}#cList .tg:nth-child(7n+7){--tile:#8E8E93}
#cList .ts{position:relative}
#cList .ts::before,#cList .item+.item::before,#cList .item+.xitem::before,#cList .xitem+.item::before{content:'';position:absolute;left:60px;right:0;top:0;height:.5px;background:var(--ios-sep)}
#cList .item+.item::before,#cList .item+.xitem::before,#cList .xitem+.item::before{left:78px}
#cList .tsh{font-size:16px!important;padding-left:60px!important;min-height:48px!important}
#cList .ts.open>.tsh{color:var(--ios-blue)!important}
#cList .tn{order:1}
#cList .tc{order:2;background:none!important;color:var(--ios-2)!important;font-weight:400!important;font-size:17px!important;padding:0!important;min-width:0!important}
#cList .tw{order:3;flex:0 0 10px!important;height:16px!important}
#cList .tw:before{border-color:#C4C4C7!important;border-width:0 2.5px 2.5px 0!important;width:8px!important;height:8px!important;left:0!important;top:4px!important;transform:rotate(-45deg)!important}
#cList .open>button>.tw:before{transform:rotate(45deg)!important;top:1px!important}
.item{position:relative;border:0!important;border-radius:0!important;margin:0!important;max-width:none!important;background:var(--ios-card)!important;padding:8px 16px!important;min-height:64px;gap:14px!important}
.item:hover{background:#F7F7FA!important}.item:active{background:#E5E5EA!important}
.item img{width:48px!important;height:44px!important;background:#fff;border-radius:8px}
.item b{font-size:16px!important;font-weight:600}.item small{color:var(--ios-2)!important;font-size:13px}
#cat>.item{margin:0 16px!important;border-radius:12px!important;margin-bottom:8px!important}
.xitem{border:0!important;border-radius:0!important;margin:0!important;max-width:none!important;background:#fff!important;padding:10px 16px!important;position:relative}
h2.szh{background:none!important;color:var(--ios-2)!important;text-transform:uppercase;font-size:13px!important;font-weight:400!important;margin:14px 16px 4px!important;padding:0!important}
#cat h3,#side h3{color:var(--ios-2);font-size:13px;font-weight:400;text-transform:uppercase;margin:18px 16px 6px}
.lbl{background:rgba(255,149,0,.15);border:0;color:#C93400;border-radius:6px;padding:1px 6px}
.xa a{color:var(--ios-blue)}
/* spec panel */
#sel{background:#fff;border:0;border-radius:12px;padding:12px 16px;margin:0 4px}
#side table{background:#fff;border-radius:12px;overflow:hidden;border:0}
#side td,#side th{border:0;border-bottom:.5px solid var(--ios-sep);padding:8px 8px}
#side th{color:var(--ios-2);font-weight:400;font-size:12px}
.pipeRow td{background:rgba(0,122,255,.06)}
/* toolbar desktop */
#tb{background:rgba(249,249,249,.94);border-bottom:.5px solid var(--ios-sep);gap:6px;padding:8px 10px}
#tb button{border:0;background:rgba(118,118,128,.12);border-radius:10px;padding:6px 10px;font-size:14px;font-weight:500;color:#000}
#tb button:hover{background:rgba(118,118,128,.2)}
.chainT.on{background:var(--ios-green)!important;border-color:var(--ios-green)!important}
/* mobile bottom bar / top bar / more */
@media (max-width:820px){
#mbar{background:rgba(249,249,249,.94)!important;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:.5px solid rgba(0,0,0,.2)!important}
#mbar button{color:var(--ios-2)!important;font-weight:500}
#mbar button .ic{color:var(--ios-2)}
#mbar #mCat{color:var(--ios-blue)!important;font-weight:600}#mbar #mCat .ic{color:var(--ios-blue)}
#topsel{background:rgba(249,249,249,.96)!important;color:#000!important;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:.5px solid rgba(0,0,0,.2)}
#topsel span{font-weight:600}
#topsel button{border:0!important;background:rgba(118,118,128,.12)!important;color:var(--ios-blue)!important;border-radius:10px!important;font-weight:600;min-height:34px}
#topsel button .ic{color:var(--ios-blue)}
#more{border:0!important;border-radius:14px!important;box-shadow:0 10px 40px rgba(0,0,0,.25)!important;background:rgba(255,255,255,.97)!important;min-width:240px!important}
#more button{border-bottom:.5px solid var(--ios-sep)!important;background:transparent!important;font-size:17px!important;padding:12px 16px!important;color:#000}
#more button:last-child{border-bottom:0!important}
#dim{background:rgba(0,0,0,.3)}
#toast{background:rgba(30,30,30,.92);border-radius:14px}
#hint0{background:rgba(255,255,255,.95)!important;border:0!important;color:#000!important;border-radius:var(--ios-r)!important;box-shadow:0 8px 30px rgba(0,0,0,.12)}
#helpS ol{background:#fff;border-radius:12px;padding:12px 16px 12px 36px}
#brandM{border-radius:9px!important}
}
#msg{background:#fff;border:0;border-radius:16px;box-shadow:0 8px 30px rgba(0,0,0,.18);padding:12px 14px}
#msg button{border:0;background:rgba(118,118,128,.12);color:var(--ios-blue);border-radius:10px;padding:8px 12px;font-weight:600;font-size:15px}
/* sheets / dialogs */
.modalS,#reqS{background:rgba(0,0,0,.35)!important}
.modalS>div,#reqS>div{background:var(--ios-bg)!important;border-radius:var(--ios-r)!important;padding:16px!important;box-shadow:0 20px 60px rgba(0,0,0,.3)}
@media(max-width:600px){.modalS{align-items:flex-end!important}.modalS>div{width:100%!important;max-width:none!important;border-radius:14px 14px 0 0!important;max-height:88vh!important;padding-bottom:calc(16px + env(safe-area-inset-bottom))!important}}
.nd-h b{font-size:28px;font-weight:700;letter-spacing:-.4px}
.modalS p{margin:8px 0}
.modalS p>button,#ndSave{width:100%;border:0;background:#fff;color:var(--ios-blue);border-radius:12px;min-height:50px;font-size:17px;font-weight:500;padding:0 16px;justify-content:flex-start!important}
#ndList{background:#fff;border-radius:var(--ios-r);overflow:hidden}
.nd{border:0!important;border-radius:0!important;margin:0!important;padding:12px 16px!important;border-bottom:.5px solid var(--ios-sep)!important;background:#fff}
.nd:last-child{border-bottom:0!important}
.nd b{font-size:17px;font-weight:500}.nd small{color:var(--ios-2)!important;font-size:13px}
.nd button{border:0;background:rgba(118,118,128,.12);color:var(--ios-blue);border-radius:999px;padding:6px 12px;font-size:14px;font-weight:600;margin:6px 6px 0 0}
.nd button[data-op=del]{color:var(--ios-red)}
.modalS select,.modalS input,#pipeS select,#pipeS input{border:0!important;background:#fff!important;border-radius:10px!important;padding:10px 12px!important;font-size:16px}
.modalS button{font-family:inherit}
#adpS{background:rgba(0,0,0,.3)}
#adpS .adp{background:var(--ios-bg)!important;padding:12px 16px!important;box-shadow:0 10px 40px rgba(0,0,0,.25)!important}
#adpS.pop .adp{border-radius:18px!important}
#adpS .adp-h{font-size:20px!important;font-weight:700}
#adpS .adp-s{color:var(--ios-2)!important}
#adpS .adp-i{border:0!important;border-radius:0!important;margin:0!important;min-height:64px!important;padding:8px 14px!important;background:#fff!important;border-bottom:.5px solid var(--ios-sep)!important;gap:14px!important}
#adpS .adp-i:first-of-type{border-top-left-radius:16px!important;border-top-right-radius:16px!important}
#adpS .adp-i:last-of-type{border-bottom-left-radius:16px!important;border-bottom-right-radius:16px!important;border-bottom:0!important}
#adpS .adp-i:active{background:#E5E5EA!important}
#adpS .adp-x b{font-size:16px!important;font-weight:600}#adpS .adp-x small{color:var(--ios-2)!important}
#adpS .adp-g i{background:rgba(118,118,128,.12)!important;border-radius:6px!important;color:#3C3C43}
input[type=checkbox]{-webkit-appearance:none;appearance:none;width:51px;height:31px;border-radius:16px;background:#E9E9EA;position:relative;vertical-align:middle;transition:background .2s;cursor:pointer;flex:none;margin:0 4px}
input[type=checkbox]::after{content:'';position:absolute;left:2px;top:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 3px 8px rgba(0,0,0,.15),0 1px 1px rgba(0,0,0,.16);transition:transform .2s}
input[type=checkbox]:checked{background:var(--ios-green)}input[type=checkbox]:checked::after{transform:translateX(20px)}
@media(min-width:821px){#cat{width:300px}#cList{padding:4px 10px 12px}#cList .tg{border-radius:14px;margin-bottom:8px}
#cList .tgh,#cList .tsh{min-height:46px!important;padding:6px 12px!important;gap:10px!important;font-size:15px!important;border-radius:14px}
#cList .tg.open>.tgh{border-radius:14px 14px 0 0}#cList .tgh::before{flex-basis:28px;height:28px;border-radius:7px;background-size:18px}
#cList .tc{font-size:15px!important}#cList .tsh{padding-left:50px!important;font-size:14px!important}#cList .ts::before{left:50px}
#cList .tn{overflow-wrap:normal!important;word-break:normal!important;hyphens:auto}
.item{padding:6px 12px!important;gap:10px!important;min-height:56px}#cList .item+.item::before,#cList .item+.xitem::before,#cList .xitem+.item::before{left:70px}
.item b{font-size:14px!important}.item small{font-size:12px}#csearch{margin:8px 10px!important;width:calc(100% - 20px)!important;max-width:calc(100% - 20px)!important;font-size:15px!important}
#cView{padding:2px 10px 8px!important}#cat .flt,#cList .chips{margin:6px 10px!important}#cList .chips{margin:6px 12px!important}}
#adpS .adp-t button{height:40px!important;line-height:40px!important}
@media(max-width:360px){#mbar button{font-weight:400!important}}
@media(max-width:820px){.item img{width:128px!important;height:104px!important;flex:0 0 128px!important}.item{min-height:120px}#cList .item+.item::before,#cList .item+.xitem::before,#cList .xitem+.item::before{left:158px}}
@media(min-width:821px){.item img{width:96px!important;height:80px!important;flex:0 0 96px!important}#cList .item+.item::before,#cList .item+.xitem::before,#cList .xitem+.item::before{left:118px}}
#cTop{position:sticky}#cTop>#csearch{padding-right:44px!important}
#csearch::-webkit-search-cancel-button{-webkit-appearance:none;display:none}
#csClr{position:absolute;right:16px;bottom:8px;width:44px;height:39px;border:0;padding:0;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent;z-index:2}
#csClr[hidden]{display:none}
#csClr::before{content:'';position:absolute;left:12px;top:9.5px;width:20px;height:20px;border-radius:50%;background:#8E8E93 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6.5 6.5l7 7M13.5 6.5l-7 7' stroke='white' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/20px no-repeat}
@media(min-width:821px){#csClr{right:10px}}
/* ---------- аккаунт: вход / регистрация / восстановление (iOS) ---------- */
#authS{position:fixed;inset:0;z-index:10000;background:var(--ios-bg);display:none;overflow:auto;-webkit-overflow-scrolling:touch}
#authS.on{display:flex;align-items:flex-start;justify-content:center}
.au-c{width:100%;max-width:380px;padding:calc(48px + env(safe-area-inset-top)) 20px 32px;text-align:center}
.au-logo{width:72px;height:72px;border-radius:16px;box-shadow:0 1px 3px rgba(0,0,0,.12)}
#authS h1{font-size:28px;font-weight:700;letter-spacing:-.4px;margin:14px 0 4px}
.au-sub{color:var(--ios-2);font-size:15px;margin:0 0 22px;line-height:1.35}
.au-g{background:#fff;border-radius:12px;overflow:hidden;margin:0 0 14px;text-align:left}
.au-g input{display:block;width:100%;box-sizing:border-box;border:0;border-bottom:.5px solid var(--ios-sep);font:17px var(--ios-font);padding:0 16px;height:50px;outline:none;background:#fff;border-radius:0}
.au-g input:last-child{border-bottom:0}
.au-b{width:100%;height:50px;border:0;border-radius:12px;background:var(--ios-blue);color:#fff;font:600 17px var(--ios-font);margin-top:4px}
.au-b:disabled{opacity:.5}.au-b:active{opacity:.75}
.au-l{display:flex;flex-direction:column;gap:2px;margin-top:14px}
.au-l button{border:0;background:none;color:var(--ios-blue);font:17px var(--ios-font);min-height:44px}
.au-e{color:var(--ios-red);font-size:15px;margin-top:12px;min-height:20px}
.au-cap{text-align:left;color:var(--ios-2);font-size:13px;text-transform:uppercase;letter-spacing:.2px;margin:6px 16px 6px}
.au-note{text-align:left;color:var(--ios-2);font-size:13px;margin:6px 16px 14px;line-height:1.35}
.seg{display:flex;background:rgba(118,118,128,.12);border-radius:9px;padding:2px;gap:2px;margin:0 0 6px}
.seg button{flex:1;border:0;background:none;border-radius:7px;font:500 15px var(--ios-font);min-height:36px;color:#000}
.seg button.on{background:#fff;box-shadow:0 3px 8px rgba(0,0,0,.12),0 1px 1px rgba(0,0,0,.04);font-weight:600}
html.au-open #mbar{visibility:hidden}
/* «Мои узлы»: группы, версии, просмотр чужих (админ) */
.nd-hb{display:flex;gap:8px}
.nd-g{background:#fff;border-radius:12px;overflow:hidden;margin:8px 0}
.nd-lim{color:var(--ios-2);font-size:13px;margin:4px 16px}
.nd-empty{color:var(--ios-2);text-align:center;padding:16px 0}
.nd-ro{background:#FFF8E1;border-radius:12px;padding:10px 14px;font-size:14px;margin:8px 0;display:flex;align-items:center;justify-content:space-between;gap:8px}
.nd-ro button{border:0;background:none;color:var(--ios-blue);font:15px var(--ios-font);min-height:40px}
.nd-u{cursor:pointer}.nd-u small{display:block;color:var(--ios-2)}
.nd-v small{color:var(--ios-2)}
.nd-vr{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:#3c3c43;border-top:.5px solid var(--ios-sep);padding:4px 0}
.nd-vr button{border:0;background:none;color:var(--ios-blue);font:15px var(--ios-font);min-height:40px}
.modalS .dn,.nd .dn{color:var(--ios-red)!important}
.acc-promo{display:flex;align-items:center}.acc-promo input{flex:1;min-width:0;border:0;font:17px var(--ios-font);padding:0 16px;height:50px;outline:none}
.acc-promo button{border:0;background:none;color:var(--ios-blue);font:600 15px var(--ios-font);padding:0 16px;min-height:50px}
.pr-f{display:grid;grid-template-columns:1fr 1fr;gap:0}.pr-f input,.pr-f select{border:0;border-bottom:.5px solid var(--ios-sep);font:16px var(--ios-font);padding:0 12px;height:46px;background:#fff;min-width:0}
.pr-f button{grid-column:1/-1;border:0;background:none;color:var(--ios-blue);font:600 17px var(--ios-font);min-height:46px}
#viewBar{position:fixed;left:50%;transform:translateX(-50%);top:calc(8px + env(safe-area-inset-top));z-index:9000;background:rgba(255,248,225,.97);border-radius:999px;padding:4px 6px 4px 14px;display:flex;gap:8px;align-items:center;font-size:14px;box-shadow:0 4px 16px rgba(0,0,0,.15)}
#viewBar button{border:0;background:var(--ios-blue);color:#fff;border-radius:999px;font:600 14px var(--ios-font);min-height:34px;padding:0 14px}
/* кнопка «Сохранить» */
#nameS{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center}
#nameS .nm-c{width:min(300px,86vw);background:rgba(242,242,247,.98);border-radius:14px;text-align:center;overflow:hidden;font-family:-apple-system,system-ui,sans-serif}
#nameS b{display:block;font-size:17px;margin:18px 16px 4px}#nameS p{margin:0 16px 12px;font-size:13px;color:#3C3C43}
#nameS input{width:calc(100% - 32px);box-sizing:border-box;margin:0 16px 16px;height:32px;border:1px solid #C6C6C8;border-radius:8px;padding:0 8px;font-size:16px;background:#fff}
#nameS .nm-b{display:flex;border-top:1px solid #C6C6C8}#nameS .nm-b button{flex:1;height:44px;border:0;background:none;color:#007AFF;font-size:17px}
#nameS .nm-b button+button{border-left:1px solid #C6C6C8;font-weight:600}

#hdrAct{position:fixed;z-index:40;right:0;top:0;display:flex;gap:4px;padding:calc(env(safe-area-inset-top) + 6px) max(10px,env(safe-area-inset-right)) 0 0;pointer-events:none}
#hdrAct>button{pointer-events:auto}
#bSaveP,#bRefP,#bMenuP{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;width:64px;padding:0;border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent;font:400 10.5px/12px -apple-system,system-ui,sans-serif;color:#3C3C43}
#bMenuP .sv-tile,#bRefP .sv-tile,#bSaveP .sv-tile{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.72);border:1px solid rgba(21,101,192,.22);box-shadow:0 1px 8px rgba(21,101,192,.16),inset 0 1px 0 rgba(255,255,255,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#1565C0;transition:background .2s,color .2s}
#bMenuP .sv-ic,#bRefP .sv-ic,#bSaveP .sv-ic{width:26px;height:26px;display:block}
#bSaveP .sv-up,#bSaveP .sv-sp{display:none}
#bSaveP.dirty .sv-ok{display:none}#bSaveP.dirty .sv-up{display:inline}
#bSaveP.dirty .sv-tile{background:#1565C0;color:#fff;border-color:#1565C0}
#bSaveP.dirty .sv-t{color:#1565C0;font-weight:600}
#bSaveP.busy .sv-ok,#bSaveP.busy .sv-up{display:none}#bSaveP.busy .sv-sp{display:inline;transform-origin:12px 13.5px;animation:svspin .8s linear infinite}
@keyframes svspin{to{transform:rotate(360deg)}}
#bMenuP .sv-t,#bRefP .sv-t,#bSaveP .sv-t{white-space:nowrap;text-shadow:0 0 3px #fff,0 0 3px #fff}
#bMenuP:active .sv-tile,#bRefP:active .sv-tile,#bSaveP:active .sv-tile{transform:scale(.94)}
@media (min-width:821px){#hdrAct{padding:6px 12px 0 0;gap:12px}#bSaveP,#bRefP,#bMenuP{flex-direction:row-reverse;width:auto;gap:8px;padding:0 3px}#bSaveP .sv-t,#bRefP .sv-t{font-size:13px}}
@media (max-width:820px){#topsel.on~#hdrAct{visibility:hidden}}

#bRefP .sv-tile{position:relative}
#bRefP .rf-dot{display:none;position:absolute;top:5px;right:5px;width:9px;height:9px;border-radius:50%;background:#FF9500;box-shadow:0 0 0 2px #fff}
#bRefP.newer .rf-dot{display:block}
#bRefP.busy .rf-g{transform-origin:12px 12px;animation:svspin .8s linear infinite}
#nameS.nm-ask p{margin-bottom:16px}
html.au-open #hdrAct{visibility:hidden}
.chainT.lk:not(.on),#topsel button.chainT.lk:not(.on),#tb button.chainT.lk:not(.on),#more button.chainT.lk:not(.on){background:rgba(255,152,0,.16)!important;color:#EF6C00!important;border-color:rgba(239,108,0,.35)!important}
.chainT.lk:not(.on) .ic,#topsel button.chainT.lk:not(.on) .ic,#tb button.chainT.lk:not(.on) .ic{color:#EF6C00!important}

#accS .acc-row{cursor:pointer;display:flex!important;align-items:center;justify-content:space-between}#accS .acc-row small{color:var(--ios-2);font-size:15px}
#accS .acc-pw{display:flex;flex-direction:column;gap:8px;padding:8px}#accS .acc-pw[hidden]{display:none}
#accS .acc-pw button{min-height:44px;border:0;border-radius:10px;background:var(--ios-blue);color:#fff;font-size:16px;font-weight:600}
@media (max-width:360px){#hdrAct{gap:0}#bSaveP,#bRefP,#bMenuP{width:58px}}
#bMenuP .sv-tile,#bRefP .sv-tile,#bSaveP .sv-tile{width:40px!important;height:40px!important;border-radius:11px!important}
#bMenuP .sv-ic,#bRefP .sv-ic,#bSaveP .sv-ic{width:24px!important;height:24px!important}
@media(max-width:820px){#brandM{width:40px!important;height:40px!important;border-radius:11px!important;top:calc(env(safe-area-inset-top) + 6px)!important;left:max(10px,env(safe-area-inset-left))!important;padding:4px!important;box-sizing:border-box;background:rgba(255,255,255,.72)!important;border:1px solid rgba(21,101,192,.22);box-shadow:0 1px 8px rgba(21,101,192,.16)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}#brandM svg{width:100%!important;height:100%!important}}
@media (max-width:820px){#hdrAct{gap:13.33px!important;padding-right:max(10px,env(safe-area-inset-right))!important}#bSaveP,#bRefP,#bMenuP{width:40px!important}#bMenuP .sv-t,#bRefP .sv-t,#bSaveP .sv-t{font-size:10px!important;letter-spacing:-.15px;width:max-content;flex:none}}
#cList .tgh::before{flex:0 0 36px!important;width:36px;height:36px!important;border-radius:50%!important;background:#E8F0FA center/36px no-repeat!important;box-shadow:inset 0 0 0 .5px rgba(21,101,192,.12)}
@media(min-width:821px){#cList .tgh::before{flex-basis:32px!important;width:32px;height:32px!important;background-size:32px!important}#cList .tsh{padding-left:54px!important}#cList .ts::before{left:54px}}
#cList .tsh{padding-left:66px!important}#cList .ts::before{left:66px}
#cList .tg[data-g="arm"]>.tgh::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36'%3E%3Ccircle cx='18' cy='18' r='18' fill='%23E8F0FA'/%3E%3Cg transform='translate%286 6%29' fill='none' stroke='%231565C0' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12.5h4M18 12.5h4M2 10v5M22 10v5'/%3E%3Crect x='6' y='9.5' width='12' height='7' rx='2'/%3E%3Cpath d='M12 9.5V6.5M8.5 5h8'/%3E%3Ccircle cx='12' cy='13' r='1.6'/%3E%3C/g%3E%3C/svg%3E")!important}
#cList .tg[data-g="rez"]>.tgh::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36'%3E%3Ccircle cx='18' cy='18' r='18' fill='%23E8F0FA'/%3E%3Cg transform='translate%286 6%29' fill='none' stroke='%231565C0' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 21v-8.5A7.5 7.5 0 0 1 12.5 5H19M10 21v-8a3 3 0 0 1 3-3h6'/%3E%3Cpath d='M3.5 21h8M19 3.5v8'/%3E%3C/g%3E%3C/svg%3E")!important}
#cList .tg[data-g="vr"]>.tgh::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36'%3E%3Ccircle cx='18' cy='18' r='18' fill='%23E8F0FA'/%3E%3Cg transform='translate%286 6%29' fill='none' stroke='%231565C0' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='7' height='16' rx='1.5'/%3E%3Ccircle cx='6.5' cy='7' r='.8'/%3E%3Ccircle cx='6.5' cy='17' r='.8'/%3E%3Cpath d='M10 9.5h6a3 3 0 0 1 3 3V20M10 14.5h4v5.5M12.5 20h8'/%3E%3C/g%3E%3C/svg%3E")!important}
#cList .tg[data-g="mp"]>.tgh::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36'%3E%3Ccircle cx='18' cy='18' r='18' fill='%23E8F0FA'/%3E%3Cg transform='translate%286 6%29' fill='none' stroke='%231565C0' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='8.5' y='8' width='7' height='8' rx='1.2'/%3E%3Cpath d='M8.5 9.5H4.5v5h4M15.5 9.5h4v5h-4M6 9.5v5M18 9.5v5M2 12h2.5M19.5 12H22'/%3E%3C/g%3E%3C/svg%3E")!important}
#cList .tg[data-g="kol"]>.tgh::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36'%3E%3Ccircle cx='18' cy='18' r='18' fill='%23E8F0FA'/%3E%3Cg transform='translate%286 6%29' fill='none' stroke='%231565C0' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='6' width='19' height='5.5' rx='1.5'/%3E%3Cpath d='M7 11.5v6M12 11.5v6M17 11.5v6M5.5 17.5h3M10.5 17.5h3M15.5 17.5h3'/%3E%3C/g%3E%3C/svg%3E")!important}
#cList .tg[data-g="tru"]>.tgh::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36'%3E%3Ccircle cx='18' cy='18' r='18' fill='%23E8F0FA'/%3E%3Cg transform='translate%286 6%29' fill='none' stroke='%231565C0' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='6' cy='12' rx='2.5' ry='5.5'/%3E%3Cpath d='M6 6.5h12M6 17.5h12M18 6.5a2.5 5.5 0 0 1 0 11'/%3E%3C/g%3E%3C/svg%3E")!important}
#cList .tg[data-g="kip"]>.tgh::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36'%3E%3Ccircle cx='18' cy='18' r='18' fill='%23E8F0FA'/%3E%3Cg transform='translate%286 6%29' fill='none' stroke='%231565C0' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='10' r='7'/%3E%3Cpath d='M12 10l3.5-3.2M8 12.5h0M16 12.5h0M12 17v4M9.5 21h5'/%3E%3C/g%3E%3C/svg%3E")!important}
#cList .tg[data-g="oth"]>.tgh::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36'%3E%3Ccircle cx='18' cy='18' r='18' fill='%23E8F0FA'/%3E%3Cg transform='translate%286 6%29' fill='none' stroke='%231565C0' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 8.5h19M2.5 14.5h7v7M14.5 21.5v-7h7'/%3E%3Cpath d='M2.5 6.5v10M21.5 6.5v10'/%3E%3C/g%3E%3C/svg%3E")!important}
#cList .tg[data-g="etc"]>.tgh::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36'%3E%3Ccircle cx='18' cy='18' r='18' fill='%23E8F0FA'/%3E%3Cg transform='translate%286 6%29' fill='none' stroke='%231565C0' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='12' r='1.6'/%3E%3Ccircle cx='12' cy='12' r='1.6'/%3E%3Ccircle cx='18' cy='12' r='1.6'/%3E%3C/g%3E%3C/svg%3E")!important}
