Nabid Nur
feat: deep-dive upgrade — BPE merge lab, byte anatomy, special tokens, tokenizer comparison, semantic embeddings (one-hot x E, cosine calculator, dim-by-dim table), 3D embedding space with live analogy, 3D PE landscape, 3D multi-head tower, interactive QKV inspector (25+ visualizations)
8bf176a Download css/style.css from Nabidnur/attention-fully-explained: direct link, hf CLI and curl.
- Browser
- Download file 19.8 kB
-
https://huggingface.co/spaces/Nabidnur/attention-fully-explained/resolve/main/css/style.css
- Command line
-
hf download hf://spaces/Nabidnur/attention-fully-explained/css/style.css
-
curl -L -o style.css https://huggingface.co/spaces/Nabidnur/attention-fully-explained/resolve/main/css/style.css
19.8 kB
| /* ============ Attention, Fully Explained — design system ============ */ | |
| :root{ | |
| --bg0:#050b16; --bg1:#0a1628; --panel:#0c1a33; --panel2:#101f3d; | |
| --line:rgba(122,180,255,.16); --line2:rgba(122,180,255,.32); | |
| --txt:#e3edff; --mut:#93a7cc; --dim:#6b7fa8; | |
| --cy:#3fe0ff; --vi:#8f7bff; --go:#ffcf6e; --pk:#ff6ec7; --gr:#5ef2b8; | |
| --grad:linear-gradient(100deg,#3fe0ff 0%,#8f7bff 55%,#ff6ec7 100%); | |
| --shadow:0 18px 50px rgba(2,8,23,.55); | |
| --r:16px; | |
| --f-bn:'Hind Siliguri','Noto Sans Bengali',sans-serif; | |
| --f-disp:'Space Grotesk','Hind Siliguri',sans-serif; | |
| --f-mono:'JetBrains Mono',ui-monospace,monospace; | |
| } | |
| *{margin:0;padding:0;box-sizing:border-box} | |
| html{scroll-behavior:smooth} | |
| body{background:var(--bg0);color:var(--txt);font-family:var(--f-bn);font-size:16.5px;line-height:1.85;overflow-x:hidden; | |
| background-image:radial-gradient(1200px 700px at 80% -10%,rgba(63,224,255,.07),transparent 60%),radial-gradient(900px 600px at -10% 40%,rgba(143,123,255,.08),transparent 60%)} | |
| body.lang-bn{line-height:2.02} | |
| ::selection{background:rgba(63,224,255,.35)} | |
| a{color:var(--cy);text-decoration:none} | |
| a:hover{text-decoration:underline} | |
| img,canvas,svg{max-width:100%} | |
| .wrap{max-width:1180px;margin:0 auto;padding:0 22px} | |
| .mono{font-family:var(--f-mono)} | |
| .sup{font-size:.62em;vertical-align:super} | |
| /* ---------- top nav ---------- */ | |
| #nav{position:fixed;top:0;left:0;right:0;z-index:60;backdrop-filter:blur(14px); | |
| background:rgba(5,11,22,.72);border-bottom:1px solid var(--line)} | |
| #nav .bar{display:flex;align-items:center;gap:14px;height:58px} | |
| .logo{font-family:var(--f-disp);font-weight:700;font-size:17px;letter-spacing:.4px;white-space:nowrap;color:var(--txt)} | |
| .logo b{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent} | |
| .navlinks{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;flex:1} | |
| .navlinks::-webkit-scrollbar{display:none} | |
| .nl{color:var(--mut);font-size:13.5px;padding:6px 10px;border-radius:9px;white-space:nowrap;border:1px solid transparent} | |
| .nl:hover{color:var(--txt);text-decoration:none;background:rgba(63,224,255,.08)} | |
| .nl.on{color:#04121f;background:var(--cy);font-weight:600} | |
| .langbtn{cursor:pointer;border:1px solid var(--line2);background:linear-gradient(135deg,rgba(63,224,255,.16),rgba(143,123,255,.16)); | |
| color:var(--txt);font-family:var(--f-disp);font-weight:600;font-size:13.5px;padding:7px 14px;border-radius:11px;white-space:nowrap;transition:.2s} | |
| .langbtn:hover{border-color:var(--cy);box-shadow:0 0 18px rgba(63,224,255,.25)} | |
| #progress{position:fixed;top:58px;left:0;height:2.5px;width:0;background:var(--grad);z-index:61} | |
| /* ---------- sections ---------- */ | |
| .sec{padding:88px 0 30px;position:relative} | |
| .sec::before{content:attr(data-kicker);display:block;font-family:var(--f-disp);font-size:12.5px;letter-spacing:1.5px; | |
| text-transform:uppercase;color:var(--cy);margin-bottom:10px} | |
| .sec h2{font-family:var(--f-disp);font-size:clamp(26px,4vw,40px);line-height:1.25;margin-bottom:6px} | |
| body.lang-bn .sec h2{font-family:var(--f-bn);font-weight:700} | |
| .sec h2::after{content:"";display:block;width:72px;height:3px;background:var(--grad);border-radius:3px;margin-top:14px} | |
| .lead{color:var(--mut);max-width:860px;margin-top:14px;font-size:16.5px} | |
| .grid2{display:grid;grid-template-columns:1fr 1fr;gap:22px} | |
| .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px} | |
| @media(max-width:940px){.grid2,.grid3{grid-template-columns:1fr}} | |
| .card{background:linear-gradient(180deg,var(--panel),rgba(10,20,40,.65));border:1px solid var(--line); | |
| border-radius:var(--r);padding:20px 22px;box-shadow:var(--shadow)} | |
| .card h3{font-size:18px;margin-bottom:8px} | |
| .card h3 .en{color:var(--cy)} | |
| .story{border-left:3px solid var(--cy);background:linear-gradient(90deg,rgba(63,224,255,.08),rgba(63,224,255,.015)); | |
| border-radius:0 14px 14px 0;padding:16px 20px;margin:18px 0} | |
| .story .tag{font-family:var(--f-disp);font-size:11.5px;letter-spacing:1.5px;text-transform:uppercase;color:var(--cy);display:block;margin-bottom:4px} | |
| details.deep{border:1px dashed var(--line2);border-radius:14px;padding:0 18px;margin:16px 0;background:rgba(10,22,45,.5)} | |
| details.deep summary{cursor:pointer;padding:13px 0;font-weight:600;color:var(--vi);list-style:none} | |
| details.deep summary::before{content:"▸ ";color:var(--vi)} | |
| details.deep[open] summary::before{content:"▾ "} | |
| details.deep .inner{padding:2px 0 16px;color:var(--mut)} | |
| .viz-frame{background:rgba(4,10,22,.6);border:1px solid var(--line);border-radius:14px;padding:14px;position:relative;overflow:hidden} | |
| .viz-frame .cap{font-size:13px;color:var(--dim);margin-top:8px;text-align:center} | |
| canvas.viz{display:block;width:100%;border-radius:8px} | |
| .note{font-size:13.5px;color:var(--dim)} | |
| .hl-cy{color:var(--cy);font-weight:600}.hl-vi{color:var(--vi);font-weight:600}.hl-go{color:var(--go);font-weight:600}.hl-pk{color:var(--pk);font-weight:600}.hl-gr{color:var(--gr);font-weight:600} | |
| /* ---------- controls ---------- */ | |
| .controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:14px 0} | |
| .btn{cursor:pointer;border:1px solid var(--line2);background:rgba(63,224,255,.07);color:var(--txt); | |
| font-family:inherit;font-size:14.5px;padding:8px 16px;border-radius:11px;transition:.18s} | |
| .btn:hover{border-color:var(--cy);background:rgba(63,224,255,.14)} | |
| .btn.primary{background:var(--grad);color:#04121f;border:none;font-weight:700} | |
| .btn.primary:hover{filter:brightness(1.12);box-shadow:0 6px 24px rgba(63,224,255,.3)} | |
| .btn.sm{font-size:12.5px;padding:5px 11px;border-radius:9px} | |
| .btn.on{background:rgba(143,123,255,.25);border-color:var(--vi)} | |
| select,input[type=text]{background:var(--panel2);border:1px solid var(--line2);color:var(--txt); | |
| font-family:inherit;font-size:15px;padding:9px 12px;border-radius:11px;outline:none} | |
| input[type=text]{flex:1;min-width:200px} | |
| input[type=text]:focus{border-color:var(--cy)} | |
| input[type=range]{-webkit-appearance:none;appearance:none;height:5px;border-radius:5px;background:linear-gradient(90deg,var(--cy),var(--vi));outline:none;cursor:pointer} | |
| input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:17px;height:17px;border-radius:50%;background:#fff;border:3px solid var(--cy);box-shadow:0 0 10px rgba(63,224,255,.6)} | |
| label.rng{display:flex;align-items:center;gap:9px;font-size:14px;color:var(--mut)} | |
| label.rng .val{font-family:var(--f-mono);color:var(--cy);min-width:52px} | |
| /* ---------- token chips ---------- */ | |
| .chips{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0} | |
| .tok{display:inline-flex;flex-direction:column;align-items:center;cursor:pointer;border-radius:9px;padding:5px 10px 3px; | |
| background:rgba(63,224,255,.1);border:1px solid rgba(63,224,255,.3);transition:.15s} | |
| .tok .t{font-size:15.5px} | |
| .tok .id{font-family:var(--f-mono);font-size:10px;color:var(--dim)} | |
| .tok:hover,.tok.q{background:rgba(143,123,255,.28);border-color:var(--vi);transform:translateY(-2px)} | |
| .tok.k{background:rgba(94,242,184,.16);border-color:rgba(94,242,184,.45)} | |
| .tok.sub{background:rgba(255,207,110,.12);border-color:rgba(255,207,110,.4)} | |
| /* ---------- timeline ---------- */ | |
| .tl{position:relative;margin:26px 0;padding-left:30px} | |
| .tl::before{content:"";position:absolute;left:9px;top:6px;bottom:6px;width:2px;background:linear-gradient(180deg,var(--cy),var(--vi),var(--pk));opacity:.5} | |
| .tl-item{position:relative;margin-bottom:18px} | |
| .tl-item::before{content:"";position:absolute;left:-27px;top:12px;width:12px;height:12px;border-radius:50%; | |
| background:var(--bg1);border:3px solid var(--cy);box-shadow:0 0 12px rgba(63,224,255,.5)} | |
| .tl-item .yr{font-family:var(--f-disp);font-weight:700;color:var(--go);font-size:15px} | |
| .tl-item h4{display:inline;font-size:16.5px;margin-left:8px} | |
| .tl-item p{color:var(--mut);font-size:14.8px;margin-top:4px;max-width:860px} | |
| /* ---------- tables ---------- */ | |
| table.tb{width:100%;border-collapse:collapse;font-size:14.5px} | |
| table.tb th{color:var(--cy);text-align:left;font-weight:600;border-bottom:1px solid var(--line2);padding:9px 10px} | |
| table.tb td{border-bottom:1px solid var(--line);padding:8px 10px;vertical-align:top;color:var(--mut)} | |
| table.tb td:first-child{color:var(--txt);font-weight:600;white-space:nowrap} | |
| /* ---------- math ---------- */ | |
| .mathbox{background:rgba(4,10,22,.65);border:1px solid var(--line);border-radius:14px;padding:16px 20px;margin:12px 0;overflow-x:auto} | |
| .katex{font-size:1.06em} | |
| .mstep{margin:10px 0} | |
| .mstep .st{color:var(--cy);font-weight:600;font-size:14.5px;display:block;margin-bottom:3px} | |
| /* ---------- video grid ---------- */ | |
| .video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:20px} | |
| .vcard{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:.2s} | |
| .vcard:hover{border-color:var(--line2);transform:translateY(-3px)} | |
| .vcard .fr{position:relative;padding-top:56.25%;background:#000} | |
| .vcard iframe{position:absolute;inset:0;width:100%;height:100%;border:0} | |
| .vcard .vbody{padding:13px 15px} | |
| .vcard .vt{font-weight:600;font-size:15px;margin-bottom:3px} | |
| .vcard .vc{font-size:12.5px;color:var(--go);font-family:var(--f-disp);letter-spacing:.5px} | |
| .vcard .vw{font-size:13.5px;color:var(--mut);margin-top:5px} | |
| /* ---------- credit cards ---------- */ | |
| .credit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:16px} | |
| .ccard{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px 18px;transition:.2s;display:block;color:var(--txt)} | |
| .ccard:hover{border-color:var(--cy);transform:translateY(-3px);text-decoration:none} | |
| .ccard .cn{font-weight:700;font-size:15.5px;color:var(--cy)} | |
| .ccard .cd{font-size:13.5px;color:var(--mut);margin-top:5px} | |
| .ccard .cu{font-size:12px;color:var(--dim);font-family:var(--f-mono);margin-top:8px;word-break:break-all} | |
| /* ---------- hero ---------- */ | |
| #hero{min-height:100svh;display:flex;align-items:center;position:relative;overflow:hidden;padding:110px 0 60px} | |
| #heroCanvas{position:absolute;inset:0;opacity:.8} | |
| .hero-in{position:relative;z-index:2} | |
| .kick{font-family:var(--f-disp);letter-spacing:1.5px;font-size:13px;text-transform:uppercase;color:var(--cy)} | |
| #hero h1{font-family:var(--f-disp);font-size:clamp(38px,6.4vw,74px);line-height:1.08;margin:16px 0 6px;font-weight:700} | |
| #hero h1 .g{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent} | |
| body.lang-bn #hero h1{font-family:var(--f-bn)} | |
| #hero .h2l{font-size:clamp(20px,3vw,30px);color:var(--mut);font-weight:500;margin-bottom:18px} | |
| #hero p.sub{max-width:780px;color:var(--mut);font-size:17px} | |
| .stat-row{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0} | |
| .stat{border:1px solid var(--line2);border-radius:12px;padding:9px 16px;background:rgba(10,22,45,.6);font-size:14px} | |
| .stat b{font-family:var(--f-disp);color:var(--cy);font-size:17px;margin-right:6px} | |
| .cta-row{display:flex;gap:13px;flex-wrap:wrap} | |
| .scroll-hint{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);color:var(--dim);font-size:12.5px;letter-spacing:2px;z-index:2;animation:bob 2.2s ease-in-out infinite} | |
| @keyframes bob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,8px)}} | |
| /* ---------- pipeline steps ---------- */ | |
| .steps{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0} | |
| .stepchip{cursor:pointer;font-size:13px;padding:6px 13px;border-radius:999px;border:1px solid var(--line);color:var(--mut);background:rgba(10,22,45,.55);transition:.15s} | |
| .stepchip.done{border-color:rgba(94,242,184,.4);color:var(--gr)} | |
| .stepchip.on{background:var(--grad);color:#04121f;font-weight:700;border-color:transparent} | |
| .pipe-desc{min-height:96px} | |
| /* ---------- 3d ---------- */ | |
| .three-wrap{position:relative;height:460px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:radial-gradient(700px 380px at 50% 20%,rgba(63,224,255,.06),transparent 65%),#040a18} | |
| .three-wrap canvas{display:block} | |
| .three-hint{position:absolute;top:10px;left:12px;font-size:12px;color:var(--dim);background:rgba(5,11,22,.55);padding:4px 10px;border-radius:8px;pointer-events:none} | |
| .three-hint.right{left:auto;right:12px} | |
| #archInfo{position:absolute;right:12px;bottom:12px;width:min(330px,60%);background:rgba(6,13,28,.92);border:1px solid var(--line2); | |
| border-radius:12px;padding:13px 16px;font-size:13.5px;color:var(--mut);backdrop-filter:blur(6px)} | |
| #archInfo b{color:var(--cy)} | |
| #surfTip{position:fixed;z-index:80;display:none;background:rgba(6,13,28,.94);border:1px solid var(--line2);border-radius:9px; | |
| padding:7px 11px;font-size:13px;pointer-events:none;color:var(--txt)} | |
| .legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;justify-content:center} | |
| .lg-item{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--mut);background:rgba(10,22,45,.5);border:1px solid var(--line);border-radius:8px;padding:3px 9px} | |
| .lg-dot{width:10px;height:10px;border-radius:3px} | |
| /* ---------- heatmap colorbar ---------- */ | |
| .colorbar{height:10px;border-radius:6px;margin-top:8px;background:linear-gradient(90deg,#0b1e3d,#1450a3,#22b8f0,#7ef0ff,#fff8b0);border:1px solid var(--line)} | |
| .colorbar-row{display:flex;justify-content:space-between;font-size:11px;color:var(--dim);font-family:var(--f-mono);margin-top:3px} | |
| /* ---------- glossary filter ---------- */ | |
| #glosSearch{width:100%;max-width:420px;margin-bottom:14px} | |
| /* ---------- footer ---------- */ | |
| footer{border-top:1px solid var(--line);margin-top:70px;padding:36px 0 44px;color:var(--dim);font-size:14px} | |
| footer .fgrid{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:center} | |
| /* ---------- reveal ---------- */ | |
| .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease} | |
| .reveal.in{opacity:1;transform:none} | |
| @media(prefers-reduced-motion:reduce){.reveal{transition:none;opacity:1;transform:none}.scroll-hint{animation:none}} | |
| /* ---------- QKV cards ---------- */ | |
| .qkv{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:18px 0} | |
| @media(max-width:940px){.qkv{grid-template-columns:1fr}} | |
| .qkv .qc{border-radius:14px;padding:18px;border:1px solid var(--line);position:relative;overflow:hidden} | |
| .qkv .qc::before{content:"";position:absolute;top:0;left:0;right:0;height:3px} | |
| .qkv .q::before{background:var(--cy)}.qkv .k::before{background:var(--gr)}.qkv .v::before{background:var(--go)} | |
| .qkv .big{font-family:var(--f-disp);font-size:30px;font-weight:700} | |
| .qkv .q .big{color:var(--cy)}.qkv .k .big{color:var(--gr)}.qkv .v .big{color:var(--go)} | |
| .qkv .role{color:var(--mut);font-size:14px;margin-top:6px} | |
| @media(max-width:600px){#nav .bar{height:52px}.logo span.lg-txt{display:none}} | |
| /* ============ deep-dive additions (v2) ============ */ | |
| .subh{font-family:var(--f-disp);font-size:11.5px;letter-spacing:1.2px;text-transform:uppercase; | |
| color:var(--dim);margin:12px 0 7px} | |
| .chiprow{display:flex;flex-wrap:wrap;gap:5px;max-height:150px;overflow:auto;padding:2px} | |
| .wchip{font-family:var(--f-mono);font-size:11.5px;color:var(--mut);background:rgba(63,224,255,.06); | |
| border:1px solid var(--line);border-radius:8px;padding:3px 8px;white-space:nowrap} | |
| .wchip b{color:#7ef0ff;font-weight:600} | |
| .wchip i{color:var(--dim);font-style:normal;opacity:.5;margin:0 1px} | |
| .pairrow{display:flex;align-items:center;gap:9px;margin:5px 0;font-size:13px} | |
| .pairrow .pp{color:var(--txt);min-width:74px;text-align:right} | |
| .pairrow .pbar{flex:1;height:9px;background:rgba(63,224,255,.07);border-radius:6px;overflow:hidden} | |
| .pairrow .pbar span{display:block;height:100%;border-radius:6px; | |
| background:linear-gradient(90deg,#1450a3,#22b8f0)} | |
| .pairrow.nx .pbar span{background:linear-gradient(90deg,#c9942a,#ffcf6e)} | |
| .pairrow.nx .pp{color:var(--go)} | |
| .pairrow .pc{color:var(--dim);min-width:34px} | |
| .pairrow .ptag{color:var(--go);font-weight:700} | |
| .vchip{display:inline-block;font-size:12px;margin:2px;padding:2.5px 8px;border-radius:8px; | |
| background:rgba(63,224,255,.07);border:1px solid var(--line);color:var(--mut)} | |
| .vchip.fresh{background:rgba(255,207,110,.16);border-color:var(--go);color:var(--go); | |
| box-shadow:0 0 12px rgba(255,207,110,.25)} | |
| /* byte anatomy */ | |
| .byteRow{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin:8px 0} | |
| .bcell{cursor:pointer;display:inline-flex;flex-direction:column;align-items:center;gap:1px; | |
| min-width:34px;padding:5px 6px 3px;border-radius:9px;border:1px solid rgba(63,224,255,.28); | |
| background:rgba(63,224,255,.07);color:var(--txt);font-family:inherit;transition:.15s} | |
| .bcell .bc{font-size:16px;line-height:1.2} | |
| .bcell .bn{font-size:9.5px;color:var(--dim)} | |
| .bcell.multi{background:rgba(255,207,110,.1);border-color:rgba(255,207,110,.42)} | |
| .bcell.multi .bn{color:var(--go)} | |
| .bcell:hover{transform:translateY(-2px);border-color:var(--cy)} | |
| .bcell.sel{background:rgba(143,123,255,.3);border-color:var(--vi);box-shadow:0 0 14px rgba(143,123,255,.35)} | |
| .bspace{width:10px} | |
| .bytehex{color:var(--go);letter-spacing:1px;font-size:14px} | |
| .bc-big{font-size:22px;color:var(--cy)} | |
| /* special tokens */ | |
| .spec-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:12px;margin-top:12px} | |
| .stok{border:1px solid var(--line);border-radius:12px;padding:13px 15px;background:rgba(10,22,45,.45)} | |
| .stok .st{color:var(--go);font-size:14px;margin-bottom:5px} | |
| .stok p{font-size:13px;color:var(--mut);line-height:1.65;margin:0} | |
| /* tokenizer comparison */ | |
| .cmprow{display:flex;align-items:center;gap:11px;margin:9px 0} | |
| .cmprow .ck{min-width:172px;font-size:13.5px;color:var(--mut)} | |
| .cmprow .cbar{flex:1;height:16px;background:rgba(63,224,255,.06);border-radius:8px;overflow:hidden} | |
| .cmprow .cbar span{display:block;height:100%;border-radius:8px;opacity:.85;transition:width .3s} | |
| .cmprow .cn{min-width:34px;text-align:right;color:var(--txt);font-size:14px} | |
| /* vector table */ | |
| .vt td{font-size:12.5px;padding:5px 8px} | |
| .vbar{position:relative;display:block;height:10px;border-radius:6px;background:rgba(63,224,255,.07);overflow:hidden} | |
| .vbar span{position:absolute;top:0;bottom:0;border-radius:6px} | |
| .vbar i{position:absolute;top:-2px;bottom:-2px;width:1.5px;background:rgba(147,167,204,.6)} | |
| /* one-hot × E */ | |
| .ohstrip{display:flex;gap:5px;flex-wrap:wrap} | |
| .ohone{min-width:44px;text-align:center;padding:5px 4px;border-radius:8px;font-size:12.5px; | |
| background:rgba(63,224,255,.06);border:1px solid var(--line);color:var(--dim)} | |
| .ohone.hot{background:rgba(255,207,110,.2);border-color:var(--go);color:var(--go);font-weight:700; | |
| box-shadow:0 0 12px rgba(255,207,110,.3)} | |
| .ohone.r{background:rgba(94,242,184,.09);border-color:rgba(94,242,184,.4);color:var(--gr)} | |
| .ohgrid{display:flex;flex-direction:column;gap:3px;margin:6px 0} | |
| .ohrow{display:flex;gap:5px;padding:2px;border-radius:8px;transition:.25s} | |
| .ohrow.hit{background:rgba(255,207,110,.13);outline:1px solid rgba(255,207,110,.5)} | |
| .ohrow.hit .ohc{color:var(--go)} | |
| .ohc{flex:1;min-width:44px;text-align:center;font-size:11px;color:var(--dim); | |
| background:rgba(63,224,255,.045);border-radius:6px;padding:3.5px 2px} | |
| .ohlab{flex:0 0 44px;font-size:11.5px;color:var(--mut);display:inline-flex;align-items:center} | |
| .ohlab.hitl{color:var(--go);font-weight:700} | |
| .cosrow .cv.mono{font-size:10.5px;line-height:1.55} | |
| .ohgrid.anim .ohrow.hit{animation:ohpulse 1s ease} | |
| .ohstrip.flash .ohone.hot{animation:ohpulse 1s ease} | |
| @keyframes ohpulse{0%{box-shadow:0 0 0 rgba(255,207,110,0)}40%{box-shadow:0 0 22px rgba(255,207,110,.75)}100%{box-shadow:0 0 0 rgba(255,207,110,0)}} | |
| /* cosine calculator */ | |
| .cosrow{display:flex;justify-content:space-between;gap:12px;align-items:baseline; | |
| border-bottom:1px dashed var(--line);padding:6px 0;font-size:13px} | |
| .cosrow .cl{color:var(--mut);white-space:nowrap} | |
| .cosrow .cv{text-align:right;color:var(--txt);word-break:break-all} | |
| .cosrow.big .cv{font-size:14.5px} | |
| .cosverdict{margin-top:10px;border:1px solid;border-radius:11px;padding:9px 13px; | |
| font-size:13.5px;background:rgba(10,22,45,.5)} | |
| @media(max-width:940px){.cmprow .ck{min-width:118px}.cosrow{flex-direction:column;gap:2px}} | |