:root{--kind-ink:#17343c;--kind-teal:#0c766e;--kind-deep:#163c47;--kind-coral:#ee735f;--kind-sand:#fff7e8;--kind-mint:#e2f5ee;--kind-line:#c7d8d5}
body.kind-page{background:#f5faf8;color:var(--kind-ink);background-image:radial-gradient(circle at 8% 22%,rgba(247,188,132,.18),transparent 22rem),radial-gradient(circle at 92% 58%,rgba(67,180,161,.16),transparent 26rem)}
.kind-page .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}
.kind-hero{position:relative;overflow:visible;margin-bottom:-52px;padding:30px 20px 112px;border-radius:0 0 58px 58px;background:linear-gradient(135deg,#12343d 0%,#176257 60%,#d6785c 145%)}
.kind-hero::before{content:"";position:absolute;z-index:0;inset:0;border-radius:inherit;background:radial-gradient(circle,rgba(255,255,255,.08) 0 2px,transparent 3px);background-size:34px 34px;pointer-events:none}
.kind-hero nav{position:relative;z-index:10;margin-bottom:28px}.kind-hero .brand a{color:#fff;text-decoration:none}.kind-hero .hero-copy{position:relative;z-index:1;max-width:700px;margin:auto;text-align:center}.kind-eyebrow,.game-label,.rules-intro>span,.theme-section>div>span{display:inline-block;color:#abe6d8;font-size:.74rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.kind-hero h1{margin:10px 0 0;color:#fff;font-size:clamp(3rem,8vw,5.7rem);letter-spacing:-.065em;line-height:.92}.kind-hero .hero-copy p{margin:18px auto 0;color:#dcf2ec;font-size:clamp(1rem,2.3vw,1.22rem)}
.hero-pair{display:flex;align-items:center;justify-content:center;gap:14px;margin:25px auto -70px}.hero-pair span{display:grid;width:84px;height:84px;place-items:center;border:1px solid rgba(255,255,255,.3);border-radius:25px;background:rgba(255,255,255,.95);font-size:2.65rem;box-shadow:0 16px 36px rgba(0,0,0,.2);transform:rotate(-5deg)}.hero-pair span:last-child{transform:rotate(5deg)}.hero-pair i{color:#ffe3ae;font-family:Georgia,serif;font-size:1.7rem;font-style:italic;font-weight:700}
.kind-main{position:relative;z-index:2;display:block;width:min(1160px,calc(100% - 28px));max-width:none;margin:0 auto 72px;padding:0}.kind-game{padding:clamp(18px,4vw,38px);border:1px solid rgba(12,118,110,.15);border-radius:30px;background:rgba(255,255,255,.98);box-shadow:0 28px 70px rgba(22,60,71,.16)}
.game-header{display:flex;align-items:center;justify-content:space-between;gap:22px}.game-label{margin:0 0 6px;color:var(--kind-teal)}.game-header h2{margin:0;color:var(--kind-deep);font-size:clamp(1.65rem,4vw,2.35rem);letter-spacing:-.035em}.kind-stats{display:flex;gap:9px}.kind-stats div{min-width:90px;padding:9px 13px;border:1px solid #d9e9e5;border-radius:14px;background:#f4faf8;text-align:center}.kind-stats strong,.kind-stats span{display:block}.kind-stats strong{color:var(--kind-teal);font-size:1.3rem}.kind-stats span{color:#70817e;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.status-row{display:flex;justify-content:space-between;gap:20px;margin:23px 0 14px;color:#657a78;font-size:.88rem}.status-row p,.status-row span{margin:0}.status-row .is-error{color:#b23b36;font-weight:800}.status-row .is-success{color:#087b62;font-weight:800}
.play-layout{display:grid;grid-template-columns:minmax(350px,590px) minmax(230px,1fr);align-items:center;gap:clamp(28px,6vw,68px)}.board-stage{position:relative;width:100%;max-width:590px;aspect-ratio:1}.kind-board{position:relative;display:grid;width:100%;height:100%;box-sizing:border-box;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(6,minmax(0,1fr));gap:10px;padding:10px;border:2px solid #b9d3ce;border-radius:22px;background:#dfeeea;box-shadow:inset 0 0 0 5px #eff7f5,0 14px 34px rgba(22,60,71,.12)}
.kind-cell{position:relative;display:grid;min-width:0;min-height:0;place-items:center;border:1px solid #d3e1de;border-radius:14px;background:#fff;color:var(--kind-ink);cursor:pointer;font:inherit;line-height:1;box-shadow:0 3px 8px rgba(22,60,71,.06);transition:transform .12s ease,background .12s ease,box-shadow .12s ease}.kind-cell:hover:not(.given){transform:translateY(-1px);background:#fffdf8}.kind-cell.selected{z-index:2;box-shadow:0 0 0 3px #1b9689,0 5px 12px rgba(22,60,71,.15)}.kind-cell.given{background:#f3f8f6;cursor:default}.kind-cell .cell-symbol{font-size:clamp(1.65rem,5.2vw,3.4rem);filter:saturate(.92);transform:translateZ(0)}.kind-cell.given .cell-symbol{filter:saturate(.72)}.kind-cell.empty .cell-symbol{opacity:0}.kind-cell.error{background:#fff0ed;box-shadow:inset 0 0 0 2px #df6657}.kind-cell.hinted{animation:hint-pop .6s ease}.kind-cell:focus-visible{z-index:3;outline:4px solid rgba(238,115,95,.5);outline-offset:1px}
.relation-layer{position:absolute;z-index:20;inset:0;pointer-events:none}.relation{position:absolute;display:grid;width:22px;height:22px;place-items:center;border:2px solid #fff;border-radius:50%;font-size:.72rem;font-weight:950;line-height:1;box-shadow:0 2px 5px rgba(22,60,71,.22);transform:translate(-50%,-50%)}.relation.same{background:#127e73;color:#fff}.relation.different{background:#e9785f;color:#fff}
.kind-controls{display:grid;gap:17px}.symbol-picker{display:grid;grid-template-columns:1fr 1fr;gap:10px}.symbol-picker button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:72px;border:2px solid #d8e7e3;border-radius:17px;background:#f9fcfb;color:var(--kind-ink);cursor:pointer;font:inherit;font-weight:850}.symbol-picker button span{font-size:2rem}.symbol-picker button small{font-size:.82rem;font-weight:850}.symbol-picker button[aria-pressed="true"]{border-color:#168d82;background:#e8f7f2;box-shadow:0 0 0 3px rgba(22,141,130,.12)}.tap-tip,.keyboard-tip{margin:0;color:#71827f;font-size:.8rem;line-height:1.55;text-align:center}.display-mode-button{display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid #cbded9;border-radius:12px;padding:9px 12px;background:#f4faf8;color:#365753;cursor:pointer;font:inherit}.display-mode-button span{color:#0067a8;font-size:1.15rem;letter-spacing:.12em}.display-mode-button b{font-size:.78rem}.display-mode-button[aria-pressed="true"]{border-color:#0067a8;background:#e8f3f9;color:#074c72}.tool-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.tool-grid button{min-width:0;border:1px solid #d8e7e3;border-radius:13px;padding:10px 4px;background:#fff;color:#46625f;cursor:pointer;font:inherit;font-size:.74rem;font-weight:800}.tool-grid button span{display:block;margin-bottom:2px;color:var(--kind-teal);font-size:1.25rem}.tool-grid button:disabled{opacity:.35;cursor:default}.new-game-button,.primary-button,.quiet-button,.text-button{border:0;border-radius:13px;padding:12px 17px;cursor:pointer;font:inherit;font-weight:850}.new-game-button,.primary-button{background:var(--kind-deep);color:#fff}.new-game-button:hover,.primary-button:hover{background:#0d5960}.keyboard-tip kbd{border:1px solid #c9d6d4;border-bottom-width:2px;border-radius:4px;padding:1px 4px;background:#fff;font:inherit;font-weight:850}
.counter-symbol{font-family:Arial,sans-serif!important;font-weight:900;line-height:1}.counter-symbol.counter-a{color:#0067a8}.counter-symbol.counter-b{color:#b74600}.kind-cell .counter-symbol{font-size:clamp(2.8rem,8vw,5.4rem);filter:none}.kind-cell.given .counter-symbol{filter:none;opacity:.78}.symbol-picker button .counter-symbol{font-size:2.6rem}.hero-pair span.counter-symbol{font-size:3.6rem}.win-pair{display:flex;align-items:center;justify-content:center;gap:.3em}.win-pair span{font-size:inherit}.win-pair .counter-symbol{font-size:1em}
.win-card{position:absolute;inset:10px;z-index:8;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px;border-radius:17px;background:rgba(16,54,62,.96);color:#fff;text-align:center;backdrop-filter:blur(5px)}.win-card[hidden]{display:none}.win-pair{font-size:clamp(2.5rem,9vw,5rem);letter-spacing:.15em}.win-card h2{margin:13px 0 4px;color:#fff;font-size:clamp(1.9rem,5vw,3rem)}.win-card p{margin:0 0 16px;color:#cde8e1}.win-card .primary-button,.win-card .quiet-button,.win-card .text-button{width:min(270px,100%);margin-top:7px}.win-card .primary-button{background:#ef8269}.win-card .quiet-button{background:rgba(255,255,255,.13);color:#fff}.win-card .text-button{padding:7px;background:transparent;color:#b8ddd4;font-size:.82rem}
.rules-section{margin-top:28px;padding:clamp(26px,5vw,52px);border-radius:29px;background:var(--kind-sand)}.rules-intro{max-width:720px}.rules-intro>span,.theme-section>div>span{color:#c35f4e}.rules-intro h2,.theme-section h2{margin:7px 0 10px;color:var(--kind-deep);font-size:clamp(1.8rem,4vw,2.8rem);letter-spacing:-.04em}.rules-intro p{margin:0;color:#6d7976;line-height:1.65}.rule-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}.rule-grid article{margin:0;padding:23px;border:1px solid #eee1c9;border-radius:20px;background:#fff}.rule-grid article>b{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;background:#e6f5f0;color:var(--kind-teal);font-size:1.25rem}.rule-grid h3{margin:15px 0 7px;color:var(--kind-deep);font-size:1.05rem}.rule-grid p{margin:0;color:#6b7b78;line-height:1.55}.clue-legend{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.clue-legend>div{display:flex;align-items:center;gap:13px;padding:16px 19px;border-radius:16px;background:#fff}.legend-mark{display:grid;flex:0 0 34px;height:34px;place-items:center;border-radius:50%;color:#fff;font-weight:950}.legend-mark.same{background:var(--kind-teal)}.legend-mark.different{background:var(--kind-coral)}.clue-legend p{margin:0;color:#667774;font-size:.9rem;line-height:1.45}.clue-legend strong{color:var(--kind-deep)}
.theme-section{display:flex;align-items:flex-start;justify-content:space-between;gap:40px;margin-top:28px;padding:clamp(26px,5vw,48px);border:1px solid #dbeae6;border-radius:29px;background:#fff}.theme-section>div:first-child{max-width:400px}.theme-cloud{display:flex;flex:1;flex-wrap:wrap;justify-content:flex-end;gap:9px}.theme-cloud span{border:1px solid #dcebe7;border-radius:999px;padding:9px 13px;background:#f5fbf9;color:#496460;font-size:.8rem;font-weight:800}.noscript-card{max-width:700px;margin:30px auto;padding:20px;background:#fff;text-align:center}
@keyframes hint-pop{0%,100%{transform:scale(1)}45%{transform:scale(1.09);box-shadow:0 0 0 5px rgba(238,115,95,.25)}}
@media(max-width:840px){.play-layout{grid-template-columns:1fr}.board-stage,.kind-controls{width:100%;max-width:590px;margin:auto}.theme-section{display:block}.theme-cloud{justify-content:flex-start;margin-top:24px}}
@media(max-width:650px){.kind-hero{padding:22px 14px 90px;border-radius:0 0 36px 36px}.kind-hero nav{margin-bottom:23px}.hero-pair{margin-bottom:-58px}.hero-pair span{width:68px;height:68px;border-radius:20px;font-size:2.15rem}.kind-main{width:min(100% - 16px,1160px)}.kind-game{padding:14px;border-radius:21px}.game-header{align-items:flex-start;flex-direction:column}.kind-stats{align-self:stretch}.kind-stats div{flex:1}.status-row{font-size:.75rem}.kind-board{gap:6px;padding:6px;border-radius:15px}.kind-cell{border-radius:9px}.relation{width:20px;height:20px;border-width:2px;font-size:.64rem}.tool-grid{grid-template-columns:repeat(4,1fr)}.keyboard-tip{display:none}.rule-grid,.clue-legend{grid-template-columns:1fr}.rules-section,.theme-section{border-radius:21px}.theme-cloud span{font-size:.74rem}}
@media(max-width:390px){.symbol-picker button{min-height:62px}.symbol-picker button span{font-size:1.65rem}.symbol-picker button .counter-symbol{font-size:2.25rem}.symbol-picker button small{display:none}.kind-cell .cell-symbol{font-size:1.55rem}.kind-cell .counter-symbol{font-size:2.8rem}}
@media(prefers-reduced-motion:reduce){.kind-cell,.kind-cell.hinted{animation:none;transition:none}}
