:root{--bg:#06060c;--bg2:#0c0c16;--bg3:#111120;--card:#0e0e1a;--border:#1e1e32;--glow-border:#2a2a48;--text:#e4e2df;--text2:#7d7a8c;--text3:#4a475a;--a1:#ff6b6b;--a2:#4ecdc4;--a3:#ffd166;--a4:#a78bfa;--a5:#f472b6;--a6:#38bdf8;--a7:#fb923c;--a8:#34d399;--serif:"Fraunces", Georgia, serif;--sans:"DM Sans", system-ui, sans-serif;--mono:"Fira Code", "Consolas", monospace;--ease:cubic-bezier(.16, 1, .3, 1);--ease-bounce:cubic-bezier(.34, 1.56, .64, 1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#1e1e32 #06060c}body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;line-height:1.65;overflow-x:hidden}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}a{color:var(--a2);transition:color .25s var(--ease);text-decoration:none}a:hover{color:var(--a3)}.topnav{z-index:100;-webkit-backdrop-filter:blur(20px)saturate(1.6);backdrop-filter:blur(20px)saturate(1.6);background:#06060cd1;border-bottom:1px solid #1e1e3280;justify-content:space-between;align-items:center;padding:.55rem 1.8rem;display:flex;position:fixed;top:0;left:0;right:0}.topnav .logo{font-family:var(--serif);letter-spacing:-.02em;background:linear-gradient(135deg, #fff 20%, var(--a2) 80%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1rem;font-weight:900}.topnav .nav-links{gap:.25rem;display:flex}.topnav .nav-links a{font-family:var(--mono);color:var(--text2);transition:all .25s var(--ease);border:1px solid #0000;border-radius:20px;padding:.2rem .55rem;font-size:.6rem}.topnav .nav-links a:hover,.topnav .nav-links a.active{border-color:var(--a2);color:var(--a2);background:#4ecdc40f}.ew-logo{animation:fadeDown .8s var(--ease) both;align-items:center;gap:.6rem;margin-bottom:1.5rem;display:inline-flex}.ew-logo svg{flex-shrink:0;width:42px;height:42px}.ew-logo .ew-text{font-family:var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#8a8a9a;font-size:.68rem;font-weight:600}.author-line{animation:fadeUp .8s .38s var(--ease) both;margin-top:.6rem}.author-line a{font-family:var(--mono);color:var(--text3);border-bottom:1px dashed var(--text3);padding-bottom:1px;font-size:.68rem;transition:all .25s}.author-line a:hover{color:var(--a2);border-color:var(--a2)}.hero{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex;position:relative;overflow:hidden}.hero-bg{z-index:0;background:radial-gradient(55% 45% at 50% 40%,#4ecdc40f,#0000 70%),radial-gradient(35% 25% at 25% 65%,#ff6b6b0a,#0000),radial-gradient(35% 25% at 75% 55%,#a78bfa0a,#0000);position:absolute;inset:0}.hero canvas{z-index:0;position:absolute;inset:0}.hero-content{z-index:2;position:relative}.hero .badge{border:1px solid var(--border);font-family:var(--mono);color:var(--a2);letter-spacing:.04em;animation:fadeDown .8s var(--ease) both;border-radius:50px;align-items:center;gap:.5rem;margin-bottom:1.2rem;padding:.35rem 1rem;font-size:.68rem;display:inline-flex}.hero .badge:before{content:"";background:var(--a2);border-radius:50%;width:6px;height:6px;animation:2s infinite blink}.hero h1{font-family:var(--serif);letter-spacing:-.03em;background:linear-gradient(135deg, #fff 0%, var(--a2) 45%, var(--a5) 100%);-webkit-text-fill-color:transparent;animation:fadeUp .8s .15s var(--ease) both;-webkit-background-clip:text;background-clip:text;font-size:clamp(3rem,8vw,6.5rem);font-weight:900;line-height:1.05}.hero .sub{color:var(--text2);max-width:520px;animation:fadeUp .8s .3s var(--ease) both;margin:1rem auto .5rem;font-size:clamp(.95rem,2.2vw,1.2rem);font-weight:300;line-height:1.7}.hero .scroll-cue{animation:fadeUp .8s .5s var(--ease) both, float 3s ease-in-out infinite 1s;color:var(--text3);font-size:.75rem;font-family:var(--mono)}.hero .stat-row{animation:fadeUp .8s .48s var(--ease) both;justify-content:center;gap:2.5rem;margin-top:2.5rem;display:flex}.hero .stat{text-align:center}.hero .stat .num{font-family:var(--serif);background:linear-gradient(to right, var(--a2), var(--a3));-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:2rem;font-weight:900}.hero .stat .lbl{font-family:var(--mono);color:var(--text3);letter-spacing:.08em;text-transform:uppercase;font-size:.6rem}.toc{max-width:960px;margin:0 auto;padding:0 1.5rem 5rem}.toc h2{font-family:var(--serif);text-align:center;color:var(--a3);margin-bottom:2rem;font-size:1.6rem;font-weight:700}.toc-grid{grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:1.2rem;display:grid}.toc-card{background:linear-gradient(135deg, var(--bg2), #0e0e1acc);border:1px solid var(--border);transition:all .4s var(--ease);cursor:pointer;border-radius:16px;padding:1.5rem 1.7rem;position:relative;overflow:hidden}.toc-card:before{content:"";opacity:.5;height:2px;transition:opacity .4s,height .4s;position:absolute;top:0;left:0;right:0}.toc-card:after{content:"";background:radial-gradient(ellipse at 50% 0%, var(--card-glow,#4ecdc40a), transparent 70%);opacity:0;border-radius:16px;transition:opacity .4s;position:absolute;inset:0}.toc-card:hover{border-color:var(--card-accent,var(--a2));box-shadow:0 20px 60px #0006, 0 0 40px var(--card-glow,#4ecdc40f);transform:translateY(-4px)}.toc-card:hover:before{opacity:1;height:3px}.toc-card:hover:after{opacity:1}.toc-card .era-num{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.15rem;font-size:.62rem}.toc-card h3{font-family:var(--serif);z-index:1;margin-bottom:.2rem;font-size:1.2rem;font-weight:700;position:relative}.toc-card h3 a{color:var(--text)}.toc-card .era-desc{color:var(--text2);z-index:1;margin-bottom:.7rem;font-size:.8rem;position:relative}.toc-card .model-tags{z-index:1;flex-wrap:wrap;gap:.2rem;display:flex;position:relative}.toc-card .model-tags span{font-size:.58rem;font-family:var(--mono);color:var(--text3);border:1px solid #1e1e3299;border-radius:20px;padding:.1rem .4rem;transition:all .2s}.toc-card:hover .model-tags span{color:var(--text2);border-color:var(--border)}.toc-card .enter-arrow{font-family:var(--mono);opacity:0;transition:all .3s var(--ease);z-index:1;font-size:.72rem;position:absolute;bottom:1.4rem;right:1.5rem;transform:translate(-8px)}.toc-card:hover .enter-arrow{opacity:1;transform:translate(0)}.toc-card .count{font-family:var(--mono);color:var(--text3);z-index:1;margin-top:.5rem;font-size:.55rem;position:relative}.c1{--card-accent:var(--a1);--card-glow:#ff6b6b0d}.c1:before{background:var(--a1)}.c1 .era-num{color:var(--a1)}.c2{--card-accent:var(--a7);--card-glow:#fb923c0d}.c2:before{background:var(--a7)}.c2 .era-num{color:var(--a7)}.c3{--card-accent:var(--a3);--card-glow:#ffd1660d}.c3:before{background:var(--a3)}.c3 .era-num{color:var(--a3)}.c4{--card-accent:var(--a2);--card-glow:#4ecdc40d}.c4:before{background:var(--a2)}.c4 .era-num{color:var(--a2)}.c5{--card-accent:var(--a4);--card-glow:#a78bfa0d}.c5:before{background:var(--a4)}.c5 .era-num{color:var(--a4)}.c6{--card-accent:var(--a5);--card-glow:#f472b60d}.c6:before{background:var(--a5)}.c6 .era-num{color:var(--a5)}.c7{--card-accent:var(--a6);--card-glow:#38bdf80d}.c7:before{background:var(--a6)}.c7 .era-num{color:var(--a6)}.c8{--card-accent:var(--a8);--card-glow:#34d3990d}.c8:before{background:var(--a8)}.c8 .era-num{color:var(--a8)}.section-hero{text-align:center;padding:7.5rem 1.5rem 3.5rem;position:relative;overflow:hidden}.section-hero .era-label{font-family:var(--mono);letter-spacing:.15em;text-transform:uppercase;animation:fadeDown .6s var(--ease) both;margin-bottom:.5rem;font-size:.72rem}.section-hero h1{font-family:var(--serif);letter-spacing:-.02em;animation:fadeUp .6s .1s var(--ease) both;margin-bottom:.4rem;font-size:clamp(2rem,5.5vw,3.2rem);font-weight:900}.section-hero p{color:var(--text2);max-width:500px;animation:fadeUp .6s .2s var(--ease) both;margin:0 auto;font-size:.92rem}.section-hero .nav-arrows{animation:fadeUp .6s .3s var(--ease) both;justify-content:center;gap:1rem;margin-top:1.5rem;display:flex}.section-hero .nav-arrows a{font-family:var(--mono);border:1px solid var(--border);color:var(--text2);transition:all .25s var(--ease);border-radius:8px;padding:.4rem 1rem;font-size:.72rem}.section-hero .nav-arrows a:hover{border-color:var(--a2);color:var(--a2)}.models-container{max-width:960px;margin:0 auto;padding:1rem 1.5rem 4rem}.model-card{background:var(--card);border:1px solid var(--border);transition:all .4s var(--ease);animation:fadeUp .6s var(--ease) both;border-radius:18px;margin-bottom:2.8rem;scroll-margin-top:80px;overflow:hidden}.model-card:hover{border-color:#4ecdc433;box-shadow:0 16px 60px #00000059,0 0 30px #4ecdc408}.mc-head{align-items:flex-start;gap:1rem;padding:1.6rem 1.6rem 1rem;display:flex}.mc-year{font-family:var(--mono);white-space:nowrap;background:#ffd1660f;border:1px solid #ffd16626;border-radius:20px;flex-shrink:0;margin-top:.3rem;padding:.18rem .6rem;font-size:.62rem;font-weight:500}.mc-info h3{font-family:var(--serif);letter-spacing:-.01em;flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.3rem;font-size:1.3rem;font-weight:700;display:flex}.mc-info p{color:var(--text2);font-size:.86rem;line-height:1.55}.mc-info .model-lineage{color:var(--text3);margin-top:.25rem;font-size:.74rem;font-style:italic;line-height:1.5}.mc-info .model-lineage a{color:var(--a2);border-bottom:1px dashed #4ecdc459;padding-bottom:0;font-style:normal;font-weight:500}.mc-info .model-lineage a:hover{color:var(--a3);border-color:var(--a3)}.mc-formula{background:var(--bg);font-family:var(--mono);white-space:nowrap;border:1px solid #1e1e3266;border-radius:8px;margin:0 1.6rem;padding:.65rem 1rem;font-size:.72rem;overflow-x:auto}.paper-link{font-size:.52rem;font-family:var(--mono);color:var(--text3);letter-spacing:.06em;text-transform:uppercase;background:var(--bg2);border:1px solid var(--border);transition:all .25s var(--ease);vertical-align:middle;border-radius:5px;flex-shrink:0;align-items:center;gap:.25rem;padding:.18rem .5rem .18rem .35rem;font-weight:500;text-decoration:none;display:inline-flex}.paper-link:before{content:"📄";font-size:.55rem;line-height:1}.paper-link:hover{color:var(--a2);border-color:var(--a2);background:#4ecdc40f;box-shadow:0 0 12px #4ecdc41a}.mc-demo{background:var(--bg2);border:1px solid var(--border);border-radius:14px;margin:1rem 1.6rem 1.6rem;position:relative;overflow:hidden}.mc-demo canvas{cursor:crosshair;background:0 0;width:100%;height:auto;display:block}.demo-controls{border-top:1px solid var(--border);background:var(--bg3);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.65rem 1rem;display:flex}.demo-hint{color:var(--text3);font-size:.65rem;font-family:var(--mono);letter-spacing:.02em;padding:.4rem 1rem}.demo-area{min-height:100px;padding:1rem}input[type=range]{-webkit-appearance:none;background:var(--border);border-radius:2px;outline:none;flex:1;max-width:140px;height:3px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--a2);cursor:pointer;border-radius:50%;width:14px;height:14px;box-shadow:0 0 8px #4ecdc44d}.btn{font-family:var(--mono);border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;transition:all .2s var(--ease);letter-spacing:.02em;white-space:nowrap;border-radius:6px;padding:.35rem .75rem;font-size:.65rem;font-weight:500}.btn:hover{border-color:var(--a2);color:var(--a2);background:#4ecdc40a}.btn.active{background:var(--a2);color:var(--bg);border-color:var(--a2)}label{font-family:var(--mono);color:var(--text3);font-size:.62rem}footer{text-align:center;color:var(--text3);border-top:1px solid var(--border);margin-top:2rem;padding:3rem 1.5rem;font-size:.78rem}footer a{color:var(--text2)}.progress-bar{z-index:200;height:2px;transition:width .12s;position:fixed;top:0;left:0}.back-top{background:var(--a2);width:38px;height:38px;color:var(--bg);cursor:pointer;opacity:0;transition:all .3s var(--ease);z-index:99;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1rem;display:flex;position:fixed;bottom:2rem;right:2rem;box-shadow:0 4px 20px #4ecdc440}.back-top.show{opacity:1}.back-top:hover{transform:scale(1.1)translateY(-2px)}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (width<=768px){.toc-grid{grid-template-columns:1fr}.mc-head{flex-direction:column;gap:.5rem;padding:1.2rem 1rem .8rem}.mc-formula{margin:0 1rem;font-size:.62rem}.mc-demo{margin:.8rem 1rem 1rem}.models-container{padding:1rem .8rem 3rem}.topnav{padding:.5rem .8rem}.topnav .nav-links{gap:.12rem}.topnav .nav-links a{padding:.15rem .38rem;font-size:.52rem}.section-hero{padding:5.5rem 1rem 2.5rem}.section-hero .nav-arrows a{padding:.3rem .7rem;font-size:.62rem}.demo-controls{gap:.35rem;padding:.5rem .6rem}.btn{padding:.28rem .55rem;font-size:.58rem}label{font-size:.55rem}input[type=range]{max-width:100px}.hero .stat-row{gap:1.5rem}.hero .stat .num{font-size:1.5rem}.toc{padding:0 .8rem 3rem}.toc-card{padding:1.2rem}}@media (width<=420px){.topnav .logo{font-size:.78rem}.topnav .nav-links a{padding:.1rem .22rem;font-size:.42rem}.mc-info h3{gap:.4rem;font-size:1.05rem}.mc-demo{border-radius:10px;margin:.5rem .5rem .7rem}.mc-formula{margin:0 .5rem;padding:.4rem .5rem;font-size:.52rem}.mc-head{padding:.9rem .7rem .5rem}.mc-info p{font-size:.78rem}.demo-hint{padding:.25rem .5rem;font-size:.52rem}.hero h1{font-size:clamp(2.2rem,10vw,3.5rem)}.hero .sub{font-size:.88rem}.paper-link{padding:.15rem .4rem;font-size:.48rem}.ew-logo svg{width:32px;height:32px}.ew-logo .ew-text{font-size:.58rem}.section-hero h1{font-size:clamp(1.5rem,6vw,2.2rem)}.back-top{width:32px;height:32px;font-size:.85rem;bottom:1rem;right:1rem}}@media (width<=520px){.toc-grid{grid-template-columns:1fr!important}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-bg{display:none}*{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}canvas{touch-action:none}.api-key-btn{font-family:var(--mono);border:1px solid var(--border);color:var(--a2);cursor:pointer;transition:all .25s var(--ease);letter-spacing:.04em;animation:fadeUp .8s .52s var(--ease) both;background:#4ecdc414;border-color:#4ecdc473;border-radius:20px;align-items:center;gap:.4rem;margin-top:1.2rem;padding:.32rem .85rem;font-size:.65rem;font-weight:500;display:inline-flex}.api-key-btn:hover{border-color:var(--a2);color:#9cf2ec;background:#4ecdc429;box-shadow:0 0 18px #4ecdc42e}.api-key-modal-overlay{z-index:500;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#06060cbf;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.api-key-modal{background:var(--bg2);border:1px solid var(--glow-border);border-radius:18px;width:100%;max-width:440px;padding:2rem;position:relative;box-shadow:0 24px 80px #0009,0 0 40px #4ecdc40f}.api-key-modal-close{color:var(--text3);cursor:pointer;background:0 0;border:none;padding:.2rem;font-size:1rem;line-height:1;transition:color .2s;position:absolute;top:1rem;right:1rem}.api-key-modal-close:hover{color:var(--text)}.api-key-modal-title{font-family:var(--serif);color:var(--text);margin-bottom:.8rem;font-size:1.1rem;font-weight:700}.api-key-modal-hint{color:var(--text2);margin-bottom:1.2rem;font-size:.78rem;line-height:1.6}.api-key-modal-form{gap:.5rem;margin-bottom:.8rem;display:flex}.api-key-modal-input{font-family:var(--mono);background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:8px;outline:none;flex:1;padding:.45rem .75rem;font-size:.72rem;transition:border-color .2s}.api-key-modal-input:focus{border-color:var(--a2)}.api-key-modal-btn{flex-shrink:0}.api-key-modal-saved{font-family:var(--mono);color:var(--a2);align-items:center;gap:.75rem;margin-bottom:.8rem;font-size:.72rem;display:flex}.api-key-modal-link{font-family:var(--mono);color:var(--text3);border-bottom:1px dashed var(--text3);font-size:.62rem;transition:all .2s;display:inline-block}.api-key-modal-link:hover{color:var(--a2);border-color:var(--a2)}.demo-chat{border:1px solid var(--border);background:linear-gradient(180deg, var(--bg3) 0%, var(--bg2) 100%);border-radius:14px;margin:0 1.6rem 1.6rem;overflow:hidden}.demo-chat-header{font-family:var(--mono);color:var(--text3);letter-spacing:.04em;border-bottom:1px solid var(--border);align-items:center;gap:.5rem;padding:.7rem 1rem .5rem;font-size:.62rem;display:flex}.demo-chat-icon{color:var(--a2);font-size:.7rem;line-height:1;animation:2.5s ease-in-out infinite pulse}.demo-chat-keybox{border-bottom:1px solid var(--border);background:#ffd16608;padding:.9rem 1rem}.demo-chat-keybox-hint{color:var(--text2);margin-bottom:.65rem;font-size:.72rem;line-height:1.55}.demo-chat-keybox-hint strong{color:var(--a3);font-weight:600}.demo-chat-keybox-form{align-items:center;gap:.45rem;margin-bottom:.5rem;display:flex}.demo-chat-key-input{font-family:var(--mono);background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:7px;outline:none;flex:1;min-width:0;padding:.38rem .7rem;font-size:.68rem;transition:border-color .2s}.demo-chat-key-input:focus{border-color:var(--a3)}.demo-chat-keybox-link{font-family:var(--mono);color:var(--text3);border-bottom:1px dashed var(--text3);font-size:.6rem;transition:all .2s;display:inline-block}.demo-chat-keybox-link:hover{color:var(--a2);border-color:var(--a2)}.demo-chat-form{align-items:center;gap:.45rem;padding:.65rem 1rem;display:flex}.demo-chat-input{font-family:var(--sans);background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:8px;outline:none;flex:1;min-width:0;padding:.42rem .8rem;font-size:.78rem;transition:border-color .2s}.demo-chat-input:focus{border-color:var(--a2)}.demo-chat-input:disabled{opacity:.5;cursor:not-allowed}.demo-chat-input::placeholder{color:var(--text3)}.demo-chat-send{flex-shrink:0}.demo-chat-send:disabled{opacity:.4;cursor:not-allowed}.demo-chat-send:not(:disabled):hover{border-color:var(--a2);color:var(--a2);background:#4ecdc40d}.demo-chat-progress{font-family:var(--mono);color:var(--a2);border-top:1px solid var(--border);align-items:center;gap:.6rem;padding:.5rem 1rem .6rem;font-size:.62rem;display:flex}@keyframes spin{to{transform:rotate(360deg)}}.demo-chat-spinner{border:1.5px solid var(--border);border-top-color:var(--a2);border-radius:50%;flex-shrink:0;width:11px;height:11px;animation:.7s linear infinite spin;display:inline-block}.demo-chat-error{font-family:var(--mono);color:#ff6b6b;background:#ff6b6b0f;border:1px solid #ff6b6b33;border-radius:8px;margin:0 1rem .75rem;padding:.55rem .8rem;font-size:.65rem}.demo-chat-result{border-top:1px solid var(--border)}.demo-chat-explanation{color:var(--text);padding:.85rem 1rem .2rem;font-size:.82rem;font-weight:500;line-height:1.6}.demo-chat-plan{color:var(--text2);padding:0 1rem .75rem;font-size:.74rem;font-style:italic;line-height:1.55}.demo-chat-result-footer{border-top:1px solid var(--border);gap:.5rem;padding:.6rem 1rem .8rem;display:flex}.dynamic-demo-frame{border:none;border-top:1px solid var(--border);background:#06060c;width:100%;height:320px;display:block}@media (width<=768px){.demo-chat{margin:0 1rem 1rem}.demo-chat-input{font-size:.72rem}}@media (width<=420px){.demo-chat{border-radius:10px;margin:0 .5rem .7rem}.demo-chat-form{flex-wrap:wrap}.demo-chat-input{width:100%}.dynamic-demo-frame{height:260px}}.provider-selector{flex-wrap:wrap;gap:.3rem;display:flex}.provider-pill{font-family:var(--mono);border:1px solid var(--border);background:var(--bg);color:var(--text3);cursor:pointer;transition:all .2s var(--ease);white-space:nowrap;border-radius:20px;padding:.22rem .65rem;font-size:.6rem;font-weight:500;line-height:1.5}.provider-pill:hover{border-color:var(--a2);color:var(--a2)}.provider-pill.active{border-color:var(--a2);color:var(--a2);background:#4ecdc41f}.provider-model-hint{font-family:var(--mono);color:var(--text3);letter-spacing:.02em;margin:.3rem 0 .75rem;font-size:.58rem}
