:root{--bg:#12151a;--surface:#181c23;--raise:#1d222a;--ink:#dce3ec;--dim:#8a95a5;--faint:#5f6a7a;--rule:#232933;--rule-lit:#2d3541;--steel:#79a9c4;--steel-dim:#3f5d70;--ok:#6fae7f;--warn:#c9a05c;--mono:"DM Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--sans:Archivo,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}img{max-width:100%}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--steel);outline-offset:3px}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto}}.wrap{max-width:1080px;margin:0 auto;padding-inline:22px}.wrap.mid{max-width:1000px}.wrap.narrow{max-width:900px}[id]{scroll-margin-top:74px}.eyebrow{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--steel)}.secrow{display:flex;align-items:center;gap:14px;margin:0 0 20px;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}.secrow .line{flex:1;height:1px;background:var(--rule)}.secrow .count{color:var(--faint)}.topbar{border-bottom:1px solid var(--rule);position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(10px)}.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-block:14px;font-family:var(--mono);font-size:12.5px}.topbar .id b{color:var(--steel);font-weight:500}.topbar nav{display:flex;gap:20px;font-size:11.5px;color:var(--dim);letter-spacing:.06em}.topbar nav a:hover{color:var(--ink)}.topbar nav a.on{color:var(--ink)}.hero{padding-block:clamp(50px,8vw,90px) clamp(32px,5vw,50px)}.hero .eyebrow{margin-bottom:18px}.hero h1{font-size:clamp(30px,5vw,50px);font-weight:500;line-height:1.12;margin:0 0 20px;letter-spacing:-.025em;text-wrap:balance;max-width:19ch}.hero .lede{font-size:17px;line-height:1.72;color:var(--dim);max-width:62ch;margin:0 0 16px}.hero .lede b{color:var(--ink);font-weight:500}.hero .sub{font-size:15.5px;line-height:1.7;color:var(--dim);max-width:62ch;margin:0 0 28px}.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.btn{font-family:var(--mono);font-size:12.5px;letter-spacing:.04em;padding:10px 17px;border:1px solid var(--steel-dim);color:var(--ink);background:var(--surface);transition:border-color .16s,background .16s}.btn:hover{border-color:var(--steel);background:var(--raise)}.btn.ghost{background:transparent;border-color:var(--rule-lit);color:var(--dim)}.btn.ghost:hover{color:var(--ink);background:var(--surface)}.status{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11.5px;color:var(--dim)}.status i{width:6px;height:6px;border-radius:50%;background:var(--ok);display:block;box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 18%,transparent)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);margin-bottom:clamp(44px,7vw,76px)}.stat{background:var(--bg);padding:16px 18px}.stat .k{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-bottom:8px}.stat .v{font-size:23px;font-weight:500;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat .v.sm{font-size:15px;letter-spacing:-.005em;line-height:1.42}.stat .v small{font-size:12.5px;color:var(--dim);font-weight:400;margin-left:6px}.services{padding-bottom:clamp(44px,7vw,76px)}.svc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(238px,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule)}.svc{background:var(--bg);padding:20px 20px 22px}.svc .num{font-family:var(--mono);font-size:10.5px;color:var(--steel);letter-spacing:.1em;margin-bottom:11px}.svc h3{font-size:16.5px;font-weight:500;margin:0 0 8px;letter-spacing:-.012em;line-height:1.3}.svc p{margin:0;font-size:14px;line-height:1.64;color:var(--dim)}.svc.lead{background:var(--surface)}.svc.lead .num{color:var(--warn)}.eng{padding-bottom:clamp(44px,7vw,76px)}.prov{display:grid;grid-template-columns:262px 1fr;border:1px solid var(--rule)}.prov-titles{background:var(--surface);padding:19px 20px 21px;border-right:1px solid var(--rule)}.prov-work{padding:19px 20px 21px}.prov .k,.names .k{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-bottom:13px}.titlelist{margin:0;padding:0;list-style:none;display:grid}.titlelist li{font-size:15px;font-weight:500;letter-spacing:-.012em;line-height:1.34;padding:8px 0 8px 15px;border-left:1px solid var(--rule-lit);position:relative}.titlelist li:before{content:"";position:absolute;left:0;top:1.02em;width:9px;height:1px;background:var(--steel-dim)}.worklist{margin:0;padding:0;list-style:none;columns:2;column-gap:28px}.worklist li{break-inside:avoid;font-size:14px;line-height:1.6;color:var(--dim);margin:0 0 12px;padding-left:15px;position:relative}.worklist li:before{content:"";position:absolute;left:0;top:.72em;width:7px;height:1px;background:var(--steel-dim)}.worklist li b{color:var(--ink);font-weight:500}.names{border:1px solid var(--rule);border-top:none;background:var(--surface);padding:17px 20px 19px}.namerun{display:flex;flex-wrap:wrap;font-size:14.5px;color:var(--ink)}.namerun span{padding:3px 15px;line-height:1.5;border-right:1px solid var(--rule-lit)}.namerun span:first-child{padding-left:0}.namerun span:last-child{border-right:none}.provnote{margin:14px 0 0;font-size:13.5px;line-height:1.65;color:var(--faint);max-width:70ch}.work{padding-bottom:clamp(44px,7vw,76px)}.mods{display:grid;grid-template-columns:repeat(auto-fit,minmax(272px,1fr));gap:14px}.mod{border:1px solid var(--rule);background:var(--surface);padding:18px 19px 19px;display:flex;flex-direction:column;transition:border-color .16s}.mod:hover{border-color:var(--rule-lit)}.mod .head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.mod h3{font-family:var(--mono);font-size:14px;font-weight:500;margin:0}.chip{font-family:var(--mono);font-size:10px;padding:3px 7px;border:1px solid var(--rule-lit);color:var(--dim);white-space:nowrap}.chip.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 36%,var(--rule))}.mod p{margin:0 0 14px;font-size:14px;line-height:1.64;color:var(--dim)}.mod p b{color:var(--ink);font-weight:500}.mod .foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--rule)}.mod .tags{display:flex;gap:8px;flex-wrap:wrap;font-family:var(--mono);font-size:10px;color:var(--faint)}.mod .go{font-family:var(--mono);font-size:11px;color:var(--steel)}.also{padding-bottom:clamp(44px,7vw,76px)}.also-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(224px,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule)}.alsoitem{background:var(--bg);padding:16px 18px 17px;display:grid;gap:6px;align-content:start;transition:background .16s}.alsoitem:hover{background:var(--surface)}.alsoitem .nm{font-size:15px;font-weight:500;color:var(--ink)}.alsoitem .ds{font-size:13.5px;line-height:1.58;color:var(--dim)}.alsoitem .ln{font-family:var(--mono);font-size:10.5px;color:var(--steel);margin-top:3px}.writing{padding-bottom:clamp(44px,7vw,76px)}.log{border:1px solid var(--rule)}.logrow{display:grid;grid-template-columns:104px 1fr auto;gap:18px;padding:15px 18px;border-bottom:1px solid var(--rule);align-items:baseline;transition:background .16s}.logrow:last-child{border-bottom:none}.logrow:hover{background:var(--surface)}.logrow .d{font-family:var(--mono);font-size:11px;color:var(--steel);font-variant-numeric:tabular-nums}.logrow h3{margin:0 0 5px;font-size:16px;font-weight:500;letter-spacing:-.012em}.logrow p{margin:0;font-size:14px;color:var(--dim);line-height:1.6;max-width:68ch}.logrow .rt{font-family:var(--mono);font-size:10.5px;color:var(--faint);white-space:nowrap}.about{padding-bottom:clamp(44px,7vw,76px)}.about-grid{display:grid;grid-template-columns:1fr 268px;gap:clamp(24px,4vw,50px);align-items:start}.about p{margin:0 0 15px;font-size:15.5px;line-height:1.74;color:var(--dim);max-width:62ch}.about p b{color:var(--ink);font-weight:500}.about p:last-child{margin-bottom:0}.sidecar{border:1px solid var(--rule);background:var(--surface);padding:17px 18px}.sidecar .k{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-bottom:10px}.sidecar ul{margin:0 0 16px;padding:0;list-style:none;display:grid;gap:7px}.sidecar ul:last-child{margin-bottom:0}.sidecar li{font-family:var(--mono);font-size:11.5px;color:var(--ink);display:flex;gap:9px}.sidecar li span{color:var(--faint);flex:none;width:38px}.golinks{display:flex;gap:14px;align-items:center}.mod .donate{font-family:var(--mono);font-size:11px;color:var(--warn)}.mod .donate:hover{color:var(--ink)}.contact{border-top:1px solid var(--rule);padding-block:clamp(40px,6vw,66px)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,5vw,58px);align-items:start}.contact h2{font-size:clamp(22px,3.2vw,30px);font-weight:500;margin:0 0 12px;letter-spacing:-.02em;max-width:20ch;line-height:1.2}.contact-say p{margin:0 0 12px;color:var(--dim);font-size:15px;max-width:48ch;line-height:1.68}.contact-say .alt{font-size:14px;color:var(--faint)}.contact-say .alt a{color:var(--steel);font-family:var(--mono);font-size:13.5px}.form{display:grid;gap:14px}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.field{display:grid;gap:6px}.field label{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}.field label span{color:var(--faint);text-transform:none;letter-spacing:.02em;margin-left:6px}.field input,.field select,.field textarea{font-family:var(--sans);font-size:14.5px;color:var(--ink);background:var(--bg);border:1px solid var(--rule-lit);padding:10px 12px;width:100%;border-radius:0;transition:border-color .16s}.field textarea{resize:vertical;min-height:110px;line-height:1.6}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--steel);outline:none}.field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--dim) 50%),linear-gradient(135deg,var(--dim) 50%,transparent 50%);background-position:calc(100% - 17px) 52%,calc(100% - 12px) 52%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:34px}.formfoot{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:2px}.form button.btn{cursor:pointer;font-family:var(--mono)}.privnote{font-size:12px;color:var(--faint);line-height:1.5;max-width:34ch}footer{border-top:1px solid var(--rule);padding-block:18px 26px}footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-family:var(--mono);font-size:11px;color:var(--faint)}@media(max-width:820px){.prov{grid-template-columns:1fr}.prov-titles{border-right:none;border-bottom:1px solid var(--rule)}.worklist{columns:1}}@media(max-width:820px){.contact-grid{grid-template-columns:1fr}}@media(max-width:760px){.about-grid{grid-template-columns:1fr}.logrow{grid-template-columns:1fr;gap:6px}.logrow .rt{order:-1}}body.page-likes{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}.page-likes a{color:inherit;text-decoration:none}.page-likes :focus-visible{outline:2px solid var(--steel);outline-offset:3px}.page-likes .wrap{max-width:1000px;margin:0 auto;padding-inline:22px}.page-likes .topbar{border-bottom:1px solid var(--rule)}.page-likes .topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-block:14px;font-family:var(--mono);font-size:12.5px}.page-likes .topbar .id b{color:var(--steel);font-weight:500}.page-likes .topbar nav{display:flex;gap:20px;font-size:11.5px;color:var(--dim);letter-spacing:.06em}.page-likes .topbar nav a:hover{color:var(--ink)}.page-likes .topbar nav a.on{color:var(--ink)}.page-likes .head{padding-block:clamp(46px,7vw,76px) clamp(28px,4vw,44px)}.page-likes .head .eyebrow{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--steel);margin-bottom:16px}.page-likes .head h1{font-size:clamp(30px,5vw,48px);font-weight:500;margin:0 0 18px;letter-spacing:-.025em;line-height:1.12;text-wrap:balance}.page-likes .head p{margin:0;font-size:16.5px;line-height:1.72;color:var(--dim);max-width:60ch}.page-likes .head p b{color:var(--ink);font-weight:500}.page-likes .secrow{display:flex;align-items:center;gap:14px;margin:0 0 18px;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}.page-likes .secrow .line{flex:1;height:1px;background:var(--rule)}.page-likes section.blk{padding-bottom:clamp(38px,6vw,64px)}.page-likes .things{border:1px solid var(--rule)}.page-likes .thing{display:grid;grid-template-columns:196px 1fr;gap:22px;padding:15px 18px;border-bottom:1px solid var(--rule);align-items:baseline;transition:background .16s}.page-likes .thing:last-child{border-bottom:none}.page-likes .thing:hover{background:var(--surface)}.page-likes .thing .n{font-family:var(--mono);font-size:13.5px;color:var(--ink)}.page-likes .thing .n s{display:block;font-family:var(--sans);font-size:10.5px;color:var(--faint);text-decoration:none;letter-spacing:.04em;text-transform:uppercase;margin-top:4px}.page-likes .thing p{margin:0;font-size:14.5px;line-height:1.64;color:var(--dim);max-width:66ch}.page-likes .thing p b{color:var(--ink);font-weight:500}.page-likes .thing.game .n{color:var(--soft)}.page-likes .ops{display:grid;grid-template-columns:repeat(auto-fit,minmax(262px,1fr));gap:14px}.page-likes .op{border:1px solid var(--rule);background:var(--surface);padding:18px 19px}.page-likes .op h3{font-size:16px;font-weight:500;margin:0 0 9px;letter-spacing:-.012em;line-height:1.3}.page-likes .op p{margin:0;font-size:14px;line-height:1.66;color:var(--dim)}.page-likes .op .tag{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--warn);display:block;margin-bottom:10px}.page-likes .nots{border:1px solid var(--rule)}.page-likes .not{display:grid;grid-template-columns:196px 1fr;gap:22px;padding:14px 18px;border-bottom:1px solid var(--rule);align-items:baseline}.page-likes .not:last-child{border-bottom:none}.page-likes .not .n{font-family:var(--mono);font-size:13px;color:var(--faint)}.page-likes .not p{margin:0;font-size:14px;line-height:1.62;color:var(--dim);max-width:66ch}.page-likes .tail{border-top:1px solid var(--rule);padding-block:24px 8px}.page-likes .tail p{margin:0;font-size:14.5px;color:var(--dim);line-height:1.68;max-width:62ch}.page-likes .tail p a{color:var(--steel)}.page-likes footer{border-top:1px solid var(--rule);padding-block:18px 26px;margin-top:32px}.page-likes footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-family:var(--mono);font-size:11px;color:var(--faint)}@media(max-width:700px){.page-likes .thing,.page-likes .not{grid-template-columns:1fr;gap:7px}}body.page-donate{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}.page-donate a{color:inherit;text-decoration:none}.page-donate :focus-visible{outline:2px solid var(--steel);outline-offset:3px}.page-donate .wrap{max-width:900px;margin:0 auto;padding-inline:22px}.page-donate .topbar{border-bottom:1px solid var(--rule)}.page-donate .topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-block:14px;font-family:var(--mono);font-size:12.5px}.page-donate .topbar .id b{color:var(--steel);font-weight:500}.page-donate .topbar nav{display:flex;gap:20px;font-size:11.5px;color:var(--dim);letter-spacing:.06em}.page-donate .topbar nav a:hover{color:var(--ink)}.page-donate .topbar nav a.on{color:var(--ink)}.page-donate .head{padding-block:clamp(46px,7vw,76px) clamp(26px,4vw,40px)}.page-donate .head .eyebrow{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--warn);margin-bottom:16px}.page-donate .head h1{font-size:clamp(29px,4.8vw,46px);font-weight:500;margin:0 0 18px;letter-spacing:-.025em;line-height:1.14;text-wrap:balance;max-width:20ch}.page-donate .head p{margin:0 0 14px;font-size:16.5px;line-height:1.74;color:var(--dim);max-width:62ch}.page-donate .head p b{color:var(--ink);font-weight:500}.page-donate .head p:last-child{margin-bottom:0}.page-donate section.blk{padding-bottom:clamp(38px,6vw,64px)}.page-donate .secrow{display:flex;align-items:center;gap:14px;margin:0 0 18px;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}.page-donate .secrow .line{flex:1;height:1px;background:var(--rule)}.page-donate .costs{border:1px solid var(--rule)}.page-donate .cost{display:grid;grid-template-columns:172px 1fr;gap:22px;padding:16px 18px;border-bottom:1px solid var(--rule);align-items:baseline}.page-donate .cost:last-child{border-bottom:none}.page-donate .cost .n{font-family:var(--mono);font-size:12.5px;color:var(--steel);letter-spacing:.01em}.page-donate .cost p{margin:0;font-size:14.5px;line-height:1.66;color:var(--dim);max-width:64ch}.page-donate .cost p b{color:var(--ink);font-weight:500}.page-donate .ways{display:grid;grid-template-columns:repeat(auto-fit,minmax(232px,1fr));gap:14px}.page-donate .way{border:1px solid var(--rule);background:var(--surface);padding:19px 20px;display:flex;flex-direction:column;transition:border-color .16s}.page-donate .way:hover{border-color:var(--rule-lit)}.page-donate .way h3{font-size:16.5px;font-weight:500;margin:0 0 8px;letter-spacing:-.012em}.page-donate .way .amt{font-family:var(--mono);font-size:11px;color:var(--warn);letter-spacing:.1em;text-transform:uppercase;margin-bottom:11px}.page-donate .way p{margin:0 0 15px;font-size:14px;line-height:1.64;color:var(--dim)}.page-donate .way .go{margin-top:auto;font-family:var(--mono);font-size:12px;color:var(--steel);border-top:1px solid var(--rule);padding-top:12px}.page-donate .way.free{background:var(--bg)}.page-donate .way.free .amt{color:var(--ok)}.page-donate .honest{border:1px solid var(--rule);background:var(--surface);padding:20px 21px}.page-donate .honest h3{font-size:16px;font-weight:500;margin:0 0 10px;letter-spacing:-.012em}.page-donate .honest p{margin:0 0 11px;font-size:14.5px;line-height:1.7;color:var(--dim);max-width:66ch}.page-donate .honest p:last-child{margin-bottom:0}.page-donate .honest p b{color:var(--ink);font-weight:500}.page-donate footer{border-top:1px solid var(--rule);padding-block:18px 26px;margin-top:20px}.page-donate footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-family:var(--mono);font-size:11px;color:var(--faint)}@media(max-width:640px){.page-donate .cost{grid-template-columns:1fr;gap:7px}}body.page-portal{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;display:flex;flex-direction:column;min-height:100vh}.page-portal a{color:inherit;text-decoration:none}.page-portal :focus-visible{outline:2px solid var(--steel);outline-offset:3px}.page-portal .wrap{max-width:1000px;margin:0 auto;padding-inline:22px;width:100%}.page-portal .topbar{border-bottom:1px solid var(--rule)}.page-portal .topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-block:14px;font-family:var(--mono);font-size:12.5px}.page-portal .topbar .id b{color:var(--steel);font-weight:500}.page-portal .topbar nav{display:flex;gap:20px;font-size:11.5px;color:var(--dim);letter-spacing:.06em}.page-portal .topbar nav a:hover{color:var(--ink)}.page-portal main{flex:1;display:flex;align-items:center;padding-block:clamp(38px,7vw,74px)}.page-portal .panel{max-width:820px;margin:0 auto;display:grid;grid-template-columns:1fr 340px;gap:0;border:1px solid var(--rule);width:100%}.page-portal .side{background:var(--surface);padding:28px 28px 30px;border-right:1px solid var(--rule)}.page-portal .side .eyebrow{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--steel);margin-bottom:15px}.page-portal .side h1{font-size:26px;font-weight:500;margin:0 0 14px;letter-spacing:-.02em;line-height:1.2}.page-portal .side p{margin:0 0 14px;font-size:14.5px;line-height:1.68;color:var(--dim)}.page-portal .side p:last-of-type{margin-bottom:20px}.page-portal .side ul{margin:0;padding:17px 0 0;list-style:none;display:grid;gap:10px;border-top:1px solid var(--rule)}.page-portal .side li{font-size:13.5px;color:var(--dim);line-height:1.5;display:flex;gap:10px}.page-portal .side li b{font-family:var(--mono);font-size:10.5px;color:var(--faint);letter-spacing:.1em;text-transform:uppercase;flex:none;width:52px;padding-top:2px}.page-portal .auth{padding:28px 26px 30px}.page-portal .auth h2{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);margin:0 0 18px;font-weight:400}.page-portal .passkey{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;font-family:var(--mono);font-size:13px;letter-spacing:.03em;padding:13px 16px;border:1px solid var(--steel-dim);background:var(--raise);color:var(--ink);cursor:pointer;transition:border-color .16s,background .16s}.page-portal .passkey:hover{border-color:var(--steel);background:var(--surface)}.page-portal .passkey svg{flex:none}.page-portal .hint{font-size:12px;color:var(--faint);text-align:center;margin:9px 0 0;line-height:1.5}.page-portal .or{display:flex;align-items:center;gap:13px;margin:22px 0 18px;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}.page-portal .or:before,.page-portal .or:after{content:"";flex:1;height:1px;background:var(--rule)}.page-portal .field{display:grid;gap:6px;margin-bottom:14px}.page-portal .field label{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}.page-portal .field input{font-family:var(--sans);font-size:14.5px;color:var(--ink);background:var(--bg);border:1px solid var(--rule-lit);padding:10px 12px;width:100%;border-radius:0;transition:border-color .16s}.page-portal .field input:focus{border-color:var(--steel);outline:none}.page-portal .submit{width:100%;font-family:var(--mono);font-size:12.5px;letter-spacing:.04em;padding:11px 16px;border:1px solid var(--rule-lit);background:var(--surface);color:var(--ink);cursor:pointer;transition:border-color .16s,background .16s;margin-top:4px}.page-portal .submit:hover{border-color:var(--steel-dim);background:var(--raise)}.page-portal .submit[aria-busy=true]{color:var(--dim);cursor:progress}.page-portal .msg{margin:16px 0 0;padding:11px 13px;border:1px solid var(--rule-lit);background:var(--bg);font-size:13.5px;line-height:1.55;color:var(--dim)}.page-portal .msg[hidden]{display:none}.page-portal .msg.bad{border-color:color-mix(in srgb,var(--bad) 42%,var(--rule));color:var(--bad)}.page-portal .msg .k{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;display:block;margin-bottom:5px;color:var(--faint)}.page-portal .authfoot{margin-top:20px;padding-top:16px;border-top:1px solid var(--rule);font-size:13px;color:var(--faint);line-height:1.6}.page-portal .authfoot a{color:var(--steel)}.page-portal footer{border-top:1px solid var(--rule);padding-block:18px 26px}.page-portal footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-family:var(--mono);font-size:11px;color:var(--faint)}@media(max-width:720px){.page-portal .panel{grid-template-columns:1fr}.page-portal .side{border-right:none;border-bottom:1px solid var(--rule)}}.fielderr{display:block;font-size:12.5px;line-height:1.5;color:#c98089;margin-top:5px}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:#c98089}
