diff --git a/site/assets/css/base.css b/site/assets/css/base.css index f0c0960..134120a 100644 --- a/site/assets/css/base.css +++ b/site/assets/css/base.css @@ -13,7 +13,7 @@ --e2:inset 0 1px 0 color-mix(in srgb,var(--tx) 11%,transparent),0 1px 2px rgba(0,0,0,0.45),0 8px 18px -12px rgba(0,0,0,0.8); --e4:0 0 0 1px var(--bd2),0 24px 48px -20px rgba(0,0,0,0.85);--gap:16px;--cpad:20px;--pp:32px; --sh:inset 0 1px 0 rgba(255,255,255,0.05),0 24px 60px -34px rgba(0,0,0,0.95);--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px; ---s6:32px;--s7:48px;--f0:12px;--f1:14px;--f2:16px;--f3:clamp(18px,1.2vw + 12px,22px);--f4:clamp(38px,3.4vw + 20px,68px); +--s6:32px;--s7:48px;--f0:var(--t-2);--f1:var(--t-4);--f2:var(--t-5);--f3:clamp(18px,1.2vw + 12px,22px);--f4:clamp(38px,3.4vw + 20px,68px); --t:0.2s ease;--sw:252px;--hh:64px;--mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace; --sans:"Plus Jakarta Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif} @@ -76,7 +76,7 @@ background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:blur(14p .logo{color:var(--tx)} -.brand b{font-size:17px;font-weight:800;letter-spacing:-0.035em;display:block;line-height:1.05} +.brand b{font-size:var(--t-5);font-weight:800;letter-spacing:-0.035em;display:block;line-height:1.05} .brand small{color:var(--mut);font:500 10px var(--mono);letter-spacing:0.14em;text-transform:uppercase} @@ -176,7 +176,7 @@ color:var(--tx2);font:500 10.5px var(--mono);letter-spacing:0.14em;text-transfor .hero h1 .dim{display:block} -.hero .lead{font-size:15px;line-height:1.6} +.hero .lead{font-size:var(--t-5);line-height:1.6} .row{display:flex;gap:var(--s2);flex-wrap:wrap;align-items:center} @@ -199,7 +199,7 @@ box-shadow:0 8px 26px -12px color-mix(in srgb,var(--tx) 45%,transparent)} .btn.pri:hover{background:var(--pri-hover);border-color:var(--pri-hover)} -.btn.sm{min-height:var(--hit);padding:0 var(--space-4);font-size:12.5px} +.btn.sm{min-height:var(--hit);padding:0 var(--space-4);font-size:var(--t-2)} .btn[aria-busy="true"] svg.ic{animation:spin 1s linear infinite} @@ -240,7 +240,7 @@ min-height:22px} position:absolute;pointer-events:none;z-index:5;background:color-mix(in srgb,var(--surface) 92%,transparent); backdrop-filter:blur(8px);font-size:var(--f0);box-shadow:var(--e4);display:none} -.tip b{display:block;margin-bottom:5px;font-family:var(--mono);font-size:10.5px;letter-spacing:0.12em;text-transform:uppercase} +.tip b{display:block;margin-bottom:5px;font-family:var(--mono);font-size:var(--t-1);letter-spacing:0.12em;text-transform:uppercase} .tip div{display:flex;justify-content:space-between;gap:10px} @@ -258,7 +258,7 @@ text-transform:uppercase;cursor:pointer;transition:var(--t)} .legend svg{width:22px;height:8px} -.legend .chip{font-size:10px} +.legend .chip{font-size:var(--t-1)} .note{font-size:var(--f0);color:var(--mut);margin-top:12px;display:flex;gap:8px;align-items:flex-start;line-height:1.55} @@ -297,7 +297,7 @@ margin:0} .stat .v{font-weight:700;letter-spacing:-0.025em;line-height:1.25;margin:4px 0 3px;overflow-wrap:anywhere} -.stat .d{font-size:11.5px;color:var(--tx2);overflow-wrap:break-word;line-height:1.45} +.stat .d{font-size:var(--t-2);color:var(--tx2);overflow-wrap:break-word;line-height:1.45} /* == cards == */ .card{ @@ -311,7 +311,7 @@ transition:border-color 0.25s,box-shadow 0.25s} content:"";position:absolute;top:-1px;left:10%;right:10%;height:1px; background:linear-gradient(90deg,transparent,var(--tx),transparent)} -.card h3{font-size:16px;font-weight:700;letter-spacing:-0.02em;line-height:1.3} +.card h3{font-size:var(--t-5);font-weight:700;letter-spacing:-0.02em;line-height:1.3} .card .top{display:flex;gap:var(--s3);align-items:flex-start} @@ -328,7 +328,7 @@ background:linear-gradient(90deg,transparent,var(--tx),transparent)} .card p{color:var(--tx2);font-size:var(--f1);line-height:1.6} .meta{ -display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;font-size:12.5px;margin:0;padding-top:14px; +display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;font-size:var(--t-2);margin:0;padding-top:14px; border-top:1px dashed var(--bd)} .meta dt{font:500 10px var(--mono);letter-spacing:0.12em;text-transform:uppercase;color:var(--mut);margin-bottom:2px} @@ -339,7 +339,7 @@ border-top:1px dashed var(--bd)} .good{color:var(--tx)} -.good::before{content:"● ";font-size:9px;vertical-align:2px} +.good::before{content:"● ";font-size:var(--t-1);vertical-align:2px} .off{color:var(--mut)} @@ -372,7 +372,7 @@ display:flex;align-items:center;gap:var(--s2);padding:12px 14px; background:linear-gradient( 180deg,color-mix(in srgb,var(--tx) 4%,var(--surface)),var(--surface) ); border-bottom:1px solid var(--bd)} -.cp header h3{font-size:13.5px;font-weight:700;letter-spacing:-0.01em} +.cp header h3{font-size:var(--t-3);font-weight:700;letter-spacing:-0.01em} .cp .code{border:0;border-radius:0} @@ -485,7 +485,7 @@ section.panel,#overview{border-radius:var(--r-lg)} .cp header h3{min-width:100%} .legend button{flex:1 1 auto;justify-content:flex-start} .cards{display:grid;gap:var(--s3)} -.chip{font-size:10px} +.chip{font-size:var(--t-1)} .brand small{display:none} .hero .btn,.card .row .btn{flex:1 1 100%} header.top{padding:0 var(--s3)} @@ -500,7 +500,7 @@ header.top{padding:0 var(--s3)} @media (max-width: 360px){ header.top{gap:var(--s2);padding:0 var(--s2)} -.brand b{font-size:17px} +.brand b{font-size:var(--t-5)} #hdrProfile{max-width:118px} .g-stat{grid-template-columns:1fr!important} .stat{flex-direction:row!important} @@ -566,7 +566,7 @@ background:linear-gradient( 180deg,color-mix(in srgb,var(--surface) 70%,transpar nav.side ul{gap:2px} nav a{ -position:relative;gap:12px;padding:6px 10px 6px 6px;min-height:44px;border-radius:var(--r-md);font-size:13.5px;font-weight:500; +position:relative;gap:12px;padding:6px 10px 6px 6px;min-height:44px;border-radius:var(--r-md);font-size:var(--t-3);font-weight:500; letter-spacing:-0.005em} nav a .ni{ @@ -606,7 +606,7 @@ nav a[aria-current="true"] .ni svg.ic{opacity:1} .hw-card .top{align-items:center} -.hw-card h3{font-size:17px;margin-top:3px} +.hw-card h3{font-size:var(--t-5);margin-top:3px} .specs{ display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:0;background:var(--bd);border:1px solid var(--bd); @@ -616,9 +616,9 @@ border-radius:var(--r-md);overflow:hidden} .specs dt{font:500 10px var(--mono);letter-spacing:0.14em;text-transform:uppercase;color:var(--mut);margin-bottom:4px} -.specs dd{margin:0;font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} +.specs dd{margin:0;font-size:var(--t-3);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} -.sig{display:grid;gap:4px;font-size:13.5px;color:var(--tx2);line-height:1.55} +.sig{display:grid;gap:4px;font-size:var(--t-3);color:var(--tx2);line-height:1.55} .app-card{ grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:20px; @@ -626,13 +626,13 @@ padding:16px 16px 16px 20px} .app-id{display:flex;align-items:center;gap:14px;min-width:0} -.app-id h3{font-size:17px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} +.app-id h3{font-size:var(--t-5);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} .fico-inv{background:var(--pri-bg);color:var(--pri-tx);border-color:var(--pri-bg)} .app-verify{ display:inline-flex;align-items:center;gap:9px;height:36px;padding:0 14px;border-radius:var(--r-pill); -border:1px dashed var(--bd2);color:var(--tx2);font-size:12.5px;white-space:nowrap} +border:1px dashed var(--bd2);color:var(--tx2);font-size:var(--t-2);white-space:nowrap} .app-verify b{color:var(--tx);font-weight:600} @@ -670,7 +670,7 @@ font:500 10px var(--mono);letter-spacing:0.12em;text-transform:uppercase;color:v .cp header .badge{display:none} -.stat .v{font-size:17px} +.stat .v{font-size:var(--t-5)} .stat dt{margin-bottom:2px} @@ -683,7 +683,7 @@ body::before{z-index:-1} .btn.file span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} @media (max-width: 480px){ -.btn.file{font-size:10.5px;padding:0 16px} +.btn.file{font-size:var(--t-1);padding:0 16px} } footer{justify-content:space-between;gap:12px;flex-wrap:wrap;padding:20px 4px 40px} @@ -725,7 +725,7 @@ footer{justify-content:center} /* == v4: tiles, downloads hub, premium code views == */ /* == downloads hub == */ -.dl-legend{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--tx2)} +.dl-legend{display:inline-flex;align-items:center;gap:8px;font-size:var(--t-2);color:var(--tx2)} .dl-legend b{color:var(--tx);font-weight:600} @@ -875,7 +875,7 @@ padding:14px 14px 14px 16px;cursor:pointer;min-height:64px;border-radius:var(--r .faq-q{display:grid;gap:4px;min-width:0} -.faq-q b{font-size:14px;font-weight:700;letter-spacing:-0.02em;line-height:1.3} +.faq-q b{font-size:var(--t-4);font-weight:700;letter-spacing:-0.02em;line-height:1.3} .faq-x{ width:32px;height:32px;border-radius:var(--r-md);display:grid;place-items:center;border:1px solid var(--bd2); @@ -887,7 +887,7 @@ background:var(--elev);transition:transform 0.25s,background 0.2s} .faq-a{padding:0 16px 16px 56px} -.faq-a p{margin:0;font-size:13.5px;line-height:1.65;color:var(--tx2);max-width:62ch} +.faq-a p{margin:0;font-size:var(--t-3);line-height:1.65;color:var(--tx2);max-width:62ch} @media (max-width: 1100px){ .faq{grid-template-columns:1fr} @@ -918,7 +918,7 @@ main{gap:12px} .row{gap:10px} .chk{margin:-8px 0 -8px -8px} .app-links{display:flex;gap:8px} -.app-links .btn{flex:1 1 0;min-width:0;white-space:nowrap;padding:0 12px;font-size:12.5px} +.app-links .btn{flex:1 1 0;min-width:0;white-space:nowrap;padding:0 12px;font-size:var(--t-2)} .app-links .btn span{overflow:hidden;text-overflow:ellipsis} .steps code{overflow-wrap:anywhere} .steps li{gap:10px} @@ -935,7 +935,7 @@ main{padding:8px} } @media (max-width: 420px){ -.app-links .btn{padding:0 10px;font-size:11.5px;gap:6px} +.app-links .btn{padding:0 10px;font-size:var(--t-2);gap:6px} .app-links .btn svg.ic{width:12px;height:12px} } @@ -1029,29 +1029,29 @@ svg.ic{stroke-width:1.75} width:14px;height:14px;stroke-width:2.05} .eyebrow,.pm dt,.kv span,.lm-t span,.lm-o span,.pv-stat span,.pg-c,.dl-gc,.fx-c,.lm-n,.st,.vt button{ -font-size:10px;letter-spacing:0.12em;font-weight:500} +font-size:var(--t-1);letter-spacing:0.12em;font-weight:500} -th{font-size:10px!important} +th{font-size:var(--t-1)!important} -td{font-size:13px} +td{font-size:var(--t-3)} -.ptag,.onoff,.ftype{font-size:9px;letter-spacing:0.1em} +.ptag,.onoff,.ftype{font-size:var(--t-1);letter-spacing:0.1em} -.chip,.badge,.legend button,.seg button,.tag{font-size:10.5px;letter-spacing:0.1em} +.chip,.badge,.legend button,.seg button,.tag{font-size:var(--t-1);letter-spacing:0.1em} -.card h3,.lm h3,.lm-h h3{font-size:17px;line-height:1.3;letter-spacing:-0.02em;font-weight:700} +.card h3,.lm h3,.lm-h h3{font-size:var(--t-5);line-height:1.3;letter-spacing:-0.02em;font-weight:700} -.pm dd,.kv b,.lm-t b,.pv-stat b,.specs b{font-size:13.5px;line-height:1.4} +.pm dd,.kv b,.lm-t b,.pv-stat b,.specs b{font-size:var(--t-3);line-height:1.4} -.card p,.faq-a{font-size:14px;line-height:1.6} +.card p,.faq-a{font-size:var(--t-4);line-height:1.6} -.stat .d,.dl-sub,.lm-o em{font-size:12.5px;line-height:1.5} +.stat .d,.dl-sub,.lm-o em{font-size:var(--t-2);line-height:1.5} .btn{font-weight:600} @media (max-width: 760px){ -.card h3,.lm h3{font-size:16px} -.card p,.faq-a{font-size:13.5px} +.card h3,.lm h3{font-size:var(--t-5)} +.card p,.faq-a{font-size:var(--t-3)} } .pfile-n,.dl-name,.btn.file span,.fx-t{ @@ -1109,15 +1109,15 @@ section.flow:first-child{border-top:0;padding-top:12px} #setup h1{font-size:clamp(30px,4.2vw,46px);letter-spacing:-0.045em;line-height:1.02;margin:0 0 12px} -.lead{color:var(--tx2);max-width:58ch;font-size:15px;line-height:1.6} +.lead{color:var(--tx2);max-width:58ch;font-size:var(--t-5);line-height:1.6} .cmp-hook{margin:28px 0 8px} .cmp-top{display:flex;gap:6px 16px;justify-content:space-between;align-items:baseline;flex-wrap:wrap;margin-bottom:10px} -.cmp-top h2{font-size:16px;margin:0} +.cmp-top h2{font-size:var(--t-5);margin:0} -.hint{color:var(--mut);font-size:12.5px} +.hint{color:var(--mut);font-size:var(--t-2)} .tgt{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px} @@ -1143,9 +1143,9 @@ border-radius:var(--r-pill);background:var(--surface);color:var(--tx2);font:500 flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--bd2); font:600 13px var(--mono);color:var(--tx2)} -.st-h h2{font-size:18px;letter-spacing:-0.015em;margin:0} +.st-h h2{font-size:var(--t-6);letter-spacing:-0.015em;margin:0} -.st-h .sub{color:var(--tx2);font-size:13.5px;margin-top:2px} +.st-h .sub{color:var(--tx2);font-size:var(--t-3);margin-top:2px} .why{font-weight:500;margin-left:8px;text-decoration:underline dotted;text-underline-offset:3px;white-space:nowrap} @@ -1161,9 +1161,9 @@ cursor:pointer;font:inherit;transition:border-color 0.2s,background 0.2s} .out-c .ic{width:26px;height:26px;flex:none;color:var(--tx2)} -.out-c b{display:block;font-size:16px} +.out-c b{display:block;font-size:var(--t-5)} -.out-c small{color:var(--tx2);font-size:13px} +.out-c small{color:var(--tx2);font-size:var(--t-3)} .out-c em{margin-left:auto;font:500 12px var(--mono);color:var(--mut);font-style:normal} @@ -1181,7 +1181,7 @@ box-shadow:0 0 0 1px var(--acc-bd)} .snd-h{display:flex;align-items:center;gap:8px;justify-content:space-between} -.snd-h b{font-size:15px} +.snd-h b{font-size:var(--t-5)} .act{font-style:normal;font:600 11px var(--sans);padding:2px 8px;border-radius:var(--r-pill);background:var(--acc);color:#000} @@ -1191,7 +1191,7 @@ box-shadow:0 0 0 1px var(--acc-bd)} [aria-pressed="true"].snd-c .pv-spark path:last-of-type{stroke:var(--acc)} -.snd-d{color:var(--tx2);font-size:13.5px;line-height:1.45} +.snd-d{color:var(--tx2);font-size:var(--t-3);line-height:1.45} .get-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:28px;align-items:start} @@ -1205,18 +1205,18 @@ font:600 11px var(--mono);color:var(--tx2)} .f-row b{font:600 13px var(--mono);overflow-wrap:anywhere;display:block} -.f-row span.d{color:var(--tx2);font-size:12.5px} +.f-row span.d{color:var(--tx2);font-size:var(--t-2)} -#fsNote{font-size:12.5px} +#fsNote{font-size:var(--t-2)} -.btn.big{min-height:52px;width:100%;font-size:15px} +.btn.big{min-height:52px;width:100%;font-size:var(--t-5)} -.ver{display:flex;gap:8px;align-items:flex-start;color:var(--tx2);font-size:12.5px;margin:12px 0} +.ver{display:flex;gap:8px;align-items:flex-start;color:var(--tx2);font-size:var(--t-2);margin:12px 0} .ver .ic{width:16px;height:16px;flex:none;margin-top:2px;color:var(--acc)} .lnk{ -color:var(--tx);font-weight:600;font-size:13.5px;text-decoration:underline;text-underline-offset:4px; +color:var(--tx);font-weight:600;font-size:var(--t-3);text-decoration:underline;text-underline-offset:4px; text-decoration-color:var(--acc)} .prog{display:flex;align-items:center;gap:14px;margin:0 0 6px;flex-wrap:wrap} @@ -1236,7 +1236,7 @@ ol.todo > li{display:flex;gap:16px;padding:20px 0;border-top:1px solid var(--bd) .ck input{z-index:1;position:absolute;inset:0;opacity:0;margin:0;cursor:pointer} .ck .box{ -pointer-events:none;position:absolute;inset:0;border:1.5px solid var(--ctl);border-radius:8px;display:grid;place-items:center; +pointer-events:none;position:absolute;inset:0;border:1.5px solid var(--ctl);border-radius:var(--r1);display:grid;place-items:center; transition:0.2s} .ck .box svg{width:16px;height:16px;stroke:var(--on-acc);opacity:0} @@ -1247,9 +1247,9 @@ transition:0.2s} .ck input:focus-visible + .box{outline:2px solid var(--focus);outline-offset:3px} -.ck-b h3{font-size:16px;margin:0 0 3px} +.ck-b h3{font-size:var(--t-5);margin:0 0 3px} -.ck-b p{color:var(--tx2);font-size:13.5px;margin:0 0 10px;max-width:60ch} +.ck-b p{color:var(--tx2);font-size:var(--t-3);margin:0 0 10px;max-width:60ch} li.dn .ck-b h3{color:var(--tx2);text-decoration:line-through;text-decoration-color:var(--ctl)} @@ -1257,7 +1257,7 @@ li.dn .ck-b h3{color:var(--tx2);text-decoration:line-through;text-decoration-col .val{ display:inline-flex;align-items:center;gap:8px;border:1px solid var(--bd2);border-radius:var(--r-pill);padding:3px 4px 3px 12px; -font-size:12.5px;max-width:100%} +font-size:var(--t-2);max-width:100%} .val > span{color:var(--mut)} @@ -1285,9 +1285,9 @@ gap:14px;align-items:center;flex-wrap:wrap} .done .ic{width:28px;height:28px;color:var(--acc)} -.done b{font-size:17px;display:block} +.done b{font-size:var(--t-5);display:block} -.done span{color:var(--tx2);font-size:13.5px} +.done span{color:var(--tx2);font-size:var(--t-3)} details.lab > summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;min-height:56px} @@ -1295,7 +1295,7 @@ details.lab > summary::-webkit-details-marker{display:none} details.lab > summary h2{margin:0;font-size:var(--f3)} -details.lab > summary p{color:var(--tx2);font-size:13.5px;margin:2px 0 0} +details.lab > summary p{color:var(--tx2);font-size:var(--t-3);margin:2px 0 0} details.lab > summary .ic{transition:transform 0.2s;margin-left:auto} @@ -1316,13 +1316,13 @@ background:var(--acc-bg)!important;color:var(--acc)!important;border-color:var(- .dl-more{grid-column:1/-1} -.dl-more summary{cursor:pointer;color:var(--tx2);font-size:12.5px;min-height:var(--hit);display:flex;align-items:center;gap:6px} +.dl-more summary{cursor:pointer;color:var(--tx2);font-size:var(--t-2);min-height:var(--hit);display:flex;align-items:center;gap:6px} .dl-more[open] summary svg{transform:rotate(90deg)} .dl-more .code{max-height:260px;margin-top:8px} -.dl-more p{color:var(--tx2);font-size:12.5px;margin:6px 0} +.dl-more p{color:var(--tx2);font-size:var(--t-2);margin:6px 0} .faq-i[open] > summary .faq-n{color:var(--acc)} @@ -1374,7 +1374,7 @@ svg.ic{width:18px;height:18px;vertical-align:-0.2em} .seg button{min-height:var(--hit)} .toast{ -border-radius:var(--radius-md);padding:10px 14px 10px 10px;border-left:3px solid var(--border-strong);font-size:13px; +border-radius:var(--radius-md);padding:10px 14px 10px 10px;border-left:3px solid var(--border-strong);font-size:var(--t-3); line-height:1.45;overflow-wrap:anywhere} .toast.err{border-left-color:var(--danger)} @@ -1500,11 +1500,11 @@ header.top .logo{width:32px!important;height:32px!important} #dlEmpty{ flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;margin:8px 0 0;padding:28px 20px; -border:1px dashed var(--bd2);border-radius:var(--r-lg);color:var(--tx2);font-size:14px;font-weight:500;line-height:1.5; +border:1px dashed var(--bd2);border-radius:var(--r-lg);color:var(--tx2);font-size:var(--t-4);font-weight:500;line-height:1.5; background:linear-gradient( 180deg,color-mix(in srgb,var(--tx) 3%,transparent),transparent )} #dlEmpty::before{ -content:"";width:40px;height:40px;border-radius:12px;border:1px solid var(--bd2);background:var(--elev) center/18px no-repeat; +content:"";width:40px;height:40px;border-radius:var(--r-md);border:1px solid var(--bd2);background:var(--elev) center/18px no-repeat; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E"); margin-bottom:4px} @@ -1545,7 +1545,7 @@ footer span:last-child{text-align:center} background:linear-gradient( 180deg,color-mix(in srgb,var(--tx) 9%,var(--surface)),var(--surface) );border-color:var(--bd2); box-shadow:inset 0 1px 0 color-mix(in srgb,var(--tx) 10%,transparent),0 4px 12px -8px rgba(0,0,0,0.6)} -.st{font-size:10.5px;letter-spacing:0.1em;margin-top:4px} +.st{font-size:var(--t-1);letter-spacing:0.1em;margin-top:4px} details.pv{margin-top:2px} @@ -1566,7 +1566,7 @@ margin-bottom:8px} :root[data-theme="light"]{--acc-ink:#7a4700;--acc-soft:color-mix(in srgb,var(--acc) 10%,var(--surface))} .act,.badge.act,.rec-tag,.dl-row.rec .rec-tag{ -display:inline-flex!important;align-items:center;gap:6px;height:22px;padding:0 9px 0 8px!important;border-radius:999px; +display:inline-flex!important;align-items:center;gap:6px;height:22px;padding:0 9px 0 8px!important;border-radius:var(--r-pill); background:var(--acc-soft)!important;color:var(--acc-ink)!important;border:1px solid var(--acc-bd)!important; font:600 10px/1 var(--mono)!important;letter-spacing:0.12em!important;text-transform:uppercase!important;white-space:nowrap; box-shadow:none!important} @@ -1655,7 +1655,7 @@ border-top:1px solid var(--bd);margin-top:6px} background:radial-gradient( 120% 90% at 50% 0%,color-mix(in srgb,var(--tx) 4%,transparent),transparent 60% ),var(--deep); box-shadow:inset 0 1px 0 color-mix(in srgb,var(--tx) 7%,transparent)} -.chartbox svg text{font-size:10.5px;letter-spacing:0.02em} +.chartbox svg text{font-size:var(--t-1);letter-spacing:0.02em} .tip{ background:color-mix(in srgb,var(--surface) 94%,transparent);border:1px solid var(--bd2); @@ -1664,7 +1664,7 @@ backdrop-filter:blur(12px)} .tip > b{font:600 11px var(--mono)} -.tip div b{font-family:var(--mono);font-size:12px} +.tip div b{font-family:var(--mono);font-size:var(--t-2)} .tip small{color:var(--mut);font-weight:500} @@ -1732,7 +1732,7 @@ text-align:center;border:1px dashed var(--bd2);border-radius:var(--r-md);color:v .unav .ic{width:22px;height:22px} -.tip .pin{margin-top:6px;color:var(--mut);font-size:11px} +.tip .pin{margin-top:6px;color:var(--mut);font-size:var(--t-2)} .tip .tsw{vertical-align:middle} @@ -1766,7 +1766,7 @@ section.flow{border:0;padding:0} --surface-raised:var(--elev);--surface-sunken:var(--deep);--text:var(--tx);--text-secondary:var(--tx2);--text-muted:var(--mut); --border-subtle:var(--bd);--border-strong:var(--bd2);--accent-soft:var(--acc-bg);--success:#4caf7a;--warning:#d9a441; --danger:#e5675b;--shadow-sm:0 1px 2px rgba(0,0,0,0.18);--shadow-md:0 6px 18px -8px rgba(0,0,0,0.35); ---shadow-lg:0 18px 40px -16px rgba(0,0,0,0.5);--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-pill:999px;--space-1:4px; +--shadow-lg:0 18px 40px -16px rgba(0,0,0,0.5);--radius-sm:var(--r-xs);--radius-md:10px;--radius-lg:14px;--radius-pill:999px;--space-1:4px; --space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--ease:cubic-bezier(0.2,0.7,0.2,1);--dur:0.16s; --ring:0 0 0 2px var(--bg),0 0 0 4px var(--focus)} @@ -1814,13 +1814,13 @@ outline:2px solid var(--focus)!important;outline-offset:2px!important;box-shadow .seg button{text-transform:none;letter-spacing:0;font:500 13px var(--sans)} -th{text-transform:none;letter-spacing:0.02em;font-size:11.5px} +th{text-transform:none;letter-spacing:0.02em;font-size:var(--t-2)} p,.faq-a,.ck-b p,.sec-h p{line-height:1.6} .f-t{display:block;font:600 14px/1.35 var(--sans);color:var(--tx);margin-bottom:2px} -.dl-name{font-weight:500;color:var(--tx2);font-size:12px} +.dl-name{font-weight:500;color:var(--tx2);font-size:var(--t-2)} .dl-name .ext{color:var(--acc);font-weight:600} @@ -1875,7 +1875,7 @@ pre,.code{max-width:100%;overflow:auto} .evt td:first-child{font-weight:600;white-space:normal} -.ev-notes{margin:16px 0 0;padding:0;list-style:none;display:grid;gap:8px;color:var(--tx2);font-size:13.5px} +.ev-notes{margin:16px 0 0;padding:0;list-style:none;display:grid;gap:8px;color:var(--tx2);font-size:var(--t-3)} .ev-notes b{color:var(--tx)} @@ -1886,7 +1886,7 @@ pre,.code{max-width:100%;overflow:auto} .pfacts{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:8px} .pfacts li{ -display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--tx2);border-top:1px solid var(--bd); +display:flex;justify-content:space-between;gap:12px;font-size:var(--t-3);color:var(--tx2);border-top:1px solid var(--bd); padding-top:8px} .pfacts b{color:var(--tx);font-weight:600;text-align:right} @@ -1918,17 +1918,17 @@ a.btn,a.btn:hover{text-decoration:none} position:absolute;right:10px;width:22px;height:22px;border-radius:50%;background:var(--acc);color:var(--on-acc); font:700 12px/22px var(--mono);text-align:center;transform:translateY(-50%)} -.appfig figcaption{margin-top:8px;font-size:12px;line-height:1.5;color:var(--mut)} +.appfig figcaption{margin-top:8px;font-size:var(--t-2);line-height:1.5;color:var(--mut)} .todo li.nx .ck-b h3{color:var(--tx)} .todo li.nx .box{border-color:var(--acc)} -.evb{display:flex;flex-wrap:wrap;align-items:center;gap:8px 8px;margin:8px 0 0;font-size:12.5px} +.evb{display:flex;flex-wrap:wrap;align-items:center;gap:8px 8px;margin:8px 0 0;font-size:var(--t-2)} -.evb small{flex:1 1 100%;color:var(--mut);font-size:12px;line-height:1.5} +.evb small{flex:1 1 100%;color:var(--mut);font-size:var(--t-2);line-height:1.5} -.verify{margin:12px 0;font-size:13px;color:var(--tx2)} +.verify{margin:12px 0;font-size:var(--t-3);color:var(--tx2)} .verify dl{grid-template-columns:auto 1fr;gap:8px 12px} @@ -2041,13 +2041,13 @@ width:100%;padding:12px;border-radius:var(--r-md);border:1px solid var(--bd2);ba .pick b{display:block} -.pick span{color:var(--tx2);font-size:14px} +.pick span{color:var(--tx2);font-size:var(--t-4)} .fq{display:grid;gap:12px;margin:12px 0} -.fq label{display:grid;gap:4px;font-size:14px;color:var(--tx2)} +.fq label{display:grid;gap:4px;font-size:var(--t-4);color:var(--tx2)} -.why{margin:12px 0;padding-left:20px;color:var(--tx2);font-size:14px} +.why{margin:12px 0;padding-left:20px;color:var(--tx2);font-size:var(--t-4)} .why li{margin:3px 0} @@ -2064,7 +2064,7 @@ border-style:dashed;opacity:0.9;background:repeating-linear-gradient( 135deg,tra .ver-l small{color:var(--mut)} -.ver-l ul{margin:8px 0 0;padding-left:20px;font-size:14px} +.ver-l ul{margin:8px 0 0;padding-left:20px;font-size:var(--t-4)} a[href="./"],a[href$="EVIDENCE.html"],a[href$="OPEN.html"],a[href$="CHANGELOG.html"],.act a,.act button,button[data-k="all"]{ color:var(--tx)} @@ -2087,7 +2087,7 @@ transition:border-color 0.2s ease,box-shadow 0.2s ease,transform 0.2s ease} width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--r-lg);border:1px solid var(--bd); background:var(--surface);margin-top:16px} -.evt{width:100%;border-collapse:collapse;text-align:left;font-size:14px;min-width:800px} +.evt{width:100%;border-collapse:collapse;text-align:left;font-size:var(--t-4);min-width:800px} .evt th{ background:var(--bg);color:var(--mut);font:600 11px var(--mono);letter-spacing:0.05em;text-transform:uppercase;padding:16px 20px; @@ -2151,19 +2151,19 @@ background:var(--surface);margin:0;border-radius:0} .fc-fm .dl-name{overflow-wrap:anywhere} -.fc-fs{font-size:12px;line-height:1.35;color:var(--mut)} +.fc-fs{font-size:var(--t-2);line-height:1.35;color:var(--mut)} .fc-f .btn{min-width:0;min-height:var(--hit)} .fc-sha{margin:0} -.fc-sha summary{display:flex;align-items:center;gap:8px;min-height:var(--hit);cursor:pointer;color:var(--tx2);font-size:12.5px} +.fc-sha summary{display:flex;align-items:center;gap:8px;min-height:var(--hit);cursor:pointer;color:var(--tx2);font-size:var(--t-2)} .fc-sums:not(#_){grid-template-columns:1fr;margin-top:8px} .fc-sums dd:not(#_){white-space:normal;overflow:visible} -.fc-sums .sha{font-size:10.5px;line-height:1.5;word-break:break-all;color:var(--tx2)} +.fc-sums .sha{font-size:var(--t-1);line-height:1.5;word-break:break-all;color:var(--tx2)} .ev-grid{margin-bottom:12px} @@ -2175,7 +2175,7 @@ background:var(--surface);margin:0;border-radius:0} .ev-read{margin-bottom:8px} -.ev-read .ev-notes{margin:0;padding:0 0 0 20px;display:grid;gap:12px;font-size:13.5px;line-height:1.6;color:var(--tx2)} +.ev-read .ev-notes{margin:0;padding:0 0 0 20px;display:grid;gap:12px;font-size:var(--t-3);line-height:1.6;color:var(--tx2)} .ev-read .ev-notes b{color:var(--tx)} @@ -2239,7 +2239,7 @@ font:700 11px/1 var(--mono);font-style:normal;flex:none;box-shadow:0 0 0 3px col .rjd-r:first-of-type{border-top:0} -.rjd-r span{font-size:12px;color:var(--tx2)} +.rjd-r span{font-size:var(--t-2);color:var(--tx2)} .rjd-r b{font:600 12.5px/1.35 var(--mono);color:var(--tx);overflow-wrap:anywhere} @@ -2247,12 +2247,12 @@ font:700 11px/1 var(--mono);font-style:normal;flex:none;box-shadow:0 0 0 3px col .rjd-real{margin-top:12px} -.rjd-real summary{cursor:pointer;color:var(--tx2);font-size:12px;min-height:var(--hit);display:flex;align-items:center} +.rjd-real summary{cursor:pointer;color:var(--tx2);font-size:var(--t-2);min-height:var(--hit);display:flex;align-items:center} .rjd-real img{ display:block;width:100%;height:auto;max-width:300px;margin:8px 0;border-radius:var(--r-md);border:1px solid var(--bd2)} -.rjd-real span{display:block;color:var(--mut);font-size:11.5px} +.rjd-real span{display:block;color:var(--mut);font-size:var(--t-2)} /* == charts v2: steel / amber / ivory == */ :root{--s-raw:#8FA4C2;--ch-tgt:#E3DBC8} @@ -2274,7 +2274,7 @@ box-shadow:var(--shadow-pop),inset 0 1px 0 color-mix(in srgb,var(--tx) 8%,transp .tip > b{padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid var(--bd);color:var(--acc);letter-spacing:.14em} -.tip div{font-size:11.5px;line-height:1.7;color:var(--tx2);align-items:center} +.tip div{font-size:var(--t-2);line-height:1.7;color:var(--tx2);align-items:center} .tip div b{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--tx);font-weight:600} @@ -2398,7 +2398,7 @@ padding:clamp(16px,2vw,24px)} #setup .cmp-top{align-items:baseline;flex-wrap:wrap;gap:8px 20px} -#setup .cmp-top h2{font-size:18px;letter-spacing:-.025em} +#setup .cmp-top h2{font-size:var(--t-6);letter-spacing:-.025em} #apply .apply-grid{align-items:start;gap:clamp(16px,2.5vw,28px)} @@ -2420,11 +2420,11 @@ padding:clamp(16px,2vw,24px)} body.n-pg main.pg{max-width:1040px;gap:24px} -body.n-pg main.pg > .lead{max-width:68ch;font-size:16px;line-height:1.65} +body.n-pg main.pg > .lead{max-width:68ch;font-size:var(--t-5);line-height:1.65} body.n-pg .fq,body.n-pg .sel{gap:12px} -body.n-pg .fq label{display:grid;gap:8px;color:var(--tx2);font-size:12px;font-weight:600} +body.n-pg .fq label{display:grid;gap:8px;color:var(--tx2);font-size:var(--t-2);font-weight:600} body.n-pg .fq select,body.n-pg .sel select{width:100%;min-height:48px;border-radius:var(--v7-radius-md)} @@ -2432,7 +2432,7 @@ body.n-pg .pick,body.n-pg .cmpg,body.n-pg .pg-about{border-radius:var(--v7-radiu .use-profile{ display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin-top:12px;padding:0 16px; -border:1px solid var(--tx);border-radius:var(--r-pill);background:var(--tx);color:var(--bg);font-size:13px;font-weight:700; +border:1px solid var(--tx);border-radius:var(--r-pill);background:var(--tx);color:var(--bg);font-size:var(--t-3);font-weight:700; text-decoration:none} .use-profile:hover{opacity:.86} @@ -2491,7 +2491,7 @@ grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);grid-template-areas:"s1 s3" #getSt:empty{display:none} .verify summary{ -display:flex;align-items:center;gap:8px;min-height:44px;color:var(--tx2);font-size:13.5px;font-weight:600;cursor:pointer; +display:flex;align-items:center;gap:8px;min-height:44px;color:var(--tx2);font-size:var(--t-3);font-weight:600;cursor:pointer; list-style:none} .verify summary::-webkit-details-marker{display:none} @@ -2504,7 +2504,7 @@ transform:rotate(-45deg);transition:transform .15s ease} .verify summary:hover{color:var(--tx)} -.verify dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 16px;margin:12px 0 0;font-size:12.5px} +.verify dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 16px;margin:12px 0 0;font-size:var(--t-2)} .verify dd{margin:0;overflow-wrap:anywhere} @@ -2512,7 +2512,7 @@ transform:rotate(-45deg);transition:transform .15s ease} .verify summary::before{transition:none} } -ol.why,ul.why{display:block;margin:12px 0;font-size:14px;font-weight:400;line-height:1.55;text-decoration:none;white-space:normal} +ol.why,ul.why{display:block;margin:12px 0;font-size:var(--t-4);font-weight:400;line-height:1.55;text-decoration:none;white-space:normal} #res{display:flex;flex-direction:column;align-items:flex-start;gap:4px} @@ -2540,7 +2540,7 @@ border-radius:var(--r-pill);color:var(--tx2);font:600 10.5px/1.3 var(--mono);let .cmp-ctl{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:12px} -.cmp-ovl{display:inline-flex;align-items:center;gap:8px;color:var(--tx2);font-size:12px;font-weight:600} +.cmp-ovl{display:inline-flex;align-items:center;gap:8px;color:var(--tx2);font-size:var(--t-2);font-weight:600} .cmp-ovl select{ min-height:var(--hit);max-width:100%;padding:0 12px;border:1px solid var(--bd2);border-radius:var(--v7-radius-md); @@ -2556,7 +2556,7 @@ justify-content:space-between;gap:12px;padding:12px 12px 12px 16px;border:1px so background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px); box-shadow:var(--e4)} .sticky-dock .dk-t{display:grid;gap:2px;min-width:0} -.sticky-dock .dk-t b{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap} +.sticky-dock .dk-t b{overflow:hidden;font-size:var(--t-3);text-overflow:ellipsis;white-space:nowrap} .sticky-dock .dk-s{overflow:hidden;color:var(--mut);font:500 10.5px/1.3 var(--mono);text-overflow:ellipsis;white-space:nowrap} .sticky-dock .btn{flex:none;min-height:44px} body{padding-bottom:env(safe-area-inset-bottom,0px)} @@ -2660,8 +2660,8 @@ body{overflow-x:clip} @media (max-width:767px){ html:has(.sb[data-open="true"]){overflow:hidden} -select,input,textarea{font-size:16px} -.cmp-ovl select{font-size:16px} +select,input,textarea{font-size:var(--t-5)} +.cmp-ovl select{font-size:var(--t-5)} #overview .hero h1{font-size:clamp(34px,11vw,56px);letter-spacing:-.045em} body.n-pg main.pg > h1{letter-spacing:-.03em} .pg{padding-inline:max(var(--space-4),env(safe-area-inset-left))} diff --git a/site/assets/css/docs.css b/site/assets/css/docs.css index 00569ae..ded65c3 100644 --- a/site/assets/css/docs.css +++ b/site/assets/css/docs.css @@ -2,9 +2,9 @@ .evx-h{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 16px} -.evx-h h3{margin:0;font-size:20px;letter-spacing:-.02em} +.evx-h h3{margin:0;font-size:var(--t-7);letter-spacing:-.02em} -.evx-h p{margin:0;color:var(--mut);font-size:13px} +.evx-h p{margin:0;color:var(--mut);font-size:var(--t-3)} .evx-tiers{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))} @@ -14,11 +14,11 @@ box-shadow:var(--lift)} .evx-t .k{display:block;font:600 10.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mut)} -.evx-t b{display:block;margin:6px 0 2px;font-size:22px;letter-spacing:-.02em;color:var(--tx)} +.evx-t b{display:block;margin:6px 0 2px;font-size:var(--t-7);letter-spacing:-.02em;color:var(--tx)} -.evx-t p{margin:0;font-size:12.5px;line-height:1.5;color:var(--tx2)} +.evx-t p{margin:0;font-size:var(--t-2);line-height:1.5;color:var(--tx2)} -.evx-t .bar{display:flex;height:6px;border-radius:99px;overflow:hidden;background:var(--bd);margin:10px 0 0} +.evx-t .bar{display:flex;height:6px;border-radius:var(--r-pill);overflow:hidden;background:var(--bd);margin:10px 0 0} .evx-t .bar i{display:block;height:100%} @@ -30,7 +30,7 @@ box-shadow:var(--lift)} .bar .n{background:repeating-linear-gradient(90deg,var(--mut) 0 3px,transparent 3px 6px);opacity:.55} -.evx-m{width:100%;font-size:13px} +.evx-m{width:100%;font-size:var(--t-3)} .evx-m th,.evx-m td{padding:10px 6px;text-align:center;border-bottom:1px solid var(--bd)} @@ -58,7 +58,7 @@ background:color-mix(in srgb,var(--danger,#e5675b) 14%,transparent)} .dot.not_run,.dot.untested{border-style:dashed;border-color:var(--mut);color:var(--mut)} -.evx-lg{display:flex;flex-wrap:wrap;gap:8px 16px;margin:0;list-style:none;font-size:12px;color:var(--tx2)} +.evx-lg{display:flex;flex-wrap:wrap;gap:8px 16px;margin:0;list-style:none;font-size:var(--t-2);color:var(--tx2)} .evx-lg li{display:flex;align-items:center;gap:6px} @@ -74,7 +74,7 @@ background:color-mix(in srgb,var(--danger,#e5675b) 14%,transparent)} .evx-note{ margin:0;padding:12px 14px;border-left:3px solid var(--acc);border-radius:0 10px 10px 0; -background:color-mix(in srgb,var(--acc) 7%,transparent);font-size:13px;line-height:1.55;color:var(--tx2)} +background:color-mix(in srgb,var(--acc) 7%,transparent);font-size:var(--t-3);line-height:1.55;color:var(--tx2)} .evx-note[hidden]{display:none} @@ -115,8 +115,8 @@ text-decoration:none} .dtabs::-webkit-scrollbar{display:none} .dtabs a{ -display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid var(--bd2);border-radius:99px; -background:var(--surface);color:var(--tx2);font-size:13px;font-weight:500;text-decoration:none} +display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid var(--bd2);border-radius:var(--r-pill); +background:var(--surface);color:var(--tx2);font-size:var(--t-3);font-weight:500;text-decoration:none} .dtabs a[aria-current=page]{background:var(--tx);border-color:var(--tx);color:var(--bg)} @@ -129,7 +129,7 @@ background:var(--surface);color:var(--tx2);font-size:13px;font-weight:500;text-d .dtoc{position:sticky;top:84px} } -.dtoc{font-size:13px} +.dtoc{font-size:var(--t-3)} .dtoc summary{ min-height:44px;display:flex;align-items:center;cursor:pointer;font:600 10.5px var(--mono);letter-spacing:.14em; @@ -145,7 +145,7 @@ color:var(--tx2);text-decoration:none;line-height:1.4} .dtoc a.on{border-left-color:var(--acc);color:var(--tx);font-weight:600} -.dtoc li.l3 a{padding-left:24px;font-size:12.5px} +.dtoc li.l3 a{padding-left:24px;font-size:var(--t-2)} @media(min-width:1000px){ .dtoc details>summary{pointer-events:none} @@ -154,15 +154,15 @@ color:var(--tx2);text-decoration:none;line-height:1.4} .prose{min-width:0} -.prose h2{margin:2em 0 .5em;font-size:22px;letter-spacing:-.02em;scroll-margin-top:84px} +.prose h2{margin:2em 0 .5em;font-size:var(--t-7);letter-spacing:-.02em;scroll-margin-top:84px} -.prose h3{margin:1.6em 0 .4em;font-size:17px;scroll-margin-top:84px} +.prose h3{margin:1.6em 0 .4em;font-size:var(--t-5);scroll-margin-top:84px} .prose h2 .ha,.prose h3 .ha{margin-left:8px;color:var(--mut);opacity:0;text-decoration:none;font-weight:500} .prose h2:hover .ha,.prose h3:hover .ha,.prose .ha:focus{opacity:1} -.prose p,.prose li{color:var(--tx2);line-height:1.7;font-size:15px;text-wrap:pretty} +.prose p,.prose li{color:var(--tx2);line-height:1.7;font-size:var(--t-5);text-wrap:pretty} .prose p{margin:0 0 1em} @@ -175,7 +175,7 @@ color:var(--tx2);text-decoration:none;line-height:1.4} .prose a{color:var(--acc);font-weight:600;text-underline-offset:3px} .prose :not(pre)>code{ -font:500 .88em var(--mono);padding:2px 6px;border-radius:6px;background:color-mix(in srgb,var(--tx) 8%,transparent); +font:500 .88em var(--mono);padding:2px 6px;border-radius:var(--r-xs);background:color-mix(in srgb,var(--tx) 8%,transparent); border:1px solid var(--bd);overflow-wrap:anywhere} .prose .tw{margin:0 0 1.4em;border:1px solid var(--bd2);border-radius:var(--r-md,14px);box-shadow:var(--lift)} @@ -205,7 +205,7 @@ border-radius:10px;background:var(--surface);color:var(--tx2);cursor:pointer} .cb .cp[data-ok]{color:var(--acc)} .st{ -display:inline-block;padding:1px 8px;border-radius:99px;font:600 11px/1.6 var(--mono);letter-spacing:.03em; +display:inline-block;padding:1px 8px;border-radius:var(--r-pill);font:600 11px/1.6 var(--mono);letter-spacing:.03em; border:1px solid var(--bd2);color:var(--tx2);background:none} .st-pass{border-color:var(--tx);color:var(--tx)} @@ -248,10 +248,10 @@ border:1px solid var(--bd2);color:var(--tx2);background:none} } .evx-m tbody th{ -font-family:var(--sans);font-size:13.5px;font-weight:600;text-transform:none;white-space:normal;color:var(--tx);width:46%} +font-family:var(--sans);font-size:var(--t-3);font-weight:600;text-transform:none;white-space:normal;color:var(--tx);width:46%} .evx-m tbody th small{ -font-family:var(--sans);font-size:12px;font-weight:400;letter-spacing:0;text-transform:none;white-space:normal;color:var(--mut)} +font-family:var(--sans);font-size:var(--t-2);font-weight:400;letter-spacing:0;text-transform:none;white-space:normal;color:var(--mut)} @media(max-width:560px){ .evx-m th,.evx-m td{padding:8px 2px} @@ -306,7 +306,7 @@ box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--warning,#d9a441) 55%,transpar background:color-mix(in srgb,var(--danger,#e5675b) 20%,transparent);color:var(--danger,#e5675b); box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--danger,#e5675b) 55%,transparent)} -.evx-m .dot.not_run,.evx-m .dot.untested{background:none;border:0;color:var(--mut);opacity:.55;font-size:15px} +.evx-m .dot.not_run,.evx-m .dot.untested{background:none;border:0;color:var(--mut);opacity:.55;font-size:var(--t-5)} .evx-m button.dot{background:none} @@ -326,7 +326,7 @@ box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--danger,#e5675b) 55%,transpare .evx-lg{gap:6px 18px;padding:2px 4px} -.evx-lg .dot{width:20px;height:20px;font-size:11px;border:0} +.evx-lg .dot{width:20px;height:20px;font-size:var(--t-2);border:0} .evx-lg .dot.pass{background:color-mix(in srgb,var(--tx) 9%,transparent);color:var(--tx2)} @@ -337,12 +337,12 @@ box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--danger,#e5675b) 55%,transpare .evx-lg .dot.not_run,.evx-lg .dot.untested{background:none;color:var(--mut);opacity:.7} @media(max-width:560px){ -.evx-m{--cw:32px;font-size:12px} -.evx-m tbody th{font-size:12.5px;padding-right:6px} +.evx-m{--cw:32px;font-size:var(--t-2)} +.evx-m tbody th{font-size:var(--t-2);padding-right:6px} .evx-m tbody th small{display:none} .evx-m tbody th,.evx-m tbody td{height:44px} -.evx-m .dot{width:24px;height:24px;font-size:12px} -.evx-m thead th{font-size:9px;letter-spacing:.04em} +.evx-m .dot{width:24px;height:24px;font-size:var(--t-2)} +.evx-m thead th{font-size:var(--t-1);letter-spacing:.04em} .tw:has(.evx-m){padding:2px 8px} } @@ -400,17 +400,17 @@ transition:var(--tr-ui)} :root .dcards li{margin:0;padding:0;list-style:none;min-width:0} :root .dcards li::marker,:root .dcards li::before{content:none} :root .dcard{position:relative;width:100%;box-sizing:border-box;padding:16px;gap:6px;border:1px solid var(--bd2);border-radius:var(--r-control);background:var(--surface);box-shadow:none} -:root .dcard .k{align-self:flex-start;padding:3px 8px;border:1px solid var(--bd2);border-radius:var(--r-pill);font-size:10px;letter-spacing:.08em;color:var(--tx2);overflow:hidden;text-overflow:ellipsis;max-width:100%;white-space:nowrap} -:root .dcard b{font-size:16px;color:var(--tx)} -:root .dcard span.d{font-size:13.5px;line-height:1.5;color:var(--tx2);display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden} -:root .dcard .go{margin-top:auto;padding-top:6px;font-size:13px;font-weight:600} +:root .dcard .k{align-self:flex-start;padding:3px 8px;border:1px solid var(--bd2);border-radius:var(--r-pill);font-size:var(--t-1);letter-spacing:.08em;color:var(--tx2);overflow:hidden;text-overflow:ellipsis;max-width:100%;white-space:nowrap} +:root .dcard b{font-size:var(--t-5);color:var(--tx)} +:root .dcard span.d{font-size:var(--t-3);line-height:1.5;color:var(--tx2);display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden} +:root .dcard .go{margin-top:auto;padding-top:6px;font-size:var(--t-3);font-weight:600} :root .dcard:active{border-color:var(--acc);background:var(--acc-bg);transform:scale(.99)} :root .dnav{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:32px 0 0} :root .dnav a{display:flex;flex-direction:column;gap:4px;min-width:0;min-height:64px;box-sizing:border-box;padding:12px 14px;border:1px solid var(--bd2);border-radius:var(--r-control);background:var(--surface);color:var(--tx);text-decoration:none;text-align:left} :root .dnav a.nxt{grid-column:2;text-align:right;align-items:flex-end} :root .dnav a:only-child{grid-column:1/-1} :root .dnav .k{font:600 10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--tx2)} -:root .dnav b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;color:var(--tx)} +:root .dnav b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--t-5);color:var(--tx)} :root .dnav a:active{border-color:var(--acc);background:var(--acc-bg)} @media (hover:hover){:root .dnav a:hover,:root .dcard:hover{border-color:var(--acc)}} @media (max-width:359px){:root .dnav{grid-template-columns:1fr}:root .dnav a.nxt{grid-column:1}} @@ -421,7 +421,7 @@ transition:var(--tr-ui)} :root .dtoc details>summary::after{content:"";display:block;width:7px;height:7px;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg);transition:transform .2s ease} :root .dtoc details[open]>summary::after{transform:rotate(-135deg)} :root .dtoc ol{margin:8px 0 0 6px} -:root .dtoc a{display:flex;align-items:center;min-height:44px;box-sizing:border-box;padding:0 14px;border-left:2px solid transparent;margin-left:-1px;font-size:14px;color:var(--tx2)} +:root .dtoc a{display:flex;align-items:center;min-height:44px;box-sizing:border-box;padding:0 14px;border-left:2px solid transparent;margin-left:-1px;font-size:var(--t-4);color:var(--tx2)} :root .dtoc a.on{border-left-color:var(--acc);background:var(--acc-bg);color:var(--tx)} :root .dtoc li.l3 a{padding-left:28px} } @@ -449,7 +449,7 @@ transition:var(--tr-ui)} :root .pghead h1{margin:6px 0 8px} :root .rel-l{list-style:none;margin:0;padding:0;display:grid;gap:10px} :root .rel-l li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 14px;padding:14px 16px;border:1px solid var(--bd2);border-radius:var(--r-control);background:var(--surface)} -:root .rel-l b{font-size:16px;color:var(--tx)} +:root .rel-l b{font-size:var(--t-5);color:var(--tx)} :root .rel-l small{display:block;margin-top:2px;font:500 12px var(--mono);color:var(--tx2)} :root .rel-a{display:flex;flex-wrap:wrap;gap:8px} @@ -542,7 +542,7 @@ transition:var(--tr-ui)} .lp-mi{width:34px;height:34px;padding:8px;border-radius:10px;color:var(--acc,#b07a2a);background:color-mix(in srgb,var(--acc,#b07a2a) 13%,transparent);box-sizing:content-box;width:18px;height:18px} .lp-o{position:absolute;top:10px;right:16px;font:700 3.4rem/1 var(--mono,monospace);font-style:normal;color:transparent;-webkit-text-stroke:1px currentColor;opacity:.14} .lp-d ul{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0;padding:0;list-style:none} -.lp-d li{padding:5px 10px;border:1px solid rgba(128,128,128,.25);border-radius:999px;font:500 11px var(--mono,monospace);letter-spacing:.04em} +.lp-d li{padding:5px 10px;border:1px solid rgba(128,128,128,.25);border-radius:var(--r-pill);font:500 11px var(--mono,monospace);letter-spacing:.04em} .lp-d em{position:absolute;right:18px;top:18px;font-style:normal;opacity:.35;transition:transform .35s,opacity .35s} .lp-d:hover,.lp-f:hover{transform:translateY(-3px);box-shadow:0 18px 40px -20px rgba(0,0,0,.3)} .lp-d:hover em{transform:translateX(6px);opacity:1} @@ -551,7 +551,7 @@ transition:var(--tr-ui)} .lp-t{display:flex;flex-direction:column;gap:4px;padding:16px 4px 4px 14px;border-left:2px solid color-mix(in srgb,var(--acc,#b07a2a) 55%,transparent);color:inherit;text-decoration:none} .lp-t b{font-size:1.02rem}.lp-t span{opacity:.7;font-size:.86rem;line-height:1.45} .lp-t:hover b{color:var(--acc,#b07a2a)} -.lp-end{position:relative;overflow:hidden;text-align:center;padding:clamp(32px,7vw,72px) 20px;border:1px solid rgba(128,128,128,.2);border-radius:24px;background:radial-gradient(60% 90% at 50% 0%,rgba(176,122,42,.2),transparent 70%),linear-gradient(180deg,rgba(128,128,128,.05),transparent)} +.lp-end{position:relative;overflow:hidden;text-align:center;padding:clamp(32px,7vw,72px) 20px;border:1px solid rgba(128,128,128,.2);border-radius:var(--r-2xl);background:radial-gradient(60% 90% at 50% 0%,rgba(176,122,42,.2),transparent 70%),linear-gradient(180deg,rgba(128,128,128,.05),transparent)} .lp-end h2{margin:0 0 8px;font-size:clamp(1.6rem,5vw,2.6rem);letter-spacing:-.03em} .lp-end p{margin:0 auto 22px;opacity:.7;max-width:44ch} .lp-end .hero-cta{justify-content:center} diff --git a/site/assets/css/nav.css b/site/assets/css/nav.css index 19d0062..a9fda01 100644 --- a/site/assets/css/nav.css +++ b/site/assets/css/nav.css @@ -74,7 +74,7 @@ box-shadow:var(--lift,none);transition:width 0.22s cubic-bezier(0.2,0.8,0.2,1)} .sb-top{display:flex;align-items:center;justify-content:space-between;gap:8px} .sb-brand{display:flex;align-items:center;gap:12px;min-width:0;color:var(--tx);text-decoration:none;border-radius:var(--r-md)} .sb-bt{display:flex;flex-direction:column;gap:4px;min-width:0} -.sb-bt b{font-size:16px;font-weight:800;letter-spacing:-0.03em;line-height:1} +.sb-bt b{font-size:var(--t-5);font-weight:800;letter-spacing:-0.03em;line-height:1} .sb-bt small{font:500 10px/1 var(--mono);letter-spacing:0.14em;color:var(--mut)} .sb-tg{ width:44px;height:44px;flex:none;place-items:center;border:1px solid var(--ctl);border-radius:var(--r-md);background:transparent; @@ -169,7 +169,7 @@ box-shadow:0 1px 0 #fff inset,0 8px 18px -12px color-mix(in srgb,var(--acc) 55%, display:flex;align-items:center;justify-content:center;gap:12px;min-width:0;justify-self:center;max-width:100%;color:var(--tx); text-decoration:none;min-height:44px} .mh-t{display:flex;flex-direction:column;gap:4px;min-width:0} -.mh-t b{font-size:16px;font-weight:800;letter-spacing:-0.03em;line-height:1} +.mh-t b{font-size:var(--t-5);font-weight:800;letter-spacing:-0.03em;line-height:1} .mh-sub{ display:block;min-height:12px;font:500 11px/1.1 var(--mono);letter-spacing:.04em;color:var(--mut);overflow:hidden; text-overflow:ellipsis;white-space:nowrap} @@ -183,13 +183,13 @@ transition:transform .24s cubic-bezier(.2,.8,.2,1),visibility 0s .24s} .sb-scrim{display:block;position:fixed;inset:0;z-index:var(--z-scrim);background:var(--scrim)} .sb-scrim[hidden]{display:none} .sb .tg-x{display:block} -.sb .nl{min-height:48px;font-size:15px} +.sb .nl{min-height:48px;font-size:var(--t-5)} .sb .nl[aria-current]::before{left:-13px} .sb .n-chip{display:none} .sb-top{display:flex;align-items:center;justify-content:space-between;gap:8px} .sb-brand{display:flex;align-items:center;gap:12px;min-width:0;color:var(--tx);text-decoration:none;border-radius:var(--r-md)} .sb-bt{display:flex;flex-direction:column;gap:4px;min-width:0} -.sb-bt b{font-size:16px;font-weight:800;letter-spacing:-0.03em;line-height:1} +.sb-bt b{font-size:var(--t-5);font-weight:800;letter-spacing:-0.03em;line-height:1} .sb-bt small{font:500 10px/1 var(--mono);letter-spacing:0.14em;color:var(--mut)} .sb-tg{ display:grid;width:44px;height:44px;flex:none;place-items:center;border:1px solid var(--ctl);border-radius:var(--r-md); @@ -289,7 +289,7 @@ body.n-pg main.pg{min-height:100svh} .pg-about{margin-top:calc(var(--u,8px) * 5);padding-top:calc(var(--u,8px) * 3);border-top:1px solid var(--bd)} -.pg-about h2{font-size:15px;margin:0 0 8px} +.pg-about h2{font-size:var(--t-5);margin:0 0 8px} .pg-about .note{max-width:62ch;margin:0} @@ -318,7 +318,7 @@ mask:var(--glyph-theme) center/contain no-repeat;transition:transform .4s cubic- .mh .n-logo{width:auto;height:auto;border:0;border-radius:0;background:none;box-shadow:none;color:var(--acc)} .mh .n-logo svg{width:24px;height:24px;stroke-width:1.6} .mh-t{gap:var(--space-1)} -.mh-t b{font-size:15px;letter-spacing:-.02em;line-height:1.1} +.mh-t b{font-size:var(--t-5);letter-spacing:-.02em;line-height:1.1} .mh-sub{display:flex;align-items:center;min-height:12px;font:500 10.5px/1.2 var(--mono);letter-spacing:.06em} .mh-sub:not(:empty)::before{content:"";flex:none;width:5px;height:5px;margin-right:6px;border-radius:50%;background:var(--acc)} } @@ -576,7 +576,7 @@ gap:var(--space-3); background:linear-gradient(180deg,color-mix(in oklab,var(--surface) 94%,transparent),color-mix(in oklab,var(--bg) 97%,transparent))} .sb-top{padding:0;border:0} .sb-bt{gap:5px} -.sb-bt b{font-size:16px;font-weight:800;letter-spacing:-.03em;line-height:1} +.sb-bt b{font-size:var(--t-5);font-weight:800;letter-spacing:-.03em;line-height:1} .sb .sb-badge{ padding:var(--space-2) var(--space-3);border-radius:var(--r-control);font:500 var(--fs-xs)/1.3 var(--mono);letter-spacing:.06em; text-transform:uppercase} @@ -670,7 +670,7 @@ background:color-mix(in srgb,var(--tx) 4%,transparent);border:1px solid var(--bd :root .chartbox svg{display:block;overflow:visible} -:root .cmp-hook .seg button,:root .cmp-hook .cmp-ovl select,:root .cmp-hook .tgt button{min-height:40px;font-size:12.5px} +:root .cmp-hook .seg button,:root .cmp-hook .cmp-ovl select,:root .cmp-hook .tgt button{min-height:40px;font-size:var(--t-2)} :root .cmp-hook .seg{padding:2px} @@ -680,11 +680,11 @@ background:color-mix(in srgb,var(--tx) 4%,transparent);border:1px solid var(--bd :root .sf .sf-in .sf-facts span{display:block} -:root .sf .sf-in .sf-n a{font-weight:500;font-size:13px;color:var(--tx2);text-decoration-color:var(--bd)} +:root .sf .sf-in .sf-n a{font-weight:500;font-size:var(--t-3);color:var(--tx2);text-decoration-color:var(--bd)} :root .sf .sf-in .sf-cp .n-ver{ display:block;width:max-content;margin:8px auto 0;padding:3px 10px;border:1px solid var(--bd2);border-radius:var(--r-pill); -background:var(--acc-bg);font-size:10.5px} +background:var(--acc-bg);font-size:var(--t-1)} :root .sf .sf-in .sf-cp .n-ver::before{display:none} @@ -693,18 +693,18 @@ background:var(--acc-bg);font-size:10.5px} :root .sb-scrim{background:color-mix(in oklab,black 38%,transparent);backdrop-filter:none;-webkit-backdrop-filter:none} :root .sb-top{gap:8px} :root .sb-brand .n-logo{width:32px;height:32px} -:root .sb-bt b{font-size:15px} -:root .sb-bt small{font-size:10px;letter-spacing:.06em} +:root .sb-bt b{font-size:var(--t-5)} +:root .sb-bt small{font-size:var(--t-1);letter-spacing:.06em} :root .sb .tg-x,:root .sb-tg{width:40px;height:40px;border:0;background:transparent} :root .sb .sb-badge{ -white-space:nowrap;font-size:10px;letter-spacing:.05em;padding:6px 10px;width:max-content;max-width:100%;overflow:hidden; +white-space:nowrap;font-size:var(--t-1);letter-spacing:.05em;padding:6px 10px;width:max-content;max-width:100%;overflow:hidden; text-overflow:ellipsis} -:root .sb .sb-h{font-size:10px;letter-spacing:.12em} -:root .sb .nl{min-height:44px;font-size:15px;gap:12px;border-color:transparent} +:root .sb .sb-h{font-size:var(--t-1);letter-spacing:.12em} +:root .sb .nl{min-height:44px;font-size:var(--t-5);gap:12px;border-color:transparent} :root .sb .nl .ni{width:18px;height:18px} :root .sb .nl[aria-current]{background:var(--acc-bg);box-shadow:none;border-color:transparent} :root .sb .nl[aria-current]::before{left:-12px;box-shadow:none} -:root .sb .n-chip-b small{font-size:10px;letter-spacing:.08em} +:root .sb .n-chip-b small{font-size:var(--t-1);letter-spacing:.08em} :root .sb-ctl .nb{width:40px;height:40px;border-radius:var(--r-control)} } @@ -726,13 +726,13 @@ a[aria-current] > .ni [fill="currentColor"],.nl[aria-current] .ni [fill="current /* == mobile drawer matches desktop sidebar scale == */ @media (max-width:767px){ .sb{width:min(80vw,300px);gap:12px} -.sb .sb-bt b{font-size:14px!important} -.sb .sb-bt small,.sb .sb-badge,.sb .n-chip-b small{font-size:10px!important;letter-spacing:.12em} +.sb .sb-bt b{font-size:var(--t-4)!important} +.sb .sb-bt small,.sb .sb-badge,.sb .n-chip-b small{font-size:var(--t-1)!important;letter-spacing:.12em} .sb .sb-h{font:600 10px var(--mono)!important;letter-spacing:.16em;padding:0 12px;margin:8px 0 4px} .sb .nl{min-height:44px;gap:12px;padding:0 12px;font:500 13.5px var(--sans)!important} -.sb .nl .nt{font-size:13.5px!important} +.sb .nl .nt{font-size:var(--t-3)!important} .sb .nl .ni{width:18px!important;height:18px!important} .sb .n-chip{padding:8px 10px;gap:10px} -.sb .n-chip-t{font-size:12.5px!important} +.sb .n-chip-t{font-size:var(--t-2)!important} .sb .sb-ctl .nb{width:40px;height:40px} } diff --git a/site/assets/css/tokens.css b/site/assets/css/tokens.css index 6d0af55..839c18a 100644 --- a/site/assets/css/tokens.css +++ b/site/assets/css/tokens.css @@ -12,3 +12,4 @@ :root[data-theme="dark"]{ --shadow-hover:0 1px 3px rgba(0,0,0,0.4),0 6px 16px rgba(0,0,0,0.35); --shadow-image:0 2px 6px -2px rgba(0,0,0,0.5),0 10px 30px -10px rgba(0,0,0,0.6)} +:root{--t-1:10px;--t-2:12px;--t-3:13px;--t-4:14px;--t-5:16px;--t-6:18px;--t-7:22px} diff --git a/site/sw.js b/site/sw.js index 985bd3e..8af6165 100644 --- a/site/sw.js +++ b/site/sw.js @@ -1,4 +1,4 @@ -const VERSION = '7.0.0', CACHE = 'hyperaudio-' + VERSION + '-7ba4751d'; +const VERSION = '7.0.0', CACHE = 'hyperaudio-' + VERSION + '-4c065afa'; const SHELL = ['./', 'apply.html', 'archive.html', 'assets/css/base.css', 'assets/css/docs.css', 'assets/css/fonts.css', 'assets/css/nav.css', 'assets/css/tokens.css', 'assets/fonts/jetbrains-mono-latin-400-normal.woff2', 'assets/fonts/jetbrains-mono-latin-700-normal.woff2', 'assets/fonts/plus-jakarta-sans-latin-400-normal.woff2', 'assets/fonts/plus-jakarta-sans-latin-600-normal.woff2', 'assets/fonts/plus-jakarta-sans-latin-800-normal.woff2', 'assets/icons/favicon.svg', 'assets/js/app.js', 'assets/js/chart.js', 'assets/js/docs.js', 'assets/js/nav.js', 'assets/js/pages.js', 'assets/js/theme-init.js', 'changelog.html', 'compare.html', 'data/choose.json', 'data/evidence.json', 'data/profiles.json', 'data/versions.json', 'docs/index.html', 'evidence.html', 'faq.html', 'files.html', 'finder.html', 'index.html', 'manifest.webmanifest', 'setup.html']; const MAX_RUNTIME = 60;