.kc-campaign{max-width:1080px;margin:auto;color:var(--ink,#25213a)}.kc-campaign a,.kc-campaign button{touch-action:manipulation}.kc-campaign button{font:inherit;cursor:pointer;min-height:48px;padding:.7rem 1rem;border:2px solid #302743;border-radius:18px;background:#fff;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 3px 0 #302743;transition:transform .13s,box-shadow .13s}.kc-campaign button:active{transform:translateY(3px);box-shadow:none}.kc-campaign button:disabled{cursor:default;opacity:.6}.kc-campaign button[aria-pressed=true]{background:#e9deff;border-color:#682fcd;box-shadow:0 3px 0 #682fcd}.kc-campaign :focus-visible{outline:4px solid #20788d;outline-offset:5px}.kc-campaign .button-primary{background:#6838c9;color:#fff;border-color:#32204e;box-shadow:0 4px 0 #32204e;font-weight:800}.kc-topline{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.kc-topline .back-link{display:inline-flex;gap:.4rem;align-items:center}.kc-player-chip{font-weight:800}.kc-heading{text-align:center;margin:2rem 0 1.5rem}.kc-heading h1{font-size:clamp(2rem,5vw,3.7rem);line-height:1.1;margin:.7rem 0 1rem}.kc-heading p{max-width:650px;margin:auto;font-size:1.12rem}.kc-eyebrow{font-size:.8rem;letter-spacing:.12em;font-weight:900;color:#6638b6}.kc-difficulties{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;max-width:650px;margin:1.5rem auto}.kc-difficulties a{text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:1rem .4rem;background:#fff;border:2px solid #d4c9e8;border-radius:24px;font-weight:850;box-shadow:0 4px 0 #e4dced;text-align:center}.kc-difficulties a span{font-size:1.8rem}.kc-difficulties a small{font-weight:600}.kc-difficulties [aria-current=page]{background:#efe5ff;border-color:#6d35b9;box-shadow:0 5px 0 #6d35b9;transform:translateY(-3px)}.kc-map-summary{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.kc-map-summary>span{display:flex;align-items:center;gap:.6rem;font-weight:800;background:#fff;padding:.5rem .9rem;border-radius:16px}.kc-map-guide{text-align:center;max-width:600px;margin:1rem auto 2rem}.kc-stars{color:#c47a00;display:inline-flex;gap:2px;align-items:center}.kc-stars svg{width:22px;height:22px;stroke-width:2}.kc-stars svg[data-earned=false]{color:#9891a8}.kc-map{list-style:none;margin:0 auto 2rem;padding:2rem 1rem;max-width:770px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem 1.5rem;background:radial-gradient(ellipse at 20% 20%,#ede2ff 0,transparent 50%),radial-gradient(ellipse at 85% 70%,#cef6f2 0,transparent 55%),#fffaf0;border:2px solid #e5dcf1;border-radius:40px;position:relative}.kc-map li{position:relative;z-index:1;min-width:0}.kc-map li:nth-child(6n+4){grid-column:3}.kc-map li:nth-child(6n+5){grid-column:2}.kc-map li:nth-child(6n+6){grid-column:1}.kc-map li:nth-child(6n+5),.kc-map li:nth-child(6n+6){grid-row:var(--row)}.kc-map li:after{content:"";position:absolute;height:8px;border-top:5px dotted #bcacd7;width:30%;left:95%;top:40%;z-index:-1}.kc-map li:last-child:after,.kc-map li:nth-child(3n):after{display:none}.kc-map li:nth-child(6n+4):after,.kc-map li:nth-child(6n+5):after{left:auto;right:95%}.kc-map li>a,.kc-map li>div{display:flex;align-items:center;flex-direction:column;gap:.45rem;text-align:center;text-decoration:none;color:inherit;position:relative}.kc-map-number{width:74px;height:74px;display:grid;place-items:center;background:#ffe76a;border:3px solid #332444;border-radius:28px;box-shadow:0 6px 0 #b48420;font-size:1.7rem;font-weight:950;transition:transform .2s}.kc-map a:hover .kc-map-number{transform:rotate(-5deg) scale(1.08)}.kc-map [data-locked=true] .kc-map-number{background:#e8e4ed;color:#82788d;box-shadow:0 5px 0 #c3bbcc;border-color:#c3bbcc}.kc-map [data-next=true] .kc-map-number{background:#b6f1e9;box-shadow:0 6px 0 #348d86;outline:4px solid #70dacf;outline-offset:6px;animation:kc-invite 3s ease-in-out infinite}.kc-map-caption{font-size:.75rem;line-height:1.2;max-width:120px}.kc-map strong{font-size:.95rem}.kc-collection{background:#f1e8ff;border:2px solid #d7c4ee;border-radius:30px;padding:1.5rem;margin-top:2rem}.kc-collection h2{display:flex;gap:.6rem;align-items:center;font-size:1.4rem}.kc-collection>div{display:flex;gap:1rem;flex-wrap:wrap}.kc-collection article{background:white;border-radius:22px;max-width:220px;padding:1rem;text-align:center;flex:1 1 170px}.kc-collection article>span{font-size:3rem}.kc-collection article h3{font-size:1rem;margin:.6rem 0}.kc-collection article p{font-size:.85rem}.kc-player-picker{max-width:650px;margin:2rem auto;text-align:center;background:#fff;border:2px solid #d8cbe9;border-radius:32px;padding:1.5rem}.kc-avatar-options{display:flex;gap:.7rem;flex-wrap:wrap;justify-content:center;margin:1.5rem 0}.kc-avatar-options button{font-size:2rem;min-width:65px}.kc-note{font-size:.85rem;margin-top:1.3rem}.kc-error{background:#fff3d9;border:2px solid #c28a28;border-radius:22px;padding:1rem;margin:1rem 0}.kc-error a{margin-left:1rem}.kc-level-meta{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;font-weight:750;margin:1.5rem 0}.kc-instructions{background:#f0e9fd;border-radius:24px;padding:1rem 1.5rem;margin:1rem 0}.kc-save-line{text-align:right;font-size:.8rem;color:#545263;margin:.5rem}.kc-board{border:2px solid #dad0eb;border-radius:32px;background:#fff;padding:clamp(1rem,4vw,2rem);margin:0;min-width:0;text-align:center;box-shadow:0 7px 0 #ede6f4;min-height:280px}.kc-board h2{scroll-margin-top:110px;font-size:clamp(1.3rem,4vw,2rem);margin:0 0 .7rem}.kc-board>p{margin:0 0 1.3rem}.kc-sequence{display:flex;gap:.35rem;flex-wrap:wrap;margin:1.4rem 0 2rem}.kc-sequence,.kc-symbol{align-items:center;justify-content:center}.kc-symbol{width:clamp(42px,8vw,65px);height:clamp(42px,8vw,65px);display:inline-flex}.kc-symbol svg{width:100%;height:100%}.kc-question-mark{font-size:2rem;font-weight:950;border:2px dashed #aa8ed0;border-radius:16px;min-width:48px;padding:.3rem}.kc-choices{display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap;margin:1rem 0 1.5rem}.kc-campaign .kc-symbol-button{padding:.4rem;background:#faf5ff;min-width:68px;min-height:68px}.kc-campaign .kc-slots+.kc-choices .kc-symbol-button{touch-action:none}.kc-drag-ghost{position:fixed;z-index:100;width:64px;height:64px;pointer-events:none;transform:translate(-50%,-65%);filter:drop-shadow(0 8px 6px #30274370);background:#fff9;border:2px solid #7041ba;border-radius:20px;padding:4px}.kc-campaign [data-hint=true]{outline:5px solid #e1ad17;outline-offset:3px}.kc-memory{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;max-width:470px;margin:1rem auto 2rem}.kc-memory button{aspect-ratio:1;padding:.2rem;font-size:2.3rem;background:#e9dfff;border-color:#6b4995}.kc-memory button[data-matched=true]{background:#d9f6ec;opacity:1;border-color:#398b72}.kc-slots button{background:#f6f2fa;border-style:dashed;position:relative;padding:.35rem;min-width:68px}.kc-slots button:not([data-filled=true]) .kc-symbol{filter:grayscale(1);opacity:.35}.kc-slots [data-filled=true]{border-style:solid;background:#d9f6ec;opacity:1}.kc-slots svg.lucide-check{position:absolute;right:0;bottom:0;background:#fff;border-radius:50%}.kc-compare{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.kc-compare h3{font-size:1rem}.kc-picture{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;max-width:400px;margin:1rem auto}.kc-picture button,.kc-picture-tile{min-width:0;min-height:64px;aspect-ratio:1;border-radius:16px;display:grid;place-items:center;padding:.2rem;position:relative}.kc-picture button[data-found=true]{box-shadow:0 0 0 4px #21856b;opacity:1}.kc-picture .lucide-check{position:absolute;right:0;bottom:0;background:#fff;border-radius:50%}.kc-picture .kc-symbol{width:90%;height:90%}.kc-game-status{text-align:center;padding:1.3rem .5rem;font-weight:800;min-height:60px}.kc-actions{display:flex;align-items:center;justify-content:center;gap:.85rem;flex-wrap:wrap;margin:1rem 0}.kc-build{width:100%;max-width:500px;border:3px solid #5c4d76;border-radius:18px;display:block;margin:1.2rem auto;touch-action:manipulation}.kc-build-controls{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center;margin-bottom:1.5rem}.kc-quiz{display:grid;gap:1rem;max-width:520px;margin:1.5rem auto}.kc-finish{background:radial-gradient(circle at 50% 20%,#fff3b3,transparent 65%),#fffaf1;border:3px solid #dcc178;border-radius:36px;text-align:center;padding:2rem 1rem}.kc-finish-icon{font-size:4rem}.kc-finish h2{scroll-margin-top:110px;font-size:2rem}.kc-finish>.kc-stars svg{width:55px;height:55px}.kc-finish>.kc-stars{margin:1rem}.kc-new-badge{display:flex;align-items:center;gap:1rem;background:#f0e6ff;border:2px solid #b5a0da;border-radius:23px;padding:1rem;text-align:left;max-width:450px;margin:1.5rem auto}.kc-new-badge>span{font-size:3rem}.kc-new-badge p{margin:.3rem 0 0}.kc-new-badge strong{font-size:1.2rem}@keyframes kc-invite{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@media (max-width:600px){.kc-compare{grid-template-columns:1fr}.kc-picture{max-width:320px}.kc-map{padding:2rem .5rem;gap:2rem .5rem;border-radius:28px}.kc-map-number{width:63px;height:63px;border-radius:23px}.kc-map strong{font-size:.85rem}.kc-map-caption{font-size:.69rem}.kc-difficulties{gap:.4rem}.kc-difficulties a{font-size:.82rem;border-radius:20px}.kc-level-meta,.kc-topline{font-size:.9rem}.kc-collection{padding:1rem}.kc-campaign button{font-size:.95rem}.kc-memory{gap:.5rem}.kc-choices{gap:.6rem}.kc-board{border-radius:24px}.kc-heading{margin-top:1.4rem}}@media (prefers-reduced-motion:reduce){.kc-campaign *{animation:none!important;transition:none!important}}html[data-calm=true] .kc-campaign *{animation:none!important;transition:none!important}body:has(.kc-campaign[data-playing=true]) .mobile-nav,body:has(.kc-campaign[data-playing=true]) .site-footer,body:has(.kc-campaign[data-playing=true]) .site-header{display:none}body:has(.kc-campaign[data-playing=true]) .page-section{width:100%;max-width:none;height:100dvh;min-height:0;box-sizing:border-box;padding:max(8px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.kc-campaign[data-playing=true]{width:100%;max-width:1440px;height:100%;display:flex;flex-direction:column;gap:6px}.kc-campaign[data-playing=true] .kc-heading{display:none}.kc-campaign[data-playing=true] .kc-topline{min-height:44px;flex:0 0 auto;padding-inline:6px}.kc-campaign[data-playing=true] .kc-player-chip{min-height:48px;padding:6px 10px;border-radius:12px;font-size:.85rem}.kc-play-shell{position:relative;flex:1 1 auto;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px}.kc-campaign[data-playing=true] .kc-level-meta{margin:0;min-height:46px;padding-inline:6px;font-size:clamp(.95rem,2vw,1.2rem)}.kc-campaign[data-playing=true] .kc-help-toggle{width:48px;min-width:48px;min-height:48px;flex:0 0 48px;padding:0;border-radius:50%;background:#f0e9fd}.kc-instructions{position:absolute;z-index:25;top:48px;right:0;width:min(390px,calc(100vw - 24px));max-height:calc(100dvh - 110px);overflow-y:auto;margin:0;border:2px solid #302743;box-shadow:0 14px 30px #30274330;text-align:left}.kc-help-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:1.05rem}.kc-campaign .kc-help-heading button{min-width:48px;min-height:48px;padding:0;font-size:1.6rem}.kc-instructions>button{margin:4px 6px 4px 0}.kc-campaign[data-playing=true] .kc-game-status,.kc-campaign[data-playing=true] .kc-save-line{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.kc-campaign[data-playing=true] .kc-board{min-height:0;height:100%;overflow:auto;display:flex;flex-direction:column;align-items:safe center;justify-content:safe center;padding:clamp(10px,1.8vw,24px);box-sizing:border-box}.kc-campaign[data-playing=true] .kc-board>*{flex-shrink:0}.kc-campaign[data-playing=true] .kc-board h2{margin-bottom:.35rem;font-size:clamp(1.25rem,2.5vw,1.8rem)}.kc-campaign[data-playing=true] .kc-board>p{margin-bottom:.5rem}.kc-campaign[data-playing=true] .kc-sequence{margin:clamp(.4rem,2dvh,1.2rem) 0}.kc-campaign[data-playing=true] .kc-memory{width:min(100%,52dvh,600px);max-width:none;margin:clamp(.3rem,1dvh,1rem) auto}.kc-campaign[data-playing=true] .kc-choices,.kc-campaign[data-playing=true] .kc-quiz{margin-block:clamp(.3rem,1dvh,1rem)}.kc-campaign[data-playing=true] .kc-build{width:auto;height:auto;max-width:min(100%,850px);max-height:min(52dvh,650px);margin:.4rem auto}.kc-campaign[data-playing=true] .kc-build-controls{margin-bottom:.5rem}.kc-campaign[data-playing=true] .kc-compare{width:100%;max-width:1100px;gap:clamp(8px,2vw,22px)}.kc-compare-toggle{display:none!important}.kc-build{touch-action:none;cursor:grab}.kc-build:active{cursor:grabbing}.kc-campaign[data-playing=true] .kc-picture{width:min(100%,46dvh);max-width:none;margin:.4rem auto}.kc-campaign[data-playing=true] .kc-finish{align-self:center;overflow-y:auto}@media (max-width:600px){.kc-campaign[data-playing=true] .kc-topline .back-link{font-size:.85rem}.kc-campaign[data-playing=true] .kc-board{border-radius:18px}.kc-campaign[data-playing=true] .kc-build{max-height:min(42dvh,390px)}.kc-campaign[data-playing=true] .kc-build-controls button{min-width:44px}.kc-campaign[data-playing=true] .kc-compare{grid-template-columns:1fr;touch-action:pan-y}.kc-campaign[data-playing=true] .kc-compare-toggle{display:inline-flex!important;min-height:48px;margin:4px auto;padding:6px 14px}.kc-campaign[data-playing=true] .kc-compare[data-show-original=false]>div:first-child,.kc-campaign[data-playing=true] .kc-compare[data-show-original=true]>div:last-child{display:none}.kc-campaign[data-playing=true] .kc-picture{width:min(100%,52dvh)}}@media (max-height:500px) and (orientation:landscape){.kc-campaign[data-playing=true] .kc-level-meta,.kc-campaign[data-playing=true] .kc-topline{min-height:40px}.kc-campaign[data-playing=true] .kc-board{justify-content:flex-start}.kc-campaign[data-playing=true] .kc-memory{width:min(100%,44dvh)}}