:root{color:#2b1b12;background:#20170f;font-family:Inter,ui-rounded,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button{font:inherit}.game-shell{background:radial-gradient(circle at 50% 20%,#76533a,#20170f 75%);grid-template:auto 1.9rem minmax(8rem,1fr) 20vh/7.5rem minmax(0,1fr) 10rem 7.5rem;gap:.55rem;height:100dvh;padding:.65rem;display:grid;overflow:hidden}.match-header{grid-area:1/1/auto/-1;align-items:center;gap:.6rem;min-width:0;display:flex}.menu-button,.progress,.orders button,.return-button,.board-nav{color:#fff7e8;background:#352319e8;border:1px solid #f4d9ac55;border-radius:999px;min-height:2.75rem}.menu-button{width:2.75rem}.progress{flex:1;grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;padding:.35rem 1rem;display:grid}.progress-track{background:#fff3;border-radius:1rem;height:.7rem;overflow:hidden}.progress-fill{background:#f6a53a;width:0%;height:100%;display:block}.phase-timer{color:#fff7e8;font-variant-numeric:tabular-nums;text-align:center;background:#352319e8;border:1px solid #f4d9ac55;border-radius:999px;flex:none;min-width:4.6rem;padding:.55rem .75rem}.phase-timer.urgent{color:#fff;background:#8b3029;border-color:#ff7c6f}.phase-hint-bar{color:#fff7e8aa;grid-area:2/1/auto/-1;place-items:center;min-width:0;font-size:.82rem;display:grid}.phase-hint-bar span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.action-bar{color:#fff7e8aa;background:#1b120b88;border-radius:1rem;grid-area:4/1/auto/-1;align-content:center;place-items:center;min-width:0;min-height:0;display:grid;overflow:auto}.phase-lock{display:contents}.tile-tray-content{color:#fff7e8;flex-wrap:wrap;justify-content:center;align-items:center;gap:.8rem 1.1rem;width:100%;min-width:0;padding:.35rem;display:flex}.tile-hand,.tile-controls{align-items:center;gap:.65rem;display:flex}.tile-card{display:grid}.tile-card.selected .tile-face{filter:drop-shadow(0 0 .32rem #ffca58)drop-shadow(0 0 .12rem #ffca58)}.tile-select,.tile-controls button{color:#fff7e8;min-height:2.4rem}.tile-select{padding:.15rem .15rem calc(.15rem + var(--tile-cell-height,1.8rem) * .1);cursor:grab;touch-action:none;background:0 0;border:0;place-items:center;display:grid}.tile-select:focus-visible{outline-offset:.2rem;outline:3px solid #ffca58}.tile-select:active{cursor:grabbing}.tile-card select{color:#2b1b12;max-width:6.5rem}.tile-card.dragging{visibility:hidden}.tile-face{place-content:center;gap:2px;display:grid}.tile-cell{box-shadow:0 calc(var(--tile-cell-height,1.8rem) * .1) 0 #3b241a, 0 .18rem .35rem #0006;font-size:clamp(.68rem, calc(var(--tile-cell-height,1.8rem) * .38), 1rem);border:2px solid #593929;border-radius:.14rem;place-items:center;font-weight:800;display:grid}.tile-controls{flex-wrap:wrap}.tile-controls button{background:#3b281c;border:1px solid #fff3;border-radius:.5rem;padding:.35rem .65rem}.tile-controls .primary-action{background:#a85c24}.tile-controls button:disabled{opacity:.5}.setup-tile-preview{color:#fff7e8;flex-wrap:wrap;justify-content:center;align-items:center;gap:.8rem;width:100%;padding:.3rem;display:flex}.setup-tile-preview>span{white-space:nowrap}.draft-workbench{gap:.7rem}.draft-destinations{flex-wrap:wrap;justify-content:center;align-items:stretch;gap:.45rem;display:flex}.pass-slot{min-width:calc(var(--tile-cell-width,2.25rem) * 3 + .8rem);min-height:calc(var(--tile-cell-height,1.8rem) * 2 + 1.5rem);color:#fff7e8;cursor:pointer;background:0 0;border:2px dashed #e0c08a88;border-radius:.4rem;place-items:center;gap:.1rem;padding:.2rem .35rem;font-size:.72rem;display:grid}.pass-slot.filled{background:0 0;border-style:solid;border-color:#f6a53a}.pass-slot.hot{background:#6d341844;border-style:solid;border-color:#ffb45c}.pass-slot .tile-select{min-height:0}.slot-drop{color:#fff7e888;cursor:pointer;background:0 0;border:0}.slot-note{color:#fff7e8aa}.build-hint{max-width:13rem;font-size:.78rem;line-height:1.25}.submission-message{color:#fff7e8;text-overflow:ellipsis;white-space:nowrap;background:#4a251ccc;border:1px solid #f4d9ac55;border-radius:999px;flex:0 20rem;min-width:0;padding:.55rem .9rem;overflow:hidden}.trial-status{pointer-events:none;z-index:3;color:#fff;text-align:center;background:#286437e8;border-radius:.5rem;grid-area:3/2;place-self:end center;max-width:min(34rem,80%);margin:.55rem;padding:.4rem .7rem;font-size:.8rem;position:relative}.trial-status.invalid{background:#842f2fe8}.phase-panel{color:#fff7e8;align-items:center;gap:.55rem;width:100%;min-width:0;padding:.35rem .55rem;display:flex;overflow-x:auto}.phase-panel>strong{white-space:nowrap}.phase-row,.phase-actions,.donut-picker,.move-options{white-space:nowrap;align-items:center;gap:.35rem;display:flex}.phase-panel button,.phase-panel select,.remove-placement{color:#fff7e8;background:#3b281c;border:1px solid #fff3;border-radius:.5rem;min-height:2.35rem;padding:.3rem .55rem}.phase-panel select{color:#2b1b12;background:#fff7e8}.phase-panel button.selected{outline:2px solid #f6a53a}.phase-panel .primary-action{background:#a85c24}.phase-panel button:disabled{opacity:.45}.sale-total{white-space:normal;opacity:.85;flex:14rem;min-width:10rem;font-size:.78rem;line-height:1.25}.orders{flex-direction:column;grid-row:3;justify-content:center;gap:.55rem;min-width:0;display:flex}.orders-left{grid-column:1}.orders-right{grid-column:4}.orders .order-card{border-radius:.8rem;gap:.35rem;width:100%;min-height:0;padding:.55rem .4rem;display:grid}.orders .order-card.active{border:2px solid #ffc55d;box-shadow:0 0 1rem #f6a53a55}.orders .order-card.next{opacity:.72}.order-label{justify-content:center;gap:.2rem;font-size:.7rem;font-weight:750;display:flex}.order-colors{grid-template-columns:repeat(2,min-content);justify-content:center;gap:.2rem;display:grid}.color-pip{color:#fff;text-shadow:0 1px 2px #000;border:1px solid #fff8;border-radius:50%;place-items:center;width:1.55rem;height:1.55rem;display:grid}.color-white{color:#352319;text-shadow:none;background:#f8f1df}.color-orange{background:#f09a45}.color-green{background:#4f9b68}.color-red{background:#d85454}.color-blue{background:#3d7fc4}.color-purple{background:#865ca9}.color-black{background:#28252b}.board-region{background:#120d09aa;border-radius:1.4rem;grid-area:3/2;min-width:0;min-height:0;position:relative;overflow:hidden;box-shadow:0 1.5rem 4rem #0008}.factory-canvas{position:absolute;inset:0}.factory-canvas canvas{width:100%;height:100%;display:block}.board-nav{z-index:2;width:2.8rem;font-size:1.8rem;position:absolute;top:50%;transform:translateY(-50%)}.board-nav:disabled{opacity:.25;cursor:default}.board-prev{left:.5rem}.board-next{right:.5rem}.boxes{grid-area:3/3;align-content:center;gap:.7rem;display:grid}.donut-box{color:#fff7e8;background:#3b281ce8;border:2px solid #f2c98a;border-radius:1rem;place-items:center;gap:.55rem;min-height:min(5.4rem,12vh);padding:.65rem;display:grid}.donut-face{display:block;overflow:visible}.donut-chip{place-items:center;display:grid;background:0 0!important;border-radius:50%!important;padding:.2rem!important}.donut-chip.selected{outline:2px solid #f6a53a}.joker-swatch{background:conic-gradient(#f8f1df 0 14%, #f09a45 0 28%, #4f9b68 0 42%, #d85454 0 57%, #3d7fc4 0 71%, #865ca9 0 85%, #28252b 0);border:2px solid #ffdf77;border-radius:.3rem;flex:none;width:2.6rem;height:2.6rem}.phase-hint{white-space:normal;color:#fff7e8bb;max-width:22rem;font-size:.78rem;line-height:1.25}.ghost-action{color:#fff7e8aa!important;background:0 0!important;border-color:#fff2!important}.box-slots{grid-template-columns:repeat(3, var(--box-slot-size,2.15rem));gap:var(--box-slot-gap,.4rem);display:grid}.box-slot{width:var(--box-slot-size,2.15rem);height:var(--box-slot-size,2.15rem);color:#fff;cursor:grab;touch-action:none;background:#0002;border:1px dashed #f8e4c844;border-radius:50%;place-items:center;padding:0;display:grid}.box-slot:has(.donut-face){background:0 0;border:0}.box-slot.selected{outline-offset:2px;outline:3px solid #f6a53a}.box-slot.hot{outline-offset:2px;background:#6d341844;outline:3px solid #ffb45c}.box-slot.carrying{opacity:.3}.drag-ghost.donut-carry{filter:drop-shadow(0 .5rem .6rem #0008)}.return-button{white-space:nowrap;padding:0 1rem}.run-match{color:#fff7e8;white-space:nowrap;background:#a85c24;border:1px solid #f4d9ac55;border-radius:999px;flex:none;min-height:2.75rem;padding:0 1rem}.run-match:disabled{opacity:.6}.final-round-badge{color:#2b1b12;white-space:nowrap;background:#ffd777;border-radius:999px;padding:.45rem .7rem}.result-backdrop{background:#120d09e8}.result-row{border-top:1px solid #fff2;grid-template-columns:1fr auto auto;gap:.8rem;padding:.65rem;display:grid}.result-review-hint{color:#fff7e8aa;margin:.8rem 0 0;font-size:.8rem}.review-offer{color:#fff7e8;flex-wrap:wrap;justify-content:center;align-items:center;gap:.7rem;padding:.4rem;display:flex}.review-offer button{color:#fff7e8;background:#a85c24;border:1px solid #fff3;border-radius:.5rem;min-height:2.4rem;padding:.4rem .9rem}.review-offer button:disabled{opacity:.5}.setup-panel,.worker-panel{justify-content:center}.worker-picker{flex-wrap:wrap;gap:.5rem;display:flex}.worker-token{cursor:grab;touch-action:none;background:0 0;border:0;padding:0}.worker-token:active{cursor:grabbing}.worker-piece{color:#2b1b12;background:#ffcf63;border:2px solid #684122;border-radius:50%;flex:none;place-items:center;width:2.4rem;height:2.4rem;font-size:1.15rem;font-weight:900;display:grid;box-shadow:0 .16rem #563118,0 .35rem .65rem #0007}.worker-glazer{background:#8fd4ff;border-color:#2b5f86;box-shadow:0 .16rem #24506f,0 .35rem .65rem #0007}.worker-piece.unplaced{opacity:.55;box-shadow:0 0 0 3px #fff3}.worker-choice h2{text-align:center;margin:0 0 1rem}.worker-choice-row{justify-content:center;gap:1.2rem;display:flex}.worker-choice-row button{place-items:center;width:auto;margin:0;padding:1.1rem 1.6rem;display:grid}.worker-choice-row .worker-piece{width:3.4rem;height:3.4rem;font-size:1.6rem}.drag-ghost{z-index:30;pointer-events:none;will-change:transform;filter:drop-shadow(0 .6rem .7rem #0007);position:fixed;top:0;left:0}.drag-ghost .lifted-tile{cursor:grabbing}.drag-ghost .worker-piece{width:2.3rem;height:2.3rem}body.dragging-piece{cursor:grabbing;-webkit-user-select:none;user-select:none}.discard-zone{z-index:3;color:#fff7e8bb;text-align:center;cursor:pointer;background:#1b120bcc;border:2px dashed #e0c08a66;border-radius:.9rem;place-items:center;gap:.15rem;max-width:9rem;padding:.6rem .7rem;font-size:.72rem;line-height:1.2;transition:color .12s,border-color .12s,background .12s,scale .12s;display:grid;position:absolute;top:.6rem;right:.6rem}.discard-zone .discard-icon{font-size:1.2rem;line-height:1}.discard-zone.hot{color:#fff;background:#6d3418ee;border-style:solid;border-color:#ffb45c;scale:1.06}.match-timeline{z-index:6;color:#fff7e8;background:#241811f2;border:1px solid #f4d9ac55;border-radius:999px;align-items:center;gap:.6rem;width:min(46rem,100vw - 1.2rem);padding:.45rem .8rem;font-size:.78rem;display:flex;position:fixed;bottom:.55rem;left:50%;translate:-50%;box-shadow:0 .6rem 1.4rem #0007}.match-timeline button{min-width:2rem;min-height:2rem;color:inherit;background:#3b281c;border:1px solid #fff2;border-radius:50%;padding:0;font-size:1.1rem}.match-timeline button:disabled{opacity:.4}.timeline-track{flex:12rem;align-items:center;min-width:6rem;display:flex;position:relative}.match-timeline input[type=range]{accent-color:#f6a53a;width:100%;margin:0}.timeline-ticks{pointer-events:none;position:absolute;inset:0}.timeline-ticks .tick{background:#fff7e866;border-radius:50%;width:.2rem;height:.2rem;position:absolute;top:50%;translate:-50% -50%}.timeline-ticks .tick.round{background:#ffd777;width:.42rem;height:.42rem;box-shadow:0 0 0 1px #241811aa}.timeline-label{white-space:nowrap;text-overflow:ellipsis;flex:0 0 11rem;overflow:hidden}.timeline-scores{color:#ffd777;font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;flex:0 0 7rem;overflow:hidden}.timeline-position{color:#fff7e888;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;flex:0 0 3.2rem}@media (width<=700px){.timeline-scores,.timeline-position{display:none}}.modal-backdrop{z-index:10;background:#120d09cc;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.score-modal{color:#fff7e8;background:#352319;border:1px solid #f2c98a;border-radius:1rem;width:min(28rem,100%);padding:1.2rem}.score-modal button{min-height:2.75rem;color:inherit;text-align:center;background:#ffffff0d;border:1px solid #fff2;border-radius:.6rem;justify-content:center;align-items:center;gap:.5rem;margin:.45rem 0;padding:.6rem 1rem;display:inline-flex}.score-modal .score-row{text-align:left;grid-template-columns:5rem 1fr 2rem;align-items:center;gap:.7rem;width:100%;padding:.7rem;display:grid}.score-modal progress{width:100%}@media (width<=700px) and (orientation:portrait){.game-shell{height:100dvh;padding:.3rem;padding-top:max(.3rem, env(safe-area-inset-top));padding-bottom:max(.3rem, env(safe-area-inset-bottom));padding-left:max(.3rem, env(safe-area-inset-left));padding-right:max(.3rem, env(safe-area-inset-right));--box-slot-size:2rem;--box-slot-gap:.25rem;grid-template:auto 1.5rem minmax(0,1fr) auto 32vh/minmax(0,1fr);gap:.3rem;overflow:hidden}.board-region{grid-area:3/1}.orders{z-index:3;pointer-events:none;grid-area:3/1;align-self:center;gap:.3rem}.orders-left{grid-column:1;justify-self:start}.orders-right{grid-column:1;justify-self:end}.trial-status{grid-column:1;margin:.3rem}.orders .order-card,.orders .order-card.empty{pointer-events:auto;background:#352319e8;width:auto;padding:.3rem .22rem}.order-colors{grid-template-columns:min-content;gap:.13rem}.order-label{gap:0;font-size:.55rem;line-height:1.05;display:grid}.color-pip{width:1.15rem;height:1.15rem;font-size:.7rem}.board-nav{width:2.4rem;min-height:2.4rem;font-size:1.4rem;top:auto;bottom:.3rem;transform:none}.board-prev{left:.3rem}.board-next{right:.3rem}.boxes{grid-area:4/1;grid-template-columns:repeat(3,1fr);gap:.3rem}.donut-box{gap:.25rem;min-height:0;padding:.35rem .25rem;font-size:.72rem}.action-bar{grid-row:5}.match-header{gap:.25rem}.menu-button,.progress,.phase-timer,.return-button,.run-match{min-height:2.4rem}.menu-button{width:2.4rem}.progress{grid-template-columns:auto 1fr;padding-inline:.5rem}.progress strong{display:none}.phase-timer{min-width:3.4rem;padding-inline:.45rem;font-size:.8rem}.return-button{z-index:4;position:fixed;top:3.4rem;right:.5rem}.submission-message{z-index:6;flex:none;max-width:calc(100vw - 1rem);padding:.35rem .7rem;font-size:.72rem;position:fixed;top:5.9rem;left:50%;transform:translate(-50%)}.puzzle-banner{flex:none;gap:.3rem;padding:.2rem .5rem;font-size:.7rem}.puzzle-banner button,.puzzle-banner a,.puzzle-word{display:none}.progress{min-width:0}.puzzle-progress{grid-template-columns:auto minmax(0,1fr) auto;gap:.45rem}.puzzle-progress strong{font-size:.78rem;display:block}.puzzle-banner strong{display:none}.tile-tray-content{flex-direction:column;justify-content:flex-start;align-items:flex-start;overflow-x:auto}.tile-hand{flex:none}.tile-controls{flex-wrap:nowrap;min-width:max-content}.setup-tile-preview{justify-content:flex-start;overflow-x:auto}.setup-tile-preview>span:last-child{display:none}.draft-destinations{min-width:max-content}.pass-slot{min-width:5.5rem}.worker-instruction{flex-basis:15rem}.trial-status{max-width:calc(100% - .6rem);margin:.3rem;font-size:.72rem}}@media (orientation:landscape) and (height<=560px){.game-shell{padding:.3rem;padding-left:max(.3rem, env(safe-area-inset-left));padding-right:max(.3rem, env(safe-area-inset-right));--box-slot-size:1.2rem;--box-slot-gap:.14rem;grid-template:auto 1.2rem minmax(5rem,1fr) 27vh/minmax(0,1fr) 4.6rem;gap:.3rem}.board-region{grid-area:3/1}.boxes{grid-area:3/2}.orders{z-index:3;pointer-events:none;grid-row:3;align-self:center}.orders-left{grid-column:1;justify-self:start}.orders-right{grid-column:1;justify-self:end}.trial-status{grid-column:1}.orders .order-card,.orders .order-card.empty{pointer-events:auto;background:#352319e8;width:auto}.order-colors{grid-template-columns:min-content;gap:.12rem}.puzzle-banner{flex:none;gap:.3rem;padding:.2rem .5rem;font-size:.7rem}.puzzle-banner button,.puzzle-banner a,.puzzle-word{display:none}.progress{min-width:0}.puzzle-progress{grid-template-columns:auto minmax(0,1fr) auto;gap:.45rem}.puzzle-progress strong{font-size:.78rem;display:block}.puzzle-banner strong{display:none}.menu-button,.progress,.orders button,.return-button,.run-match{min-height:2.15rem}.menu-button{width:2.15rem}.match-header{gap:.35rem}.progress{grid-template-columns:auto 1fr auto;padding:.2rem .7rem}.phase-timer{min-width:3.8rem;padding:.3rem .5rem}.phase-hint-bar{font-size:.72rem}.submission-message{z-index:6;flex:none;max-width:calc(100vw - 1rem);padding:.3rem .7rem;font-size:.72rem;position:fixed;top:3.4rem;left:50%;transform:translate(-50%)}.board-nav{width:2.2rem;min-height:2.2rem;font-size:1.4rem;top:auto;bottom:.25rem;transform:none}.board-prev{left:.3rem}.board-next{right:.3rem}.orders{gap:.25rem}.orders .order-card{padding:.22rem .18rem}.order-label{gap:0;font-size:.55rem;line-height:1.05;display:grid}.color-pip{width:1.05rem;height:1.05rem;font-size:.66rem}.boxes{gap:.22rem}.donut-box{border-width:1px;gap:.1rem;min-height:0;padding:.18rem;font-size:.55rem}.tile-tray-content{gap:.4rem .7rem;padding:.2rem}.tile-select,.tile-controls button,.phase-panel button,.phase-panel select{min-height:2rem}.tile-controls button{padding:.25rem .5rem;font-size:.82rem}.pass-slot{min-height:calc(var(--tile-cell-height,1.8rem) * 2 + .9rem);font-size:.66rem}.build-hint{max-width:11rem;font-size:.72rem}.match-timeline{padding:.3rem .6rem;font-size:.7rem;bottom:.3rem}.match-timeline button{min-width:1.7rem;min-height:1.7rem;font-size:.95rem}.timeline-label{flex-basis:9rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important}}.match-id{opacity:.7;margin:0;font-size:.8rem}.match-id code{-webkit-user-select:all;user-select:all;font-size:.78rem}.worker-crew{opacity:.85;flex-wrap:wrap;justify-content:center;gap:.25rem;margin:.6rem 0 0;display:flex}.worker-crew .worker-piece{transform:scale(.7)}.puzzle-empty{color:#fff7e8;background:#20170f;min-height:100vh;padding:2rem}.puzzle-empty code{color:#ffca58}.puzzle-shell select{color:#2b1b12;background:#fff7e8;border:1px solid #f4d9ac55;border-radius:.5rem;min-height:2.4rem;padding:.3rem .5rem}.puzzle-round{color:#fff7e8;opacity:.85;white-space:nowrap;font-size:.82rem}.puzzle-id{align-items:center;gap:.4rem;margin-left:auto;display:flex}.puzzle-id input{color:#fff7e8;background:#352319;border:1px solid #f4d9ac55;border-radius:.5rem;min-width:15rem;min-height:2.4rem;padding:.3rem .6rem;font-family:ui-monospace,monospace;font-size:.8rem}.puzzle-id button{color:#fff7e8;cursor:pointer;background:#a85c24;border:1px solid #f4d9ac55;border-radius:.5rem;min-height:2.4rem;padding:.3rem .8rem}.puzzle-shell{grid-template-rows:auto 6.5rem minmax(8rem,1fr) 20vh}.puzzle-shell .phase-hint-bar{color:#fff7e8;min-height:0}.puzzle-shell .phase-hint-bar span{white-space:normal;text-overflow:clip;text-align:center;max-width:80ch;max-height:100%;line-height:1.4;overflow-y:auto}.puzzle-shell .phase-hint-bar strong{color:#ffca58}.puzzle-play{color:#20170f;cursor:pointer;background:#ffca58;border:0;border-radius:.5rem;min-height:2.4rem;padding:.3rem .9rem;font-weight:600}.puzzle-banner{color:#fff7e8;white-space:nowrap;background:#3b281c;border:1px solid #ffca5844;border-radius:999px;justify-content:center;align-items:center;gap:.8rem;padding:.4rem .8rem;font-size:.82rem;display:flex}.puzzle-banner strong{color:#ffca58}.puzzle-banner .puzzle-done{color:#8fe388}.puzzle-banner button{color:#fff7e8;cursor:pointer;background:#a85c24;border:1px solid #f4d9ac55;border-radius:.5rem;min-height:2.2rem;padding:.25rem .8rem}.puzzle-banner a{color:#ffca58}.puzzle-stars{line-height:1;font-size:var(--star-size,1rem);gap:.08em;display:inline-flex}.puzzle-stars .star{color:#fff7e824}.puzzle-stars .star.earned{color:#ffca58;text-shadow:0 0 .3em #ffca5866}.puzzle-stars.beaten .star.earned{color:#ff7361;text-shadow:0 0 .35em #ff736177}.puzzle-result{text-align:center;justify-items:center;gap:.55rem;display:grid}.puzzle-result h2{margin:0;font-size:1.15rem}.puzzle-result .puzzle-result-score{color:#fff7e8;margin:0;font-size:1rem}.puzzle-result .puzzle-result-score strong{color:#ffca58;font-variant-numeric:tabular-nums;font-size:1.9rem}.puzzle-result .note{max-width:22rem}.puzzle-result-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;margin-top:.3rem;display:flex}.puzzle-result button{grid-template-columns:none;width:auto;margin:0;display:inline-flex}.puzzle-result .link-button{padding-inline:.4rem}@media (prefers-reduced-motion:no-preference){.puzzle-result{animation:.28s ease-out puzzle-result-in}.puzzle-stars.animated .star.earned{animation:.5s cubic-bezier(.2,1.5,.4,1) backwards star-pop}}@keyframes puzzle-result-in{0%{opacity:0;transform:translateY(.8rem)scale(.96)}}@keyframes star-pop{0%{opacity:0;transform:scale(.2)rotate(-45deg)}60%{transform:scale(1.3)rotate(8deg)}to{opacity:1;transform:none}}.puzzle-progress{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.35rem 1rem;display:grid}.puzzle-progress strong{color:#ffca58;font-variant-numeric:tabular-nums;white-space:nowrap}.puzzle-gallery{border-top:1px solid #f4d9ac22;gap:.6rem;padding-top:.3rem;display:grid}.puzzle-gallery-head{gap:.2rem;display:grid}.puzzle-gallery h2{margin:0;font-size:1rem}.puzzle-filters{gap:.4rem;display:grid}.puzzle-filters input{color:#fff7e8;width:100%;min-height:2.6rem;font:inherit;background:#1c120b;border:1px solid #f4d9ac33;border-radius:.65rem;padding:.4rem .7rem}.puzzle-filters input::placeholder{color:#fff7e855}.puzzle-segmented .segment{text-align:center;min-height:2.4rem;padding:.4rem .5rem;font-size:.82rem}.puzzle-grid{grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.5rem;max-height:26rem;margin:0;padding:.1rem;list-style:none;display:grid;overflow-y:auto}.puzzle-tile{color:#fff7e8;text-align:left;background:#3b281c;border:1px solid #f4d9ac26;border-radius:.8rem;align-content:start;gap:.35rem;width:100%;height:100%;padding:.55rem .65rem;display:grid}.puzzle-tile.solved{background:#2f3a26;border-color:#8fe38866}.puzzle-tile.beaten{background:#3a2723;border-color:#ff736166}.puzzle-tile.unconfirmed{background:#3b241f;border-width:2px;border-color:#ff3b30}.puzzle-tile-head{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.3rem;display:grid}.puzzle-tile-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.84rem;font-weight:600;overflow:hidden}.puzzle-tile-scores{grid-template-columns:1fr 1fr;gap:.3rem;display:grid}.puzzle-score{gap:0;display:grid}.puzzle-score strong{color:#ffca58;font-variant-numeric:tabular-nums;font-size:1.25rem;line-height:1.1}.puzzle-tile.solved .puzzle-score strong{color:#8fe388}.puzzle-tile.beaten .puzzle-score strong{color:#ff7361}.puzzle-resume{justify-self:start;margin-top:.2rem}.puzzle-tile-note{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.crew-reserve{white-space:nowrap;background:#ffffff14;border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .55rem;display:inline-flex}.crew-reserve .worker-piece{width:1.35rem;height:1.35rem;font-size:.75rem}.crew-unassigned{opacity:.75;font-size:.8em}.screen{min-height:100dvh;padding:clamp(1rem,4vw,2.5rem) clamp(.85rem,4vw,2rem);padding-bottom:calc(clamp(1rem, 4vw, 2.5rem) + env(safe-area-inset-bottom,0px));color:#fff7e8;background:radial-gradient(circle at 50% 12%,#76533a,#20170f 72%) fixed;flex-direction:column;align-items:center;display:flex}.screen-centred{justify-content:center}.loading{color:#fff7e8aa;background:#20170f;place-items:center;min-height:100dvh;display:grid}.panel{background:#2b1b12e0;border:1px solid #f4d9ac33;border-radius:1.25rem;gap:1.15rem;width:100%;max-width:30rem;padding:clamp(1.15rem,5vw,1.9rem);display:grid;box-shadow:0 1.5rem 3.5rem #0007}.panel h1{letter-spacing:.01em;margin:0;font-size:clamp(1.6rem,7vw,2.1rem)}.panel h2{letter-spacing:.09em;text-transform:uppercase;color:#ffca58;margin:0;font-size:.82rem;font-weight:700}.panel-head{gap:.35rem;display:grid}.panel-actions{justify-items:stretch;gap:.7rem;display:grid}.brand{text-align:center;justify-items:center;gap:.45rem;display:grid}.brand-mark{background:radial-gradient(circle,#20170f 0 26%,#f09a45 27% 62%,#d8834a 63% 100%);border-radius:50%;width:3.25rem;height:3.25rem;box-shadow:0 .35rem .9rem #0006,inset 0 0 0 2px #ffca5866}.brand-mark.small{width:1.9rem;height:1.9rem}.brand-tagline{color:#fff7e8aa;margin:0;font-size:.88rem}.brand-row{align-items:center;gap:.6rem;display:flex}.lobby-head{gap:.25rem}.lobby-head .note{align-items:center;gap:.5rem;display:flex}.field{gap:.3rem;display:grid}.field label{color:#fff7e8bb;font-size:.8rem}.panel input,.panel select{color:#fff7e8;width:100%;min-height:2.85rem;font:inherit;background:#1c120b;border:1px solid #f4d9ac44;border-radius:.65rem;padding:.5rem .8rem;font-size:1rem}.panel select{color:#2b1b12;background:#fff7e8;border-color:#f4d9ac66}.panel input:focus-visible,.panel select:focus-visible,.panel button:focus-visible{outline-offset:2px;outline:3px solid #ffca58}.code-input{letter-spacing:.3em;text-align:center;text-transform:uppercase;font-size:1.35rem}.code-input::placeholder{color:#fff7e833;letter-spacing:.3em}.panel form{gap:.85rem;display:grid}.panel button{cursor:pointer}.panel button:disabled{opacity:.45;cursor:default}.primary,.secondary{border-radius:.7rem;min-height:2.9rem;padding:.55rem 1.1rem;font-weight:600}.primary{color:#20170f;background:linear-gradient(#ffbf5c,#f0a03a);border:1px solid #ffca5866}.secondary{color:#fff7e8;background:#3b281c;border:1px solid #f4d9ac44}.link-button{color:#ffca58;min-height:2.4rem;font:inherit;background:0 0;border:0;padding:.2rem .25rem;text-decoration:underline}.note{color:#fff7e8aa;margin:0;font-size:.82rem;line-height:1.45}.form-error{color:#ffe3dd;background:#7d2f2f;border-radius:.65rem;margin:0;padding:.6rem .8rem;font-size:.85rem}.switch-mode{color:#fff7e8aa;text-align:center;margin:0;font-size:.85rem}.waiting{color:#fff7e8bb;text-align:center;margin:0}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.tabs{background:#1c120b;border-radius:.8rem;grid-template-columns:1fr 1fr;gap:.35rem;padding:.3rem;display:grid}.tab{color:#fff7e8aa;background:0 0;border:0;border-radius:.55rem;min-height:2.75rem;font-weight:600}.tab.selected{color:#20170f;background:#ffca58}.tab-panel{gap:.8rem;display:grid}.seat-list,.seat-builder,.match-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.seat-card{background:#3b281c;border:1px solid #f4d9ac26;border-radius:.8rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.6rem .7rem;display:grid}.seat-card.pending{background:#3b281c88;border-style:dashed}.seat-avatar{color:#fff7e8;background:#a85c24;border-radius:50%;place-items:center;width:2.4rem;height:2.4rem;font-size:.85rem;font-weight:700;display:grid}.seat-avatar.ai{letter-spacing:.04em;background:#4a3f6b;font-size:.72rem}.seat-detail{gap:.1rem;min-width:0;display:grid}.seat-detail strong{text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:600;overflow:hidden}.seat-detail select{min-height:2.5rem;padding:.25rem .5rem;font-size:1rem}.seat-sub{color:#fff7e899;font-size:.76rem}.seat-you{color:#8fe388;font-weight:600}.seat-remove{color:#fff7e8aa;background:0 0;border:1px solid #f4d9ac33;border-radius:50%;place-items:center;width:2.2rem;height:2.2rem;font-size:1.1rem;line-height:1;display:grid}.seat-remove:disabled{opacity:.3;cursor:not-allowed}.seat-add{flex-wrap:wrap;gap:.5rem;display:flex}.seat-add .secondary{flex:8rem}.segmented{grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr));gap:.5rem;display:grid}.segment{color:#fff7e8;text-align:left;background:#3b281c;border:1px solid #f4d9ac33;border-radius:.7rem;gap:.1rem;padding:.6rem .7rem;font-weight:600;display:grid}.segment.selected{color:#20170f;background:linear-gradient(#ffbf5c,#f0a03a);border-color:#ffca58}.segment-sub{color:#fff7e899;font-size:.74rem;font-weight:400}.segment.selected .segment-sub{color:#4a2f13}.invite{background:#1c120b;border:1px dashed #ffca5866;border-radius:.9rem;grid-template-columns:1fr auto;align-items:center;gap:.3rem .7rem;padding:.8rem .9rem;display:grid}.invite-label{color:#fff7e8aa;letter-spacing:.08em;text-transform:uppercase;grid-column:1;font-size:.75rem}.invite-code{color:#ffca58;letter-spacing:.22em;grid-area:2/1;min-width:0;font-size:clamp(1.5rem,8vw,2.1rem);font-weight:700;overflow-x:auto}.invite .secondary{grid-area:1/2/span 2}.your-matches{border-top:1px solid #f4d9ac22;gap:.5rem;padding-top:.3rem;display:grid}.match-row{color:#fff7e8;text-align:left;background:#3b281c;border:1px solid #f4d9ac26;border-radius:.8rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;width:100%;padding:.6rem .7rem;display:grid}.status-dot{background:#fff7e855;border-radius:50%;width:.6rem;height:.6rem}.status-dot.lobby{background:#ffca58}.status-dot.active{background:#8fe388}.match-detail{gap:.1rem;min-width:0;display:grid}.match-detail strong{font-size:.92rem;font-weight:600}.match-go{color:#fff7e866;font-size:1.3rem}@media (prefers-reduced-motion:no-preference){.seat-card.pending .seat-avatar{animation:1.8s ease-in-out infinite seat-waiting}}@keyframes seat-waiting{50%{opacity:.45}}.hosted-note{z-index:6;color:#fff7e8;background:#4a251cf5;border:1px solid #f4d9ac55;border-radius:.7rem;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.4rem;width:min(26rem,100vw - 1.2rem);padding:.5rem .5rem .5rem .85rem;display:grid;position:fixed;top:4.2rem;left:50%;transform:translate(-50%);box-shadow:0 .6rem 1.6rem #0008}.hosted-note p{margin:0;font-size:.78rem;line-height:1.35}.hosted-note button{color:#fff7e8bb;cursor:pointer;background:0 0;border:0;border-radius:50%;width:1.9rem;height:1.9rem;font-size:1.1rem;line-height:1}.hosted-note button:hover{color:#fff7e8;background:#ffffff1a}@media (width<=700px) and (orientation:portrait){.hosted-note{top:3.6rem}}@media (orientation:landscape) and (height<=560px){.hosted-note{top:2.9rem}}.coach-card-wrap{z-index:12;background:#120d09aa;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.coach-card{color:#fff7e8;background:#2b1b12;border:1px solid #f4d9ac55;border-radius:1rem;gap:.6rem;width:min(30rem,100%);max-height:min(80dvh,40rem);padding:clamp(1rem,4vw,1.5rem);display:grid;overflow-y:auto;box-shadow:0 1.5rem 3.5rem #000a}.coach-card:focus-visible{outline-offset:3px;outline:3px solid #ffca58}.coach-card h2{color:#ffca58;margin:0;font-size:clamp(1.15rem,5vw,1.4rem)}.coach-card p{margin:0;font-size:.88rem;line-height:1.5}.coach-actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.35rem;display:flex}.coach-actions .primary{color:#20170f;cursor:pointer;background:linear-gradient(#ffbf5c,#f0a03a);border:1px solid #ffca5866;border-radius:.7rem;min-height:2.75rem;padding:.5rem 1.1rem;font-weight:600}.coach-ring{z-index:11;pointer-events:none;border:2px solid #ffca58;border-radius:.7rem;position:fixed;box-shadow:0 0 0 9999px #120d0988,0 0 1.2rem #ffca5877}.coach-callout{z-index:12;color:#fff7e8;background:#2b1b12;border:1px solid #ffca5877;border-radius:.8rem;gap:.5rem;padding:.75rem .85rem;display:grid;position:fixed;box-shadow:0 .8rem 2rem #000a}.coach-callout p{margin:0;font-size:.84rem;line-height:1.4}.coach-progress{color:#fff7e899;font-variant-numeric:tabular-nums;margin-right:auto;font-size:.75rem}.coach-callout:after{content:"";left:var(--arrow-x,50%);border-left:8px solid #0000;border-right:8px solid #0000;width:0;height:0;margin-left:-8px;position:absolute}.coach-callout.below:after{border-bottom:8px solid #ffca5877;top:-8px}.coach-callout.above:after{border-top:8px solid #ffca5877;bottom:-8px}@media (prefers-reduced-motion:no-preference){.coach-ring{animation:2s ease-in-out infinite coach-pulse}}@keyframes coach-pulse{50%{box-shadow:0 0 0 9999px #120d0988,0 0 2rem #ffca58cc}}
