:root{color:#3c3c3c;--board-bg:#05070c;--board-bg-top:#0c1018;--glass-radial:#414a5a38;--board-inset-edge:#ffffff12;--board-inset-depth:#00000059;--frame-color:#d8bc77;--logo-color:#9a8f7a;--slot-bg:transparent;--slot-border:#4f5763;--slot-active-border:#d8bc77;--slot-active-glow:#d8bc7773;--slot-icon-active-color:var(--led-color);--icon-color:#646d79;--led-color:#edf0ff;--grid-cols:2;--grid-rows:1;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}body{background:#050914;margin:0;overflow-x:hidden}#app{min-height:100vh}.page{min-height:100vh;padding-left:330px;display:block;position:relative}.wall-sand{background-color:#efe7df;background-image:radial-gradient(circle at 18% 24%,#ffffff73,#0000 42%),radial-gradient(circle at 85% 79%,#ffffff52,#0000 48%),radial-gradient(circle,#73665824 .9px,#0000 1.2px);background-size:auto,auto,7px 7px}.wall-stone{background-color:#e1e3e4;background-image:radial-gradient(circle at 14% 28%,#ffffff4d,#0000 50%),radial-gradient(circle,#69737a33 1px,#0000 1.4px);background-size:auto,8px 8px}.wall-concrete{background-color:#ddd8d2;background-image:radial-gradient(circle at 90% 12%,#ffffff52,#0000 40%),linear-gradient(145deg,#fff3,#00000008)}.wall-marble{background-color:#efefef;background-image:radial-gradient(circle at 78% 14%,#fff6,#0000 42%),repeating-linear-gradient(120deg,#a0a5aa2e 0 2px,#f5f5f53d 2px 16px)}.wall-brick{background-color:#c77456;background-image:linear-gradient(#fff3 2px,#0000 2px),linear-gradient(90deg,#fff3 2px,#0000 2px),linear-gradient(90deg,#7038272e 50%,#0000 50%);background-position:0 0,0 0,0 10px;background-size:34px 20px,34px 20px,68px 40px}.wall-walnut{background-color:#6f4d38;background-image:linear-gradient(100deg,#ffffff24 0%,#ffffff08 20%,#0000001f 45%,#ffffff0d 70%,#00000029 100%),repeating-linear-gradient(0deg,#4a3123b3 0 2px,#7e5a4252 2px 6px)}.sidebar{color:#96aecf;scrollbar-gutter:stable;background:linear-gradient(#060b1b 0%,#040712 100%);border-right:1px solid #14304f;width:330px;height:100vh;padding:20px 18px 24px;overflow-y:auto}.sidebar.fixed{position:fixed;top:0;left:0}.brand{border-bottom:1px solid #183554;justify-content:center;align-items:center;margin-bottom:22px;padding:4px 0 14px;display:flex}.brand-logo{width:100%;max-width:219px;height:auto;display:block}.brand-mark{color:#00eaff;background:#00eaff1a;border-radius:8px;place-items:center;width:32px;height:32px;font-size:20px;display:grid}.brand-title{color:#48e6ff;letter-spacing:.02em;font-size:1.65rem;font-weight:700}.brand-subtitle{color:#7b97bc;letter-spacing:.14em;font-size:.78rem}.control-group{margin-bottom:18px}.control-group h2{letter-spacing:.12em;color:#6d89ad;margin:0 0 10px;font-size:.76rem;font-weight:600}.control-note{color:#7390b2;margin:-4px 0 8px;font-size:.74rem;line-height:1.35}.wireless-note{margin-top:6px}.size-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.chip{color:#87a4c8;cursor:pointer;background:#0a1423cc;border:1px solid #1f456f;border-radius:12px;padding:11px 0}.chip.active{color:#09e6ff;border-color:#00c9e4;box-shadow:inset 0 0 0 1px #00c9e466}.option-list{flex-direction:column;gap:7px;display:flex}.wireless-protocol-list{flex-direction:column;gap:8px;display:flex}.wireless-group{background:#0a14236b;border:1px solid #1f456f;border-radius:10px;overflow:hidden}.wireless-group-summary{cursor:pointer;color:#93abca;padding:9px 12px;font-size:.9rem;list-style:none}.wireless-group-summary::-webkit-details-marker{display:none}.wireless-group-summary:after{content:"▾";float:right;color:#7ca4d2}.wireless-group:not([open]) .wireless-group-summary:after{content:"▸"}.wireless-group-options{flex-direction:column;gap:6px;padding:0 8px 8px;display:flex}.wireless-nested-option{margin-left:8px}.icon-library-panel{background:linear-gradient(#0c182ad9 0%,#060e1aeb 100%);border:1px solid #2a5078;border-radius:14px;padding:12px 12px 10px;box-shadow:inset 0 1px #ffffff0f,0 4px 14px #00000040}.icon-library-panel h2{color:#7fa3cf;margin-bottom:10px}.icon-segment-list{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.icon-segment-btn{color:#84a6cc;cursor:pointer;background:#081220b3;border:1px solid #2a4f76;border-radius:999px;padding:5px 9px;font-size:.72rem}.icon-segment-btn.active{color:#1befff;background:#00b7d224;border-color:#00b7d2}.icon-search-row{color:#87a9cf;gap:4px;margin-bottom:8px;font-size:.75rem;display:grid}.icon-search-input{color:#d6e5fb;background:#070f1ceb;border:1px solid #2a5078;border-radius:8px;width:100%;padding:7px 9px;font-size:.82rem}.icon-search-input::placeholder{color:#6d89ad}.recent-icons-block{background:#070f1c80;border:1px solid #2a5078;border-radius:10px;margin-top:10px;margin-bottom:10px;padding:8px}.recent-icons-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.recent-icons-title{color:#87a9cf;font-size:.75rem}.recent-icons-clear-btn{color:#8fb4de;cursor:pointer;background:#0a1828d9;border:1px solid #335c86;border-radius:999px;padding:4px 8px;font-size:.68rem;line-height:1}.recent-icons-clear-btn:hover{color:#b6d6ff;border-color:#4c7bab}.recent-icon-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.recent-icon{background:#00c9e41a;border-color:#3f6e97}.icon-drawer{scrollbar-color:#00c9e473 #0a182899;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-height:160px;margin:0 -2px 0 0;padding:6px 4px 4px 0;display:grid;overflow-y:auto}.drawer-icon{color:#ff4f4f;cursor:grab;background:#ff2d2d14;border:1px solid #2a4f76;border-radius:10px;place-items:center;height:48px;font-size:1.45rem;display:grid}.drawer-icon-content{text-align:center;flex-shrink:0;width:28px;height:28px;font-size:1.3rem;line-height:28px;display:block}.drawer-icon-content.icon-image,.slot-icon-content.icon-image{object-fit:contain;width:28px;height:28px}.slot-icon-content.icon-image-mask{-webkit-mask-image:var(--icon-mask-url);-webkit-mask-image:var(--icon-mask-url);mask-image:var(--icon-mask-url);background-color:currentColor;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.slot-icon-content.icon-image-mask.fan-icon-slot-boost{-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:138% 138%;mask-size:138% 138%}.drawer-icon-content.icon-image.fan-icon-slot-boost{transform-origin:50%;transform:scale(1.18)}.drawer-icon-content.fan-svg-icon,.slot-icon-content.fan-svg-icon{stroke-width:1.9px}.drawer-icon:active{cursor:grabbing}.drawer-empty{color:#6d89ad;text-align:center;border:1px dashed #335c86;border-radius:10px;grid-column:1/-1;padding:10px;font-size:.82rem}.option-btn{text-align:left;color:#8da8c8;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;padding:10px 12px;font-size:.93rem}.option-btn.active{color:#2df3ff;background:#00b7d21a;border-color:#00b7d2}.variant-select{color:#d6e5fb;background:#08111ee6;border:1px solid #2a5078;border-radius:10px;width:100%;margin-bottom:8px;padding:10px 12px;font-size:.9rem}.variant-list{border:1px solid #203d5f;border-radius:10px;max-height:146px;margin:0;padding:0;list-style:none;overflow-y:auto}.variant-list li{color:#88a4c5;cursor:pointer;border-bottom:1px solid #17314f;padding:8px 10px;font-size:.83rem}.variant-list li:last-child{border-bottom:none}.variant-list li.active{color:#2df3ff;background:#00b7d21f}.swatches{grid-template-columns:repeat(auto-fit,minmax(48px,1fr));gap:8px;display:grid}.swatch{cursor:pointer;border:1px solid #234f7a;border-radius:8px;height:32px}.swatch[data-tone=black]{background:#171717}.swatch[data-tone=silver]{background:#b5bac3}.swatch[data-tone=gold]{background:#d89d3f}.swatch[data-tone=pink]{background:#d08aa7}.swatch[data-tone=custom]{background:linear-gradient(135deg,#4de0ff 0%,#ff8bc8 50%,#f4c66f 100%)}.swatch.active{outline-offset:1px;outline:2px solid #19e8ff}.led-swatches{margin-bottom:8px}.led-swatch{border-color:#ffffff40}.color-row{color:#8da8c8;justify-content:space-between;align-items:center;gap:10px;margin-top:8px;font-size:.82rem;display:flex}.wall-color-row{margin-top:10px;margin-bottom:6px}.color-picker{cursor:pointer;background:0 0;border:1px solid #2f587f;border-radius:8px;width:54px;height:32px}.download-btn{color:#36f3ff;cursor:pointer;background:#00b7d224;border:1px solid #00b7d2;border-radius:12px;width:100%;margin-top:10px;padding:12px 14px;font-weight:600}.download-btn:hover{background:#00b7d238}.canvas{background-color:#edf0ff;background-position:50%;background-repeat:no-repeat;background-size:cover;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100vh;padding:28px;display:flex;overflow:hidden}.variant-preview-card{background:#0a0f1ab3;border:1px solid #2c4260b3;border-radius:16px;width:min(100%,360px);padding:10px;box-shadow:0 8px 20px #00000040}.variant-preview-image{border-radius:12px;width:100%;display:block}.variant-preview-meta{color:#d3e7ff;flex-direction:column;gap:2px;margin-top:8px;display:flex}.variant-preview-meta strong{font-size:.88rem;font-weight:600}.variant-preview-meta span{color:#84a2c7;font-size:.76rem}.board{background:radial-gradient(circle at 50% 45%, var(--glass-radial), transparent 65%), linear-gradient(180deg, var(--board-bg-top) 0%, var(--board-bg) 100%);border:4px solid var(--frame-color);box-shadow:inset 0 0 0 2px var(--board-inset-edge), inset 0 -12px 20px var(--board-inset-depth), 0 16px 40px #0006;border-radius:26px;justify-content:center;align-items:center;padding:clamp(22px,4vw,32px);display:flex;position:relative}.board.board-size-2{aspect-ratio:1.48;width:clamp(286px,100vw - 392px,444px);max-width:100%}.board.board-size-2.board-size-2-socket,.board.board-size-2.board-size-2-switch{aspect-ratio:1.1;width:clamp(280px,100vw - 460px,390px)}.board.board-size-4{aspect-ratio:1;width:clamp(280px,100vw - 380px,380px);max-width:100%}.board.board-size-6{aspect-ratio:1.65;width:clamp(360px,100vw - 380px,580px);max-width:100%}.board.board-size-8{aspect-ratio:2.15;width:clamp(420px,100vw - 380px,680px);max-width:100%}.board.board-variant-4s-socket-fan{padding-block:clamp(22px,4vw,32px);padding-inline:clamp(22px,4vw,32px) clamp(10px,1.85vw,18px)}.socket-2m{justify-content:center;align-items:center;width:min(90%,360px);height:min(80%,285px);margin:0 auto;display:flex}.socket-2m-square{aspect-ratio:1;background:linear-gradient(165deg,#0f1116 0%,#05070b 100%);border:1px solid #1f232c;border-radius:clamp(4px,.9vw,8px);place-items:center;width:min(58%,188px);display:grid;position:relative;box-shadow:inset 0 1px #ffffff14,inset 0 -5px 10px #0000005c,0 4px 10px #00000047}.socket-2m-image{object-fit:contain;filter:saturate(.98)contrast(1.03);width:94%;height:94%;display:block;transform:translate(-7%)}.socket-2m-usb-rail{pointer-events:none;flex-direction:column;justify-content:flex-start;align-items:stretch;width:17%;max-width:28px;display:flex;position:absolute;top:14%;bottom:12%;right:4%}.socket-2m-usb-stack{flex-direction:column;align-items:stretch;gap:0;width:100%;font-size:clamp(4px,.9vw,7px);line-height:1.15;display:flex}.socket-2m-usb-ports{flex-direction:column;align-items:stretch;gap:clamp(7px,1.85vw,14px);width:100%;display:flex}.socket-2m-usb-spec{text-align:right;color:#e8eaee;letter-spacing:.02em;text-shadow:0 0 .5px #000000e6;flex-direction:column;align-items:flex-end;margin-bottom:clamp(6px,1.1vw,12px);display:flex}.socket-2m-usb-spec-line{white-space:nowrap;font-weight:500;display:block}.socket-2m-dc-mark{opacity:.95;font-size:.95em}.socket-2m-usb-spec-led{letter-spacing:.06em;margin-top:.12em;font-size:.92em}.socket-2m-usb-port{flex-shrink:0}.socket-2m-usb-port-a{aspect-ratio:13/21;align-self:center;width:78%}.socket-2m-usb-a-shell{box-sizing:border-box;background:linear-gradient(#3a3f49 0%,#1c1f26 55%,#12151c 100%);border:1px solid #2a2e36;border-radius:1px;width:100%;height:100%;padding:10% 12%;display:block;box-shadow:inset 0 1px #ffffff1f,inset 0 -2px 4px #000000a6,0 1px 2px #00000080}.socket-2m-usb-a-opening{background:linear-gradient(#f3f5f8 0%,#d5dae2 48%,#c4cad4 100%);border:1px solid #9aa2ae;border-radius:.5px;justify-content:center;align-items:center;width:100%;height:100%;display:flex;box-shadow:inset 0 2px 3px #ffffffa6,inset 0 -1px 2px #0000002e}.socket-2m-usb-a-tongue{background:linear-gradient(#e9ecf1 0%,#c8ced8 100%);border-radius:.5px;width:58%;height:22%;box-shadow:inset 0 1px #ffffff8c,0 0 0 .5px #5a606c59}.socket-2m-usb-led-dot{aspect-ratio:1;background:radial-gradient(circle at 35% 35%,#454a54 0%,#151820 78%);border:1px solid #4a505a;border-radius:999px;flex-shrink:0;align-self:center;width:18%;max-width:5px;box-shadow:inset 0 1px 1px #000000a6}.socket-2m-module{aspect-ratio:1/.9;background:linear-gradient(160deg,#34353a 0%,#1d1e23 70%,#16171c 100%);border:1px solid #4a4d53;border-radius:clamp(3px,.8vw,6px);width:min(66%,216px);padding:clamp(10px,1.5vw,14px) clamp(10px,1.6vw,14px);box-shadow:inset 0 1px #ffffff14,inset 0 -5px 10px #00000061,0 8px 18px #00000073}.socket-2m-module-inner{height:100%;position:relative}.socket-2m-outlet{flex-direction:column;justify-content:space-between;align-items:center;width:50%;padding:.2em .2em 0;display:flex;position:absolute;top:48%;left:44%;transform:translate(-50%,-46%)}.socket-2m-outlet-top{justify-content:center;align-items:center;gap:2.2em;width:100%;margin-top:.1em;display:flex}.socket-2m-hole-round{background:radial-gradient(circle at 30% 30%,#24262b,#0d0e12 72%);border-radius:999px;width:1.24em;height:1.24em;box-shadow:0 0 0 .13em #1e2026,inset 0 .18em .24em #000000d1}.socket-2m-outlet-mid{justify-content:center;align-items:center;gap:.82em;margin-top:-.1em;display:flex}.socket-2m-earth{background:linear-gradient(#2a2c33 0%,#0f1014 100%);border-radius:999px;width:.68em;height:2.95em;box-shadow:inset 0 .2em .22em #000000b8,0 0 0 .1em #1e2026}.socket-2m-slot{background:linear-gradient(#22242b 0%,#0e1014 100%);border-radius:.34em;width:1.45em;height:.95em;box-shadow:inset 0 .18em .2em #000000b3,0 0 0 .09em #1d1f24}.socket-2m-slot-l{transform:translateY(.92em)rotate(-20deg)}.socket-2m-slot-r{transform:translateY(.92em)rotate(20deg)}.socket-2m-usb{flex-direction:column;justify-content:space-between;align-items:flex-end;width:clamp(40px,6.9vw,56px);padding:0;display:flex;position:absolute;top:.2em;bottom:.2em;right:.15em}.socket-2m-usb-block{flex-direction:column;align-items:center;gap:.28em;display:flex}.socket-2m-usb-block-a{flex-direction:row;justify-content:flex-end;align-items:center;gap:.22em;width:100%}.socket-2m-port-c{background:linear-gradient(#0f1013 0%,#1c1e24 46%,#0e0f13 100%);border:1px solid #5c6069;border-radius:.45em;width:1.05em;height:2.25em;box-shadow:inset 0 .15em .25em #000000d6,0 0 0 1px #ffffff0a}.socket-2m-usb-label{color:#8c909b;text-transform:lowercase;letter-spacing:.01em;font-size:.62em}.socket-2m-spec{letter-spacing:.02em;color:#888d99;text-align:right;margin:0;font-size:.63em;line-height:1.25}.socket-2m-usb-a-icon{opacity:.84;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 24' fill='none' stroke='%23808794' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 21V4'/%3E%3Cpath d='M10 4l-2 2M10 4l2 2'/%3E%3Cpath d='M10 11L5.5 9'/%3E%3Ccircle cx='5' cy='9' r='1.25' fill='%23808794' stroke='none'/%3E%3Cpath d='M10 8.5l4.5 1.8'/%3E%3Crect x='14.25' y='9.7' width='1.9' height='1.9' fill='%23808794' stroke='none'/%3E%3Cpath d='M8 21a2 2 0 0 0 4 0'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:contain;width:.9em;height:1.04em}.socket-2m-port-a{background:linear-gradient(#f4f5f8 0%,#cfd3d9 100%);border:1px solid #9b9ea6;border-radius:.1em;width:2.06em;height:1.22em;position:relative;box-shadow:inset 0 .08em .14em #ffffffbf,inset 0 -.05em .08em #0003,0 .08em .2em #00000047}.socket-2m-port-a-tongue{background:linear-gradient(#d9dce2 0%,#bcc1c9 100%);border-radius:.07em;width:1.26em;height:.42em;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 1px #ffffff80,0 0 0 1px #6d727c2e}.panel-grid{grid-template-columns:repeat(var(--grid-cols), minmax(0, 1fr));grid-template-rows:repeat(var(--grid-rows), minmax(0, 1fr));place-items:center;gap:clamp(14px,2vw,26px);width:min(62%,430px);height:min(58%,230px);display:grid}.board-size-2-switch .panel-grid{gap:clamp(32px,4.5vw,54px) clamp(28px,3.6vw,46px);width:min(62%,220px);height:min(62%,220px)}.board-size-6 .panel-grid{gap:clamp(18px,2.4vw,32px);width:min(74%,420px);height:min(66%,230px)}.board-size-6 .panel-slot{width:clamp(28px,3vw,40px)}.board-size-8 .panel-grid{gap:clamp(16px,2.2vw,28px);width:min(82%,540px);height:min(68%,240px)}.board-size-8 .panel-slot,.board-size-2-switch .panel-slot{width:clamp(28px,3vw,40px)}.panel-grid-fan{grid-template-rows:minmax(0,.92fr) minmax(0,.2fr) minmax(0,.92fr);grid-template-columns:repeat(5,minmax(0,1fr));grid-template-areas:"slot-0 slot-1 slot-2.slot-6"". . .slot-8 fan-link""slot-3 slot-4 slot-5.slot-7";gap:clamp(16px,2.2vw,28px) clamp(14px,2vw,26px);width:min(84%,500px);height:min(72%,260px)}.panel-grid-socket-fan{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:1.2fr repeat(3,minmax(0,1fr));grid-template-areas:"socket slot-0 slot-1 slot-2""socket slot-3 slot-4 slot-5";gap:clamp(20px,2.8vw,34px) clamp(16px,2.3vw,32px);width:min(76%,560px);height:min(62%,230px)}.panel-grid-socket-fan-controls{grid-template-rows:repeat(3,minmax(0,1fr));grid-template-columns:1.15fr minmax(0,1fr) minmax(0,1fr) minmax(0,.42fr) minmax(0,1fr);grid-template-areas:"socket slot-0 slot-1.slot-4""socket. .slot-6 fan-link""socket slot-2 slot-3.slot-5";gap:clamp(3px,1vw,8px) clamp(20px,2.8vw,38px);width:min(92%,660px);height:min(64%,246px);margin-inline:clamp(4px,.9vw,12px) clamp(-6px,-.6vw,-2px)}.panel-grid-dimmer{grid-template-rows:auto 1fr auto;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"up-left up-right""slot-0 slot-1""down-left down-right";place-items:center;gap:clamp(8px,1.3vw,14px) clamp(22px,2.5vw,34px);width:min(50%,290px);height:min(54%,210px)}.dimmer-arrow{opacity:.95;width:clamp(10px,1vw,14px);height:clamp(7px,.8vw,10px)}.dimmer-arrow-up{clip-path:polygon(50% 0%,0% 100%,100% 100%);background:linear-gradient(#f5f7fb 0%,#cfd5df 100%)}.dimmer-arrow-down{clip-path:polygon(0% 0%,100% 0%,50% 100%);background:linear-gradient(#f5f7fb 0%,#cfd5df 100%)}.dimmer-arrow-up-left{grid-area:up-left}.dimmer-arrow-up-right{grid-area:up-right}.dimmer-arrow-down-left{grid-area:down-left}.dimmer-arrow-down-right{grid-area:down-right}.panel-grid-curtain{grid-template-columns:auto auto auto;grid-template-areas:"slot-0 curtain slot-1";justify-content:center;column-gap:clamp(12px,2vw,22px);width:min(52%,320px);height:min(40%,140px)}.panel-curtain-icon{filter:drop-shadow(0 1px 1px #00000040);justify-content:center;align-items:flex-end;width:clamp(24px,2.5vw,32px);height:clamp(30px,3.2vw,40px);display:flex;position:relative}.curtain-top{background:linear-gradient(#a7acb6f2,#727883f2);border-radius:1px;height:clamp(4px,.5vw,6px);position:absolute;top:1px;left:1px;right:1px;box-shadow:inset 0 1px #fff3,inset 0 -1px #373b4359}.curtain-drop{clip-path:polygon(7% 0%,93% 0%,86% 72%,56% 100%,18% 78%);background:linear-gradient(#787e8bfa,#4e5462fa);border-radius:1px 1px 6px 6px;width:clamp(8px,.95vw,11px);height:clamp(17px,2.15vw,23px);position:relative;box-shadow:inset 0 0 0 1px #42465047,inset 0 .5px #ffffff14}.curtain-drop:after{content:"";clip-path:polygon(50% 100%,0 16%,100% 16%);background:linear-gradient(#666c7af2,#474c5af2);width:clamp(4px,.55vw,6px);height:clamp(6px,.8vw,8px);position:absolute;bottom:-2px}.curtain-drop-left{margin-right:2px}.curtain-drop-left:after{right:-1px}.curtain-drop-right{margin-left:2px}.curtain-drop-right:after{left:-1px}.panel-socket{object-fit:contain;filter:saturate(.9);place-self:center;width:clamp(114px,9.8vw,144px);height:clamp(114px,9.8vw,144px);display:block}.panel-socket-4s1sock1fan{filter:brightness(.92)contrast(1.08)saturate(.95)drop-shadow(0 0 .8px #cdd6e4c7)drop-shadow(0 0 1.2px #000000bf);width:clamp(132px,11.2vw,164px);height:clamp(132px,11.2vw,164px);transform:translate(-2px)translateY(0)}.panel-grid-socket-fan .panel-socket,.panel-grid-socket-fan-controls .panel-socket{transform-origin:50%;place-self:stretch center;width:auto;max-width:100%;height:100%;margin-inline-end:clamp(16px,2.2vw,30px);transform:scale(1.94)}.panel-grid-socket-fan-controls .panel-socket.panel-socket-4s1sock1fan{transform:translate(2px)translateY(0)scale(2.28,2.34)}.panel-fan-link{opacity:.9;background-image:linear-gradient(var(--slot-border), var(--slot-border)), linear-gradient(var(--slot-border), var(--slot-border)), linear-gradient(var(--slot-border), var(--slot-border));background-position:50% 14%,50%,50% 86%;background-repeat:no-repeat;background-size:100% 2px;border-radius:1px;grid-area:fan-link;place-self:center;width:clamp(6px,1.2vw,8px);height:clamp(18px,3.8vw,30px);transform:translateY(-2px)}.panel-fan-link-six-fan{transform:translateY(2px)}.panel-slot.fan-control,.panel-slot.fan-mode-control{border-color:var(--slot-border)}.panel-grid-socket-fan-controls .panel-slot.socket-fan-top-row{transform:translateY(15px)rotate(45deg)}.panel-grid-socket-fan-controls .panel-slot.socket-fan-bottom-row{transform:translateY(-15px)rotate(45deg)}.panel-grid-fan .panel-slot.six-fan-top-row{transform:translateY(10px)rotate(45deg)}.panel-grid-fan .panel-slot.six-fan-bottom-row{transform:translateY(-10px)rotate(45deg)}.panel-slot{aspect-ratio:1;border:2px solid var(--slot-border);background:var(--slot-bg);border-radius:10px;width:clamp(30px,3vw,44px);position:relative;transform:rotate(45deg);box-shadow:inset 0 0 8px #ffffff0f}.panel-slot-2way .slot-2way-drag-hint{pointer-events:none;z-index:0;opacity:.95;color:#9aa3ad;flex-direction:column;justify-content:center;align-items:center;gap:clamp(16px,1.75vw,28px);display:flex;position:absolute;inset:0;transform:rotate(-45deg)}.panel-slot-2way.has-icon .slot-2way-drag-hint{opacity:.55}.panel-slot-2way .way-chevron-line{flex-shrink:0;width:clamp(7px,.8vw,12px);height:auto;display:block;overflow:visible}.panel-slot-2way .slot-icon{z-index:1}.slot-clear-btn{cursor:pointer;z-index:2;background:linear-gradient(#f9fbff 0%,#e4e9f0 100%);border:1px solid #d7dee8;border-radius:5px;place-items:center;width:34px;height:22px;padding:0;display:grid;position:absolute;top:-42px;right:-16px;transform:rotate(-45deg);box-shadow:inset 0 1px #fffc,0 2px 7px #0006}.slot-clear-btn:hover{background:linear-gradient(#fff 0%,#edf2f8 100%);border-color:#eef4ff}.slot-clear-btn-icon{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23111215' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 4.5h9'/%3E%3Cpath d='M6.2 2.8h3.6'/%3E%3Crect x='4.8' y='4.5' width='6.4' height='8.2' rx='1'/%3E%3Cpath d='M6.9 6.5v4.2M9.1 6.5v4.2'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:contain;width:13px;height:13px}.panel-slot.is-target{border-color:#9ba8ba;box-shadow:inset 0 0 10px #d6e2f12e,0 0 0 1px #afc1d666}.panel-slot.has-icon{border-color:var(--slot-active-border);box-shadow:inset 0 0 10px color-mix(in srgb, var(--slot-active-border) 62%, transparent 38%), 0 0 8px var(--slot-active-glow)}.slot-icon{text-align:center;width:65%;height:65%;color:var(--icon-color);letter-spacing:.05em;opacity:.9;place-items:center;font-size:clamp(.9rem,1.4vw,1.2rem);font-weight:600;line-height:1;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-45deg)}.slot-icon-content{width:100%;height:100%;margin:0 auto;display:block}.panel-slot.has-icon .slot-icon{color:var(--slot-icon-active-color);opacity:1;text-shadow:0 0 5px color-mix(in srgb, var(--led-color) 78%, white 22%), 0 0 10px color-mix(in srgb, var(--led-color) 60%, transparent 40%), 0 0 16px color-mix(in srgb, var(--led-color) 42%, transparent 58%);filter:drop-shadow(0 0 1px color-mix(in srgb, var(--slot-icon-active-color) 72%, black 28%))}.panel-logo{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;opacity:.95;width:clamp(66px,7vw,102px);height:auto;filter:brightness(.72) contrast(.9) saturate(1.05) drop-shadow(0 1px 0 #0003) drop-shadow(0 0 12px color-mix(in srgb, var(--led-color) 30%, transparent 70%));display:block;position:absolute;bottom:clamp(8px,1.4vw,14px);right:clamp(16px,2vw,24px)}@media (width<=768px){.page{padding-left:0}.sidebar.fixed{border-bottom:1px solid #14304f;border-right:none;width:100%;min-height:auto;max-height:none;position:static}.sidebar{height:auto;overflow:visible}.brand-title{font-size:1.2rem}.canvas{min-height:calc(100vh - 32px);padding:16px 12px}.board{width:min(100%,560px);max-width:100%;padding:clamp(14px,4vw,22px)}.board.board-size-2{width:min(100%,364px)}.board.board-size-2.board-size-2-socket,.board.board-size-2.board-size-2-switch{width:min(100%,332px)}.board.board-size-4{width:min(100%,340px)}.board.board-size-6{width:min(100%,520px)}.board.board-size-6,.board.board-size-8{width:100%}.socket-2m{width:min(94%,336px);height:min(78%,258px)}.panel-grid{gap:clamp(10px,2.5vw,18px);width:min(70%,360px);height:min(62%,190px)}.board-size-2-switch .panel-grid{gap:clamp(28px,5vw,50px) clamp(24px,4vw,40px);width:min(62%,210px);height:min(62%,210px)}.board-size-6 .panel-grid{gap:clamp(14px,2.4vw,26px);width:min(74%,380px);height:min(66%,200px)}.board-size-6 .panel-slot{width:clamp(22px,5vw,36px)}.board-size-8 .panel-grid{gap:clamp(12px,2.2vw,22px);width:min(82%,480px);height:min(68%,200px)}.board-size-8 .panel-slot{width:clamp(28px,6vw,44px)}.panel-grid.panel-grid-fan{grid-template-rows:minmax(0,.92fr) minmax(0,.18fr) minmax(0,.92fr);gap:clamp(12px,2.2vw,22px) clamp(12px,2vw,22px);width:min(84%,440px);height:min(72%,230px)}.panel-grid.panel-grid-socket-fan{gap:clamp(14px,3vw,24px) clamp(16px,3vw,28px);width:min(84%,500px);height:min(64%,214px)}.panel-grid.panel-grid-socket-fan-controls{gap:clamp(3px,1.05vw,8px) clamp(18px,3.2vw,34px);width:min(93%,560px);height:min(66%,220px);margin-inline:clamp(2px,.7vw,9px) clamp(-4px,-.4vw,0px)}.panel-grid.panel-grid-dimmer{gap:clamp(7px,1.8vw,12px) clamp(16px,3vw,26px);width:min(56%,250px);height:min(58%,186px)}.panel-grid.panel-grid-curtain{column-gap:clamp(10px,2.4vw,18px);width:min(60%,280px);height:min(44%,130px)}.panel-slot{width:clamp(22px,5vw,36px)}.board-size-2-switch .panel-slot{width:clamp(28px,7vw,44px)}.slot-icon{font-size:clamp(.8rem,2.8vw,1rem)}}@media (width<=480px){.brand-title{font-size:1rem}.brand-subtitle{letter-spacing:.1em}.canvas{padding:12px 8px}.board{border-width:3px;border-radius:20px}.board.board-size-2{width:min(100%,314px)}.board.board-size-2.board-size-2-socket,.board.board-size-2.board-size-2-switch{width:min(100%,286px)}.board.board-size-4{width:min(100%,300px)}.board.board-size-6{width:min(100%,420px)}.board.board-size-8{width:min(100%,440px)}.board.board-variant-4s-socket-fan{padding-block:clamp(14px,4vw,22px);padding-inline:clamp(14px,3.2vw,22px) clamp(8px,2.2vw,14px)}.socket-2m{width:min(96%,296px);height:min(76%,224px)}.panel-grid{width:min(74%,300px);height:min(64%,160px)}.board-size-2-switch .panel-grid{gap:clamp(24px,6vw,42px) clamp(20px,5vw,36px);width:min(62%,190px);height:min(62%,190px)}.board-size-2-switch .panel-slot{width:clamp(26px,8vw,40px)}.board-size-6 .panel-grid{gap:clamp(12px,2.8vw,22px);width:min(74%,320px);height:min(66%,160px)}.board-size-6 .panel-slot{width:clamp(20px,6vw,32px)}.board-size-8 .panel-grid{gap:clamp(10px,2.8vw,18px);width:min(82%,380px);height:min(68%,170px)}.board-size-8 .panel-slot{width:clamp(20px,6vw,32px)}.panel-grid.panel-grid-fan{grid-template-rows:minmax(0,.92fr) minmax(0,.16fr) minmax(0,.92fr);gap:clamp(10px,2.8vw,18px);width:min(84%,360px);height:min(74%,190px)}.panel-grid.panel-grid-socket-fan{gap:clamp(10px,4vw,16px) clamp(10px,4vw,18px);width:min(90%,360px);height:min(66%,186px)}.panel-grid.panel-grid-socket-fan-controls{gap:clamp(1px,.95vw,6px) clamp(12px,4vw,22px);width:min(96%,408px);height:min(68%,186px);margin-inline:0}.panel-grid.panel-grid-dimmer{gap:clamp(6px,2.2vw,10px) clamp(12px,4vw,20px);width:min(62%,212px);height:min(60%,160px)}.panel-grid.panel-grid-curtain{column-gap:clamp(8px,3vw,14px);width:min(66%,236px);height:min(48%,106px)}.panel-socket{width:clamp(96px,13vw,124px);height:clamp(96px,13vw,124px)}.panel-socket-4s1sock1fan{width:clamp(110px,14.8vw,142px);height:clamp(110px,14.8vw,142px);transform:translate(-1px)translateY(0)}.panel-grid.panel-grid-socket-fan-controls .panel-socket.panel-socket-4s1sock1fan{transform:translate(2px)translateY(0)scale(2.04,2.08)}}
