*{box-sizing:border-box}body{margin:0;color:var(--inkBrown);background:radial-gradient(ellipse at 25% 0,var(--sceneLight),transparent 70%),var(--scenePeach);font:16px/1.5 var(--body);min-width:280px}button,input,select{font:inherit}button{cursor:pointer;overflow-wrap:anywhere}button:disabled{cursor:default}h1,h2,h3,p{margin:0 0 var(--s3)}h1,h2,h3,button{font-family:var(--font)}h1{font-size:28px;line-height:1.15}h2{font-size:24px;line-height:1.2}h3{font-size:18px}p:last-child{margin-bottom:0}img{max-width:100%}button,input,select,a{touch-action:manipulation}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:4px}input,select{width:100%;min-height:52px;border:2px solid var(--woodHoney);border-radius:14px;background:var(--cardLight);color:var(--inkBrown);padding:12px;font-size:17px}label{display:block;font-weight:700;margin-bottom:var(--s2)}label input,label select{margin-top:var(--s2)}small,.muted{color:var(--muted)}small{font-size:13px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}.skip-link{position:absolute;top:-100px;left:12px;z-index:10;background:var(--cardLight);padding:16px;color:var(--inkBrown)}.skip-link:focus{top:8px}.page{width:min(100%,480px);margin:auto;padding:var(--s3) var(--s2);padding-top:max(var(--s3),env(safe-area-inset-top));padding-bottom:max(var(--s4),env(safe-area-inset-bottom))}.wood-shell{background:linear-gradient(100deg,var(--woodLight),var(--woodHoney) 12%,var(--woodLight) 45%,var(--woodHoney) 95%);border:3px solid var(--woodDark);border-radius:34px;padding:8px;box-shadow:inset 0 2px 2px var(--shine),0 5px 0 var(--woodDeep),0 12px 24px var(--shadow);min-height:400px}.wood-shell:focus{outline:none}#app{border:2px solid var(--woodDark);border-radius:24px;overflow:hidden;background:var(--woodHoney) url('assets/wood.svg');min-height:380px}.content{padding:var(--s3);display:grid;gap:var(--s4)}.page-footer{text-align:center;font-size:12px;font-weight:600;color:var(--woodDark);padding:20px 8px 8px}.brand{min-height:132px;position:relative;display:grid;place-items:center;padding:22px 12px 18px;background:var(--stageDark) url('assets/stage.svg') center/cover}.brand img{width:min(100%,330px);height:82px;object-fit:contain;filter:drop-shadow(0 4px 1px var(--shadow))}.brand-fallback{font:900 34px/1 var(--font);color:var(--sunshineLight);text-align:center;text-shadow:0 3px 0 var(--cherryDark)}.brand p{font:700 11px var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--white);margin-top:4px}.strap{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;background:var(--woodDark);color:var(--cardCream);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.heading{padding:var(--s3);display:flex;gap:var(--s2);align-items:center}.heading h1{margin:0;background:linear-gradient(var(--accentLight),var(--accent) 28%,var(--accent));border:2px solid var(--woodDark);border-radius:16px;box-shadow:inset 0 2px 0 var(--shine),0 3px 0 var(--accentDark);padding:12px 8px;text-align:center;flex:1;color:var(--white);font-size:22px}.disk{width:46px;min-width:46px;height:46px;border:2px solid var(--woodDark);border-radius:50%;font:900 28px var(--font);color:var(--woodDark);background:linear-gradient(var(--sunshineLight),var(--woodLight));box-shadow:inset 0 2px 0 var(--shine),0 3px 0 var(--woodDark)}
.btn{min-height:54px;width:100%;padding:13px 16px;border:2px solid var(--actionDark);border-radius:20px;color:var(--white);font-weight:800;font-size:17px;line-height:1.2;background:linear-gradient(var(--actionLight),var(--action) 27%,var(--action));box-shadow:inset 0 2px 0 var(--shine),inset 0 -3px 0 var(--veil),0 4px 0 var(--actionDark),0 6px 6px var(--shadow);position:relative;transition:transform var(--press),box-shadow var(--press)}.btn:hover:not(:disabled){filter:brightness(1.04)}.btn:active:not(:disabled){transform:translateY(3px);box-shadow:inset 0 2px 0 var(--shine),0 1px 0 var(--actionDark)}.btn.secondary{--action:var(--turquoiseFace);--actionLight:var(--turquoiseLight);--actionDark:var(--turquoiseDark)}.btn.accent{--action:var(--accent);--actionLight:var(--accentLight);--actionDark:var(--accentDark)}.btn.paper{--action:var(--cardCream);--actionLight:var(--cardLight);--actionDark:var(--woodHoney);color:var(--inkBrown)}.btn:disabled{background:var(--disabled);border-color:var(--muted);color:var(--disabledInk);box-shadow:inset 0 1px 0 var(--shine);transform:none}.btn[aria-busy=true]::after{content:'';display:inline-block;width:14px;height:14px;margin-left:10px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.confirmed{color:var(--success);font-weight:800;background:var(--cardLight);padding:12px;border-radius:12px;border:2px solid var(--success);text-align:center}.card{padding:var(--s4);background:linear-gradient(120deg,var(--cardLight),var(--cardCream));border:2px solid var(--cardEdge);border-radius:20px;box-shadow:inset 0 0 0 3px var(--cardCream),0 3px 0 var(--woodHoney),0 5px 8px var(--shadow);overflow-wrap:anywhere}.card> :last-child{margin-bottom:0}.eyebrow{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);margin-bottom:8px}.center{text-align:center}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tile{--tile:var(--turquoise);--tileLight:var(--turquoiseLight);--tileDark:var(--turquoiseFace);position:relative;display:flex;flex-direction:column;align-items:center;justify-content:end;min-width:0;min-height:134px;border:2px solid var(--tileDark);border-radius:21px;padding:8px;background:linear-gradient(135deg,var(--tileLight),var(--tile) 50%);box-shadow:inset 0 2px 2px var(--shine),inset 0 -5px 0 var(--veil),0 4px 0 var(--tileDark),0 6px 6px var(--shadow);color:var(--inkBrown);transition:transform var(--press)}.tile[data-id=job],.tile[data-id=ntl]{--tile:var(--sunshine);--tileLight:var(--sunshineLight);--tileDark:var(--sunshineDark)}.tile[data-id=pitch]{--tile:var(--leaf);--tileLight:var(--leafLight);--tileDark:var(--leafDark)}.tile[data-id=salon]{--tile:var(--cherry);--tileLight:var(--cherryLight);--tileDark:var(--cherryDark)}.tile[data-id=case]{--tile:var(--violet);--tileLight:var(--violetLight);--tileDark:var(--violetDark)}.tile img{width:100%;height:84px;object-fit:contain;filter:drop-shadow(0 3px 2px var(--shadow))}.tile span{display:block;background:var(--cardLight);border-radius:8px;padding:3px 7px;font-size:14px;font-weight:900;text-align:center;line-height:1.25;max-width:100%}.tile[aria-pressed=true]{outline:3px solid var(--focus);outline-offset:2px}.tile[aria-pressed=true]::before{content:'✓';position:absolute;right:7px;top:7px;border-radius:50%;width:24px;height:24px;background:var(--focus);color:var(--white);font-weight:900}.tile:active{transform:translateY(3px)}.tile:disabled{filter:grayscale(1);opacity:.65}.tile.wide{grid-column:1/-1;min-height:80px;flex-direction:row;justify-content:center;gap:16px}.tile.wide img{width:85px;height:66px}.tile.wide span{font-size:17px}.stack{display:grid;gap:var(--s3)}.row{display:flex;gap:var(--s2);align-items:center}.row>*{min-width:0}.row .btn{flex:1}.spread{justify-content:space-between}.room-code{font:900 32px/1.2 var(--font);letter-spacing:.15em}.badge{display:inline-block;border-radius:8px;padding:4px 8px;background:var(--cardCream);color:var(--inkBrown);font-size:12px;font-weight:800}.notice{padding:12px 16px;border:2px solid var(--woodHoney);background:var(--cardLight);border-radius:14px;font-size:14px;overflow-wrap:anywhere}.notice.error{color:var(--error);border-color:var(--error)}.notice.network{border-color:var(--turquoiseFace);color:var(--turquoiseDark)}.notice button{margin-top:10px}
.stage{position:relative;isolation:isolate;min-height:190px;display:grid;place-items:center;padding:16px 24px 30px;background:var(--stageDark) url('assets/stage.svg') center/100% 100%;border-radius:18px;overflow:hidden}.stage::after{content:'';position:absolute;z-index:-1;width:72%;height:24px;border-radius:50%;bottom:13px;background:linear-gradient(var(--woodLight),var(--woodHoney));box-shadow:0 7px 0 var(--woodDark),0 12px 5px var(--shadow);border:2px solid var(--brass)}.stage img{width:180px;height:150px;object-fit:contain;filter:drop-shadow(0 6px 3px var(--shadow))}.stage .art-caption{color:var(--white);font-size:12px;position:absolute;top:10px;left:12px;right:12px;text-align:center}.stage .fallback-object{font-size:52px;color:var(--sunshineLight);font-weight:900}.lot-title{font-size:22px;text-align:center}.kicker{text-align:center;font-size:13px;color:var(--muted)}.tags{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;margin:8px 0}.budget{border-top:1px solid var(--cardEdge);text-align:center;margin-top:16px;padding-top:12px}.budget strong{display:block;font:900 30px/1.2 var(--font);font-variant-numeric:tabular-nums}.stepper{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;gap:8px;align-items:center}.stepper .btn{padding:8px;font-size:30px;border-radius:16px}.stepper input{text-align:center;font:900 32px var(--font);font-variant-numeric:tabular-nums;min-height:62px;padding:8px 0;border-color:var(--woodHoney)}.bid-format{font-weight:800;text-align:center;margin-top:8px}.seat-list{list-style:none;margin:0;padding:0}.seat-list li{display:flex;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid var(--cardEdge)}.seat-list li:last-child{border:0}.seat-name{flex:1;overflow-wrap:anywhere}.seat-name small{display:block}.seat-token{width:32px;height:32px;flex-shrink:0;display:grid;place-items:center;background:var(--woodDark);border:2px solid var(--brass);border-radius:50%;color:var(--cardLight);font-weight:800}.seat-value{text-align:right;font-weight:700;font-size:14px;max-width:47%}.seat-value small{display:block}.clock{font-variant-numeric:tabular-nums;font-weight:800}summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:8px;font-weight:800}summary::before{content:'+'}details[open]>summary::before{content:'−'}.clue{font-size:17px;line-height:1.65;padding:14px 0;border-bottom:1px solid var(--cardEdge)}.clue:last-child{border:0}.form-grid{display:grid;gap:12px}.form-grid fieldset{min-width:0;border:0;padding:0;margin:0}.form-grid legend{font-weight:800;margin-bottom:8px}.option{display:flex;align-items:flex-start;gap:8px;padding:10px;border:1px solid var(--cardEdge);border-radius:12px;margin-bottom:8px;min-height:48px;background:var(--cardLight);font-size:15px}.option input{width:22px;min-height:22px;height:22px;flex-shrink:0;margin:0;accent-color:var(--accent)}.option.eliminated{background:var(--disabled);color:var(--disabledInk)}.option small{display:block}
.bid-reveal{perspective:800px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.flip{position:relative;min-height:126px;transform-style:preserve-3d;animation:flip-in 700ms var(--ease) both;animation-delay:200ms}.flip-face{height:100%;min-height:126px;backface-visibility:hidden;border:2px solid var(--brass);border-radius:18px;background:var(--cardCream);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px;text-align:center;gap:8px}.flip-face strong{font:900 26px var(--font);overflow-wrap:anywhere}.flip-back{position:absolute;inset:0;transform:rotateY(180deg);background:var(--accent);color:var(--white);font-weight:800;font-size:22px}.reveal-theatre{text-align:center;background:var(--stageDark) url('assets/stage.svg') center/cover;border-radius:18px;padding:16px;color:var(--white)}.reveal-theatre h2{color:var(--white)}.hammer{width:95px;height:90px;transform-origin:80% 80%;animation:hammer-fall 650ms var(--ease) both;animation-delay:850ms}.reveal-theatre .plinth{height:12px;width:110px;margin:-10px auto 14px;border-radius:50%;background:var(--woodLight);box-shadow:0 5px 0 var(--woodDark)}.reveal-note{animation:show-verdict 1.7s both}.replay .flip,.replay .hammer,.replay .reveal-note{animation:none!important}.result-metric{font:900 36px/1.2 var(--font);margin:8px 0}.result-list{display:grid;gap:12px}.result-list .card{box-shadow:none}.pillar-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pillar-grid div{background:var(--cardCream);padding:8px;border-radius:10px;font-size:14px}.verdict-stamp{display:inline-block;font-weight:900;letter-spacing:.08em;border:3px solid currentColor;border-radius:8px;padding:6px 12px;color:var(--success);transform:rotate(-4deg);margin:12px 0}.verdict-stamp.fake{color:var(--error)}.large-count{font:900 64px/1 var(--font);font-variant-numeric:tabular-nums}.switch{display:flex;align-items:center;gap:8px;font-size:13px;margin:0}.switch input{width:20px;min-height:20px;height:20px;margin:0}.plain-link{border:0;background:transparent;min-height:44px;color:var(--inkBrown);font-size:14px;font-weight:700;text-decoration:underline;padding:8px}.art-off .object-art,.art-off .brand img{display:none}.art-off .brand-fallback{display:block!important}.art-off .stage{min-height:100px}.art-off .stage .fallback-object{display:block!important}.art-off .tile{min-height:72px}.art-off .brand,.art-off .stage,.art-off .reveal-theatre{background-image:none}.art-off #app{background-image:none}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes flip-in{from{transform:rotateY(180deg)}to{transform:rotateY(0)}}@keyframes hammer-fall{0%{transform:rotate(-38deg)}60%{transform:rotate(12deg)}80%{transform:rotate(-6deg)}100%{transform:rotate(0)}}@keyframes show-verdict{0%,75%{opacity:0}100%{opacity:1}}
@media(min-width:600px){.page{padding-top:32px}.wood-shell{padding:12px}.content{padding:16px}.tile{min-height:155px}.tile img{height:100px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.flip{transform:none}}

/* Rendered velvet is decorative; CSS retains a complete fallback. */
.brand,.stage,.reveal-theatre{background-image:url('assets/stage.webp')}.brand p{background:var(--woodDark);border-radius:8px;padding:4px 8px}.reveal-theatre h2,.reveal-theatre .reveal-note{background:var(--stageDark);border-radius:10px;padding:8px}.stage .art-caption{background:var(--stageDark);border-radius:6px}.switch{min-height:44px}.art-off .brand,.art-off .stage,.art-off .reveal-theatre{background-image:none}

/* Larger miniatures and labels printed directly onto the coloured tiles. */
.tile { min-height:170px; padding:8px 6px 12px; }
.tile img { height:116px; }
.tile span {
  background:transparent;
  border-radius:0;
  padding:4px 0 0;
  font-size:20px;
  line-height:1.2;
  color:var(--inkBrown);
}
.tile[data-id=salon] span,
.tile[data-id=case] span { color:var(--white); }
.grid { grid-auto-rows:1fr; }
.tile[data-id=oil] { --tile:var(--amber); --tileLight:var(--amberLight); --tileDark:var(--amberFace); }
.pitcher-panel { border-color:var(--brass); }
.appraisal-values { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s2); margin:var(--s4) 0; }
.appraisal-values div { padding:var(--s2); border-top:2px solid var(--brass); }
.appraisal-values dt { color:var(--muted); font-size:14px; font-weight:700; }
.appraisal-values dd { margin:0; font:900 28px/1.5 var(--font); overflow-wrap:anywhere; }
.appraisal .verdict-stamp { color:var(--amberFace); }

/* The gavel sits behind the lettering, leaving the full title width on phones. */
.brand-lockup { position:relative; width:min(100%,330px); padding-top:40px; }
.brand .brand-wordmark { position:relative; z-index:1; display:block; }
.brand .brand-gavel { position:absolute; right:2px; top:-16px; width:100px; height:80px; object-fit:contain; }
.art-off .brand-lockup { padding-top:0; }
.brand .brand-wordmark { height:auto; width:100%; }
.brand .brand-fallback { font-size:30px; line-height:1.1; padding:var(--s3) 0; }

.shootout-board { padding:var(--s4); border:2px solid var(--brass); border-radius:var(--radius); background:var(--woodDark); color:var(--white); text-align:center; box-shadow:0 4px 0 var(--woodDeep); }
.shootout-board .eyebrow { color:var(--cardCream); }
.shootout-score { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:var(--s2); align-items:center; }
.shootout-score div { min-width:0; }
.shootout-score span { overflow-wrap:anywhere; font-weight:700; }
.shootout-score strong { display:block; font:900 48px/1.4 var(--font); font-variant-numeric:tabular-nums; }
.shootout-status { margin-top:var(--s3); color:var(--cardCream); font-weight:800; }
.shootout-kicks { list-style:none; padding:0; margin:0; }
.shootout-log { max-height:44svh; overflow-y:auto; scrollbar-gutter:stable; padding:var(--s1); }
.shootout-log:focus-visible { outline:3px solid var(--focus); outline-offset:2px; }
.shootout-kick { display:flex; gap:var(--s3); align-items:center; padding:var(--s3) 0; border-bottom:1px solid var(--cardEdge); }
.shootout-kick:last-child { border-bottom:0; }
.shootout-kick div { min-width:0; overflow-wrap:anywhere; }
.shootout-kick small { display:block; }
.kick-mark { flex:none; width:36px; height:36px; display:grid; place-items:center; border:2px solid currentColor; border-radius:50%; font-weight:900; }
.kick-mark.scored { color:var(--success); }
.kick-mark.not-scored { color:var(--error); }
.result-list .shootout-champion { border:3px solid var(--brass); background:var(--cardLight); box-shadow:inset 0 0 0 3px var(--cardCream); }

.kick-hero { text-align:center; }
.kick-hero.sudden-death { border:3px solid var(--error); }
.kick-hero.sudden-death>.eyebrow { color:var(--error); }
.kick-hero.decisive-kick { box-shadow:inset 0 0 0 3px var(--brass),0 4px 0 var(--woodDark); }
.kick-picture { background:var(--leafDark); border:3px solid var(--woodHoney); border-radius:18px; overflow:hidden; margin:var(--s3) 0; }
.kick-picture svg { display:block; width:100%; height:auto; }
.goal-turf { fill:var(--leafDark); }
.pitch-line { fill:none; stroke:var(--leafLight); stroke-width:2; }
.goal-net { fill:none; stroke:var(--leafLight); stroke-width:1; }
.goal-frame { fill:none; stroke:var(--cardLight); stroke-width:7; stroke-linejoin:round; }
.penalty-spot,.ball-shell { fill:var(--cardLight); }
.ball-shell { stroke:var(--woodDeep); stroke-width:1.5; }
.ball-panel { fill:var(--woodDeep); }
.keeper-gloves { fill:var(--sunshine); stroke:var(--woodDark); stroke-width:2; }
.ball-trail { fill:none; stroke:var(--sunshineLight); stroke-width:2; stroke-dasharray:4 5; }
.visual-key { display:block; color:var(--cardLight); font-size:11px; padding:var(--s1); }
.kick-commentary { font:900 24px/1.25 var(--font); color:var(--inkBrown); }
.kick-symbol { display:inline-block; }
.kick-panenka { border-color:var(--brass); box-shadow:0 0 0 3px var(--sunshine); }
.kick-panenka+.kick-commentary { color:var(--amberDark); }
.shootout-kick p { margin:var(--s1) 0; font-weight:700; }
.shootout-kick .kick-picture { max-width:240px; }
.dossier { border-top:5px solid var(--brass); }
.dossier-record { white-space:pre-wrap; overflow-wrap:anywhere; }
.seat-list li { flex-wrap:wrap; }
.seat-controls { display:flex; gap:var(--s2); width:100%; padding-left:40px; }
.seat-controls .btn { width:auto; flex:1; min-height:44px; font-size:13px; padding:var(--s2); border-radius:12px; }
.moderation-dialog { width:calc(100% - 32px); max-width:390px; max-height:calc(100dvh - 32px); overflow-y:auto; color:var(--inkBrown); }
.moderation-dialog::backdrop { background:var(--shadow); }
.moderation-name { font-weight:800; overflow-wrap:anywhere; }
.kick-landed .shot-ball { animation:shot-arrival 180ms var(--ease) both; transform-box:fill-box; transform-origin:center; }
@keyframes shot-arrival { from{opacity:0} to{opacity:1} }

