@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/fraunces-roman.woff2)format("woff2")}@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/fraunces-italic.woff2)format("woff2")}@font-face{font-family:Courier Prime;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/courier-prime-400.woff2)format("woff2")}@font-face{font-family:Courier Prime;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/courier-prime-700.woff2)format("woff2")}:root{--wall:#1f3129;--wall-deep:#16241d;--wood:#5b3a24;--wood-dark:#3f2717;--wood-hi:#7a5133;--paper:#efe6d0;--paper-line:#c9bda0;--ink:#2b2419;--cream-text:#ede4ce;--brass:#b8894a;--stamp:#b03a2e;--sp1:#7a2e2e;--sp2:#2f4a3c;--sp3:#263b59;--sp4:#c9a227;--sp5:#4a3455;--sp6:#8a5a2b;--sp7:#33393b;--sp8:#5e7350}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0}body{background:radial-gradient(1200px 500px at 50% -10%, #b8894a1a, transparent 60%), var(--wall);color:var(--cream-text);min-height:100vh;font-family:Fraunces,Georgia,serif}.wrap{max-width:860px;padding:18px 14px calc(90px + env(safe-area-inset-bottom));margin:0 auto}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.plaque{text-align:center;background:linear-gradient(#b8894a14,#0000001f);border:1px solid #b8894a8c;border-radius:3px;padding:14px 10px 12px;box-shadow:inset 0 0 0 4px #0000002e}.plaque .eyebrow{letter-spacing:.28em;text-transform:uppercase;color:var(--brass);margin-bottom:4px;font-family:Courier Prime,monospace;font-size:11px}.plaque h1{letter-spacing:.02em;color:var(--cream-text);margin:0;font-size:clamp(30px,7vw,44px);font-weight:900}.plaque .sub{opacity:.75;margin-top:2px;font-size:14px;font-style:italic}#countdown{font-family:Courier Prime,monospace;font-size:12px;font-style:normal}.drawers{justify-content:center;gap:8px;margin:18px 0 14px;display:flex}.drawer{letter-spacing:.14em;text-transform:uppercase;max-width:180px;color:var(--ink);text-align:center;cursor:pointer;background:linear-gradient(#f3ecd9,#e2d7bb);border:1px solid #a2946f;border-radius:2px;flex:1;padding:9px 4px 8px;font-family:Courier Prime,monospace;font-size:12px;position:relative;box-shadow:0 2px #00000059}.drawer:after{content:"";background:var(--brass);opacity:.85;border-radius:2px;width:22px;height:3px;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.drawer[disabled]{opacity:.45;cursor:not-allowed}.drawer.active{outline:2px solid var(--brass);outline-offset:1px;background:linear-gradient(#fff8e6,#efe6ca)}.drawer:focus-visible{outline:2px solid var(--brass);outline-offset:2px}.drawer .dot{background:var(--stamp);border-radius:50%;width:7px;height:7px;position:absolute;top:4px;right:6px;box-shadow:0 0 0 2px #00000026}.phase{display:none}.phase.active{animation:.25s fadein;display:block}@keyframes fadein{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.lede{text-align:center;opacity:.85;margin:6px 0 14px;font-size:15px;font-style:italic}.pool{flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:6px;min-height:170px;padding:10px 6px 0;display:flex}.spine{cursor:pointer;height:var(--h);width:var(--w);touch-action:manipulation;border:none;border-radius:2px 3px 3px 2px;justify-content:center;align-items:center;padding:0;transition:transform .18s,opacity .18s;display:flex;position:relative;box-shadow:inset -4px 0 6px #00000059,inset 2px 0 2px #ffffff1f,2px 3px 5px #0006}.spine:hover{transform:translateY(-5px)}.spine:focus-visible{outline:2px solid var(--brass);outline-offset:2px}.spine .t{writing-mode:vertical-rl;text-orientation:mixed;color:#fff8e6f0;text-align:center;letter-spacing:.02em;pointer-events:none;max-height:calc(100% - 18px);padding:2px 0;font-size:11.5px;line-height:1.05;overflow:hidden}.spine.f0 .t{font-family:Fraunces,serif;font-weight:600}.spine.f1 .t{font-family:Courier Prime,monospace;font-size:10.5px;font-weight:700}.spine.f2 .t{text-transform:uppercase;letter-spacing:.08em;font-family:Fraunces,serif;font-size:10px;font-weight:900}.spine.long .t{font-size:9.5px;line-height:1}.spine.f1.long .t{font-size:9px}.spine.f2.long .t{letter-spacing:.04em;font-size:8.5px}.spine .band{pointer-events:none;background:#d4af6ecc;height:3px;position:absolute;left:0;right:0}.spine .band.top{top:9px}.spine .band.bot{bottom:9px}.spine.shelved-away{opacity:.28;cursor:default;transform:scale(.92)}.spine.picked{outline:2px solid var(--brass);outline-offset:2px}.spine.dragging{opacity:.4}.spine.drop-left{box-shadow:-4px 0 0 var(--brass), inset -4px 0 6px #00000059, 2px 3px 5px #0006}.spine.drop-right{box-shadow:4px 0 0 var(--brass), inset -4px 0 6px #00000059, 2px 3px 5px #0006}.shelf-unit{margin-top:14px}.shelf-books{justify-content:center;align-items:flex-end;gap:5px;min-height:190px;padding:0 14px;display:flex}.shelf-books .spine{touch-action:none}.slot-ghost{border:1.5px dashed #ede4ce47;border-radius:2px;align-self:flex-end;width:40px;height:150px}.plank{background:linear-gradient(180deg, var(--wood-hi), var(--wood) 40%, var(--wood-dark));border-radius:2px;height:16px;margin-top:-2px;box-shadow:0 5px 10px #00000073,inset 0 1px #ffffff26}.plank-label{text-align:center;letter-spacing:.24em;text-transform:uppercase;color:#ede4ce80;margin-top:6px;font-family:Courier Prime,monospace;font-size:10px}.book-controls{justify-content:center;gap:8px;min-height:40px;margin-top:10px;display:flex}.ctl{color:var(--cream-text);cursor:pointer;background:0 0;border:1px solid #ede4ce66;border-radius:2px;min-width:44px;min-height:44px;padding:7px 14px;font-family:Courier Prime,monospace;font-size:13px}.ctl:hover{border-color:var(--brass);color:var(--brass)}.ctl:focus-visible{outline:2px solid var(--brass);outline-offset:2px}.card{background:repeating-linear-gradient(180deg, transparent 0 25px, var(--paper-line) 25px 26px), var(--paper);color:var(--ink);border-radius:3px;max-width:460px;margin:16px auto 0;padding:16px 18px 14px;font-family:Courier Prime,monospace;position:relative;box-shadow:0 6px 14px #0006}.card:before{content:"";background:var(--wall-deep);border-radius:50%;width:14px;height:14px;position:absolute;bottom:8px;left:50%;transform:translate(-50%);box-shadow:inset 0 1px 2px #0009}.card .chead{letter-spacing:.22em;text-transform:uppercase;color:#7d6f52;border-bottom:1.5px solid var(--ink);justify-content:space-between;margin-bottom:8px;padding-bottom:4px;font-size:10px;display:flex}.card .poemline{min-height:26px;font-size:14.5px;line-height:26px}.card .poemline .idx{color:#9c8c66;margin-right:8px;font-size:11px}.card .byline{color:#6b5d41;margin-top:8px;font-family:Fraunces,serif;font-size:12px;font-style:italic}.stamp{border:2.5px solid var(--stamp);color:var(--stamp);letter-spacing:.14em;text-transform:uppercase;opacity:.9;mix-blend-mode:multiply;pointer-events:none;border-radius:3px;padding:3px 8px;font-family:Courier Prime,monospace;font-size:13px;font-weight:700;position:absolute;top:34px;right:12px;transform:rotate(-9deg)}.stamp.hidden{display:none}@keyframes thunk{0%{opacity:0;transform:rotate(-9deg)scale(2.1)}70%{opacity:1;transform:rotate(-9deg)scale(.95)}to{transform:rotate(-9deg)scale(1)}}.stamp.thunk{animation:.35s ease-out thunk}.signrow{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px;display:flex}.signrow input{color:var(--cream-text);background:#efe6d014;border:1px solid #ede4ce66;border-radius:2px;width:210px;padding:9px 12px;font-family:Courier Prime,monospace;font-size:14px}.signrow input::placeholder{color:#ede4ce73}.btn-primary{letter-spacing:.03em;background:var(--brass);color:#231708;cursor:pointer;border:none;border-radius:2px;min-height:44px;padding:10px 22px;font-family:Fraunces,serif;font-size:15px;font-weight:600;box-shadow:0 3px #00000059}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.btn-primary:focus-visible{outline:2px solid var(--cream-text);outline-offset:2px}.btn-quiet{letter-spacing:.08em;color:var(--cream-text);opacity:.8;cursor:pointer;background:0 0;border:1px solid #ede4ce59;border-radius:2px;min-height:44px;padding:8px 14px;font-family:Courier Prime,monospace;font-size:12px}.btn-quiet:hover{border-color:var(--brass);color:var(--brass);opacity:1}.btn-quiet:focus-visible{outline:2px solid var(--brass);outline-offset:2px}.ballot{flex-direction:column;align-items:center;gap:14px;display:flex}.contender{width:100%;max-width:470px}.contender .mini{justify-content:center;align-items:flex-end;gap:3px;min-height:96px;display:flex}.contender .mini .spine{cursor:default}.contender .mini .spine:hover{transform:none}.contender .plank{max-width:340px;margin:0 auto}.vs{color:var(--brass);font-family:Fraunces,serif;font-size:18px;font-style:italic}.votebtn{width:100%;margin-top:8px}.votecount{letter-spacing:.18em;text-transform:uppercase;opacity:.6;text-align:center;margin-top:14px;font-family:Courier Prime,monospace;font-size:11px}.rank-toggle{justify-content:center;gap:8px;margin-bottom:12px;display:flex}.rank-row{background:#0000002e;border:1px solid #ede4ce24;border-radius:3px;align-items:baseline;gap:12px;margin-bottom:8px;padding:10px 14px;display:flex}.rank-row .pos{color:var(--brass);min-width:30px;font-family:Fraunces,serif;font-size:20px;font-weight:900}.rank-row .who{overflow-wrap:anywhere;min-width:90px;font-family:Courier Prime,monospace;font-size:13px}.rank-row .ppoem{opacity:.9;flex:1;font-size:13.5px;font-style:italic}.rank-row .rec{opacity:.65;white-space:nowrap;font-family:Courier Prime,monospace;font-size:11px}.rank-row.mine{border-color:var(--brass)}.final-badge{letter-spacing:.18em;text-transform:uppercase;color:var(--stamp);border:1.5px solid var(--stamp);border-radius:2px;margin-left:8px;padding:1px 6px;font-family:Courier Prime,monospace;font-size:10px;display:inline-block;transform:rotate(-2deg)}.stat-grid{grid-template-columns:repeat(3,1fr);gap:8px;max-width:470px;margin:0 auto 14px;display:grid}.stat-tile{text-align:center;background:#0000002e;border:1px solid #ede4ce24;border-radius:3px;padding:12px 8px}.stat-tile .num{color:var(--brass);font-family:Fraunces,serif;font-size:26px;font-weight:900}.stat-tile .lbl{letter-spacing:.16em;text-transform:uppercase;opacity:.6;margin-top:2px;font-family:Courier Prime,monospace;font-size:9.5px}.history-row{background:#0000002e;border:1px solid #ede4ce24;border-radius:3px;max-width:470px;margin-bottom:8px;margin-left:auto;margin-right:auto;padding:10px 14px}.history-row .hhead{letter-spacing:.1em;text-transform:uppercase;opacity:.65;justify-content:space-between;margin-bottom:4px;font-family:Courier Prime,monospace;font-size:11px;display:flex}.history-row .hpoem{opacity:.92;font-size:13.5px;font-style:italic}.colophon{background:#00000024;border:1px solid #ede4ce2e;border-radius:3px;max-width:460px;margin:12px auto 0;font-family:Courier Prime,monospace}.colophon summary{cursor:pointer;letter-spacing:.14em;text-transform:uppercase;color:#ede4cea6;align-items:center;min-height:44px;padding:12px 14px;font-size:11px;display:flex}.colophon summary:hover{color:var(--brass)}.colophon summary:focus-visible{outline:2px solid var(--brass);outline-offset:2px}.colophon ol{margin:0;padding:2px 16px 12px 34px}.colophon li{opacity:.85;font-family:Fraunces,serif;font-size:12px;font-style:italic;line-height:1.7}.calendar{background:#0000002e;border:1px solid #ede4ce24;border-radius:3px;max-width:470px;margin:0 auto 14px;padding:12px 14px}.cal-label{letter-spacing:.18em;text-transform:uppercase;opacity:.65;text-align:center;margin-bottom:8px;font-family:Courier Prime,monospace;font-size:11px}.cal-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cal-head{opacity:.45;text-align:center;font-family:Courier Prime,monospace;font-size:9px}.cal-day{aspect-ratio:1;opacity:.55;border-radius:2px;justify-content:center;align-items:center;font-family:Courier Prime,monospace;font-size:11px;display:flex}.cal-day.played{background:var(--brass);color:#231708;opacity:1;font-weight:700;box-shadow:inset 0 -2px #00000040}.push-card{background:#0000002e;border:1px solid #ede4ce24;border-radius:3px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;max-width:470px;margin:0 auto 14px;padding:12px 14px;display:flex}.push-text{opacity:.85;flex:1;min-width:200px;font-size:13px;font-style:italic}.notice{text-align:center;opacity:.75;padding:26px 10px;font-size:15px;font-style:italic}.error-box{text-align:center;background:#b03a2e1f;border:1px solid #b03a2e80;border-radius:3px;max-width:420px;margin:10px auto;padding:20px 12px;font-size:14px}.error-box .btn-quiet{margin-top:10px}.banner{text-align:center;color:#e3c27a;background:#b03a2e2e;border:1px solid #b03a2e66;border-radius:2px;margin-top:10px;padding:6px 10px;font-family:Courier Prime,monospace;font-size:11px;display:none}.banner.show{display:block}.skeleton{background:#ede4ce14;border-radius:3px;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,#0000,#ede4ce17,#0000);animation:1.3s infinite shimmer;position:absolute;inset:0}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.skel-pool{max-width:600px;height:170px;margin:10px auto 0}.skel-row{max-width:470px;height:52px;margin:0 auto 8px}.toast{left:50%;bottom:calc(22px + env(safe-area-inset-bottom));background:var(--paper);color:var(--ink);z-index:50;text-align:center;border-radius:3px;max-width:90vw;padding:9px 16px;font-family:Courier Prime,monospace;font-size:13px;transition:transform .25s;position:fixed;transform:translate(-50%)translateY(120px);box-shadow:0 6px 14px #00000080}.toast.show{transform:translate(-50%)translateY(0)}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media (width<=520px){.wrap{padding:10px 10px calc(60px + env(safe-area-inset-bottom))}.plaque{padding:8px 8px 7px;box-shadow:inset 0 0 0 3px #0000002e}.plaque h1{font-size:24px}.plaque .eyebrow{letter-spacing:.22em;margin-bottom:2px;font-size:9px}.plaque .sub .tagline{display:none}.plaque .sub{margin-top:0;font-size:12px}.drawers{margin:10px 0 8px}.drawer{letter-spacing:.1em;min-height:44px;padding:13px 4px 12px;font-size:11px}.lede{display:none}.pool{flex-flow:column;gap:5px;min-height:0;padding:2px 2px 0}.spine.flat{border-radius:3px 3px 2px 2px;width:100%;height:44px;box-shadow:inset 0 -5px 8px #00000059,inset 0 2px 2px #ffffff1f,2px 2px 4px #0006}.spine.flat .t{writing-mode:horizontal-tb;text-orientation:initial;-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;max-width:calc(100% - 34px);max-height:none;padding:0;font-size:13.5px;line-height:1.15;display:-webkit-box;overflow:hidden}.spine.flat.long .t{font-size:12px}.spine.flat .band{width:3px;height:auto;top:6px;bottom:6px}.spine.flat .band.top{left:auto;right:9px}.spine.flat .band.bot{left:9px;right:auto}.spine.flat:hover{transform:none}.shelf-books .spine{height:calc(var(--h)*.7);width:calc(var(--w)*.85)}.shelf-books{min-height:128px;padding:0 6px}.slot-ghost{width:32px;height:100px}.spine .t{font-size:10px}.plank-label{display:none}.book-controls{min-height:0;margin-top:6px}.ctl{padding:8px 12px;font-size:12px}.card{background:repeating-linear-gradient(180deg, transparent 0 19px, var(--paper-line) 19px 20px), var(--paper);margin-top:10px;padding:10px 12px 14px}.card .poemline{min-height:20px;font-size:12.5px;line-height:20px}.card:before{width:10px;height:10px;bottom:5px}.card .byline{margin-top:4px;font-size:11px}.stamp{padding:2px 6px;font-size:11px;top:24px}.signrow{margin-top:10px}.signrow input{width:168px;min-height:44px;padding:10px;font-size:13px}.btn-primary{min-height:44px;padding:8px 16px;font-size:14px}.contender .mini,.contender .plank{display:none}.ballot{gap:8px}.vs{font-size:14px;line-height:1}.contender .card{background:repeating-linear-gradient(180deg, transparent 0 17px, var(--paper-line) 17px 18px), var(--paper);margin-top:0;padding:8px 12px 12px}.contender .card .poemline{min-height:18px;font-size:12px;line-height:18px}.contender .card .chead{margin-bottom:4px;padding-bottom:3px}.contender .card:before{display:none}.votebtn{margin-top:6px}.votecount{margin-top:8px}.rank-row{flex-wrap:wrap;padding:8px 10px}.rank-row .ppoem{flex-basis:100%}.stat-grid{gap:6px}.stat-tile .num{font-size:22px}}
