@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Noto+Sans+KR:wght@400;500;600;700;800;900&display=swap');
:root{font-family:'Noto Sans KR',Arial,sans-serif;color:#17191b;background:#fff;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}header{height:92px;border-bottom:1px solid #e4e5e7;display:flex;align-items:center;padding:0 5%;gap:68px}.brand{font-family:Arial,sans-serif;font-size:28px;font-weight:900;letter-spacing:-1.5px;display:inline-flex;align-items:center}.brand-dot{width:7px;height:7px;background:#222;margin:13px 0 0 3px}nav{display:flex;height:100%;gap:34px;align-items:center}nav a{height:100%;display:flex;align-items:center;font-size:13px;color:#777;position:relative;font-weight:500}nav a.active{color:#111;font-weight:700}nav a.active:after{content:'';height:3px;background:#111;bottom:0;position:absolute;width:100%}nav a span{margin-left:8px}.header-note{margin-left:auto;font-size:12px;color:#666;white-space:nowrap}.header-note i{display:inline-block;width:6px;height:6px;background:#222;border-radius:50%;margin-right:8px}main{max-width:1280px;margin:auto;padding:0 48px}.hero{padding:65px 0 53px;position:relative;overflow:hidden}.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:500;letter-spacing:1.5px;color:#686c70}.hero .eyebrow span{font-family:'Noto Sans KR',sans-serif;margin-left:18px;letter-spacing:0;color:#929496}.hero h1{font-size:51px;line-height:1.4;letter-spacing:-2.6px;margin:23px 0 30px;font-weight:800}.wordmark{font-family:Arial,sans-serif;font-weight:900;letter-spacing:-2px}.search{display:flex;width:730px;max-width:100%;height:62px;border:1.5px solid #242629;align-items:center;background:white;position:relative;z-index:1;padding-left:20px;box-shadow:4px 4px 0 #efefef}.search-icon{font-size:30px;line-height:1;margin-right:14px;transform:rotate(-20deg)}.search input{min-width:0;flex:1;border:0;outline:0;font-size:13px;background:transparent}.search input::placeholder{color:#96999d}.search:focus-within{outline:2px solid #9ca3af;outline-offset:3px}kbd{border:1px solid #ddd;color:#999;padding:2px 7px;border-radius:3px;margin-right:16px;font-size:11px}.search button{height:100%;background:#191b1e;color:#fff;border:0;padding:0 24px;font-size:12px}.search button span{margin-left:18px}.suggestions{display:flex;align-items:center;gap:10px;margin-top:19px;font-size:10px;color:#8c9094}.suggestions>span{margin-right:4px}.suggestions button{border:1px solid #e7e8ea;background:#fff;padding:6px 10px;color:#62666b;font-size:10px}.suggestions button span{margin-left:9px;color:#999}.circuit{position:absolute;right:0;top:96px;width:290px;background-image:radial-gradient(#d6d9dc .8px,transparent .8px);background-size:14px 14px;padding:35px 0 23px}.circuit svg{width:100%;height:140px;stroke:#4b5055;stroke-width:1.5;fill:white}.circuit svg .terminal{fill:#e3e5e6}.circuit svg text{stroke:none;fill:#24282c;font:22px 'IBM Plex Mono',monospace;text-anchor:middle}.circuit-label,.circuit-bottom{text-align:center;font:10px 'IBM Plex Mono',monospace;letter-spacing:1px;color:#858a90}.circuit-bottom{font-size:8px;letter-spacing:1.6px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between}.section-heading h2{font-size:24px;letter-spacing:-1px;margin:9px 0 0}.section-heading h2 span{font:11px 'IBM Plex Mono',monospace;color:#94989c;margin-left:12px;vertical-align:super}.section-note{font-size:11px;color:#8a8e93;padding-bottom:4px}.filter-row{margin:24px 0 19px;display:flex;align-items:center;justify-content:space-between}.filters{display:flex;gap:6px}.filters button{border:1px solid transparent;background:white;color:#7b8086;padding:8px 14px;font-size:11px}.filters button.selected{background:#222529;color:white;border-color:#222529}.filter-row>span{font-size:10px;color:#91969c}.tool-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.tool-card{text-align:left;background:white;border:1px solid #dedfe2;padding:24px 21px 0;min-width:0;transition:transform .15s,border-color .15s,box-shadow .15s;color:inherit}.tool-card:hover{border-color:#34383d;transform:translateY(-3px);box-shadow:0 5px 0 #eee}.card-top{height:62px;display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.tag{font:8px 'IBM Plex Mono',monospace;letter-spacing:.6px;color:#9a9ea3;padding-top:4px}.tool-icon{display:inline-flex;color:#31363a;position:relative}.chip{font:12px 'IBM Plex Mono',monospace;background:#35383c;color:#fff;border-left:8px solid #c1c4c7;border-right:8px solid #c1c4c7;padding:7px 6px;margin-top:2px}.resistor{width:57px;height:22px;background:#e7e5df;border-radius:7px;justify-content:space-evenly;padding:0 5px;margin-top:7px}.resistor:before,.resistor:after{content:'';position:absolute;width:8px;height:1px;background:#8b8d8e;top:10px}.resistor:before{left:-8px}.resistor:after{right:-8px}.resistor i{width:4px;background:#79513a;height:100%}.resistor i:nth-child(2){background:#171717}.resistor i:nth-child(3){background:#e79436}.resistor i:nth-child(4){background:#b59a52}.formula{font:24px 'IBM Plex Mono',monospace;font-weight:500}.formula span{color:#aaa;margin:0 3px}.document{border:1.5px solid #777;width:26px;height:33px;font-size:24px;line-height:18px;padding-left:4px}.document small{position:absolute;font:7px 'IBM Plex Mono',monospace;background:white;bottom:2px;left:5px}.tool-card h3{font-size:16px;letter-spacing:-.6px;margin:2px 0 12px;display:flex;justify-content:space-between;gap:8px}.tool-card h3 span{color:#8f949a;font-size:17px;font-weight:400}.tool-card p{font-size:11px;color:#858a90;line-height:1.95;margin:0 0 23px;white-space:nowrap}.card-footer{border-top:1px solid #eee;display:flex;gap:10px;padding:15px 0;font-size:8px;color:#8a8f95}.bottom-note{display:flex;align-items:center;gap:10px;font-size:10px;color:#91969c;margin:27px 0 42px}.bottom-note>span:first-child{font-size:22px;color:#666}.bottom-right{margin-left:auto}footer{display:flex;align-items:center;border-top:1px solid #e7e8ea;padding:25px 5%;gap:22px;color:#969a9f;font-size:10px}footer .brand{color:#696d72;font-size:19px}footer .brand-dot{width:4px;height:4px;margin-top:8px}footer>span:last-child{margin-left:auto;font-family:'IBM Plex Mono',monospace}.mobile{display:none}[hidden]{display:none!important}#empty{padding:50px;text-align:center;font-size:14px;color:#777}dialog{border:1px solid #333;padding:28px;width:550px;max-width:calc(100% - 32px);max-height:90vh}dialog::backdrop{background:#16191d66;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center}.dialog-heading button{border:0;background:#f3f3f3;width:30px;height:30px}dialog h2{font-size:25px;margin:18px 0 10px}dialog p{font-size:12px;color:#777;line-height:1.9}dialog label{display:block;font-size:12px;margin:20px 0 8px}dialog input,dialog select{width:100%;padding:12px;border:1px solid #ccc;background:white;border-radius:0;color:#222}.result{padding:20px;background:#f5f6f7;margin-top:22px;font-size:22px;font-family:'IBM Plex Mono','Noto Sans KR',sans-serif;overflow-wrap:anywhere}.result small{display:block;font:11px 'Noto Sans KR',sans-serif;color:#777;margin-top:10px;line-height:1.8}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.band-preview{display:flex;margin:20px auto;width:200px;height:46px;background:#e7dfcc;border-radius:15px;justify-content:space-evenly;padding:0 13px}.band-preview i{width:12px}.external-search{display:block;text-align:center;background:#202226;color:white;padding:14px;margin-top:20px;font-size:13px}.band-labels{font-size:12px!important;line-height:1.9}.search:has(input:focus) kbd{visibility:hidden}button:focus-visible,a:focus-visible{outline:2px solid #555;outline-offset:4px}@media(min-width:1500px){header,footer{padding-left:calc((100vw - 1184px)/2);padding-right:calc((100vw - 1184px)/2)}}@media(max-width:1100px){header{gap:35px}nav{gap:22px}.circuit{width:230px;opacity:.65}.hero .search{width:680px}.tool-grid{grid-template-columns:repeat(2,1fr)}.tool-card p{font-size:12px}.card-footer{font-size:10px}.tag{font-size:9px}}@media(max-width:760px){header{height:72px;padding:0 22px;gap:28px}.brand{font-size:24px}nav{margin-left:auto;gap:20px}nav a{font-size:11px}nav a:nth-child(2),nav a:nth-child(4),.header-note{display:none}main{padding:0 22px}.hero{padding:40px 0}.hero .eyebrow{font-size:8px}.hero .eyebrow span{display:none}.hero h1{font-size:39px;margin-top:24px}.circuit{display:none}.search{height:56px;padding-left:12px}.search input{font-size:11px}.search button{padding:0 15px}.search button span,kbd{display:none}.suggestions{flex-wrap:wrap;gap:6px}.suggestions button{font-size:9px;padding:6px 7px}.section-note{display:none}.section-heading h2{font-size:22px}.filter-row{margin-top:20px}.filters{gap:0}.filters button{padding:8px 10px;font-size:10px}.filter-row>span{display:none}.tool-grid{gap:12px}.tool-card{padding:19px 15px 0}.card-top{height:53px}.tag{font-size:6px}.tool-card h3{font-size:14px}.tool-card p{font-size:10px;white-space:normal}.card-footer{font-size:8px;flex-wrap:wrap;gap:7px;min-height:44px}.bottom-right{display:none}.bottom-note{font-size:9px;margin-bottom:27px}footer{padding:22px;gap:13px;flex-wrap:wrap}footer>span{font-size:8px}footer>span:last-child{margin-left:auto}.mobile{display:block}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Logo accent: a diagonal bolt extends beyond the O. */
.logo-o{position:relative;display:inline-block}.logo-bolt{position:absolute;width:.72em;height:1.4em;left:50%;top:50%;overflow:visible;pointer-events:none;transform:translate(-50%,-50%) rotate(22deg)}.logo-bolt path{fill:#ffd21f;stroke:#fff;stroke-width:1.2;stroke-linejoin:round;paint-order:stroke fill}

/* Header categories and local frequent tools. */
header nav{margin-left:auto}header .header-note{display:none}.tool-summary{display:flex;justify-content:flex-end;margin:20px 0 14px;min-height:15px;font-size:10px;color:#91969c}
:root{background:#ffffff}header,footer{background:#ffffff}.circuit svg{fill:#ffffff}
@media(max-width:760px){header{height:72px;min-height:72px;flex-wrap:nowrap;gap:14px;padding:0 16px}header nav{width:auto;height:100%;justify-content:flex-end;gap:14px;margin-left:auto}header nav a:nth-child(2),header nav a:nth-child(4){display:flex}header nav a{font-size:10px;white-space:nowrap}.tool-summary{margin-top:18px}}
@media(max-width:420px){header{gap:10px;padding:0 12px}header .brand{font-size:21px}header nav{gap:9px}header nav a{font-size:9px}}

.route-page{padding-top:56px;min-height:60vh}.install-app{font-size:11px;white-space:nowrap;background:#fff;border:1px solid #d5d7da;padding:9px 12px;color:#333}.install-app:hover{border-color:#111}header{gap:28px}.section-note{max-width:50%;line-height:1.7}#offline-status{font-size:11px;color:#777}dialog{background:#fff}
@media(max-width:760px){header{height:72px;min-height:72px;flex-wrap:nowrap;padding:0 12px;gap:10px}header nav{width:auto;height:100%;justify-content:flex-end}header nav a{font-size:9px}.route-page{padding-top:32px}}
@media(min-width:761px){header nav{margin-left:auto}.install-app{margin-left:0}}

.tool-grid{margin-top:36px}.tool-card h3{margin-bottom:24px}

.tools-section{padding-bottom:42px}

/* Align navigation text to the bottom of the logo row. */
header nav{height:28px;align-items:flex-end}header nav a{height:auto;line-height:1;padding-bottom:1px}nav a.active:after{bottom:-14px}.marking-preview{display:flex;justify-content:center;padding:27px 0 6px}.marking-preview span{min-width:130px;text-align:center;background:#303338;color:#fff;border-left:16px solid #babfc4;border-right:16px solid #babfc4;padding:15px 12px;font:24px "IBM Plex Mono",monospace}#result{font-size:16px;line-height:1.8}
@media(max-width:760px){header nav{height:24px;align-items:flex-end}header nav a{height:auto;line-height:1}nav a.active:after{bottom:-12px}}

.capacitor-icon{width:54px;height:25px;margin-top:4px;background:#d7b98a;border-left:9px solid #b9bec3;border-right:9px solid #b9bec3;border-radius:2px;font-size:0}.cap-preview{display:flex;justify-content:center;padding:27px 0 6px}.cap-preview span{min-width:130px;text-align:center;color:#453a28;background:#e0c89f;border-left:16px solid #bbc0c4;border-right:16px solid #bbc0c4;padding:15px 12px;font:24px "IBM Plex Mono",monospace}#cap-result{font-size:16px;line-height:1.8}

/* Larger header branding and navigation. */
header .brand{font-size:32px}header nav{height:32px}header nav a{font-size:15px}@media(max-width:760px){header .brand{font-size:27px}header nav{height:27px;gap:16px}header nav a{font-size:12px}}@media(max-width:420px){header .brand{font-size:25px}header nav{height:25px;gap:12px}header nav a{font-size:11px}}

.power-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.power-fields label{display:flex;align-items:center;justify-content:space-between;gap:4px}.power-fields label span{font-size:9px;color:#777}.power-fields input{min-width:0}.power-fields .auto-value{background:#f3f5f6}.power-result{margin-top:22px;padding:22px;background:#f5f6f7;display:flex;align-items:center;justify-content:space-between;gap:12px}.power-result>span{font-size:13px}.power-result output{font:28px "IBM Plex Mono",monospace;overflow-wrap:anywhere}#power-status:empty{display:none}@media(max-width:420px){.power-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.power-fields label{margin-top:12px;font-size:11px;flex-wrap:wrap}.power-fields input{padding:10px 7px;font-size:12px}.power-fields label span{font-size:8px}}

.datasheet-panel{border:1px solid #d9dde1;margin:0 0 42px;padding:28px;scroll-margin-top:24px}.sheet-heading{display:flex;align-items:center;justify-content:space-between}.sheet-heading h2{font-size:23px;margin:0 0 18px}.sheet-heading button{background:#f4f5f6;border:0;padding:8px 12px}.sheet-form{display:grid;grid-template-columns:1.5fr 1fr auto;gap:16px;align-items:end}.sheet-form label,#sheet-choices label{display:block;font-size:12px;margin-bottom:8px}.sheet-form input,.sheet-form select,#sheet-choice{width:100%;padding:12px;border:1px solid #cdd1d5;background:#fff;color:#222;border-radius:0;min-width:0}.sheet-form button{background:#202226;color:#fff;border:0;padding:14px 23px;white-space:nowrap}.sheet-form button:disabled{opacity:.5;cursor:wait}#sheet-status{font-size:12px;line-height:1.9;color:#737980;margin:20px 0}#sheet-choices{max-width:550px;margin-bottom:20px}.sheet-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:12px;background:#f5f6f7;font-size:12px}.sheet-toolbar button{border:1px solid #ccd0d4;background:#fff;padding:7px 12px}.sheet-toolbar input{width:65px;padding:7px;border:1px solid #ccd0d4}.sheet-toolbar a{margin-left:auto;text-decoration:underline}#sheet-canvas{background:#e9ecef;min-height:220px;padding:12px;overflow:auto;text-align:center}#sheet-canvas canvas{max-width:100%;height:auto!important;background:#fff}#sheet-viewer details{margin-top:16px;font-size:12px}#sheet-viewer summary{cursor:pointer}#sheet-text{white-space:pre-wrap;line-height:1.9;padding:18px;background:#f7f8f9;max-height:400px;overflow:auto}#sheet-fallback{font-size:12px;text-decoration:underline}@media(max-width:760px){.datasheet-panel{padding:18px}.sheet-form{grid-template-columns:1fr}.sheet-toolbar{gap:8px}.sheet-toolbar a{width:100%;margin:0}.sheet-toolbar button{padding:7px}.sheet-heading h2{font-size:20px}}

.tool-card{padding:0;position:relative;display:flex;flex-direction:column}.tool-open{padding:24px 21px 0;background:transparent;border:0;color:inherit;text-align:left;width:100%;flex:1}.tool-card .tag{margin-right:29px}.favorite-button{position:absolute;top:16px;right:12px;width:32px;height:32px;display:grid;place-items:center;border:0;background:transparent;padding:5px;border-radius:3px;color:#9ba0a6}.favorite-button svg{width:22px;height:22px;fill:transparent;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round}.favorite-button.is-favorite{color:#b98600}.favorite-button.is-favorite svg{fill:#ffd21f}.favorite-button:hover{background:#f3f4f5}#favorite-status{font-size:12px;line-height:1.8;color:#665025}#favorite-status:empty{display:none}#empty a{text-decoration:underline;color:#333;display:inline-block;margin-top:8px}@media(max-width:760px){.tool-open{padding:19px 15px 0}.favorite-button{top:11px;right:8px}.tool-card .tag{margin-right:25px}}

#datasheet-dialog{width:1100px;max-width:calc(100% - 32px);max-height:90vh}#datasheet-dialog .datasheet-panel{border:0;margin:0;padding:0}@media(max-width:760px){#datasheet-dialog{padding:18px}}

.inline-select{position:relative;min-width:0}.inline-select-trigger,.sheet-form .inline-select-trigger{width:100%;padding:12px 34px 12px 12px;border:1px solid #cdd1d5;background:#fff;color:#222;text-align:left;font-size:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative}.inline-select-trigger:after{content:"";position:absolute;right:13px;top:45%;width:7px;height:7px;border-right:1.5px solid #555;border-bottom:1.5px solid #555;transform:rotate(45deg)}.inline-select-list{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:10;border:1px solid #bfc5cb;background:#fff;box-shadow:0 5px 16px #00000016;max-height:250px;overflow-y:auto;padding:4px}.inline-select-option,.sheet-form .inline-select-option{display:block;width:100%;border:0;padding:11px 10px;background:#fff;color:#222;text-align:left;font-size:13px;white-space:normal}.inline-select-option:hover,.inline-select-option:focus-visible,.inline-select-option[aria-selected="true"]{background:#edf1f5}.inline-select-trigger[aria-expanded="true"]{border-color:#333}

/* Keep enough room below the manufacturer dropdown. */
#datasheet-dialog{height:85vh;max-height:92vh;overflow-y:auto}#datasheet-dialog .datasheet-panel{min-height:100%}#datasheet-dialog .inline-select-list{max-height:240px}@media(max-width:760px){#datasheet-dialog{height:88dvh;max-height:94dvh}}

.divider-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.divider-fields label{display:flex;align-items:center;justify-content:space-between;gap:6px}.divider-fields label span{font-size:9px;color:#777}.divider-fields input{min-width:0}.divider-fields .auto-value{background:#f3f5f6}#divider-status:empty{display:none}@media(max-width:420px){.divider-fields{gap:0 10px}.divider-fields label{font-size:11px;flex-wrap:wrap}.divider-fields input{padding:11px 8px}}
