/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.start{inset-inline-start:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.contents{display:contents}.hidden{display:none}.table{display:table}.shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.rounded{border-radius:.25rem}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--desk:#c28a54;--desk-dark:#8d5f39;--ink:#29231d;--blue-pen:#315f9e;--red-marker:#c8443c;--paper:#fffaf0;--classroom:#a9b1ad;--font-marked:"Marker Felt", "Comic Sans MS", cursive;--font-body:ui-rounded, "SF Pro Rounded", system-ui, sans-serif;--font-utility:"Avenir Next", Avenir, system-ui, sans-serif}*{box-sizing:border-box}html{background:var(--classroom);min-width:320px;min-height:100%}body{min-height:100vh;color:var(--ink);background-color:var(--desk);font-family:var(--font-body);margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:var(--blue-pen);text-underline-offset:.2em}:focus-visible{outline:3px solid var(--blue-pen);outline-offset:3px}.desk-shell{isolation:isolate;background-color:var(--desk);width:min(100%,76rem);min-height:100vh;box-shadow:0 0 0 9999px var(--classroom);border-inline:1px solid #29231d2e;margin:0 auto;padding:1.25rem 1rem 2.5rem;position:relative;overflow:hidden}.desk-shell:before,.desk-shell:after{z-index:-1;content:"";pointer-events:none;position:absolute}.desk-shell:before{background:var(--desk-dark);width:9rem;height:1px;top:9%;right:5%;transform:rotate(-7deg);box-shadow:-3rem 15rem #8d5f39bf,-30rem 30rem #8d5f398c,-8rem 42rem #8d5f3999}.desk-shell:after{border:2px solid #29231d29;border-top-color:#0000;border-radius:50%;width:5rem;height:2rem;bottom:5%;left:4%;transform:rotate(8deg)}.home-shell{align-content:center;gap:1.4rem;display:grid}.home-heading{text-align:center;width:fit-content;margin:0 auto;position:relative;transform:rotate(-1deg)}.home-heading h1,.wordmark{font-family:var(--font-marked);letter-spacing:.025em;margin:0;font-weight:600}.home-heading h1{color:var(--ink);font-size:clamp(3.35rem,14vw,6.5rem);line-height:.9}.tagline{color:var(--red-marker);font-family:var(--font-marked);margin:.7rem 0 0;font-size:clamp(1.05rem,4vw,1.45rem)}.hand-note{color:var(--blue-pen);font-family:var(--font-marked);margin:0;font-size:.9rem}.pencil-line{background:var(--ink);opacity:.65;border-radius:999px;width:min(25vw,13rem);height:.55rem;position:absolute;top:1.9rem;left:8%;transform:rotate(2deg);box-shadow:0 3px #fffaf080}.pencil-line:after{border-top:.28rem solid #0000;border-bottom:.28rem solid #0000;border-left:.8rem solid var(--ink);content:"";width:0;height:0;position:absolute;right:-.7rem}.home-forms{gap:1rem;width:min(100%,50rem);margin:0 auto;display:grid}.paper-form,.paper-panel,.room-slip{background-color:var(--paper);border:1px solid #29231d3d;box-shadow:.35rem .4rem #8d5f3959,inset 0 1px #fffc}.paper-form{gap:.7rem;padding:1.2rem;display:grid}.paper-form:before,.paper-panel:before{content:"";pointer-events:none;background:#c8443c47;width:1px;position:absolute;top:0;bottom:0;left:1.15rem}.paper-form,.paper-panel{position:relative}.create-form{transform:rotate(.7deg)}.join-form{transform:rotate(-.8deg)}.paper-form h2,.paper-panel h1,.rule-toggles legend{color:var(--blue-pen);font-family:var(--font-marked);font-weight:600}.paper-form h2{margin:0 0 .15rem;font-size:1.45rem}.paper-form label{color:#29231dc7;font-family:var(--font-utility);letter-spacing:.07em;text-transform:uppercase;font-size:.76rem;font-weight:700}.paper-form input{width:100%;min-height:2.9rem;color:var(--ink);background:0 0;border:0;border-bottom:2px solid #315f9e73;border-radius:0;padding:.65rem .75rem}.paper-form input:focus{border-bottom-color:var(--blue-pen)}.room-code-input{letter-spacing:.16em;text-transform:uppercase}.paper-form button,.start-button{border:2px solid var(--ink);background-color:var(--ink);min-height:3rem;color:var(--paper);font-family:var(--font-utility);cursor:pointer;box-shadow:3px 3px 0 var(--desk-dark);font-weight:700}.paper-form button{margin-top:.45rem}button:disabled{cursor:not-allowed;opacity:.48;box-shadow:none}.paper-form button:not(:disabled):active,.start-button:not(:disabled):active,.quiet-button:not(:disabled):active{box-shadow:1px 1px 0 var(--desk-dark);translate:1px 1px}.form-error{color:#8d231e;font-family:var(--font-utility);margin:.15rem 0 0;font-size:.85rem;font-weight:600}.rules-link{width:fit-content;font-family:var(--font-utility);margin:0 auto;font-size:.86rem;font-weight:600}.room-state-shell{place-items:center;display:grid}.room-state-paper,.room-join-form{width:min(100%,32rem);transform:rotate(-.45deg)}.room-state-paper h1,.room-join-form h1{color:var(--blue-pen);font-family:var(--font-marked);margin:0 0 .8rem;font-size:1.65rem}.room-state-paper p:last-child{margin-bottom:0}.lobby-shell{flex-direction:column;gap:1rem;display:flex}.lobby-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.wordmark{color:var(--ink);font-size:1.7rem;text-decoration:none}.connection{color:#29231db8;font-family:var(--font-utility);align-items:center;gap:.45rem;margin:0;font-size:.78rem;font-weight:700;display:flex}.connection:before{border:1px solid var(--ink);background:var(--blue-pen);content:"";border-radius:50%;width:.55rem;height:.55rem}.connection-reconnecting:before{background:var(--red-marker)}.room-slip{text-align:center;align-self:center;width:min(100%,23rem);padding:1rem 1.2rem 1.15rem;transform:rotate(-1.2deg)}.room-slip>p:first-child{color:#29231da6;font-family:var(--font-utility);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:700}.room-slip strong{color:var(--blue-pen);font-family:var(--font-marked);letter-spacing:.14em;margin:.25rem 0 .65rem;font-size:clamp(2.1rem,12vw,3.4rem);line-height:1;display:block}.quiet-button{border:1px solid var(--ink);min-height:2.35rem;font-family:var(--font-utility);cursor:pointer;box-shadow:2px 2px 0 var(--desk-dark);background:0 0;padding:.35rem .9rem;font-size:.78rem;font-weight:700}.copy-feedback{color:var(--blue-pen);font-family:var(--font-utility);margin:.65rem 0 0;font-size:.8rem;font-weight:700}.lobby-grid{gap:1rem;display:grid}.paper-panel{padding:1.2rem 1.2rem 1.2rem 1.8rem}.roster-panel{transform:rotate(.35deg)}.rules-panel{transform:rotate(-.35deg)}.section-heading-row{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.8rem;display:flex}.section-heading-row h1{margin:0;font-size:1.45rem}.section-heading-row p{color:#29231da8;font-family:var(--font-utility);text-align:right;margin:0;font-size:.7rem;font-weight:700}.roster{border-top:1px solid #315f9e38;gap:0;margin:0;padding:0;list-style:none;display:grid}.roster li{border-bottom:1px solid #315f9e38;justify-content:space-between;align-items:center;gap:.8rem;min-width:0;min-height:3.25rem;display:flex}.player-identity,.player-details,.player-connection{align-items:center;display:flex}.player-identity{flex-wrap:wrap;flex:auto;gap:.45rem;min-width:0}.player-name{overflow-wrap:anywhere;word-break:break-word;min-width:0;font-weight:700}.host-badge{border:1px solid var(--blue-pen);color:var(--blue-pen);font-family:var(--font-utility);letter-spacing:.06em;text-transform:uppercase;padding:.12rem .38rem;font-size:.61rem;font-weight:800;line-height:1.2}.player-details{color:#29231d9e;font-family:var(--font-utility);text-align:right;flex-direction:column;flex:none;align-items:flex-end;gap:.2rem;font-size:.73rem}.player-connection{gap:.3rem;font-size:.66rem;font-weight:700}.player-connection-dot{border:1px solid var(--ink);background:var(--blue-pen);border-radius:50%;width:.48rem;height:.48rem}.player-reconnecting{color:var(--red-marker)}.player-reconnecting .player-connection-dot{background:var(--red-marker)}.rule-toggles{border:0;margin:0;padding:0}.rule-toggles legend{margin-bottom:.8rem;font-size:1.35rem}.rule-grid{display:grid}.rule-toggle{cursor:pointer;border-bottom:1px solid #315f9e38;justify-content:space-between;align-items:center;gap:1rem;min-height:3rem;display:flex}.rule-toggle:first-child{border-top:1px solid #315f9e38}.rule-toggle:has(input:disabled){cursor:default}.rule-toggle span{font-size:.95rem;font-weight:650}.rule-toggle input{width:1.35rem;height:1.35rem;accent-color:var(--red-marker);margin:0}.start-area{text-align:center;justify-items:center;gap:.65rem;padding:.3rem 0 0;display:grid}.start-button{background:var(--red-marker);border-color:var(--ink);width:min(100%,22rem);min-height:3.4rem;font-size:1rem}.waiting-copy{color:var(--blue-pen);font-family:var(--font-marked);margin:.5rem 0;font-size:1.05rem}.game-shell{padding-top:2rem}.game-shell header,.game-shell section,.desk-shell>form{background:var(--paper);border:1px solid #29231d38;width:min(100%,42rem);margin-inline:auto;padding:1.2rem}.game-shell section{margin-top:1rem}.game-shell button,.desk-shell>form button{min-height:2.75rem;padding-inline:1rem}.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}.game-table-shell{flex-direction:column;gap:.8rem;min-height:100svh;padding:.7rem .7rem 1rem;display:flex}.game-surface{display:contents}.game-table-header{z-index:30;grid-template-columns:1fr auto auto auto;align-items:center;gap:.5rem;min-height:2.7rem;display:grid;position:relative}.game-table-header .wordmark{font-size:1.25rem}.game-room-code{color:#29231dad;font-family:var(--font-utility);margin:0;font-size:.72rem;font-weight:700}.game-room-code strong{color:var(--blue-pen);letter-spacing:.1em}.game-table-header .connection{font-size:.68rem}.desk-icon-button{border:1px solid var(--ink);width:2.7rem;height:2.7rem;color:var(--ink);background:var(--paper);box-shadow:2px 2px 0 var(--desk-dark);cursor:pointer;border-radius:50%;place-items:center;padding:0;display:grid}.game-settings{position:relative}.settings-note{z-index:50;background:repeating-linear-gradient(#0000 0 1.65rem,#315f9e26 1.7rem),#fff09d;border:1px solid #29231d47;gap:0;width:min(18rem,100vw - 1.4rem);padding:.9rem 1rem;display:grid;position:absolute;top:calc(100% + .55rem);right:0;transform:rotate(.7deg);box-shadow:.3rem .35rem #8d5f3961}.settings-note legend{color:var(--blue-pen);font-family:var(--font-marked);padding:0 .35rem;font-size:1.1rem}.settings-note label{min-height:2.65rem;font-family:var(--font-utility);justify-content:space-between;align-items:center;gap:1rem;font-size:.82rem;font-weight:700;display:flex}.settings-note input{width:1.35rem;height:1.35rem;accent-color:var(--red-marker)}.school-desk{background:linear-gradient(90deg, transparent 0 3.3rem, #c8443c2e 3.35rem 3.42rem, transparent 3.47rem), repeating-linear-gradient(to bottom, transparent 0 2.25rem, #315f9e21 2.3rem 2.36rem), linear-gradient(104deg, #ffffff17, transparent 38%), var(--desk);min-height:clamp(31rem,70svh,48rem);box-shadow:.45rem .55rem 0 var(--desk-dark), 0 1px 0 #ffffff59 inset;transform-origin:50%;border:1px solid #29231d42;border-radius:1.1rem .65rem 1.25rem .8rem;flex:auto;position:relative;overflow:hidden;transform:rotate(-.25deg)}.school-desk:before{content:"";pointer-events:none;mix-blend-mode:multiply;background:radial-gradient(circle at 23% 31%,#29231d14 0 1px,#0000 2px) 0 0/3.6rem 4.1rem,radial-gradient(circle at 78% 72%,#29231d12 0 1px,#0000 2px) 0 0/4.7rem 3.3rem;position:absolute;inset:0}.desk-pencil{z-index:2;background:#edc954;border:1px solid #29231d73;border-radius:999px;width:8.5rem;height:.48rem;position:absolute;top:6%;left:8%;transform:rotate(7deg);box-shadow:inset 1rem 0 #d66c67,inset 1.3rem 0 #c5a898}.desk-pencil:after{content:"";border-top:.32rem solid #0000;border-bottom:.32rem solid #0000;border-left:.8rem solid #ead6ae;position:absolute;top:-.08rem;right:-.72rem}.desk-doodle{color:#315f9e59;font-family:var(--font-marked);pointer-events:none;position:absolute}.desk-doodle-one{font-size:2rem;top:18%;right:8%;transform:rotate(13deg)}.desk-doodle-two{font-size:1.1rem;text-decoration:underline;bottom:22%;left:7%;transform:rotate(-9deg)}.nearby-seats{z-index:8;pointer-events:none;margin:0;padding:0;list-style:none;position:absolute;inset:0}.game-seat{background:var(--paper);width:clamp(7rem,22vw,10.5rem);min-height:3.6rem;transform:translate(-50%, -50%) rotate(calc((360deg / var(--seat-count)) * var(--seat-index))) translateY(clamp(-16.4rem, -31vw, -11.4rem)) rotate(calc((-360deg / var(--seat-count)) * var(--seat-index)));border:1px solid #29231d42;grid-template-columns:minmax(0,auto) auto;padding:.48rem .58rem;display:grid;position:absolute;top:50%;left:50%;box-shadow:.2rem .25rem #8d5f3954}.self-seat{border:2px solid var(--blue-pen);background:#eef4ff}.seat-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.76rem;font-weight:800;overflow:hidden}.game-seat .host-badge{align-self:start;margin-left:.25rem;font-size:.47rem}.seat-count,.seat-connection{color:#29231da3;font-family:var(--font-utility);grid-column:1/-1;font-size:.58rem;font-weight:700}.seat-connection:before{border:1px solid var(--ink);background:var(--blue-pen);content:"";border-radius:50%;width:.4rem;height:.4rem;margin-right:.25rem;display:inline-block}.seat-reconnecting{color:var(--red-marker)}.seat-reconnecting:before{background:var(--red-marker)}.roster-trigger{z-index:20;background:var(--paper);min-height:2.55rem;position:absolute;top:.65rem;left:50%;transform:translate(-50%)rotate(-.8deg)}.challenge-note{z-index:20;min-width:11rem;color:var(--red-marker);font-family:var(--font-marked);text-align:center;background:#fff09d;border:1px solid #29231d3d;gap:.1rem;padding:.65rem .85rem;display:grid;position:absolute;top:18%;left:50%;transform:translate(-50%)rotate(1.6deg);box-shadow:.25rem .3rem #8d5f3952}.challenge-note span{color:var(--ink);font-size:.82rem}.pile-zone{z-index:12;width:8.5rem;height:11.7rem;position:absolute;top:50%;left:50%;translate:-50% -50%}.playing-card{backface-visibility:hidden;border:1px solid #29231d7a;border-radius:.5rem;width:7.2rem;height:10rem;margin:auto;padding:.48rem;display:grid;position:absolute;inset:0;box-shadow:.17rem .2rem #29231d47,inset 0 1px #ffffffbf}.card-face{color:var(--ink);background:#fffdf7}.red-suit{color:var(--red-marker)}.card-corner{text-align:center;place-self:start;font-family:ui-serif,Georgia,serif;font-size:.95rem;line-height:.85;display:grid}.card-suit{place-self:center;font-family:ui-serif,Georgia,serif;font-size:3rem}.card-corner-bottom{place-self:end;transform:rotate(180deg)}.card-back,.local-card-back{border:.28rem solid var(--paper);background-color:#315f9e;background-image:linear-gradient(45deg,#fffaf038 25%,#0000 25% 75%,#fffaf038 75%),linear-gradient(-45deg,#fffaf026 25%,#0000 25% 75%,#fffaf026 75%);background-size:.8rem .8rem;outline:1px solid #29231d73}.empty-pile{color:#29231d8c;font-family:var(--font-marked);text-align:center;border:2px dashed #29231d47;border-radius:.6rem;place-items:center;font-size:.78rem;display:grid;position:absolute;inset:1rem;transform:rotate(-2deg)}.marker-nope{z-index:30;border:.23rem solid var(--red-marker);color:var(--red-marker);font-family:var(--font-marked);padding:.1rem .35rem;font-size:1.3rem;font-weight:900;animation:.36s ease-out both marker-nope;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)rotate(-12deg)}.winner-tag{z-index:32;border:.2rem solid var(--blue-pen);color:var(--blue-pen);font-family:var(--font-marked);background:#fffaf0db;padding:.25rem .5rem;font-size:1rem;font-weight:900;position:absolute;top:39%;left:50%;transform:rotate(-5deg)}.pile-sweep{z-index:31;background:linear-gradient(135deg, transparent 42%, #fffaf0b8 43% 49%, transparent 50%), repeating-linear-gradient(-7deg, #315f9ec7 0 .6rem, var(--paper) .65rem .85rem);border:.25rem solid var(--paper);pointer-events:none;border-radius:.6rem;animation:.52s ease-in both pile-sweep;position:absolute;inset:0;box-shadow:.15rem .2rem #29231d3d}.local-stack{z-index:18;background:var(--paper);min-width:8rem;color:var(--ink);font:inherit;cursor:pointer;border:1px solid #29231d40;grid-template-rows:1fr 1fr;grid-template-columns:3.2rem auto;align-items:center;gap:0 .6rem;padding:.45rem .65rem;display:grid;position:absolute;bottom:1rem;left:50%;transform:translate(-50%)rotate(.8deg);box-shadow:.2rem .25rem #8d5f3957}.local-stack:not(:disabled):active{translate:1px 1px;box-shadow:.08rem .1rem #8d5f3957}.local-card-back{border-radius:.25rem;grid-row:1/3;width:2.6rem;height:3.65rem}.local-stack strong{color:var(--blue-pen);font-family:var(--font-marked);align-self:end;font-size:1.35rem;line-height:1}.local-stack>span{color:#29231da1;font-family:var(--font-utility);text-transform:uppercase;align-self:start;font-size:.62rem;font-weight:700}.game-controls{z-index:24;grid-template-columns:1fr 1.25fr;gap:.65rem;display:grid;position:relative}.game-controls button{border:2px solid var(--ink);min-height:4.25rem;color:var(--paper);font-family:var(--font-utility);letter-spacing:.03em;cursor:pointer;box-shadow:.25rem .3rem 0 var(--desk-dark);place-items:center;padding:.65rem .5rem;font-size:clamp(.78rem,3.2vw,1rem);font-weight:900;display:grid}.flip-button{background:var(--blue-pen);transform:rotate(-.45deg)}.slap-button{background:var(--red-marker);transform:rotate(.4deg)}.game-controls kbd{font-family:var(--font-utility);opacity:.78;font-size:.55rem;font-weight:600}.roster-scrim{z-index:100;background:#29231d5c;justify-content:flex-end;display:flex;position:fixed;inset:0}.roster-drawer{width:min(30rem,92vw);height:100%;overflow:auto;transform:none;box-shadow:-.5rem 0 #8d5f3961}.drawer-heading{z-index:2;background:var(--paper);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0 .8rem;display:flex;position:sticky;top:-1.2rem}.drawer-heading h2{color:var(--blue-pen);font-family:var(--font-marked);margin:0}.winner-sheet{text-align:center;flex:1;align-content:center;place-items:center;min-height:31rem;display:grid;position:relative;overflow:hidden;transform:rotate(-.45deg)}.winner-sheet h1{color:var(--red-marker);font-family:var(--font-marked);margin:.15rem 0;font-size:clamp(3rem,12vw,6rem);line-height:.95}.winner-kicker,.winner-doodle{color:var(--blue-pen);font-family:var(--font-marked)}.winner-doodle{font-size:1.8rem}.winner-actions{z-index:4;gap:.7rem;width:min(100%,20rem);margin-top:1.3rem;display:grid;position:relative}.winner-home-link{color:var(--ink);place-items:center;text-decoration:none;display:grid}.confetti{pointer-events:none;position:absolute;inset:0}.confetti i{top:-8%;left:calc((var(--confetti-index) * 5.7%) + 1%);background:var(--red-marker);width:.48rem;height:.9rem;rotate:calc(var(--confetti-index) * 19deg);animation:confetti-fall 1.8s calc(var(--confetti-index) * 35ms) ease-in both;position:absolute}.confetti i:nth-child(3n){background:var(--blue-pen)}.confetti i:nth-child(3n+1){background:#edc954}.game-error{z-index:80;color:#8d231e;background:var(--paper);border:2px solid var(--red-marker);max-width:min(24rem,100vw - 2rem);font-family:var(--font-utility);padding:.65rem .8rem;font-size:.8rem;font-weight:700;position:fixed;bottom:6rem;right:1rem}.desk-notice{z-index:79;width:max-content;max-width:min(28rem,100vw - 2rem);color:var(--blue-pen);font-family:var(--font-utility);pointer-events:none;background:#fff09d;border:1px solid #29231d40;margin:0;padding:.6rem .85rem;font-size:.78rem;font-weight:700;position:fixed;bottom:6rem;left:50%;transform:translate(-50%)rotate(-.7deg);box-shadow:.22rem .25rem #8d5f3959}.card-flick{animation:.43s cubic-bezier(.18,.75,.27,1.12) both card-flick}.penalty-slide{animation:.36s cubic-bezier(.2,.75,.32,1) both penalty-slide}.pile-thump{animation:.32s ease-out both pile-thump}.school-desk:has(.pile-thump){animation:.26s ease-out both desk-shake}.tag-stamp{animation:.36s cubic-bezier(.2,1.45,.4,1) both tag-stamp}@keyframes card-flick{0%{opacity:.3;transform:translate(var(--flick-from-x), var(--flick-from-y)) rotate(var(--flick-rotation)) scale(1.06)}72%{opacity:1;transform:translate(.2rem,-.25rem)rotate(8deg)scale(1.02)}to{opacity:1}}@keyframes penalty-slide{0%{opacity:.35;transform:translate(var(--penalty-from-x), var(--penalty-from-y)) rotate(-12deg)}to{opacity:1}}@keyframes pile-thump{0%{transform:scale(1)}50%{transform:scale(.92)}to{transform:scale(1)}}@keyframes tag-stamp{0%{opacity:0;transform:scale(1.8)rotate(-8deg)}72%{opacity:1;transform:scale(.94)rotate(2deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes pile-sweep{0%{opacity:0;translate:0}35%{opacity:1}to{opacity:.2;translate:var(--winner-x) var(--winner-y);scale:.55}}@keyframes marker-nope{0%{opacity:0;clip-path:inset(0 100% 0 0);scale:1.35}70%{opacity:1;clip-path:inset(0);scale:.96}to{opacity:1;clip-path:inset(0);scale:1}}@keyframes desk-shake{0%,to{translate:0}30%{translate:1px -1px}65%{translate:-1px 1px}}@keyframes confetti-fall{0%{opacity:0;translate:0 -2rem}12%{opacity:1}to{opacity:.9;translate:1.2rem 38rem;rotate:540deg}}@keyframes reduced-feedback{0%{opacity:.45}to{opacity:1}}@media (width<=28rem){.school-desk{min-height:46rem}.nearby-seats{grid-template-columns:repeat(2,minmax(8.5rem,1fr));gap:.3rem;display:grid;inset:3.5rem .4rem auto}.game-seat{width:100%;min-width:0;position:relative;top:auto;left:auto;transform:none}.pile-zone{top:68%}.challenge-note{top:52%}}@media (width>=42rem){.desk-shell{padding:2rem 2.4rem 3rem}.home-forms{grid-template-columns:1fr 1fr;align-items:start}.paper-form{padding:1.5rem}.lobby-grid{grid-template-columns:minmax(0,1.08fr) minmax(17rem,.92fr)}.room-slip{margin-block:.5rem}.game-table-shell{padding:1rem 1.4rem 1.25rem}.game-table-header .wordmark{font-size:1.55rem}.school-desk{min-height:clamp(34rem,72svh,49rem)}.game-controls{align-self:center;width:min(100%,45rem)}.game-controls button{min-height:4.7rem}}@media (width>=64rem){.home-shell{padding-inline:5rem}.lobby-shell{padding-inline:4rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.school-desk:has(.pile-thump){animation:none!important}.card-flick,.penalty-slide,.pile-thump,.tag-stamp,.pile-sweep,.marker-nope{animation:1ms linear both reduced-feedback!important}.confetti{display:none}}.reduced-motion *,.reduced-motion :before,.reduced-motion :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reduced-motion .school-desk:has(.pile-thump){animation:none!important}.reduced-motion .card-flick,.reduced-motion .penalty-slide,.reduced-motion .pile-thump,.reduced-motion .tag-stamp,.reduced-motion .pile-sweep,.reduced-motion .marker-nope{animation:1ms linear both reduced-feedback!important}.reduced-motion .confetti{display:none}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
