@font-face{font-family:"Barlow Condensed";src:url("/static/fonts/BarlowCondensed-Medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url("/static/fonts/BarlowCondensed-Bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url("/static/fonts/BarlowCondensed-ExtraBold.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url("/static/fonts/BarlowCondensed-Black.woff2") format("woff2");font-weight:900;font-style:normal;font-display:swap}
*{box-sizing:border-box;margin:0}
[hidden]{display:none !important}
body{background:#0c0c0d;color:#f4f4f2;color-scheme:dark;font-family:"Barlow Condensed","Arial Narrow",Impact,sans-serif;text-transform:uppercase;letter-spacing:.04em;min-height:100vh}
button,input,select{font-family:inherit}
.scr{display:none;min-height:100vh;padding:28px 56px;flex-direction:column}
.scr.act{display:flex}
.top{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #222;padding-bottom:18px}
.brand{display:flex;align-items:center;gap:12px;color:#fff}
.topacts{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.cannon{width:64px;height:44px;flex:none}
.bt{display:flex;flex-direction:column;line-height:.9}
.bt span{font-size:13px;letter-spacing:.35em;color:#999}
.bt b{font-size:30px;font-weight:900;letter-spacing:.12em}
.linkish{border:1px solid #333;color:#999;background:transparent;padding:8px 14px;font:inherit;font-weight:700;font-size:14px;letter-spacing:.16em;cursor:pointer}
.linkish:hover{border-color:#fff;color:#fff}
a.linkish{text-decoration:none;display:inline-flex;align-items:center}
.prog{display:flex;gap:6px;flex-wrap:wrap}
.ps{font-size:13px;color:#555;display:flex;align-items:center;gap:6px;padding-right:8px}
.ps i{font-style:normal;width:26px;height:26px;display:grid;place-items:center;border:1px solid #444;clip-path:polygon(30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%,0 30%);background:#111;font-size:13px}
.ps.on{color:#999}
.ps.on i{background:#333;color:#fff}
.ps.cur{color:#f4f4f2}
.ps.cur i{background:#f4f4f2;color:#000;font-weight:900}
.main{flex:1;padding:48px 0 20px;max-width:1180px;width:100%;margin:0 auto}
.kick{color:#f4f4f2;font-weight:700;font-size:16px;letter-spacing:.3em;margin-bottom:12px}
h1{font-size:64px;font-weight:900;line-height:.95;margin-bottom:28px;letter-spacing:.01em}
.big{font-size:92px}
.btn{font:inherit;font-weight:800;font-size:22px;letter-spacing:.14em;color:#fff;background:transparent;border:2px solid #fff;padding:18px 42px;cursor:pointer;transition:.15s;border-radius:0}
.btn:hover,.btn:active,.btn.solid{background:#fff;color:#000}
.btn.xl{font-size:28px;padding:24px 56px;border-color:#f4f4f2;color:#f4f4f2}
.btn.xl:hover,.btn.xl.solid{background:#f4f4f2;color:#000}
.btn.ghost{border-color:#444;color:#999}
.btn.ghost:hover{background:#444;color:#fff}
.btn:disabled{opacity:.35;cursor:not-allowed}
.btn:disabled:hover{background:transparent;color:#fff}
.btn.xl:disabled:hover{background:transparent;color:#f4f4f2}
.btn.ghost:disabled:hover{background:transparent;color:#999}
.nav{display:flex;justify-content:space-between;gap:16px;max-width:1180px;width:100%;margin:0 auto;padding:20px 0;border-top:1px solid #1c1c1c}
.gate{max-width:460px;margin:8px 0 22px}
.gate label{display:block;color:#f4f4f2;font-weight:700;letter-spacing:.22em;font-size:14px;margin:14px 0 8px}
.gate label:first-child{margin-top:0}
.gate input{width:100%;font:inherit;font-size:26px;font-weight:700;letter-spacing:.08em;text-transform:none;background:#0e0e10;color:#fff;border:2px solid #f4f4f2;padding:14px 16px}
.gate input:focus{outline:2px solid #f4f4f2;outline-offset:2px;background:#16161a}
.err{color:#ff8a7a;text-transform:none;letter-spacing:.01em;font-size:18px;margin-top:10px;min-height:1.2em}
.drop{border:2px dashed #444;padding:64px 24px;text-align:center;cursor:pointer;display:flex;flex-direction:column;gap:10px;align-items:center;transition:.15s;background:#0c0c0e}
.drop:hover,.drop.hot{border-color:#f4f4f2}
.drop b{font-size:32px}
.drop small{color:#777;font-size:18px;text-transform:none;letter-spacing:.02em}
.dico{font-size:52px;color:#f4f4f2;line-height:1}
.file{margin-top:8px;color:#3ddc84;border:1px solid #3ddc84;padding:10px 18px;font-size:20px;font-weight:700;display:none}
.drop.done .file{display:block}
.field{display:flex;flex-direction:column;gap:8px;margin-top:26px;max-width:360px;color:#f4f4f2;font-weight:800;letter-spacing:.18em;font-size:14px}
.field input{font:inherit;font-size:28px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;background:#0e0e10;color:#fff;border:2px solid #333;padding:12px 16px}
.field input:focus{border-color:#f4f4f2;outline:none}
.alt{margin-top:18px}
.two{display:grid;grid-template-columns:minmax(280px,420px) 1fr;gap:36px;align-items:start}
.lbl{color:#777;font-size:14px;letter-spacing:.22em;margin-bottom:8px}
.mr{display:grid;grid-template-columns:1fr 28px 1.3fr;align-items:center;gap:8px;border-bottom:1px solid #1e1e1e;padding:10px 0;font-size:18px}
.from{color:#888;text-transform:none;font-family:ui-monospace,monospace;font-size:14px;letter-spacing:0}
.arrow{color:#f4f4f2}
.to{font-weight:800;display:flex;align-items:center;gap:8px}
.ok{color:#3ddc84}
.bad{color:#ff4d3d}
select{font:inherit;font-weight:800;letter-spacing:.04em;text-transform:uppercase;background:#0e0e10;color:#fff;border:2px solid #333;padding:8px 10px;width:100%;cursor:pointer}
select:focus{border-color:#f4f4f2;outline:none}
.saved{display:inline-block;border:1px solid #f4f4f2;color:#f4f4f2;padding:4px 10px;font-size:13px;font-weight:800;letter-spacing:.14em;margin-bottom:10px}
table{border-collapse:collapse;width:100%;font-size:16px}
th{text-align:left;color:#f4f4f2;border-bottom:2px solid #f4f4f2;padding:8px}
td{padding:8px;border-bottom:1px solid #1e1e1e;color:#ccc}
.note{color:#777;text-transform:none;font-size:17px;margin-top:14px;letter-spacing:.01em;font-weight:500}
.opts{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.opts.six{grid-template-columns:repeat(3,1fr)}
.opt{font:inherit;color:#ddd;background:#0e0e10;border:2px solid #333;padding:28px 18px;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:8px;transition:.15s}
.opt b{font-size:26px;font-weight:900;letter-spacing:.05em}
.opt small{color:#888;font-size:16px;text-transform:none;letter-spacing:.01em}
.opt:hover{border-color:#fff}
.opt.sel{background:#f4f4f2;border-color:#f4f4f2;color:#000}
.opt.sel small{color:#333}
.hex{width:26px;height:26px;background:#444;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}
.opt.sel .hex{background:#000}
.opt:hover .hex{background:#fff}
.tabs{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}
.tab{font:inherit;font-weight:800;font-size:18px;letter-spacing:.12em;padding:12px 18px;background:none;color:#aaa;border:2px solid #333;cursor:pointer}
.tab:hover{border-color:#fff;color:#fff}
.tab.sel{background:#fff;color:#000;border-color:#fff}
.pv{display:grid;grid-template-columns:1fr 260px;gap:22px}
.stage{background:#e9e9e9;min-height:420px;display:grid;place-items:center;padding:18px;position:relative}
.stage img{max-width:100%;max-height:520px;display:none}
.stage img.on{display:block}
.stats{display:flex;flex-direction:column;gap:10px}
.stats div{border-left:4px solid #f4f4f2;background:#0e0e10;padding:10px 16px;color:#999;font-size:15px}
.stats b{display:block;font-size:36px;color:#fff;line-height:1}
.stats .warn{border-color:#ff4d3d;color:#ff8a7a}
.flags{border:2px solid #ff4d3d;padding:14px 16px;margin-top:18px}
.flags.quiet{border-color:#333}
.flags h2{font-size:18px;letter-spacing:.16em;color:#ff8a7a;margin-bottom:8px}
.flags.quiet h2{color:#999}
.flags li{text-transform:none;letter-spacing:.01em;font-size:17px;margin:6px 0 6px 18px;color:#eee;font-weight:500}
.busy{display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding:20px 0 40px}
.press{width:min(460px,100%);height:108px;overflow:hidden;background:#141416;border:1px solid #2a2a2c}
.press img{display:block;width:100%;height:auto;animation:pressfeed 8s ease-in-out infinite}
@keyframes pressfeed{0%{transform:translateY(-115%)}32%{transform:translateY(8px)}74%{transform:translateY(8px)}100%{transform:translateY(120%)}}
.dl{display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.files{width:100%;max-width:760px}
.f{border-bottom:1px solid #222;padding:12px 0;font-size:22px;text-transform:none;letter-spacing:.01em}
.f span{background:#ff4d3d;color:#000;font-weight:900;font-size:14px;padding:3px 8px;margin-right:14px;letter-spacing:.08em}
.ack{display:flex;gap:12px;align-items:center;font-size:20px;text-transform:none;letter-spacing:.02em;color:#eee;font-weight:600}
.ack input{width:22px;height:22px;accent-color:#f4f4f2}
.stack{display:flex;flex-direction:column;gap:14px;max-width:720px}
.stack textarea{min-height:220px;font:inherit;font-size:22px;font-weight:700;letter-spacing:.04em;text-transform:none;background:#0e0e10;color:#fff;border:2px solid #333;padding:14px 16px}
.stack textarea:focus,.stack input:focus{border-color:#f4f4f2;outline:none}
.stack .field input{text-transform:none}
.navgap{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.qblock{margin-top:28px}
.qblock h2{font-size:18px;letter-spacing:.18em;color:#f4f4f2;margin-bottom:12px}
.markprev{margin-top:22px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;color:#111;padding:16px 20px;min-width:180px;min-height:78px;gap:2px}
.markprev span{font-size:13px;letter-spacing:.28em;color:#333}
.markprev b{font-size:28px;font-weight:900;letter-spacing:.08em}
.markprev img{max-width:140px;max-height:48px;object-fit:contain}
.creditrow{display:flex;justify-content:space-between;align-items:center;gap:18px;border:2px solid #333;padding:16px 18px;margin-top:26px;max-width:760px}
.creditrow b{display:block;font-size:26px;letter-spacing:.08em}
.creditrow small{display:block;color:#888;text-transform:none;letter-spacing:.02em;font-size:16px;font-weight:500;margin-top:4px}
.creditrow .btn{font-size:16px;padding:10px 22px;min-width:92px}
.creditrow .btn.on{background:#f4f4f2;color:#000;border-color:#f4f4f2}
a.btn{text-decoration:none;display:inline-block}
.modes{grid-template-columns:1fr 1fr;margin-bottom:22px}
#rollPick h2,#setupBody h2,.rollbox h2{font-size:18px;letter-spacing:.18em;color:#f4f4f2;margin:22px 0 12px}
.rollbox{margin-top:22px}
.rollbox input,#rollFilter{font:inherit;font-size:20px;font-weight:700;letter-spacing:.04em;text-transform:none;background:#0e0e10;color:#fff;border:2px solid #333;padding:10px 14px;width:100%;max-width:520px}
.rollrow{display:flex;gap:12px;align-items:center;border-bottom:1px solid #222;padding:12px 0}
.rollrow .who{flex:1;min-width:0}
.rollrow .who b{display:block;font-size:22px;letter-spacing:.04em}
.rollrow .who small{color:#888;text-transform:none;letter-spacing:.02em;font-size:16px;font-weight:500}
.btn.sm{font-size:14px;padding:8px 12px;letter-spacing:.12em}
.rollacts{display:flex;gap:8px;flex-wrap:wrap}
.steps{list-style:none;padding:0;margin:8px 0 18px}
.steps li{text-transform:none;letter-spacing:.01em;font-size:18px;font-weight:500;color:#ddd;margin:10px 0}
.steps i{font-style:normal;color:#f4f4f2;font-weight:900;margin-right:10px}
.setupacts{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin:8px 0 18px}
.conn{color:#888;font-size:15px;letter-spacing:.08em}
.badge{display:inline-block;background:#f4f4f2;color:#111;font-size:12px;letter-spacing:.12em;padding:1px 6px;margin-left:8px;vertical-align:2px}
.opt.sel .badge{background:#111;color:#f4f4f2}
.note a{color:#f4f4f2}
#printers.opts,#setupPrinters .opts{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.people{position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:40;padding:24px 16px;overflow:auto}
.peoplebox{background:#0e0e10;border:2px solid #f4f4f2;padding:24px;width:min(520px,100%);margin:8vh auto 24px}
.peopletop{display:flex;justify-content:space-between;align-items:center;gap:12px}
.peoplebox h2{font-size:40px;margin:0}
.peoplebox .note{text-transform:none;letter-spacing:.01em}
.peoplebox input{text-transform:none}
.peoplebox ul{list-style:none;padding:0;margin:16px 0 8px}
.peoplebox li{display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid #222;padding:10px 0;font-size:22px}
.peoplebox li span{text-transform:none;letter-spacing:.02em}
@media (max-width:900px){
  .scr{padding:18px 16px}
  h1{font-size:40px}
  .big{font-size:46px}
  .two,.pv,.opts,.opts.six{grid-template-columns:1fr}
  .navgap{width:100%}
  .btn.xl{font-size:20px;padding:16px 22px}
  .top{flex-wrap:wrap}
  .ps{font-size:0;padding-right:0}
  .ps i{font-size:12px;width:24px;height:24px}
  .drop{padding:36px 14px}
  .drop b{font-size:22px}
  .nav{flex-wrap:wrap}
  .creditrow,.rollrow{flex-direction:column;align-items:flex-start}
  .stage{min-height:240px}
  .modes{grid-template-columns:1fr}
  #printers.opts,#setupPrinters .opts{grid-template-columns:1fr}
}
.land{position:relative;min-height:100vh;min-height:100dvh;padding:16px 16px 20px;background:#0c0c0d url("/static/home/stage.webp") center/cover no-repeat;overflow-x:clip}
.land::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,12,13,.94),rgba(12,12,13,.9) 48%,rgba(12,12,13,.94));pointer-events:none}
.land>*{position:relative;z-index:1}
.land .top{border-bottom-color:transparent;padding-bottom:6px}
.land .linkish{min-height:44px;padding:10px 14px;color:#f4f4f2;border-color:#8a8a8c}
.land .hero{max-width:1080px;padding:8px 0 0}
.land h1.big{font-size:clamp(52px,14vw,96px);line-height:.88;letter-spacing:-.02em;margin:0 0 8px;max-width:11ch}
.support{margin:0 0 18px;color:#f4f4f2;font-size:clamp(18px,4.2vw,24px);font-weight:700;letter-spacing:.04em}
.pun{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin:0 0 16px}
.tagline{margin:0;max-width:14ch;font-size:clamp(32px,8.2vw,60px);font-weight:900;line-height:.9;letter-spacing:-.015em}
.feed{line-height:0;background:transparent;width:calc(100% + 32px);margin-left:-16px}
.feed img{display:block;width:100%;height:auto;box-shadow:0 16px 36px rgba(0,0,0,.5)}
.signin{width:100%;max-width:440px}
.signin-title{margin:0 0 4px;font-size:16px;font-weight:800;letter-spacing:.18em;line-height:1.2}
.land .gate{width:100%;max-width:none;margin:0 0 10px}
.land .gate label{color:#f4f4f2;margin:10px 0 6px}
.land .gate input{min-height:48px;border-color:#c8c8c4;background:#101012;font-size:22px}
.land .gate input:focus{border-color:#f4f4f2;background:#101012}
.land .btn.xl{width:100%;max-width:440px;min-height:48px;padding:16px 22px;letter-spacing:.08em;white-space:nowrap;background:#f4f4f2;color:#111;border-color:#f4f4f2}
.land .btn.xl:hover,.land .btn.xl:active{background:#fff;color:#111}
.land .btn.xl:focus-visible{outline:3px solid #f4f4f2;outline-offset:3px}
@media (max-height:860px){
  .land{padding:12px 16px 12px}
  .support{margin-bottom:10px}
  .pun{gap:8px;margin-bottom:8px}
  .land .gate label{margin:6px 0 4px}
  .land .gate input{padding:10px 16px}
  .land .btn.xl{padding:12px 20px}
}
@media (min-width:860px){
  .land{padding:28px 56px 40px}
  .pun{flex-direction:row;align-items:center;gap:28px}
  .tagline{flex:0 1 380px;max-width:none;font-size:clamp(40px,4vw,60px)}
  .feed{flex:1 1 520px;width:auto;max-width:560px;margin:0}
  .land .btn.xl{width:auto}
}
@media (min-width:1100px){
  .land{padding:22px 48px 28px}
  .land .hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);column-gap:48px;row-gap:0;align-items:stretch;max-width:1180px}
  .land h1.big{grid-column:1;grid-row:1;margin-bottom:10px}
  .support{grid-column:1;grid-row:2;margin-bottom:0}
  .pun{grid-column:1;grid-row:3;margin:22px 0 0}
  .signin{grid-column:2;grid-row:1 / span 3;align-self:end;max-width:none}
  .land .btn.xl{width:100%;max-width:none}
}
@media (prefers-reduced-motion:reduce){
  .press img{animation:none;transform:none}
}
