.text-field input,body{background-color:var(--surface-color)}:root{--primary-color:#6750A4;--primary-on:#FFFFFF;--primary-container:#EDE7FF;--primary-container-on:#2A0065;--secondary-color:#6B5B84;--secondary-on:#FFFFFF;--secondary-container:#EBE0FF;--secondary-container-on:#241638;--tertiary-color:#845A6D;--tertiary-on:#FFFFFF;--tertiary-container:#FFE1ED;--tertiary-container-on:#3D1428;--error-color:#C4001C;--error-on:#FFFFFF;--error-container:#FFE2E1;--error-container-on:#490003;--surface-color:#FFFBFF;--surface-on:#1D1B20;--surface-variant:#E9E1EC;--surface-variant-on:#4B4751;--outline-color:#7C757F;--outline-variant:#CCC3D0;--surface-container:#F5EFF7;--surface-container-high:#EFE8F0;--surface-container-highest:#E9E2EA;--inverse-surface:#322F35;--inverse-surface-on:#F6F0F6}[data-theme=dark]{--primary-color:#D0BCFF;--primary-on:#3F1A78;--primary-container:#5A3591;--primary-container-on:#EDE7FF;--secondary-color:#CFB5E5;--secondary-on:#3A2F4C;--secondary-container:#524465;--secondary-container-on:#EBE0FF;--tertiary-color:#F2B9D1;--tertiary-on:#53283B;--tertiary-container:#6C3F53;--tertiary-container-on:#FFE1ED;--error-color:#FFB3B0;--error-on:#6E0008;--error-container:#9F000C;--error-container-on:#FFE2E1;--surface-color:#141218;--surface-on:#E9E2EA;--surface-variant:#4B4751;--surface-variant-on:#CCC3D0;--outline-color:#968E99;--outline-variant:#4B4751;--surface-container:#201E23;--surface-container-high:#2B292F;--surface-container-highest:#362F37;--inverse-surface:#E9E2EA;--inverse-surface-on:#322F35}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Roboto,sans-serif;color:var(--surface-on);line-height:1.6;transition:background-color .3s,color .3s}.top-app-bar{background-color:var(--primary-color);color:var(--primary-on);padding:16px 24px;position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between}.footer-bottom-links,.top-app-bar h1,.top-app-bar-actions{align-items:center;display:flex;gap:8px}.top-app-bar h1{font-size:24px;font-weight:500;margin:0}.icon-button{background:0 0;border:none;color:var(--primary-on);cursor:pointer;padding:8px;border-radius:50%;transition:.3s;display:flex;align-items:center;justify-content:center;width:40px;height:40px}.card-title,.dropdown-content a,.field-label,.text-field input{color:var(--surface-on)}.card,.dropdown-content{background-color:var(--surface-container);border-radius:12px}.icon-button:hover{background-color:rgba(255,255,255,.15);transform:scale(1.1)}.dropdown{position:relative;display:inline-block}.dropdown-content{display:none;position:absolute;min-width:160px;z-index:1;overflow:hidden;right:0;max-height:50vh;overflow-y:scroll}.dropdown-content a{padding:12px 16px;text-decoration:none;display:block;transition:background-color .3s}.dropdown-content a:hover,.segmented-button .segment:hover{background-color:var(--surface-container-high)}.dropdown:hover .dropdown-content,.error-message.show,.results.show{display:block}.container{max-width:1200px;margin:0 auto;padding:24px}.card{padding:24px;margin-bottom:24px;box-shadow:0 1px 3px rgba(0,0,0,.1)}.card-title{font-size:20px;font-weight:500;margin-bottom:16px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-bottom:24px}.text-field{position:relative;margin-bottom:16px}.text-field input{width:100%;padding:16px;border:2px solid var(--outline-color);border-radius:12px;font-size:16px;transition:.3s}.circuit-info li,.circuit-input li{background-color:var(--surface-container-highest)}.text-field input:focus{outline:0;border-color:var(--primary-color)}.text-field label{position:absolute;top:16px;left:16px;color:var(--surface-variant-on);font-size:16px;transition:.3s;pointer-events:none}.text-field input:focus+label,.text-field input:valid+label{top:-8px;left:12px;font-size:12px;background-color:var(--surface-color);padding:0 4px;color:var(--primary-color)}.text-field .helper-text{font-size:12px;color:var(--surface-variant-on);margin-top:4px}.output-type-field{margin-bottom:24px}.field-label{display:block;font-weight:500;margin-bottom:12px;font-size:16px}.segmented-button{display:flex;background-color:var(--surface-variant);border-radius:12px;padding:4px;gap:4px}.results,.segmented-button input[type=radio]{display:none}.segmented-button .segment{flex:1;padding:12px 16px;border-radius:8px;text-align:center;cursor:pointer;transition:.3s;background-color:transparent;color:var(--surface-variant-on);font-weight:500;display:flex;align-items:center;justify-content:center;gap:8px;border:none}.btn-secondary:hover,.segmented-button input[type=radio]:checked+.segment,.share-btn.copy-link:hover{background-color:var(--secondary-container);color:var(--secondary-container-on)}.radio-group{display:flex;gap:16px;margin-bottom:16px}.btn,.radio-option{display:flex;align-items:center;gap:8px;cursor:pointer}.radio-option input[type=radio]{width:20px;height:20px;accent-color:var(--primary-color)}.btn{background-color:var(--primary-color);color:var(--primary-on);border:none;padding:14px 28px;border-radius:12px;font-size:16px;font-weight:500;transition:.3s}.component-text,.share-btn{font-size:14px;font-weight:500}.circuit-input,.error-message{border-radius:12px;display:none;margin-bottom:16px}.btn-secondary,.share-btn.copy-link{background-color:var(--secondary-color);color:var(--secondary-on)}.btn:disabled{background-color:var(--surface-variant);color:var(--surface-variant-on);cursor:not-allowed}.error-message{background-color:var(--error-container);color:var(--error-container-on);padding:12px;border-left:4px solid var(--error-color)}.circuit-input{background-color:var(--surface-container-high);padding:16px;text-align:center}.circuit-input h3{margin-bottom:16px;font-size:18px;font-weight:500}.circuit-info ul,.circuit-input ul,.footer-list{list-style:none;padding:0;margin:0}.circuit-input li{margin-bottom:8px;padding:8px;border-radius:8px;display:inline-block;min-width:200px}.circuit-input li span{font-weight:500;color:var(--primary-color)}.circuit-diagram{background:linear-gradient(135deg,var(--surface-container-highest),var(--surface-container));border-radius:16px;padding:24px;margin:16px 0;text-align:center;overflow-x:auto;border:2px solid var(--outline-variant)}.circuit-info,.share-section{background-color:var(--surface-container-high);border-radius:12px;padding:24px;margin:16px 0}.circuit-info h3{color:var(--primary-color);margin-bottom:16px;font-weight:500}.circuit-info li{margin-bottom:12px;padding:12px;border-radius:8px;border-left:4px solid var(--primary-color)}.circuit-info li strong{color:var(--primary-color);font-weight:500}.share-section h3{margin-bottom:16px;color:var(--surface-on);font-weight:500}.share-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:20px}.led-explanation,.parameter-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.share-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border:none;border-radius:12px;cursor:pointer;transition:.3s;text-decoration:none;color:#fff}.footer,.url-section{border-top:1px solid var(--outline-variant)}.share-btn .material-symbols-outlined{font-size:20px}.share-btn.facebook{background-color:#1877f2}.share-btn.facebook:hover{background-color:#166fe5}.share-btn.twitter{background-color:#797979}.share-btn.twitter:hover{background-color:#333}.share-btn.reddit{background-color:#ff4500}.share-btn.reddit:hover{background-color:#e63e00}.share-btn.pinterest{background-color:#e60023}.share-btn.pinterest:hover{background-color:#cc001f}.share-btn.email{background-color:#34a853}.share-btn.email:hover{background-color:#2e8b47}.url-section{padding-top:16px}.url-section label{display:block;margin-bottom:8px;font-weight:500;color:var(--surface-on)}.input-group{display:flex;margin-top:8px}.characteristics-grid,.led-explanation,.parameter-grid,.tips-grid{margin-top:16px;display:grid}.input-group input{flex:1;padding:8px 12px;border:1px solid var(--outline-color);border-radius:4px 0 0 4px;background-color:var(--surface-color);color:var(--surface-on)}.led-characteristics,.led-science,.parameter-item{background-color:var(--surface-container-high);padding:20px;border-radius:12px}.input-group .btn{border-radius:0 4px 4px 0;padding:8px 16px}.print-button{text-align:center;margin-bottom:16px}.wiring .connection-wire{stroke:var(--outline-color);stroke-width:4;fill:none;stroke-linecap:round}.wiring .connection-point{stroke:var(--outline-color);stroke-width:3;fill:var(--surface-color);r:8}.wiring .led-diode{stroke:#ff4444;stroke-width:3;fill:none;stroke-linecap:round}.wiring .led-housing{stroke:var(--outline-color);stroke-width:3;fill:var(--surface-container);rx:5}.wiring .positive-terminal{stroke:#ff4444;stroke-width:4;fill:none;stroke-linecap:round}.wiring .negative-terminal{stroke:#333333;stroke-width:4;fill:none;stroke-linecap:round}.wiring .current-resistor{stroke:var(--outline-color);stroke-width:3;fill:#d4a574;rx:3}.schematic .connection-wire,.schematic .current-resistor,.schematic .ground-symbol,.schematic .led-rays{stroke:var(--surface-on);stroke-width:3;fill:none;stroke-linecap:round}.schematic .connection-point,.schematic .led-arrow,.schematic .led-diode{stroke:var(--surface-on);stroke-width:3;fill:var(--surface-on)}.component-text{fill:var(--surface-on)}.value-text{font-size:12px;font-weight:500;fill:var(--surface-on)}.color-band.black{fill:#000000}.color-band.brown{fill:#8B4513}.color-band.red{fill:#FF0000}.color-band.orange{fill:#FFA500}.color-band.yellow{fill:#FFFF00}.color-band.green{fill:#008000}.color-band.blue{fill:#0000FF}.color-band.violet{fill:#8A2BE2}.color-band.gray{fill:#808080}.color-band.white{fill:#FFFFFF}.color-band.gold{fill:#FFD700}.color-band.silver{fill:#C0C0C0}.parameter-grid{gap:20px}.parameter-item{border-left:4px solid var(--primary-color)}.parameter-item h3{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:var(--primary-color);font-size:16px}.parameter-item ul{margin:8px 0;padding-left:20px}.parameter-item li{margin-bottom:4px}.led-explanation{gap:24px}.led-characteristics h3,.led-science h3{color:var(--primary-color);margin-bottom:12px}.characteristics-grid{gap:16px}.char-item{background-color:var(--surface-container-highest);padding:16px;border-radius:8px}.footer,.tip-item{background-color:var(--surface-container-high)}.tip-item,.toast{border-radius:12px}.char-item h4{color:var(--secondary-color);margin-bottom:8px;font-size:14px}.char-item p{font-size:14px;line-height:1.4}.tips-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.tip-item{padding:20px;text-align:center;transition:transform .2s}.tip-item .material-symbols-outlined{font-size:32px;color:var(--primary-color);margin-bottom:12px}.tip-item h3{color:var(--primary-color);margin-bottom:8px;font-size:16px}.tip-item p{font-size:14px;line-height:1.4;color:var(--surface-variant-on)}.footer-bottom-links a:hover,.footer-link,.footer-list a:hover,.footer-section h3{color:var(--primary-color)}.footer{margin-top:48px}.footer-container{max-width:1200px;margin:0 auto;padding:0 24px}.footer-content{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;margin-bottom:32px}.footer-section h3{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:500;margin-bottom:16px}.footer-section h4{color:var(--surface-on);font-size:16px;font-weight:500;margin-bottom:12px}.footer-section p{color:var(--surface-variant-on);line-height:1.6;margin-bottom:16px}.footer-links{display:flex;gap:16px;flex-wrap:wrap}.footer-link{display:flex;align-items:center;gap:4px;text-decoration:none;font-size:14px;transition:color .3s}.footer-link:hover{color:var(--secondary-color)}.footer-link .material-symbols-outlined{font-size:18px}.footer-list li{margin-bottom:8px}.footer-bottom-links a,.footer-list a{color:var(--surface-variant-on);text-decoration:none;font-size:14px;transition:color .3s}.footer-bottom{padding:24px 0}.footer-bottom-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.footer-bottom p{color:var(--surface-variant-on);font-size:14px;margin:0;align-items:center}.footer-bottom .heart{color:#e91e63;font-size:16px}.separator{color:var(--outline-color);font-size:14px}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background-color:var(--inverse-surface);color:var(--inverse-surface-on);padding:12px 24px;z-index:1000;font-size:14px;opacity:0;animation:.3s forwards toastSlideIn}@keyframes toastSlideIn{from{opacity:0;transform:translateX(-50%) translateY(20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.toast.fade-out{animation:.3s forwards toastSlideOut}@keyframes toastSlideOut{from{opacity:1;transform:translateX(-50%) translateY(0)}to{opacity:0;transform:translateX(-50%) translateY(20px)}}@media (max-width:768px){.footer-content,.form-grid,.led-explanation,.parameter-grid,.tips-grid{grid-template-columns:1fr}.container,.top-app-bar{padding:16px}.top-app-bar h1{font-size:20px}.radio-group,.segmented-button{flex-direction:column}.circuit-diagram{overflow-x:auto}.footer-container{padding:0 16px}.footer-content{gap:24px}.footer-links{justify-content:center}.footer-bottom-content{flex-direction:column;text-align:center;gap:12px}.footer-bottom-links{flex-wrap:wrap;justify-content:center}.share-buttons{grid-template-columns:repeat(2,1fr);gap:8px}.share-btn{font-size:12px;padding:10px 8px;gap:6px}.share-btn .material-symbols-outlined{font-size:16px}.toast{margin:0 16px;max-width:calc(100vw - 32px)}}@media print{.circuit-input,.results .card{background:#fff!important;border:1px solid #ccc!important}.circuit-input,.results .card,body{background:#fff!important}#error-message,.btn,.container>.card:first-child,.footer,.icon-button,.print-button,.share-btn,.share-section,.top-app-bar,button{display:none!important}body{margin:0;padding:0;color:#000!important}.container{max-width:none;margin:0;padding:10px}.results{display:block!important}.results .card{box-shadow:none!important;border-radius:0!important;margin:0!important;padding:20px!important}.circuit-input{border-radius:0!important;margin-bottom:20px!important}.circuit-input li{background:#f9f9f9!important;color:#000!important}.circuit-diagram,.circuit-info{background:#fff!important;border:1px solid #ccc!important;border-radius:0!important;page-break-inside:avoid;margin:20px 0!important}.circuit-diagram svg{background:#fff!important}.connection-point,.connection-wire,.current-resistor,.ground-symbol{stroke:#000000!important}.component-text,.value-text{fill:#000000!important}.circuit-info h3,.circuit-info li strong{color:#333!important}.circuit-info li{background:#f9f9f9!important;border-left:3px solid #333!important;color:#000!important}}