/* 99 Club Studio · v1.41 — four puzzle engines visual refinement */
.tt99-v140-grid{display:grid;margin:10px auto 7px;background:#fff;border:2px solid #4f7075;box-sizing:border-box}
.tt99-v140-cell{display:grid;place-items:center;position:relative;box-sizing:border-box;border-right:1px solid #afc4c6;border-bottom:1px solid #afc4c6;color:#294b51;font-weight:800;background:#fff}
.tt99-v140-cell.given{background:#f2f7f6}
.tt99-v140-cell.answer-fill{background:#e5f4f1;color:#0d756b}
.tt99-v140-note{margin:6px auto 0;text-align:center;color:#657c80;font-size:clamp(5px,.55vw,7.5px)}

/* Killer Sudoku */
.tt99-killer-grid{width:min(100%,390px);aspect-ratio:1;--killer-n:6;grid-template-columns:repeat(var(--killer-n),1fr)}
.tt99-killer-grid .tt99-v140-cell{font-size:clamp(11px,1.35vw,19px)}
.tt99-killer-grid .tt99-v140-cell:nth-child(var(--killer-n)n){border-right:0}.tt99-killer-grid .tt99-v140-cell.last-row{border-bottom:0}
.tt99-killer-grid .cage-top{border-top:2px dashed #18847a}.tt99-killer-grid .cage-left{border-left:2px dashed #18847a}.tt99-killer-grid .cage-right{border-right:2px dashed #18847a!important}.tt99-killer-grid .cage-bottom{border-bottom:2px dashed #18847a!important}
.tt99-killer-grid .box-right{box-shadow:inset -2px 0 0 #41666b}.tt99-killer-grid .box-bottom{box-shadow:inset 0 -2px 0 #41666b}.tt99-killer-grid .box-right.box-bottom{box-shadow:inset -2px 0 0 #41666b,inset 0 -2px 0 #41666b}
.tt99-killer-grid small{position:absolute;left:4px;top:3px;color:#16847a;font:800 clamp(4.5px,.5vw,6.8px)/1 Arial,sans-serif}

/* Hashi */
.tt99-hashi-board{position:relative;width:min(100%,450px);aspect-ratio:1;margin:8px auto 5px;background:#fff;border:1.5px solid #aec2c4;border-radius:6px;overflow:hidden}
.tt99-hashi-gridline{position:absolute;display:block;background:#cbd9da;z-index:0;pointer-events:none}.tt99-hashi-gridline.v{width:1px}.tt99-hashi-gridline.h{height:1px}.tt99-hashi-gridline.outer{background:#9eb5b8}
.tt99-hashi-island{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;width:34px;height:34px;border:2px solid #456a70;border-radius:50%;background:#fff;color:#294b51;font-weight:900;font-size:12px;z-index:3;box-shadow:0 0 0 2px rgba(255,255,255,.88)}
.tt99-hashi-edge{position:absolute;transform-origin:0 50%;height:1.4px;background:#a9bec0;z-index:1}
.tt99-hashi-edge.answer{height:2.4px;background:#14837a}.tt99-hashi-edge.answer.double:after{content:"";position:absolute;left:0;right:0;top:5px;height:2.4px;background:#14837a}
.tt99-hashi-key{display:flex;justify-content:center;gap:18px;color:#657c80;font-size:clamp(5px,.55vw,7.5px)}

/* Hidden Gems */
.tt99-mines-grid{width:min(100%,390px);aspect-ratio:1;--mines-n:6;grid-template-columns:repeat(var(--mines-n),1fr)}
.tt99-mines-grid .tt99-v140-cell{font-size:clamp(12px,1.45vw,20px)}
.tt99-mines-grid .tt99-v140-cell.clue{background:#edf7f5}.tt99-mines-grid .tt99-v140-cell.gem:before{content:"◆";font-size:clamp(13px,1.7vw,23px);color:#16847a}.tt99-mines-grid .tt99-v140-cell:nth-child(var(--mines-n)n){border-right:0}.tt99-mines-grid .tt99-v140-cell.last-row{border-bottom:0}

/* Alphametics */
.tt99-alpha-card{width:min(100%,490px);margin:12px auto;padding:18px 22px 14px;border:1px solid #cedddd;border-radius:10px;background:#fafcfc}
.tt99-alpha-sum-grid{--alpha-cols:5;display:grid;grid-template-columns:36px repeat(var(--alpha-cols),44px);gap:5px;justify-content:center;align-items:center;margin:0 auto;color:#294b51}
.tt99-alpha-grid-row{display:contents}.tt99-alpha-op{display:grid;place-items:center;font-weight:950;font-size:30px;line-height:1;color:#294b51}
.tt99-alpha-cell{display:grid;place-items:center;width:44px;height:44px;border:1.5px solid #75989c;border-radius:5px;background:#fff;font:900 20px/1 Arial,sans-serif;color:#294b51;box-sizing:border-box}
.tt99-alpha-cell.empty{border-color:transparent;background:transparent}.tt99-alpha-cell.answer{background:#e6f4f1;color:#0c746b;border-color:#76aaa5}
.tt99-alpha-rule{grid-column:1/-1;height:2px;background:#456a70;margin:2px 0 3px}.tt99-alpha-grid-row.result .tt99-alpha-cell{border-width:2px}
.tt99-alpha-hints{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:14px}.tt99-alpha-hints span{padding:4px 8px;border:1px solid #d1e1df;border-radius:999px;background:#fff;color:#49696e;font-size:clamp(5px,.58vw,8px);font-weight:800}.tt99-alpha-hints .answer{background:#e6f4f1;color:#0c746b}

.tt99-game-activities.count-2 .tt99-v140-grid{width:min(100%,270px)}.tt99-game-activities.count-2 .tt99-hashi-board{width:min(100%,300px)}
.tt99-game-activities.count-2 .tt99-alpha-sum-grid{grid-template-columns:28px repeat(var(--alpha-cols),32px);gap:4px}.tt99-game-activities.count-2 .tt99-alpha-cell{width:32px;height:32px;font-size:15px}.tt99-game-activities.count-2 .tt99-alpha-op{font-size:22px}
.tt99-game-activities.count-3 .tt99-v140-grid{width:min(100%,185px);margin-top:4px}.tt99-game-activities.count-3 .tt99-hashi-board{width:min(100%,195px);margin-top:3px}.tt99-game-activities.count-3 .tt99-hashi-island{width:23px;height:23px;font-size:8px}.tt99-game-activities.count-3 .tt99-alpha-card{padding:8px 9px;margin-top:4px}.tt99-game-activities.count-3 .tt99-alpha-sum-grid{grid-template-columns:20px repeat(var(--alpha-cols),23px);gap:2px}.tt99-game-activities.count-3 .tt99-alpha-cell{width:23px;height:23px;font-size:10px;border-radius:3px}.tt99-game-activities.count-3 .tt99-alpha-op{font-size:16px}.tt99-game-activities.count-3 .tt99-v140-note,.tt99-game-activities.count-3 .tt99-hashi-key{display:none}
@media print{.tt99-v140-cell,.tt99-hashi-island,.tt99-alpha-card,.tt99-alpha-cell{background:#fff!important}.tt99-v140-cell.answer-fill,.tt99-alpha-cell.answer{background:#edf7f4!important}}
