:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f7f8f5;color:#17211c;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f7f8f5}button,a,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.7}a{color:inherit}#app{min-height:100vh}.skip-link{position:fixed;top:10px;left:10px;z-index:20;transform:translateY(-140%);border-radius:6px;background:#17211c;color:#fff;padding:10px 12px;text-decoration:none}.skip-link:focus{transform:translateY(0)}.app-shell{min-height:100vh}.app-shell--auth{display:grid;place-items:center;padding:28px}.shell-header{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:minmax(190px,1fr) minmax(190px,1fr);align-items:center;gap:18px;padding:14px 28px;border-bottom:1px solid #d9dfd2;background:rgba(247,248,245,.95);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand{text-decoration:none}.brand{display:inline-flex;align-items:center;gap:10px;width:fit-content}.brand strong,.brand small{display:block}.brand strong{font-size:1rem}.brand small{margin-top:2px;color:#5e6b62;font-size:.78rem}.brand-mark,.avatar,.github-mark{display:inline-grid;place-items:center;flex:0 0 auto;border-radius:999px;font-weight:800}.brand-mark{width:36px;height:36px;background:#f5d35d;color:#17211c}.avatar{width:34px;height:34px;background:#d4ebe0;color:#134b39;font-size:.8rem}.github-mark{width:28px;height:28px;background:#17211c;color:#fff;font-size:.68rem}.account-menu{display:inline-flex;justify-self:end;align-items:center;gap:9px;min-width:0}.account-name{max-width:150px;overflow:hidden;color:#39443e;text-overflow:ellipsis;white-space:nowrap}.guest-label{color:#5e6b62;font-size:.9rem;font-weight:700}.content{width:min(1520px,calc(100% - 24px));margin:0 auto;padding:0}.app-shell--auth .content{width:min(960px,100%);padding:0}.shell-footer{width:min(1440px,calc(100% - 40px));margin:0 auto;padding:0 0 24px;color:#6b756f;font-size:.82rem}.eyebrow{margin:0 0 8px;color:#5c6f34;font-size:.75rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.page-heading{max-width:760px;margin-bottom:4px}.page-heading h1,.auth-copy h1{margin:0;color:#17211c;font-size:clamp(2.1rem,6vw,4.2rem);line-height:1}.page-heading p,.auth-copy p,.auth-panel p,.settings-panel p,.info-list p{color:#526058;line-height:1.58}.auth-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,420px);gap:32px;align-items:center}.auth-copy{padding:16px 0}.auth-copy p{max-width:54ch;font-size:1.05rem}.auth-panel,.diagram-panel,.item-bank,.settings-panel,.info-list article{border:1px solid #d9dfd2;border-radius:8px;background:#fff;box-shadow:0 18px 38px #37413914}.auth-panel{padding:28px}.auth-panel h2,.board-header h2,.settings-panel h2,.info-list h2{margin:0;color:#17211c;font-size:1.12rem}.primary-action,.secondary-action,.signup-action,.text-button{min-height:42px;border-radius:6px;border:1px solid transparent;font-weight:800}.primary-action{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;margin-top:10px;background:#f5d35d;color:#17211c}.secondary-action{display:inline-flex;align-items:center;justify-content:center;background:#17211c;color:#fff;padding:0 14px;text-decoration:none}.signup-action{display:inline-flex;align-items:center;justify-content:center;background:#f5d35d;color:#17211c;padding:0 14px;text-decoration:none}.text-button{background:transparent;color:#59665e;padding:0 4px}.text-button:hover,.text-button:focus-visible{color:#17211c}.status-line{margin:14px 0 0;font-size:.9rem}.status-line.error{color:#a32626}.secondary-link{display:inline-flex;justify-content:center;width:100%;margin-top:12px;color:#46524a;font-weight:800;text-decoration:none}.play-layout,.settings-layout,.stats-layout,.page-grid{display:grid;gap:8px}.puzzle-surface{display:grid;grid-template-columns:minmax(720px,1fr) 416px;gap:8px;align-items:start}.diagram-panel,.item-bank,.settings-panel{padding:8px}.item-bank{align-self:center}.board-header,.setting-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.venn-board{--puzzle-card-size: 118px;position:relative;min-height:1080px;margin:8px 0 0;border-radius:8px;background:linear-gradient(180deg,rgba(255,255,255,.65),rgba(237,242,236,.88)),#edf2ec;overflow:hidden}.venn-circle{position:absolute;border:3px solid rgba(23,33,28,.72);border-radius:999px;mix-blend-mode:multiply}.venn-circle-a{background:rgba(245,211,93,.55)}.venn-circle-b{background:rgba(91,167,142,.42)}.venn-circle-c{background:rgba(216,117,93,.38)}.circle-label{position:absolute;z-index:3;display:inline-flex;align-items:center;justify-content:center;min-width:52px;min-height:34px;border:1px solid #cbd5cc;border-radius:999px;background:#fff;color:#17211c;padding:6px 12px;font-size:.9rem;font-weight:900;box-shadow:0 10px 22px #3741391f}.circle-label-c{transform:translate(-50%)}.drop-slot{position:absolute;z-index:4;display:grid;place-items:center;width:var(--puzzle-card-size);height:var(--puzzle-card-size);transform:translate(-50%,-50%);border:2px dashed rgba(23,33,28,.42);border-radius:999px;background:rgba(255,255,255,.68);color:#17211c;padding:0}.drop-slot:before{content:"";width:13px;height:13px;border-radius:999px;background:rgba(23,33,28,.22)}.drop-slot--filled{border-style:solid;background:transparent}.drop-slot--filled:before{content:none}.drop-slot:hover,.drop-slot:focus-visible{border-color:#17211c;outline:none}.drop-slot--correct{border-color:#23835c;background:rgba(35,131,92,.14)}.drop-slot--incorrect{border-color:#b84343;background:rgba(184,67,67,.12)}.drop-slot--animating .item-card{animation:card-settle .26s ease-out both}@keyframes card-settle{0%{opacity:0;transform:scale(.82)}70%{opacity:1;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}.answer-bar{display:grid;gap:10px;border-top:1px solid #e4e9e1;margin-top:14px;padding-top:14px}.answer-status{margin:0;color:#526058;font-weight:800}.answer-status--solved{color:#23835c}.answer-status--lost,.answer-status--revealed{color:#b84343}.bottom-action-bar{display:flex;justify-content:center;padding:10px 0 24px}.stats-trigger{min-width:180px}.stats-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:end center;background:rgba(23,33,28,.34);padding:24px}.stats-dialog{width:min(720px,100%);max-height:min(820px,calc(100vh - 48px));overflow-y:auto;border:1px solid #d9dfd2;border-radius:8px;background:#fff;padding:18px;box-shadow:0 28px 70px #17211c3d}.stats-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.stats-dialog h2,.global-stats-section h2{margin:0;color:#17211c;font-size:1.4rem}.dialog-close{min-height:34px;font-size:.9rem}.region-grid,.chip-grid,.stats-grid,.info-list{display:grid;gap:10px}.region-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.region-grid article{display:flex;align-items:center;gap:10px;min-height:54px;border:1px solid #d9dfd2;border-radius:6px;padding:10px}.region-grid strong{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:999px;background:#e9efe6}.region-grid span{color:#46524a;font-size:.92rem}.stats-grid,.stats-grid--compact{grid-template-columns:repeat(4,minmax(0,1fr))}.stats-grid article{min-height:128px;border:1px solid #d9dfd2;border-radius:8px;background:#fff;padding:20px;box-shadow:0 18px 38px #37413914}.stats-grid strong{display:block;color:#17211c;font-size:2.4rem;line-height:1}.stats-grid span{display:block;margin-top:10px;color:#526058;font-weight:800}.stats-grid--compact article{min-height:104px;padding:16px}.stats-grid--compact strong{font-size:1.9rem}.global-stats-section{gap:18px}.distribution-panel{display:grid;gap:10px}.distribution-panel h3{margin:0;color:#17211c;font-size:1rem}.distribution-row{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:10px}.distribution-row>span{color:#526058;font-weight:900;text-align:center}.distribution-track{overflow:hidden;height:30px;border-radius:6px;background:#edf2ec}.distribution-fill{display:flex;align-items:center;justify-content:flex-end;min-width:40px;height:100%;border-radius:6px;background:#5ba78e;color:#fff;padding:0 9px;font-size:.82rem;font-weight:900}.stats-cta{grid-template-columns:minmax(0,1fr) auto;align-items:center}.bank-tools{display:grid;margin-top:12px}.autoplace-toggle{width:100%}.autoplace-toggle[aria-pressed=true]{border-color:#17211c;background:#f5d35d;color:#17211c}.chip-grid{grid-template-columns:repeat(4,var(--puzzle-card-size));justify-content:center;margin-top:14px;--puzzle-card-size: 86px}.item-bank .secondary-action{width:100%}.item-card{display:inline-grid;place-items:center;width:var(--puzzle-card-size);height:var(--puzzle-card-size);aspect-ratio:1;min-height:0;border:1px solid #cbd5cc;border-radius:999px;background:#fff;color:#17211c;padding:8px;font-size:.88rem;font-weight:850;line-height:1.08;text-align:center;box-shadow:0 10px 22px #37413917;-webkit-user-select:none;user-select:none}.item-card:hover,.item-card:focus-visible{border-color:#5ba78e;background:#eef7f2}.item-card--placed{width:calc(var(--puzzle-card-size) - 8px);height:calc(var(--puzzle-card-size) - 8px);font-size:.8rem;box-shadow:none}.drag-preview{position:fixed;left:-1000px;top:-1000px;z-index:-1;border-radius:999px;opacity:.92;pointer-events:none}.settings-panel{display:grid;gap:16px}.setting-row{border-bottom:1px solid #e4e9e1;padding-bottom:16px}.setting-row:last-child{border-bottom:0;padding-bottom:0}.setting-row p{margin:4px 0 0}.control-row{cursor:pointer}.control-row span{display:grid;gap:2px}.control-row small{color:#66736b}.control-row input{width:22px;height:22px;accent-color:#5ba78e}.status-pill{display:inline-flex;align-items:center;min-height:30px;border-radius:999px;padding:4px 10px;font-size:.82rem;font-weight:800}.status-pill--ready{background:#d4ebe0;color:#134b39}.status-pill--local{background:#f8e7bc;color:#684515}.code{overflow-x:auto;border-radius:6px;background:#edf2ec;padding:12px 14px;color:#29332d;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.9rem}.info-list{grid-template-columns:repeat(3,minmax(0,1fr))}.info-list article{padding:18px}@media (max-width: 920px){.shell-header{grid-template-columns:1fr;align-items:stretch}.brand,.account-menu{justify-self:center}.auth-layout,.puzzle-surface,.stats-grid,.info-list{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-layout,.puzzle-surface,.info-list{grid-template-columns:1fr}.venn-board{--puzzle-card-size: 92px;min-height:1080px;overflow-x:auto}}@media (max-width: 620px){.app-shell--auth{padding:18px}.shell-header{padding:12px 14px}.account-name{display:none}.content{width:min(100% - 24px,1520px);padding-top:0}.page-heading h1,.auth-copy h1{font-size:2.1rem}.auth-panel,.diagram-panel,.item-bank,.settings-panel{padding:16px}.board-header,.stats-dialog-header,.setting-row,.answer-bar,.stats-cta{align-items:flex-start;flex-direction:column}.venn-board{min-height:1080px}.drop-slot{width:var(--puzzle-card-size);height:var(--puzzle-card-size)}.item-card--placed{width:calc(var(--puzzle-card-size) - 8px);height:calc(var(--puzzle-card-size) - 8px);font-size:.68rem}.region-grid,.chip-grid,.stats-grid{grid-template-columns:1fr}.stats-dialog-backdrop{align-items:end;padding:12px}.stats-grid--compact{grid-template-columns:repeat(2,minmax(0,1fr))}.chip-grid{grid-template-columns:repeat(4,72px);--puzzle-card-size: 72px}}
