:root{--desk:#23211b;--desk-edge:#191712;--paper:#f2ecdc;--paper-dim:#e6dec8;--paper-shade:#d8cfb4;--ink:#1c1a16;--ink-soft:#6a6456;--red:#b8342e;--green:#00c805;--green-dark:#0a8f12;--gold:#bd8f34;--blue:#2b46c8;--adult:#2f7a7e}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;overflow-x:clip}body{overflow-x:hidden;position:relative;background:var(--desk);color:var(--ink);font-family:VT323,monospace;font-size:1.25rem;line-height:1.35;background-image:repeating-linear-gradient(0deg,transparent 0 2px,rgba(0,0,0,.1) 2px 4px),radial-gradient(ellipse at 50% -10%,#2d2a22 0,var(--desk) 60%);min-height:100vh}img{image-rendering:pixelated}::selection{background:var(--red);color:var(--paper)}::-webkit-scrollbar{width:14px}::-webkit-scrollbar-track{background:var(--desk-edge)}::-webkit-scrollbar-thumb{background:var(--paper-shade);border:3px solid var(--desk-edge)}.wrap{max-width:1120px;margin:0 auto;padding:0 20px 90px}.masthead{display:flex;align-items:stretch;justify-content:space-between;gap:14px;padding:22px 0 16px;flex-wrap:wrap}.dept{color:var(--paper-shade);letter-spacing:3px;font-size:1.05rem}.brand,.dept b{color:var(--paper)}.brand{font-family:Pixelify Sans,monospace;font-weight:700;font-size:2.6rem;line-height:.95;letter-spacing:2px;text-shadow:4px 4px 0 rgba(0,0,0,.5)}.brand .age{color:var(--green);display:block;font-size:1.15rem;letter-spacing:5px;margin-top:8px;text-shadow:2px 2px 0 rgba(0,0,0,.5)}.pass{align-self:center;font-family:VT323,monospace;font-size:1.2rem;letter-spacing:2px;background:var(--paper);color:var(--ink);border:3px solid var(--ink);box-shadow:4px 4px 0 rgba(0,0,0,.55);padding:10px 16px;cursor:pointer}.pass:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 rgba(0,0,0,.55)}.pass:active{transform:translate(2px,2px);box-shadow:1px 1px 0 rgba(0,0,0,.55)}.pass.green{background:var(--green);border-color:#063;color:#052b07;font-weight:700}.mastbtns{display:flex;gap:12px;align-self:center;flex-wrap:wrap}a.pass{text-decoration:none;display:inline-block}.pass.opensea{background:#2081e2;color:#fff;border-color:#0b3a66}.census{background:var(--paper);border:3px solid var(--ink);box-shadow:6px 6px 0 rgba(0,0,0,.5);padding:14px 16px 16px;margin-bottom:34px;position:relative}.census .row{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px}.counter{font-family:Pixelify Sans,monospace;font-weight:700;font-size:1.9rem;letter-spacing:2px}.counter .lit{color:var(--red)}.pyr{display:flex;height:26px;border:3px solid var(--ink);margin-top:10px;background:var(--paper-dim)}.pyr>div{position:relative;overflow:hidden}.pyr .fill{position:absolute;inset:0;width:0}.pyr .child{background:repeating-linear-gradient(90deg,var(--blue) 0 6px,#3a56d8 6px 12px)}.pyr .adult{background:repeating-linear-gradient(90deg,var(--adult) 0 6px,#3a8a8e 6px 12px)}.pyr .elder{background:repeating-linear-gradient(90deg,var(--gold) 0 6px,#cda14a 6px 12px)}.pyr .seg-adult,.pyr .seg-child{border-right:3px solid var(--ink)}.legend{display:flex;gap:18px;margin-top:8px;font-size:1.05rem;color:var(--ink-soft);flex-wrap:wrap}.legend i{display:inline-block;width:12px;height:12px;border:2px solid var(--ink);margin-right:6px;vertical-align:-1px}.desks{display:grid;grid-template-columns:repeat(12,1fr);grid-gap:26px;gap:26px}.desk{grid-column:span 12;position:relative}@media (min-width:900px){.desk.half{grid-column:span 6}.desk.third{grid-column:span 4}}.form{background:var(--paper);border:3px solid var(--ink);box-shadow:7px 7px 0 rgba(0,0,0,.5);position:relative}.form:before{content:"";position:absolute;left:8px;right:8px;top:6px;height:0;border-top:2px dashed rgba(28,26,22,.3)}.tab{position:absolute;top:-16px;left:14px;background:var(--red);color:var(--paper);font-size:.92rem;letter-spacing:2px;padding:3px 12px 1px;border:3px solid var(--ink);box-shadow:3px 3px 0 rgba(0,0,0,.45);white-space:nowrap;max-width:calc(100% - 28px);overflow:hidden;text-overflow:ellipsis}.tab.gold{background:var(--gold);color:var(--ink)}.tab.blue{background:var(--blue)}.tab.teal{background:var(--adult)}.form .inner{padding:34px 20px 20px}.form h2{font-family:Pixelify Sans,monospace;font-weight:700;font-size:1.5rem;letter-spacing:1px;margin-bottom:4px}.form .sub{color:var(--ink-soft);font-size:1.05rem;margin-bottom:14px}.rule{border-top:3px solid var(--ink);margin:14px 0;opacity:.85}.dotrule{border-top:2px dashed rgba(28,26,22,.35);margin:12px 0}.book{width:100%;border-collapse:collapse;font-size:1.1rem}.book td{padding:4px 2px;border-bottom:2px dashed rgba(28,26,22,.25)}.book td:last-child{text-align:right}.book tr.done td{color:var(--ink-soft);text-decoration:line-through}.book tr.now td{color:var(--red);font-weight:700}.badge{display:inline-block;font-size:.95rem;letter-spacing:1px;border:2px solid var(--ink);padding:0 6px;background:var(--paper-dim)}.badge.free{background:var(--green);color:#052b07;border-color:#063}.qtyrow{display:flex;align-items:center;gap:12px;margin:12px 0}.qtyrow button{font-family:VT323,monospace;font-size:1.5rem;width:44px;height:44px;background:var(--paper-dim);border:3px solid var(--ink);cursor:pointer;box-shadow:3px 3px 0 rgba(0,0,0,.35)}.qtyrow button:active{transform:translate(2px,2px);box-shadow:0 0 0}.qv{font-size:1.9rem;min-width:52px;text-align:center}.qv,.stampbtn{font-family:Pixelify Sans,monospace;font-weight:700}.stampbtn{display:block;width:100%;font-size:1.35rem;letter-spacing:2px;padding:14px;cursor:pointer;background:var(--red);color:var(--paper);border:3px solid var(--ink);box-shadow:5px 5px 0 rgba(0,0,0,.5);text-transform:uppercase}.stampbtn:hover{transform:rotate(-1deg) translate(-1px,-1px);box-shadow:6px 6px 0 rgba(0,0,0,.5)}.stampbtn:active{transform:rotate(0) translate(3px,3px);box-shadow:0 0 0}.stampbtn:disabled{background:var(--paper-shade);color:var(--ink-soft);cursor:not-allowed;transform:none}.stampbtn.green{background:var(--green);color:#052b07;border-color:#063}.stampbtn.gold{background:var(--gold);color:var(--ink)}.statusline{font-size:1.05rem;color:var(--ink-soft);display:flex;gap:14px;flex-wrap:wrap}.statusline b{color:var(--ink)}.teller{border:3px solid var(--ink);background:var(--paper-dim);padding:10px 12px;position:relative;overflow:hidden}.teller:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 18px,rgba(28,26,22,.13) 18px 22px);pointer-events:none}.payout{font-family:Pixelify Sans,monospace;font-weight:700;font-size:2.1rem;color:var(--green-dark);letter-spacing:1px}.payline{display:flex;justify-content:space-between;align-items:center;padding:5px 0;border-bottom:2px dashed rgba(28,26,22,.25);font-size:1.08rem}.payline:last-child{border-bottom:0}.ratechip{font-size:.95rem;border:2px solid var(--ink);padding:0 6px;letter-spacing:1px}.ratechip.r1{background:var(--blue);color:var(--paper)}.ratechip.r2{background:var(--adult);color:var(--paper)}.ratechip.r3{background:var(--gold);color:var(--ink)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));grid-gap:16px;gap:16px}.idcard{background:var(--paper);border:3px solid var(--ink);box-shadow:4px 4px 0 rgba(0,0,0,.45);padding:8px;position:relative}.idcard img{width:100%;display:block;border:2px solid var(--ink)}.idcard .num{font-family:Pixelify Sans,monospace;font-weight:700;font-size:1.05rem;margin-top:6px}.idcard .meta{display:flex;justify-content:space-between;align-items:center;font-size:.98rem;color:var(--ink-soft)}.idcard.selected{outline:4px solid var(--green);outline-offset:2px}.idcard .fb{position:absolute;top:12px;left:12px;background:var(--gold);color:var(--ink);font-size:.85rem;padding:0 5px;border:2px solid var(--ink);letter-spacing:1px}.slots{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}.slot{border:3px dashed rgba(28,26,22,.45);min-height:130px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;color:var(--ink-soft);font-size:1.02rem;letter-spacing:2px;text-align:center;background:var(--paper-dim);cursor:pointer;padding:8px}.slot img{width:84px;border:2px solid var(--ink)}.slot.filled{border-style:solid;border-color:var(--ink);background:var(--paper)}.chips{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:8px;gap:8px;margin-bottom:12px}.chip{font-family:VT323,monospace;font-size:1.05rem;letter-spacing:1px;padding:8px 2px;background:var(--paper-dim);border:2px solid var(--ink);cursor:pointer;box-shadow:2px 2px 0 rgba(0,0,0,.3);text-align:center}.chip:hover{background:#fff}.chip:active{transform:translate(1px,1px);box-shadow:0 0 0}.chip.on{background:var(--green);color:#052b07;border-color:#063;font-weight:700}.customrow{display:flex;align-items:center;gap:10px;margin-bottom:4px}.customrow .lbl2{font-size:.95rem;color:var(--ink-soft);letter-spacing:2px;white-space:nowrap}.customrow input{flex:1 1;min-width:0;font-family:Pixelify Sans,monospace;font-weight:700;font-size:1.15rem;padding:8px 10px;border:3px solid var(--ink);background:var(--paper);color:var(--ink)}.customrow input:focus{outline:3px solid var(--green);outline-offset:1px}.minnote{font-size:.9rem;color:var(--red);white-space:nowrap;letter-spacing:1px}@media (max-width:640px){.chips{grid-template-columns:repeat(3,1fr)}}.notes{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-gap:16px;gap:16px}.note{background:var(--paper);padding:14px;box-shadow:4px 4px 0 rgba(0,0,0,.45);position:relative}.note,.note:before{border:3px solid var(--ink)}.note:before{content:"";position:absolute;top:-7px;left:50%;margin-left:-6px;width:12px;height:12px;background:var(--red);border-radius:50%}.note h3{font-family:Pixelify Sans,monospace;font-size:1.12rem;margin-bottom:6px}.note p{font-size:1.05rem;color:var(--ink-soft)}.note b{color:var(--ink)}.note:nth-child(odd){transform:rotate(-.6deg)}.note:nth-child(2n){transform:rotate(.5deg)}.sash{position:absolute;top:14px;right:-84px;z-index:60;transform:rotate(35deg);background:var(--red);color:var(--paper);letter-spacing:3px;font-size:.85rem;padding:4px 84px;border:3px solid var(--ink);box-shadow:0 4px 0 rgba(0,0,0,.4);pointer-events:none;opacity:.95}@media (max-width:640px){.sash{top:-14px;right:-86px;font-size:.6rem;letter-spacing:2px;padding:3px 64px;border-width:2px}}.stamp-note{display:inline-block;transform:rotate(-7deg);border:4px solid var(--red);color:var(--red);font-family:Pixelify Sans,monospace;font-weight:700;letter-spacing:3px;padding:2px 12px;font-size:1.1rem;opacity:.9}.splash{position:fixed;inset:0;z-index:100;background:var(--desk);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:22px;animation:splashout .4s ease 1.4s forwards}.splash .bigstamp{border:8px solid var(--red);color:var(--red);font-family:Pixelify Sans,monospace;font-weight:700;font-size:2.6rem;letter-spacing:6px;padding:12px 34px;transform:rotate(-8deg) scale(3);opacity:0;animation:slam .35s cubic-bezier(.2,2,.4,1) .25s forwards}.splash .dept{animation:none}@keyframes slam{to{transform:rotate(-8deg) scale(1);opacity:1}}@keyframes splashout{to{opacity:0;visibility:hidden}}.footer{margin-top:44px;color:var(--paper-shade);font-size:1rem;letter-spacing:2px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}.footer a{color:var(--green);text-decoration:none}.overlay{position:fixed;inset:0;background:rgba(15,14,10,.75);z-index:80;display:flex;align-items:center;justify-content:center;padding:18px}.dialog{background:var(--paper);border:3px solid var(--ink);box-shadow:8px 8px 0 rgba(0,0,0,.6);width:380px;max-width:100%;padding:20px}.dialog h3{font-family:Pixelify Sans,monospace;margin-bottom:12px}.dialog.admindesk{width:560px;max-height:86vh;overflow-y:auto}.adminput{font-family:VT323,monospace;font-size:1.1rem;background:var(--paper);color:var(--ink);border:3px solid var(--ink);padding:8px 10px;min-width:0;flex:1 1}.adminsec{font-family:Pixelify Sans,monospace;letter-spacing:2px;font-size:.95rem;border-bottom:3px solid var(--ink);margin:16px 0 8px;padding-bottom:4px}.adminrow{display:flex;gap:8px;align-items:stretch;flex-wrap:wrap;margin-bottom:8px}.adminrow .wbtn{width:auto;flex:0 0 auto}.adminstatus{flex-direction:column;gap:4px;font-size:1.05rem;border:3px dashed var(--ink);color:var(--ink-soft)}.adminstatus,.wbtn{display:flex;padding:10px 12px}.wbtn{align-items:center;gap:10px;width:100%;background:var(--paper-dim);border:3px solid var(--ink);font-family:VT323,monospace;font-size:1.15rem;cursor:pointer;margin-bottom:8px}.wbtn img{width:22px;height:22px}.wbtn:hover{background:#fff}.err{background:#f7d9d7;border:3px solid var(--red);color:#7c2522}.err,.ok{padding:8px 10px;font-size:1.02rem;margin-top:10px}.ok{background:#d9f2da;border:3px solid var(--green-dark);color:#0a5c12}@media (max-width:640px){.brand{font-size:2rem}.slots{grid-template-columns:1fr}}