:root{--bg-color: #f5f7fb;--text-color: #1f2937;--header-bg: #fafafa;--header-border: #e0e0e0;--header-logo: #0066cc;--header-logo-hover: #004a99;--header-link: #4a4a4a;--header-link-hover: #0066cc;--header-menu-bg: #ffffff;--header-menu-border: #e5e7eb;--header-menu-hover-bg: #f0f4f8;--ad-container-bg: #eef2f7;--ad-container-border: #d6dde8;--ad-box-bg1: #f6f9fc;--ad-box-bg2: #ecf2f9;--ad-box-text: #516071;--ad-box-border: #b8c5d6;--skeleton-base: #e3e7ef;--skeleton-highlight: rgba(255, 255, 255, .7)}html[data-theme=dark]{--bg-color: #111;--text-color: #fff;--header-bg: #1e1e1e;--header-border: #333;--header-logo: #80b4ff;--header-logo-hover: #a0d0ff;--header-link: #ccc;--header-link-hover: #80b4ff;--header-menu-bg: #2a2a2a;--header-menu-border: #444;--header-menu-hover-bg: #3a3a3a;--ad-container-bg: #1f1f1f;--ad-container-border: #2f2f2f;--ad-box-bg1: #2b2b2b;--ad-box-bg2: #343434;--ad-box-text: #b7b7b7;--ad-box-border: #4c4c4c;--skeleton-base: #2b313a;--skeleton-highlight: rgba(148, 163, 184, .26)}*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:var(--bg-color);color:var(--text-color);line-height:1.5;transition:background-color .2s,color .2s}h1,h2,h3,h4{margin:0 0 15px;font-weight:500}p{line-height:1.6;margin:0 0 1rem}button{padding:10px 18px;border-radius:8px;border:none;cursor:pointer;font-size:14px;font-family:inherit;transition:background .2s}.ad-container{width:min(100%,1200px);text-align:center;background:var(--ad-container-bg);padding:clamp(.5rem,1.8vw,1rem);margin:clamp(10px,2vw,20px) auto;border-radius:12px;border:1px solid var(--ad-container-border);overflow:hidden}.ad-box{width:100%;max-width:100%;min-height:clamp(72px,9vw,110px);background:linear-gradient(135deg,var(--ad-box-bg1),var(--ad-box-bg2));color:var(--ad-box-text);padding:clamp(.6rem,1.8vw,1rem);border-radius:10px;font-size:clamp(.82rem,1.6vw,.95rem);display:flex;align-items:center;justify-content:center;border:1px dashed var(--ad-box-border)}.ad-top,.ad-bottom{max-width:100%;margin:0 auto}@media(max-width:768px){.ad-container{margin:10px auto;padding:.5rem}}main{min-height:70vh;background:#fafafa;color:#1e1e1e;font-family:Georgia,Times New Roman,serif;line-height:1.6;font-size:1.125rem}.sim-wrapper{display:grid;grid-template-columns:300px 1fr;gap:30px;max-width:1300px;margin:40px auto;padding:0 20px}.sim-content{display:flex;flex-direction:column;background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 12px #0000000d;border:1px solid #eee}#sim-container{position:relative;width:100%;height:80vh;overflow:hidden;background:#111}#canvas-area{width:100%;height:100%}#floating-panel{position:absolute;top:20px;left:20px;width:400px;height:300px;background:#141414b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:10px;display:flex;flex-direction:column;resize:both;overflow:hidden;touch-action:none;z-index:20;transition:.25s ease}#panel-header{background:#ffffff0d;padding:8px;cursor:grab;font-weight:700;display:flex;justify-content:space-between;-webkit-user-select:none;user-select:none}#panel-header:active{cursor:grabbing}#panel-content{flex:1;padding:10px;display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}#panel-content::-webkit-scrollbar{display:none}.panel-hidden{opacity:0;pointer-events:none;transform:scale(.95)}#graph-area{flex:1;width:100%;min-height:0}#stopwatch{font-size:20px;text-align:center;margin-bottom:10px}html[data-theme=dark] main{background:#121212;color:#e0e0e0}html[data-theme=dark] .sim-content{background:#1e1e1e;border-color:#333;box-shadow:0 4px 12px #0000004d}@media(max-width:1024px){.sim-wrapper{grid-template-columns:1fr}.ad-left,.ad-right{display:none}.sim-content{padding:1.5rem}}body.embed-mode header,body.embed-mode footer,body.embed-mode .ad-container,body.embed-mode .ads,body.embed-mode .advertisement{display:none!important}body.embed-mode{margin:0;padding:0;overflow:hidden}body.embed-mode main{max-width:none!important;width:100%!important;height:100vh;padding:0!important;margin:0!important;display:flex}body.embed-mode .container{max-width:none!important;width:100%!important;height:100%;padding:0}body.embed-mode #sim-container{width:100%;height:100vh;position:relative;overflow:hidden}body.embed-mode canvas{width:100%!important;height:100%!important;display:block}@media(max-width:768px){body.embed-mode #sim-container{height:100vh}}@media(min-width:1025px){body.embed-mode #sim-container{height:100vh}}#header{position:sticky;top:0;width:100%;z-index:1200;background:var(--header-bg);border-bottom:1px solid var(--header-border);font-family:Georgia,Times New Roman,serif;transition:background .2s,border-color .2s}.header-inner{max-width:1200px;margin:0 auto;padding:18px 40px;display:flex;justify-content:space-between;align-items:center}.logo{font-size:1.5rem;font-weight:600;cursor:pointer;color:var(--header-logo);text-decoration:none;letter-spacing:-.5px;transition:color .2s}.logo:hover{color:var(--header-logo-hover)}.nav-links{display:flex;gap:25px;align-items:center}.nav-links>a,.dropdown>span{color:var(--header-link);text-decoration:none;font-size:1rem;font-weight:500;transition:color .2s;padding:.5rem 0;border-bottom:2px solid transparent}.nav-links>a:hover,.dropdown:hover>span{color:var(--header-link-hover);border-bottom-color:var(--header-link-hover)}.dropdown{position:relative;cursor:pointer}.dropdown-menu{position:absolute;top:calc(100% + 10px);left:0;background:var(--header-menu-bg);border-radius:8px;box-shadow:0 4px 12px #0000002e;display:none;padding:.5rem 0;min-width:220px;border:1px solid var(--header-menu-border);z-index:1001}.dropdown:hover .dropdown-menu,.theme-dropdown.open .theme-menu{display:block}.dropdown-menu a,.theme-option{display:block;width:100%;text-align:left;padding:.6rem 1.2rem;color:var(--header-link);font-size:.95rem;border:0;background:transparent;cursor:pointer;border-bottom:none;transition:background .2s,color .2s}.dropdown-menu a:hover,.theme-option:hover,.theme-option.active{background:var(--header-menu-hover-bg);color:var(--header-link-hover)}.theme-btn{color:var(--header-link);background:transparent;border:1px solid var(--header-border);font-size:.95rem;padding:.45rem .8rem;border-radius:8px}.theme-btn:hover{border-color:var(--header-link-hover);color:var(--header-link-hover)}.theme-menu{left:auto;right:0;min-width:150px}@media(max-width:768px){.header-inner{padding:15px 20px}.nav-links{gap:12px}.dropdown-menu{left:auto;right:0}}@media(max-width:480px){.header-inner{flex-wrap:wrap;gap:10px}.logo{font-size:1.3rem}.nav-links>a,.dropdown>span,.theme-btn{font-size:.85rem}}footer{background:#f5f5f5;color:#1e1e1e;border-top:1px solid #e0e0e0;font-family:Georgia,Times New Roman,serif;line-height:1.6;padding:3rem 20px 1.5rem}.footer-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:40px;padding-bottom:2rem}.footer-col h3{font-size:1.5rem;font-weight:600;margin:0 0 1rem;color:#1e1e1e}.footer-col h4{font-size:1.2rem;font-weight:500;margin:0 0 1rem;color:#2c3e50}.footer-col p{color:#4a4a4a;margin:0 0 1.5rem;max-width:300px}.footer-col a{display:block;color:#4a4a4a;text-decoration:none;margin-bottom:.6rem;transition:color .2s;font-size:1rem}.footer-col a:hover{color:#06c;text-decoration:underline}.footer-bottom{text-align:center;padding-top:1.5rem;border-top:1px solid #ddd;color:#777;font-size:.9rem;max-width:1200px;margin:0 auto}html[data-theme=dark] footer{background:#1e1e1e;color:#e0e0e0;border-top-color:#333}html[data-theme=dark] .footer-col h3,html[data-theme=dark] .footer-col h4{color:#e0e0e0}html[data-theme=dark] .footer-col p,html[data-theme=dark] .footer-col a{color:#aaa}html[data-theme=dark] .footer-col a:hover{color:#80b4ff}html[data-theme=dark] .footer-bottom{color:#888;border-top-color:#444}@media(max-width:768px){footer{padding:2rem 15px 1rem}.footer-inner{gap:30px;grid-template-columns:1fr;text-align:center}.footer-col p{max-width:100%}.footer-col a{display:inline-block;margin:0 10px .6rem}}.ad-container{display:flex;justify-content:center;align-items:center;margin:20px 0;width:100%}.ad-box{background:#1e293b;border:2px dashed #334155;color:#94a3b8;display:flex;justify-content:center;align-items:center;text-align:center;box-sizing:border-box}.ad-box{width:728px;height:90px}.ad-left .ad-box,.ad-right .ad-box{width:300px;height:600px}.ad-bottom .ad-box{width:970px;height:250px}@media(max-width:1024px){.ad-left .ad-box,.ad-right .ad-box{width:250px;height:500px}.ad-bottom .ad-box{width:100%;max-width:728px;height:90px}}@media(max-width:768px){.ad-left,.ad-right{display:none}.ad-bottom .ad-box{width:100%;max-width:100%;height:auto;min-height:80px;padding:.5rem}.ad-container{margin:12px 0}.ad-box{width:100%;max-width:320px;height:auto;min-height:80px;padding:.5rem}}@media(max-width:480px){.ad-bottom .ad-box{min-height:70px;font-size:.8rem}}.home-hero{text-align:center;padding:80px 20px;background:#fafafa;border-bottom:1px solid #e0e0e0}.home-hero h1{font-size:3rem;font-weight:600;margin-bottom:1rem;color:#1e1e1e}.home-hero p{font-size:1.25rem;color:#4a4a4a;max-width:700px;margin:0 auto;line-height:1.6}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:40px;max-width:1100px;margin:60px auto;padding:0 20px}.sim-card{background:#fff;padding:40px 30px;border-radius:16px;text-align:center;box-shadow:0 4px 12px #0000000d;transition:transform .2s,box-shadow .2s;border:1px solid #eee}.sim-card:hover{transform:translateY(-6px);box-shadow:0 12px 24px #0000001a}.sim-card h2{font-size:1.8rem;font-weight:500;margin:0 0 1rem;color:#1e1e1e}.sim-card p{color:#4a4a4a;line-height:1.6;margin-bottom:1.5rem}.card-buttons{display:flex;gap:15px;justify-content:center;margin-top:20px;flex-wrap:wrap}.card-buttons button{background:transparent;border:2px solid #0066cc;color:#06c;padding:.6rem 1.5rem;font-size:1rem;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s}.card-buttons button:hover{background:#e6f0ff;border-color:#004a99;color:#004a99}.card-buttons button.primary{background:#06c;border-color:#06c;color:#fff}.card-buttons button.primary:hover{background:#004a99;border-color:#004a99}html[data-theme=dark] .home-hero{background:#1e1e1e;border-bottom-color:#333}html[data-theme=dark] .home-hero h1{color:#e0e0e0}html[data-theme=dark] .home-hero p{color:#aaa}html[data-theme=dark] .sim-card{background:#2a2a2a;border-color:#444;box-shadow:0 4px 12px #0000004d}html[data-theme=dark] .sim-card h2{color:#e0e0e0}html[data-theme=dark] .sim-card p{color:#bbb}html[data-theme=dark] .card-buttons button{border-color:#80b4ff;color:#80b4ff}html[data-theme=dark] .card-buttons button:hover{background:#2c3e50;border-color:#a0d0ff;color:#a0d0ff}html[data-theme=dark] .card-buttons button.primary{background:#004a99;border-color:#004a99;color:#fff}html[data-theme=dark] .card-buttons button.primary:hover{background:#036;border-color:#036}@media(max-width:900px){.home-hero{padding:60px 20px}.home-hero h1{font-size:2.5rem}.card-grid{gap:30px;margin:40px auto}.sim-card{padding:30px 20px}}@media(max-width:480px){.home-hero h1{font-size:2rem}.home-hero p{font-size:1rem}.card-buttons{flex-direction:column;align-items:center}.card-buttons button{width:100%;max-width:250px}}.skeleton{position:relative;overflow:hidden;background:var(--skeleton-base);border-radius:8px}.skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--skeleton-highlight),transparent);animation:skeleton-shimmer 1.2s infinite}.skeleton-line{height:16px;width:100%;margin-bottom:12px}.skeleton-line.title{height:28px;width:65%}.skeleton-line.medium{width:80%}.skeleton-line.short{width:50%}.skeleton-button{width:140px;height:42px;border-radius:10px}.skeleton-card{pointer-events:none}.skeleton-grid .card-buttons{justify-content:center}@keyframes skeleton-shimmer{to{transform:translate(100%)}}.theory-layout{--sticky-top-offset: 96px;display:flex;gap:40px;align-items:flex-start;max-width:1200px;margin:0 auto;padding:40px 20px;position:relative;overflow:visible}#theory-section{overflow:visible}.skeleton-theory .toc-sidebar,.skeleton-theory .theory-content{pointer-events:none}.section-gap{margin-top:24px}.faq-skeleton{height:88px;margin-bottom:14px}.sim-preview-skeleton{height:140px}.toc-toggle{display:none}.toc-sidebar{width:250px;position:sticky;top:var(--sticky-top-offset);flex:0 0 250px;background:#f0f0f0;padding:1rem;border-radius:12px;border:1px solid #ddd;color:#333;scrollbar-width:none;-ms-overflow-style:none}.toc-sidebar::-webkit-scrollbar{display:none}.toc-sidebar h3{margin-top:0;margin-bottom:1rem;font-size:1.2rem;font-weight:600;border-bottom:1px solid #ccc;padding-bottom:.5rem}.toc-sidebar ul{list-style:none;padding:0;margin:0}.toc-sidebar li{margin-bottom:.5rem;line-height:1.4}.toc-sidebar a{display:block;text-decoration:none;color:#444;font-size:.95rem;padding:.25rem .5rem;border-radius:4px;transition:background .2s,color .2s}.toc-sidebar a:hover{background:#e0e0e0;color:#06c}.toc-sidebar a.active{background:#d0e0ff;color:#004080;font-weight:500;border-left:3px solid #0066cc}.theory-content h2,.theory-content h3{scroll-margin-top:calc(var(--sticky-top-offset) + 12px)}@media(max-width:1100px){.theory-layout{gap:24px;padding:30px 16px}.toc-sidebar{width:220px;flex-basis:220px}.theory-content{padding:1.5rem;font-size:1.05rem}}.theory-content{flex:1;background:#fafafa;color:#1e1e1e;padding:2rem;border-radius:12px;box-shadow:0 4px 12px #0000000d;font-family:Georgia,Times New Roman,serif;font-size:1.125rem;line-height:1.7;overflow-wrap:anywhere}.theory-content p,.theory-content li,.theory-content .faq-item p{max-width:700px;margin-left:auto;margin-right:auto}.theory-content h1{font-size:2.5rem;font-weight:600;margin:0 0 1rem;border-bottom:2px solid #e0e0e0;padding-bottom:.5rem;line-height:1.2}.theory-content h2{font-size:2rem;font-weight:500;margin:2.5rem 0 1rem;line-height:1.3}.theory-content h3{font-size:1.5rem;font-weight:500;margin:1.5rem 0 .5rem;line-height:1.4}.theory-content hr{border:none;border-top:1px solid #ddd;margin:2rem auto;max-width:700px}.faq-item{margin-bottom:1.5rem;padding:1rem 1.5rem;background:#f5f5f5;border-radius:8px;max-width:700px;margin-left:auto;margin-right:auto}.faq-item h3{margin-top:0;color:#2c3e50;font-size:1.3rem}.sim-preview{text-align:center;margin:3rem auto;max-width:700px;padding:1.5rem;background:#f0f7ff;border-radius:12px}.sim-buttons{display:flex;gap:16px;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:20px}#launchSim{background:#06c;color:#fff;border:none;padding:.75rem 2rem;font-size:1.2rem;font-weight:500;border-radius:6px;cursor:pointer;transition:background .2s,transform .1s;min-width:180px}#launchSim:hover{background:#004a99}#launchSim:active{transform:scale(.98)}#embedBtn{background:#2d2d2d;color:#fff;border:1px solid #404040;padding:.75rem 2rem;font-size:1.2rem;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s ease;min-width:180px;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 2px 8px #0000001a}#embedBtn:hover{background:#3d3d3d;border-color:#06c;transform:translateY(-2px);box-shadow:0 4px 12px #06c3}#embedBtn:active{transform:translateY(0);box-shadow:0 2px 4px #0000001a}#embedBtn:before{content:"🔗";font-size:1rem;opacity:.9}html[data-theme=dark] #embedBtn{background:#3d3d3d;border-color:#555;color:#fff;box-shadow:0 2px 8px #0000004d}html[data-theme=dark] #embedBtn:hover{background:#4d4d4d;border-color:#80b4ff;box-shadow:0 4px 12px #80b4ff33}@media(max-width:600px){.sim-buttons{flex-direction:column;gap:12px}#launchSim,#embedBtn{width:100%;min-width:unset;padding:.7rem 1.5rem;font-size:1.1rem}}.katex-display{overflow-x:auto;overflow-y:hidden;padding:.5rem 0}@media(max-width:900px){.theory-layout{flex-direction:column;gap:20px;padding:16px 12px;--sticky-top-offset: 0px;max-width:100%}.toc-toggle{display:block;position:fixed;bottom:20px;right:20px;z-index:1301;background:#06c;color:#fff;border:none;width:50px;height:50px;border-radius:50%;font-size:24px;cursor:pointer;box-shadow:0 4px 10px #0000004d;transition:transform .2s}.toc-toggle:hover{transform:scale(1.05)}.toc-toggle:active{transform:scale(.95)}.toc-sidebar{position:fixed;top:0;left:0;transform:translate(-102%);width:min(300px,88vw);height:100vh;background:#f0f0f0;z-index:1300;transition:transform .3s ease;box-shadow:2px 0 10px #0003;padding:20px;border-radius:0;margin:0;overflow-y:auto;pointer-events:none}.toc-sidebar.open{transform:translate(0);pointer-events:auto}.toc-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:1299}.toc-overlay.active{display:block}.theory-content{font-size:1rem;padding:1rem;width:100%;max-width:100%}.theory-content p,.theory-content li,.faq-item,.sim-preview,.theory-content hr{max-width:100%}}html[data-theme=dark] .toc-sidebar{background:#2a2a2a;border-color:#444;color:#ddd}html[data-theme=dark] .toc-sidebar h3{border-bottom-color:#444}html[data-theme=dark] .toc-sidebar a{color:#bbb}html[data-theme=dark] .toc-sidebar a:hover{background:#3a3a3a;color:#80b4ff}html[data-theme=dark] .toc-sidebar a.active{background:#2c3e50;color:#a0d0ff;border-left-color:#80b4ff}html[data-theme=dark] .theory-content{background:#1e1e1e;color:#e0e0e0}html[data-theme=dark] .theory-content h1{border-bottom-color:#444}html[data-theme=dark] .theory-content hr{border-top-color:#444}html[data-theme=dark] .faq-item{background:#2a2a2a;color:#ddd}html[data-theme=dark] .faq-item h3{color:#c0e0ff}html[data-theme=dark] .sim-preview{background:#2c3e50}html[data-theme=dark] #launchSim{background:#004a99}html[data-theme=dark] #launchSim:hover{background:#036}html[data-theme=dark] .toc-toggle{background:#004a99;box-shadow:0 4px 10px #00000080}html[data-theme=dark] .toc-toggle:hover{background:#036}html[data-theme=dark] .toc-overlay{background:#000000b3}@media(max-width:900px){html[data-theme=dark] .toc-sidebar{background:#2a2a2a}}@media(max-width:480px){.theory-content{padding:1rem}.theory-content h1{font-size:2rem}.theory-content h2{font-size:1.5rem}.faq-item{padding:.75rem 1rem}.toc-sidebar{width:min(270px,88vw)}}.embed-overlay{position:fixed;inset:0;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s ease;z-index:2000}.embed-overlay.show{opacity:1;pointer-events:auto}.embed-box{width:90%;max-width:720px;background:#1e1e1e;border-radius:8px;box-shadow:0 20px 40px #0009,0 0 0 1px #ffffff0d;overflow:hidden;animation:embed-slide-up .3s ease}@keyframes embed-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.embed-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#2d2d2d;border-bottom:1px solid #3c3c3c}.embed-header h3{margin:0;font-size:.9rem;font-weight:500;color:#ccc;text-transform:uppercase;letter-spacing:.5px}.embed-close-btn{background:transparent;border:none;color:#ccc;font-size:24px;line-height:1;cursor:pointer;padding:0 6px;border-radius:4px;transition:all .2s}.embed-close-btn:hover{background:#3a3a3a;color:#fff}.vscode-editor{background:#1e1e1e;border-radius:0;overflow:hidden}.editor-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:#252526;border-bottom:1px solid #3c3c3c}.editor-title{color:#ccc;font-size:.85rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}.window-controls{display:flex;gap:8px}.window-btn{width:12px;height:12px;border-radius:50%;display:inline-block}.window-btn.minimize{background:#f1fa8c}.window-btn.maximize{background:#50fa7b}.window-btn.close{background:#f55}.editor-content{display:flex;background:#1e1e1e;min-height:200px}.line-numbers{display:flex;flex-direction:column;padding:16px 8px;background:#1e1e1e;color:#858585;font-family:Consolas,Monaco,Courier New,monospace;font-size:14px;line-height:1.6;text-align:right;border-right:1px solid #3c3c3c;-webkit-user-select:none;user-select:none}.line-numbers span{padding:0 4px}.code-container{flex:1;padding:16px;background:#1e1e1e;overflow-x:auto}.code-pre{margin:0;font-family:Consolas,Monaco,Courier New,monospace;font-size:14px;line-height:1.6}#embedCode{display:block;color:#d4d4d4;white-space:pre}#embedCode .tag{color:#569cd6}#embedCode .attr-name{color:#9cdcfe}#embedCode .attr-value{color:#ce9178}#embedCode .comment{color:#6a9955}.editor-footer{display:flex;align-items:center;gap:16px;padding:8px 16px;background:#007acc;color:#fff;font-size:.8rem}.language-badge{background:#fff3;padding:2px 8px;border-radius:4px;font-weight:500}.word-wrap,.line-col{opacity:.9}.embed-actions{padding:16px;background:#252526;border-top:1px solid #3c3c3c;display:flex;justify-content:flex-end}.copy-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#0e639c;color:#fff;border:none;border-radius:4px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s}.copy-btn:hover{background:#17b}.copy-btn:active{transform:scale(.98)}.copy-icon{width:16px;height:16px}html[data-theme=light] .embed-box{background:#fff;box-shadow:0 20px 40px #0003}html[data-theme=light] .embed-header{background:#f3f3f3;border-bottom-color:#e0e0e0}html[data-theme=light] .embed-header h3{color:#333}html[data-theme=light] .vscode-editor{background:#fff}html[data-theme=light] .editor-header{background:#f3f3f3;border-bottom-color:#e0e0e0}html[data-theme=light] .editor-title{color:#333}html[data-theme=light] .editor-content,html[data-theme=light] .line-numbers,html[data-theme=light] .code-container{background:#fff}html[data-theme=light] .line-numbers{color:#a0a0a0;border-right-color:#e0e0e0}html[data-theme=light] #embedCode{color:#333}html[data-theme=light] .editor-footer{background:#007acc}html[data-theme=light] .embed-actions{background:#f3f3f3;border-top-color:#e0e0e0}@media(max-width:600px){.embed-box{width:95%;max-width:none;margin:10px}.line-numbers{padding:12px 4px;font-size:12px}.code-container{padding:12px;font-size:12px}#embedCode{font-size:12px}.editor-footer{flex-wrap:wrap;gap:8px}.word-wrap{display:none}}.theory-skeleton-layout{--skeleton-surface: #fafafa;--skeleton-border: rgba(0, 0, 0, .06);--skeleton-base: #e7e7e7;--skeleton-shine: #f5f5f5;max-width:1200px;margin:0 auto;padding:40px 20px;display:flex;gap:40px;align-items:flex-start}.theory-skeleton-sidebar,.theory-skeleton-content{background:var(--skeleton-surface);border:1px solid var(--skeleton-border);border-radius:12px;box-shadow:0 4px 12px #0000000d}.theory-skeleton-sidebar{width:250px;flex:0 0 250px;padding:16px}.theory-skeleton-content{flex:1;padding:24px}.skeleton-card{border-radius:8px;background:linear-gradient(90deg,var(--skeleton-base) 25%,var(--skeleton-shine) 50%,var(--skeleton-base) 75%);background-size:300% 100%;animation:theoryShimmer 1.2s infinite linear;margin-bottom:12px}.skeleton-title{height:44px;width:56%;margin-bottom:20px}.skeleton-heading{height:30px;width:42%;margin-top:10px}.skeleton-line{height:16px;width:100%}.skeleton-line.short{width:72%}.skeleton-sidebar-title{height:26px;width:62%;margin-bottom:16px}.skeleton-sidebar-line{height:14px;width:100%}.skeleton-sidebar-line.short{width:78%}@media(max-width:900px){.theory-skeleton-layout{display:block;padding:20px 12px}.theory-skeleton-sidebar{width:100%;margin-bottom:16px}}html[data-theme=dark] .theory-skeleton-layout{--skeleton-surface: #1f252d;--skeleton-border: rgba(255, 255, 255, .08);--skeleton-base: #2f3a46;--skeleton-shine: #3b4755}html[data-theme=dark] .theory-skeleton-sidebar,html[data-theme=dark] .theory-skeleton-content{box-shadow:0 6px 18px #00000059}@keyframes theoryShimmer{0%{background-position:100% 0}to{background-position:0 0}}#simulation-section{width:100%;min-height:100vh;display:flex;flex-direction:column;gap:1rem;padding:clamp(.75rem,2vw,1.25rem);box-sizing:border-box}#simulation-section .mobile-screen-note{display:none}.sim-back-button{align-self:flex-start;background:transparent;border:1px solid #0066cc;color:#06c;font-weight:600;padding:.45rem .9rem}.sim-back-button:hover{background:#e6f0ff}html[data-theme=dark] .sim-back-button{border-color:#80b4ff;color:#80b4ff}html[data-theme=dark] .sim-back-button:hover{background:#24374d}.sim-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:0 .5rem;flex-wrap:wrap;gap:.5rem}.sim-header h1{margin:0;font-size:1.8rem;color:#1e1e1e;line-height:1.2}#fullscreenBtn{background:transparent;border:none;font-size:2rem;cursor:pointer;color:#4a4a4a;padding:.3rem .6rem;border-radius:8px;transition:background .2s,color .2s;line-height:1}#fullscreenBtn:hover{background:#e0e0e0;color:#06c}#sim-container{position:relative;width:100%;background:#000;border-radius:16px;overflow:hidden;height:min(72vh,640px);min-height:360px;display:flex;justify-content:center;align-items:center}#sim-container canvas{width:100%!important;height:100%!important;object-fit:contain;display:block}#sim-ui{position:absolute;top:20px;right:20px;z-index:10;max-width:90vw;pointer-events:auto}#floating-panel{max-width:280px;background:#1e1e1ee6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;padding:.5rem;box-shadow:0 4px 12px #0000004d;color:#fff;pointer-events:auto}#simulation-section .ad-left,#simulation-section .ad-right{display:flex;justify-content:center;align-items:center;margin:.5rem 0}#simulation-section .ad-container{display:flex;justify-content:center;align-items:center;margin:.75rem 0;width:100%;max-width:100%;overflow:hidden}#simulation-section .ad-box{background:#1e293b;border:2px dashed #334155;color:#94a3b8;display:flex;justify-content:center;align-items:center;text-align:center;font-size:.9rem;box-sizing:border-box;border-radius:12px;width:100%;max-width:970px;padding:clamp(.5rem,1.2vw,.85rem)}#simulation-section .ad-box{min-height:90px}#simulation-section .ad-left .ad-box,#simulation-section .ad-right .ad-box{width:min(100%,300px);min-height:320px;aspect-ratio:1 / 2}#simulation-section .ad-bottom .ad-box{width:min(100%,970px);min-height:120px;aspect-ratio:970 / 250}.simulation-main-layout{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-start}.simulation-main-layout .ad-left,.simulation-main-layout .ad-right{flex:0 0 auto;width:auto}.simulation-main-layout #simulation-section{flex:1;min-width:280px}.sim-watermark{position:absolute;bottom:15px;right:20px;color:#fff9;font-size:14px;cursor:pointer;-webkit-user-select:none;user-select:none;z-index:9999;background:#0006;padding:4px 8px;border-radius:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:auto}.sim-watermark:hover{color:#fff;background:#0009}#sim-container:-webkit-full-screen{width:100vw;height:100vh;background:#000;display:flex;justify-content:center;align-items:center;border-radius:0}#sim-container:-moz-full-screen{width:100vw;height:100vh;background:#000;display:flex;justify-content:center;align-items:center;border-radius:0}#sim-container:fullscreen{width:100vw;height:100vh;background:#000;display:flex;justify-content:center;align-items:center;border-radius:0}#sim-container:fullscreen canvas{object-fit:contain;max-width:100%;max-height:100%}.embed-mode #header,.embed-mode #footer{display:none}.embed-mode #simulation-section{padding:0;min-height:auto}@media(max-width:1024px){#sim-container{height:min(62vh,520px);min-height:340px}#simulation-section .ad-left .ad-box,#simulation-section .ad-right .ad-box{width:min(100%,240px);min-height:280px}#simulation-section .ad-bottom .ad-box{width:min(100%,728px);min-height:90px;aspect-ratio:728 / 90}}@media(max-width:768px){#simulation-section .mobile-screen-note{display:block;margin:.25rem 0 .5rem;padding:.7rem .9rem;border-radius:10px;background:#fff4cc;color:#6a5200;border:1px solid #e6cf80;font-size:.9rem;line-height:1.45;font-weight:500}#simulation-section{padding:.75rem}.sim-header h1{font-size:1.5rem}#fullscreenBtn{font-size:1.7rem;padding:.2rem .5rem}#sim-container{height:min(58vh,460px);min-height:300px;border-radius:12px}#sim-ui{top:10px;right:10px}#floating-panel{max-width:260px;font-size:.9rem}#simulation-section .ad-left,#simulation-section .ad-right{display:none}#simulation-section .ad-bottom .ad-box{width:100%;max-width:560px;min-height:86px;aspect-ratio:16 / 3}#simulation-section .ad-container{margin:.75rem 0}#simulation-section .ad-box{width:100%;max-width:560px;min-height:86px;aspect-ratio:auto;padding:.5rem}}@media(max-width:480px){#sim-container{height:min(52vh,360px);min-height:250px}.sim-header{flex-direction:column;align-items:flex-start}.sim-header h1{font-size:1.3rem}#fullscreenBtn{font-size:1.5rem;padding:.2rem .4rem;align-self:flex-end}#sim-ui{top:8px;right:8px}#floating-panel{max-width:220px;font-size:.8rem;padding:.4rem}.sim-watermark{font-size:10px;bottom:8px;right:8px}#simulation-section .ad-bottom .ad-box,#simulation-section .ad-box{max-width:100%;min-height:78px}}html[data-theme=dark] .sim-header h1{color:#e0e0e0}html[data-theme=dark] #fullscreenBtn{color:#ccc}html[data-theme=dark] #fullscreenBtn:hover{background:#3a3a3a;color:#80b4ff}html[data-theme=dark] #floating-panel{background:#14141ef2;color:#f0f0f0}html[data-theme=dark] #simulation-section .mobile-screen-note{background:#90720033;border-color:#ebc23e99;color:#ffd86a}#sim-container{flex-shrink:0}.uplot,.uplot *,.uplot *:before,.uplot *:after{box-sizing:border-box}.uplot{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5;width:min-content}.u-title{text-align:center;font-size:18px;font-weight:700}.u-wrap{position:relative;-webkit-user-select:none;user-select:none}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{display:block;position:relative;width:100%;height:100%}.u-axis{position:absolute}.u-legend{font-size:14px;margin:auto;text-align:center}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{vertical-align:middle;display:inline-block}.u-legend .u-marker{width:1em;height:1em;margin-right:4px;background-clip:padding-box!important}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{background:#00000012;position:absolute;pointer-events:none}.u-cursor-x,.u-cursor-y{position:absolute;left:0;top:0;pointer-events:none;will-change:transform}.u-hz .u-cursor-x,.u-vt .u-cursor-y{height:100%;border-right:1px dashed #607D8B}.u-hz .u-cursor-y,.u-vt .u-cursor-x{width:100%;border-bottom:1px dashed #607D8B}.u-cursor-pt{position:absolute;top:0;left:0;border-radius:50%;border:0 solid;pointer-events:none;will-change:transform;background-clip:padding-box!important}.u-axis.u-off,.u-select.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-cursor-pt.u-off{display:none}
