@charset "UTF-8";
:root{color-scheme:dark;--bg:#fff4f9;--line:#f0d5e1;--muted:#ad8d9e;--text:#775467;--lime:#d76a9b;--coral:#df739b;--cell-size:40px;--cell-gap:4px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-synthesis:none}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{width:100%;height:100%;margin:0;overflow:hidden;overscroll-behavior:none}body{background:radial-gradient(ellipse at 50% 0%,#ffe5ef,var(--bg) 68%);color:var(--text)}button{font:inherit;border:0;cursor:pointer;color:inherit;touch-action:manipulation;-webkit-user-select:none;user-select:none}button:focus-visible{outline:2px solid var(--lime);outline-offset:3px}button:disabled{cursor:default;opacity:.3}svg{width:20px;height:20px;display:block;flex:none}[hidden]{display:none!important}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}
.game-shell{width:100%;height:100vh;height:100dvh;display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));overflow:hidden}.play-panel{width:min(1080px,100%);height:min(920px,100%);min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;gap:16px;padding:24px 28px 22px;border:1px solid #f0cfdd;border-radius:28px;background:linear-gradient(145deg,#ffffff,#fffafc 70%);box-shadow:0 24px 70px #c47b9e20,inset 0 1px 0 #eac3d766;overflow:hidden}
.game-top,.utility-actions,.play-toolbar,.tool-switch,.difficulty,.history-button,.new-game{display:flex;align-items:center}.game-top{justify-content:space-between;gap:18px;min-height:42px}.difficulty{padding:4px;gap:3px;background:#fff0f6;border:1px solid #edc5d74d;border-radius:13px}.difficulty button{padding:9px 23px;border-radius:9px;background:transparent;color:#ad8499;font-size:13px;line-height:18px;font-weight:600;transition:background .15s,color .15s}.difficulty button[aria-pressed=true]{color:#78475e;background:#f4bed5;box-shadow:0 2px 5px #c898b31f}.utility-actions{gap:8px}.icon-button,.history-button{height:40px;background:#edc5d733;border:1px solid #eecbdd99;border-radius:11px;color:#ac8298}.icon-button{width:40px;display:grid;place-items:center}.icon-button[aria-pressed=false]{color:#c3a7b5;position:relative}.icon-button[aria-pressed=false]:after{content:"";height:1.5px;width:25px;background:currentColor;position:absolute;transform:rotate(-45deg)}.icon-button:hover,.history-button:hover{background:#fce7f0;color:#fff}.history-button{gap:8px;padding:0 13px;font-size:12px;font-weight:600}.help-button{font-weight:600;font-size:18px}
.scoreboard{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:70px;padding:3px 8px 5px}.counter{display:flex;flex-direction:column;gap:5px}.counter-label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:10px;letter-spacing:.04em}.counter-label svg{width:13px;height:13px}.counter strong{font-size:32px;font-weight:600;line-height:1;letter-spacing:.02em;font-variant-numeric:tabular-nums}.timer-counter{align-items:flex-end}.timer-counter strong{color:var(--lime)}.round-state{display:flex;flex-direction:column;align-items:center;gap:5px;color:#b48a9f;font-size:10px}.face{font-size:25px;color:var(--lime);line-height:1}.round-state.is-lost .face{color:var(--coral)}
.board-stage{position:relative;min-height:0;min-width:0;isolation:isolate;border-radius:18px;background:#fff2f8;box-shadow:inset 0 1px 9px #bd8ca822;border:1px solid #edc5d74d;overflow:hidden}.board-fit{width:100%;height:100%;padding:12px;min-height:0;min-width:0;display:grid;place-items:center;overflow:hidden;touch-action:none}.board{display:grid;grid-template-columns:repeat(var(--cols),var(--cell-size));grid-auto-rows:var(--cell-size);gap:var(--cell-gap);width:max-content;height:max-content;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;contain:layout style}.cell{display:grid;place-items:center;width:var(--cell-size);height:var(--cell-size);min-width:0;min-height:0;padding:0;border:1px solid #edc5d74d;border-radius:var(--cell-radius,7px);background:linear-gradient(145deg,#ffeaf3,#f5d4e4);box-shadow:inset 0 1px 0 #ffffffaa,0 2px 2px #bd8ca822;color:#7b536b;font-size:var(--number-size,20px);line-height:1;font-weight:700;font-variant-numeric:tabular-nums;transition:background .1s,transform .1s}.cell:hover{background:#f8c8de}.cell:active{transform:scale(.92)}.cell svg{width:55%;height:55%}.cell.revealed{border-color:#edc5d733;background:#fff9fc;box-shadow:none}.cell.n0{background:#fffdfd;border-color:#f5dce766}.cell.n1{color:#6e8ebe}.cell.n2{color:#72a282}.cell.n3{color:#c97097}.cell.n4{color:#9d7eb7}.cell.n5{color:#b58d63}.cell.n6{color:#5d9eab}.cell.n7{color:#b67b9d}.cell.n8{color:#fff}.cell.flagged{color:#ce6e9c;background:#fbdbe9}.cell.mine{color:#b78fa3;background:#fce8f1}.cell.exploded{background:#e87ba5;color:#fff;box-shadow:0 0 22px #e87ba544}.cell.wrong{color:#d67f9f;opacity:.7}.cell:focus-visible{outline-offset:0;z-index:1}
.effects-overlay{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:4}.effect-caption{position:absolute;left:50%;top:12px;transform:translateX(-50%);max-width:90%;padding:11px 18px;background:#fff4f9f5;border:1px solid #f1bfd6;border-radius:12px;box-shadow:0 6px 24px #bd8ca822;color:#ae5d87;font-size:14px;line-height:1.5;text-align:center;z-index:6;pointer-events:none}.result{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;gap:12px;align-items:center;width:max-content;max-width:calc(100% - 24px);padding:12px 14px 12px 17px;border:1px solid #ecc8d9;border-radius:15px;background:#fff9fdf5;backdrop-filter:blur(15px);box-shadow:0 8px 20px #bd8ca822;z-index:5}.result.lost{background:#fff1f8f5;border-color:#efbdd3}.result>span{font-size:23px;color:var(--lime)}.result.lost>span{color:var(--coral)}.result strong{display:block;font-size:14px;line-height:1.3}.result p{font-size:11px;color:#b28d9f;line-height:1.5;margin:4px 0 0}.result button{width:38px;height:38px;display:grid;place-items:center;flex:none;border-radius:10px;background:#eecbdd99;color:#9f6988}.result button svg{width:18px;height:18px}
.board-footer{display:flex;justify-content:space-between;color:#b797a7;font-size:10px;line-height:14px;padding:0 4px;font-variant-numeric:tabular-nums}.play-toolbar{justify-content:space-between;gap:14px;min-height:46px}.tool-switch{background:#fff2f8;border:1px solid #eac3d766;padding:4px;border-radius:12px;gap:3px}.tool-switch button{display:flex;align-items:center;justify-content:center;gap:7px;background:transparent;color:#ad849b;padding:9px 16px;border-radius:8px;font-size:12px;line-height:16px;font-weight:600}.tool-switch button svg{width:16px;height:16px}.tool-switch button[aria-pressed=true]{background:#f4bed5;color:#78475e}.gesture-tip{font-size:11px;color:#bd9dad;letter-spacing:.03em}.new-game{gap:9px;justify-content:center;background:var(--lime);color:#824361;padding:13px 24px;border-radius:12px;font-size:13px;line-height:18px;font-weight:700;box-shadow:0 4px 12px #c898b319}.new-game svg{width:17px;height:17px}.new-game:hover{background:#edbfd4}
.modal-backdrop{position:fixed;inset:0;display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));background:#9f6a8c55;backdrop-filter:blur(14px);z-index:20;overflow:hidden}.modal{width:min(570px,100%);max-height:calc(100dvh - 32px);padding:28px;border:1px solid #efcbdc;border-radius:24px;background:linear-gradient(135deg,#ffffff,#fff8fc);box-shadow:0 24px 100px #ad73913b;overflow:hidden}.modal-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.eyebrow{margin:0 0 8px;color:#bc90a6;font-size:10px;letter-spacing:.18em}.modal h2{margin:0;font-size:24px;line-height:1.3;font-weight:600;letter-spacing:.03em}.close-button{width:36px;height:36px;border-radius:10px;background:#eac3d766;color:#b58da3;font-size:24px;line-height:1;flex:none}.history-modal{display:flex;flex-direction:column;gap:18px}.history-filters{display:flex;background:#fff0f7;padding:4px;border-radius:11px;gap:3px}.history-filters button{flex:1;background:transparent;border-radius:8px;padding:8px 6px;color:#b08aa0;font-size:12px;line-height:18px}.history-filters button[aria-pressed=true]{color:var(--lime);background:#f9dce9}.record-summary{display:grid;grid-template-columns:1.25fr 1fr .7fr;gap:12px;padding:6px 2px 4px}.record-summary>div{display:flex;flex-direction:column;gap:9px}.record-summary span{color:#b495a5;font-size:10px;white-space:nowrap}.record-summary small{font-size:9px;color:#cb88a8;margin-left:4px}.record-summary strong{font-size:25px;line-height:1;font-weight:500;font-variant-numeric:tabular-nums}.record-summary strong b{font-weight:500}.record-summary strong em{font-style:normal;color:#d3b6c5;font-size:18px}.history-columns,.history-row{display:grid;grid-template-columns:1fr 72px 44px;gap:10px;align-items:center}.history-columns{font-size:10px;color:#bb9aac;padding:0 10px}.history-columns span:not(:first-child),.history-row>span{text-align:right}.history-list{min-height:118px;display:flex;flex-direction:column;gap:7px;overflow:hidden}.history-row{height:52px;min-height:52px;padding:8px 10px;background:#edc5d733;border:1px solid #ffffff05;border-radius:10px}.history-round{display:flex;gap:10px;align-items:center;min-width:0}.outcome-icon{width:31px;height:31px;display:grid;place-items:center;background:#f7dbe9;color:var(--lime);border-radius:9px;flex:none}.outcome-icon.lost{color:var(--coral);background:#fbe2ec}.outcome-icon svg{width:16px;height:16px}.history-round strong{font-size:11px;font-weight:500;display:block}.history-round time{display:block;color:#bd9ead;font-size:9px;white-space:nowrap;margin-top:4px}.history-row>span{font-size:12px;font-variant-numeric:tabular-nums;color:#997187}.history-row>span:last-child{color:#b58fa3}.history-empty{display:grid;place-content:center;min-height:118px;text-align:center;gap:10px;color:#b995a7;font-size:11px}.history-empty strong{font-size:14px;font-weight:500;color:#a77791}.history-pagination{display:flex;justify-content:space-between;align-items:center;gap:10px;color:#b594a6;font-size:10px}.history-pagination>div{display:flex;align-items:center;gap:12px}.history-pagination button{width:29px;height:27px;border-radius:7px;background:#eac3d766;color:#b47a96}.storage-note{font-size:10px;line-height:1.6;color:#b995a7;margin:0}.help-modal{display:flex;flex-direction:column;gap:22px}.help-rules{display:flex;flex-direction:column;gap:18px}.help-rules p{margin:0;display:flex;flex-direction:column;gap:6px}.help-rules strong{font-size:13px;font-weight:500;color:#91657c}.help-rules span{font-size:11px;line-height:1.8;color:#ae8a9d}.help-status{display:flex;align-items:center;gap:7px;font-size:10px;color:#b28d9f}.help-status>span:first-child{width:6px;height:6px;border-radius:50%;background:#d6b5c5}.help-status>span.ready:first-child{background:var(--lime)}.primary-button,.secondary-button{padding:13px 20px;border-radius:11px;font-size:13px;line-height:18px;font-weight:600;background:var(--lime);color:#824361}.secondary-button{background:#eac3d766;color:#ab8098}.compact-modal{width:min(400px,100%);padding:30px}.confirm-copy{color:#b28d9f;font-size:12px;line-height:1.8;margin:18px 0 24px}.confirm-actions{display:flex;gap:10px}.confirm-actions button{flex:1}.toast{position:fixed;bottom:max(26px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);max-width:90%;padding:12px 18px;background:#fff0f7;border:1px solid #edbfd5;border-radius:12px;font-size:12px;line-height:1.5;box-shadow:0 8px 30px #c47b9e20;z-index:40}
@media(max-width:760px){.play-panel{padding:18px;gap:13px;border-radius:22px}.difficulty button{padding:8px 17px}.utility-actions{gap:5px}.icon-button{width:36px;height:36px}.history-button{height:36px;padding:0 10px}.help-button{display:none}.gesture-tip{font-size:10px}.new-game{padding:12px 19px}.scoreboard{padding-inline:3px}.counter strong{font-size:29px}}
@media(max-width:480px){.game-shell{padding:max(9px,env(safe-area-inset-top)) 9px max(9px,env(safe-area-inset-bottom))}.play-panel{padding:14px 11px;gap:12px;border-radius:20px}.game-top{gap:5px}.difficulty button{padding:7px 12px;font-size:11px}.difficulty{border-radius:10px;padding:3px}.utility-actions{gap:4px}.icon-button{width:31px;height:33px;border-radius:8px}.icon-button svg{width:16px;height:16px}.history-button{width:33px;height:33px;padding:0;justify-content:center;border-radius:8px}.history-button span{display:none}.history-button svg{width:18px;height:18px}.scoreboard{min-height:65px}.round-state{font-size:9px}.counter strong{font-size:28px}.counter-label{font-size:9px}.board-fit{padding:8px}.board-stage{border-radius:13px}.gesture-tip{display:none}.tool-switch button{padding:9px 15px}.new-game{padding:12px 17px}.board-footer{font-size:9px;gap:8px}.modal{padding:20px;border-radius:20px}.history-modal{gap:14px}.record-summary strong{font-size:23px}.effect-caption{font-size:12px;padding:9px 12px}.result strong{font-size:12px}.result p{font-size:10px}.result{gap:9px;padding:10px 11px}.help-modal{gap:17px}.help-rules{gap:14px}}
@media(max-height:680px){.game-shell{padding-top:max(9px,env(safe-area-inset-top));padding-bottom:max(9px,env(safe-area-inset-bottom))}.play-panel{gap:10px;padding-top:15px;padding-bottom:14px;border-radius:20px}.scoreboard{min-height:52px}.counter{gap:3px}.counter strong{font-size:27px}.round-state{gap:2px}.face{font-size:22px}.game-top{min-height:36px}.play-toolbar{min-height:40px}.tool-switch button{padding-block:7px}.new-game{padding-block:10px}.modal{padding:20px}.history-modal{gap:12px}.record-summary{padding:0}.help-modal{gap:15px}.help-rules{gap:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

@media(max-height:520px){.game-shell{padding:7px}.play-panel{padding:10px 16px;gap:7px;border-radius:16px}.scoreboard{min-height:41px;padding:0 4px}.counter strong{font-size:23px}.counter-label{font-size:9px}.round-state{flex-direction:row;gap:8px}.face{font-size:22px}.difficulty button{padding-block:6px}.icon-button,.history-button{height:33px}.icon-button{width:33px}.game-top{min-height:33px}.new-game{padding:8px 20px}.tool-switch button{padding-block:6px}.play-toolbar{min-height:36px}.board-fit{padding:7px}.modal{padding:16px}.history-modal{gap:10px}.modal-heading .eyebrow{display:none}.modal h2{font-size:20px}.history-filters button{padding:5px 6px}.record-summary{padding:0}.record-summary>div{gap:5px}.record-summary strong{font-size:20px}.history-list{min-height:52px}.history-empty{min-height:52px;gap:5px}.history-modal>.storage-note{display:none}.history-modal .close-button{height:29px;width:29px}.help-modal{gap:10px}.help-rules{gap:7px}.help-rules p{gap:3px}.help-rules strong{font-size:11px}.help-rules span{font-size:10px;line-height:1.5}.help-status{display:none}.help-modal>.storage-note{display:none}.help-modal .primary-button{padding:8px}}

/* Pink and white Kitty theme. */
body{background:radial-gradient(ellipse at 50% 12%,#fff 0%,#fff1f7 72%)}.play-panel{background:linear-gradient(145deg,#fff,#fff9fc);border-color:#efcddf;box-shadow:0 20px 70px #d7a2bc30,inset 0 1px 0 #fff}.difficulty{border-color:#f6dfeb}.difficulty button[aria-pressed=true]{background:#f5c5da;box-shadow:0 2px 5px #d9a1bd25}.icon-button,.history-button{background:#fff9fc;border-color:#f1dbe6}.icon-button:hover,.history-button:hover{background:#fdeaf3;color:#ba6a91}.face{display:flex;align-items:center;justify-content:center;line-height:0}.face svg{width:52px;height:45px}.round-state{gap:2px}.round-state.is-lost .face svg{filter:saturate(.65)}.board-stage{background:#fff2f8;border:1px solid #f3dce8;box-shadow:inset 0 2px 10px #dcb7cb13}.cell{border-color:#fff8fc;background:linear-gradient(145deg,#ffeaf3,#f4d3e3);box-shadow:inset 0 1px 0 #fff9,0 2px 2px #c894b329}.cell:hover{background:#f6cce0}.cell.revealed{background:#fff9fc;border-color:#f8eaf1}.cell.n0{background:#fffdfd;border-color:#fcf3f7}.cell.n8{color:#806c84}.cell.flagged{background:#f6d7e6;color:#cc6998}.cell.mine{background:#f8e0ec;color:#b8819d}.cell.exploded{background:#e887b0;color:#fff;border-color:#dd73a3;box-shadow:0 0 22px #e48aaf66}.new-game,.primary-button{background:linear-gradient(135deg,#f6c6dc,#eeadcc);color:#834761;box-shadow:0 4px 12px #d99cbb28}.new-game:hover,.primary-button:hover{background:#f5bfd7}.tool-switch{background:#fff0f7;border-color:#f3dbe7}.tool-switch button[aria-pressed=true]{background:#f5c9dd;color:#89506e}.result,.result.lost{background:#fff8fcf2;border-color:#edbfd5;box-shadow:0 8px 20px #b781a329}.result button{background:#f8e5ef;color:#bc7a9d}.effect-caption{background:#fff9fcf5;border-color:#edbed5;color:#b2678b;box-shadow:0 6px 24px #c384a62b}.modal-backdrop{background:#b77b9b42}.modal{background:linear-gradient(140deg,#fff,#fff8fc);border-color:#efd0e0;box-shadow:0 24px 100px #b781a340}.history-row{background:#fff7fb;border-color:#f5e2ec}.history-filters{background:#fff0f7}.history-filters button[aria-pressed=true]{background:#f6d4e4;color:#b4648e}.outcome-icon{background:#f8deed;color:#c16c99}.outcome-icon.lost{background:#fae4ee;color:#d67b9d}.history-pagination button,.close-button,.secondary-button{background:#f9e5ef;color:#af7997}.toast{background:#fff5fa;color:#a66c8d;border-color:#edc2d8}.round-state.is-lost .face{color:#d26d98}
@media(max-height:520px){.face svg{width:39px;height:34px}}
.counter-label,.board-footer,.gesture-tip,.storage-note{color:#9c738b}.difficulty button,.tool-switch button{color:#a16b89}.icon-button,.history-button{color:#a06a88}.round-state{color:#a4718b}.history-round time,.history-columns,.history-pagination{color:#9b748b}.help-rules span,.confirm-copy{color:#986e86}.history-row>span{color:#96657f}.history-row>span:last-child{color:#ad8298}
@media(orientation:landscape) and (min-width:800px) and (min-height:521px){.play-panel{padding:18px 24px;gap:12px}.scoreboard{min-height:58px}.counter strong{font-size:29px}.face svg{width:46px;height:40px}.board-fit{padding:10px}.tool-switch button{padding-block:8px}.new-game{padding-block:11px}}

/* Full-viewport Kitty playfield, with no outer frame or empty mat. */
:root{--page-pink:#f7d6e7;--kitty-wallpaper:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22220%22%20height%3D%22190%22%20viewBox%3D%220%200%20220%20190%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23dc9abb%22%20stroke-width%3D%221.5%22%20opacity%3D%22.24%22%3E%3Cpath%20d%3D%22M28%2053%2027%2035q12%200%2020%2010%2015-4%2028%200%2010-12%2020-10l-1%2021q13%209%2012%2023-3%2021-40%2021-38-1-40-21-2-14%202-26Z%22%2F%3E%3Cellipse%20cx%3D%2251%22%20cy%3D%2275%22%20rx%3D%222%22%20ry%3D%223%22%20fill%3D%22%23dc9abb%22%2F%3E%3Cellipse%20cx%3D%2279%22%20cy%3D%2275%22%20rx%3D%222%22%20ry%3D%223%22%20fill%3D%22%23dc9abb%22%2F%3E%3Cellipse%20cx%3D%2265%22%20cy%3D%2283%22%20rx%3D%223%22%20ry%3D%222%22%2F%3E%3Cpath%20d%3D%22m18%2070%2015%203m-17%208h16m64-8%2014-3m-13%2011h16M166%2023l3%208%208%203-8%203-3%208-3-8-8-3%208-3ZM144%20127c-14-18-26%202%200%2017%2027-16%2013-35%200-17Z%22%2F%3E%3Cpath%20d%3D%22M184%20153c-12-17-19-7-13%208l13-4c13%2010%2021%206%2017-6-5-10-11-6-17%202Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");--kitty-bow:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2042%2032%22%3E%3Cpath%20d%3D%22M21%2015C5-7%200%204%204%2023c3%209%2011%204%2017-4%208%2012%2020%2014%2018-2C38%200%2030%203%2021%2015Z%22%20fill%3D%22%23edb1cd%22%20fill-opacity%3D%22.62%22%20stroke%3D%22%23d693b4%22%20stroke-width%3D%221.4%22%2F%3E%3Cellipse%20cx%3D%2221%22%20cy%3D%2216%22%20rx%3D%225%22%20ry%3D%226%22%20fill%3D%22%23f7d7e7%22%20stroke%3D%22%23d693b4%22%20stroke-width%3D%221.3%22%2F%3E%3C%2Fsvg%3E")}
html,body{background:var(--page-pink)}
body{background-image:var(--kitty-wallpaper);background-size:220px 190px}
.game-shell{position:relative;z-index:1;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);place-items:stretch}
.play-panel{position:relative;z-index:1;width:100%;height:100%;max-width:none;max-height:none;min-height:0;padding:10px 16px 14px;gap:10px;border:0;border-radius:0;background:none;box-shadow:none}
.game-top{min-height:43px;padding:0 2px}.difficulty{background:#fff6fbd9;border-color:#f3bfd8}.difficulty button[aria-pressed=true]{background:#eab0cc;color:#80465f}
.utility-actions .icon-button,.history-button{background:#fff7fbd9;border-color:#edbad3}
.scoreboard{min-height:116px;padding:0 10px}.counter strong{font-size:36px}.counter-label{font-size:11px;color:#93637e}
.round-state{position:relative;gap:0;color:#9b6382}.face svg{width:112px;height:96px}.round-state:before,.round-state:after{position:absolute;pointer-events:none;line-height:1;color:#db8eb4}.round-state:before{content:"♡";font-size:27px;left:-27px;top:35px;transform:rotate(-18deg)}.round-state:after{content:"✧";font-size:24px;right:-25px;top:23px;transform:rotate(12deg)}
.board-stage{border:0;border-radius:0;background:transparent;box-shadow:none}.board-fit{position:relative;z-index:1;width:100%;height:100%;padding:0}.board{width:max-content;height:max-content;grid-template-columns:repeat(var(--cols),var(--cell-size));grid-template-rows:repeat(var(--rows),var(--cell-size));grid-auto-rows:var(--cell-size)}.cell{width:var(--cell-size);height:var(--cell-size);aspect-ratio:1;min-width:0;min-height:0}
.cell:not(.revealed):not(.flagged):not(.mine):not(.exploded){background-image:var(--kitty-bow),linear-gradient(145deg,#fff2f9,#f2c4dc);background-repeat:no-repeat;background-position:right 7px bottom 5px,0 0;background-size:min(24px,22%) min(19px,26%),100% 100%;border-color:#fff7fbd9;box-shadow:inset 0 1px 0 #fffc,0 2px 2px #c586aa30}
.cell.revealed{background:#fffafded;border-color:#fae2ee}.cell.n0{background:#fffafde0}.cell.flagged{background:linear-gradient(145deg,#f7c8df,#edafd0);border-color:#e8a3c6;box-shadow:inset 0 1px 0 #fff9,0 2px 4px #cc83a433}.cell.flagged svg{width:78%;height:88%;max-width:100px;max-height:90px;filter:drop-shadow(0 2px 1px #bf749735)}
.board-mascot{position:absolute;width:clamp(160px,28vw,380px);height:clamp(140px,25vw,330px);right:3%;bottom:6%;opacity:.16;transform:rotate(-13deg);z-index:0;pointer-events:none}
.ambient-kitties{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:0}.ambient-cat{position:absolute;width:210px;height:190px;opacity:.13}.cat-one{left:-55px;top:8%;transform:rotate(-18deg)}.cat-two{right:-35px;bottom:3%;transform:rotate(15deg);width:250px;height:220px}.ambient-heart{position:absolute;font-size:110px;line-height:1;color:#e9aacb;opacity:.25}.heart-one{left:22%;top:4%;transform:rotate(-10deg)}.heart-two{right:20%;bottom:1%;transform:rotate(18deg)}.ambient-star{position:absolute;right:13%;top:18%;font-size:70px;color:#fff8;transform:rotate(15deg)}
.board-footer{color:#986883;font-size:11px;padding-inline:3px}.play-toolbar{min-height:48px}.tool-switch{background:#fff5fbde;border-color:#edbdd4}.tool-switch button{font-size:13px}.tool-switch button svg{width:21px;height:19px}.new-game{min-width:126px;background:linear-gradient(135deg,#eeb4d0,#e9a0c2);border:1px solid #e49abb;color:#7e3c5b}
@media(orientation:landscape) and (min-width:800px){.play-panel{padding:8px 16px 12px;gap:9px}.scoreboard{min-height:104px}.face svg{width:104px;height:88px}.board-fit{padding:0}.counter strong{font-size:34px}}
@media(max-width:480px){.play-panel{padding:8px 9px 10px;gap:8px}.scoreboard{min-height:101px;padding-inline:6px}.face svg{width:91px;height:78px}.counter strong{font-size:29px}.counter-label{font-size:9px}.round-state:before{font-size:20px;left:-17px}.round-state:after{font-size:18px;right:-15px}.board-footer{font-size:9px}.tool-switch button{padding:8px 13px;font-size:12px}.new-game{min-width:105px;padding:11px 16px}.ambient-cat{width:150px;height:130px}.cell:not(.revealed):not(.flagged):not(.mine):not(.exploded){background-size:min(18px,25%) min(14px,30%),100% 100%;background-position:right 3px bottom 3px,0 0}}
@media(max-height:520px){.play-panel{padding:5px 10px 7px;gap:5px}.game-top{min-height:32px}.scoreboard{min-height:58px;padding:0 6px}.round-state{flex-direction:row;gap:9px}.face svg{width:67px;height:57px}.round-state:before,.round-state:after{display:none}.counter strong{font-size:25px}.play-toolbar{min-height:35px}.board-footer{font-size:9px}.tool-switch button{padding-block:5px}.new-game{padding-block:7px}.board-fit{padding:0}}

/* Local voice controls and the six Kitty round-ending cards. */
#voice-settings-button{position:relative}
#voice-settings-button:before{content:"";position:absolute;right:6px;bottom:6px;width:7px;height:7px;border:2px solid #fff7fb;border-radius:50%;background:#d68eaf;pointer-events:none}
.utility-actions{flex-shrink:0}
.result .result-open{width:auto;min-width:62px;height:38px;padding:0 11px;display:block;font-size:11px;font-weight:600;white-space:nowrap;background:#f5dfec;color:#a66a8d}
#voice-settings-modal{background:#ad789d66;backdrop-filter:none;-webkit-backdrop-filter:none}
.outcome-backdrop{background:#ad789d66;backdrop-filter:none;-webkit-backdrop-filter:none}
.outcome-modal{--outcome-accent:#cc78a3;--outcome-soft:#fde9f3;position:relative;width:min(470px,100%);max-height:calc(100dvh - 32px);padding:26px 30px 20px;display:flex;flex-direction:column;align-items:center;text-align:center;isolation:isolate;overflow:hidden;border:1px solid #fffb;border-radius:30px;background:linear-gradient(155deg,#fff,#fff3f9);box-shadow:0 18px 64px #8f567942;animation:outcome-arrive .3s cubic-bezier(.2,.8,.2,1) both}
.outcome-modal:before{content:"";position:absolute;inset:8px;border:1px solid #f0cfdf99;border-radius:23px;z-index:-1;pointer-events:none}
.outcome-close{position:absolute;right:17px;top:17px;z-index:2;border-radius:50%;width:32px;height:32px;background:#f7e0ecb8;color:#b47b98}
.outcome-art{position:relative;display:grid;place-items:center;width:238px;height:158px;flex:none;margin:2px 0 12px}
.outcome-art:before{content:"";position:absolute;width:152px;height:138px;border-radius:50%;background:var(--outcome-soft);z-index:-1}
.outcome-art:after{content:"✦";position:absolute;right:29px;top:10px;font-size:22px;color:#e8bd78;transform:rotate(13deg)}
.outcome-kitty{width:172px;height:151px;position:relative;z-index:1}
.outcome-badge{position:absolute;right:22px;bottom:2px;z-index:2;display:grid;place-items:center;min-width:46px;height:46px;padding:0 9px;border:4px solid #fff9fc;border-radius:50%;background:#f4d7a2;color:#ad7b3d;font-size:24px;font-weight:800;line-height:1;transform:rotate(10deg)}
.outcome-orbit{position:absolute;line-height:1;color:#dd9cbb;z-index:1;pointer-events:none}.orbit-one{left:5px;top:46px;font-size:33px;transform:rotate(-19deg)}.orbit-two{right:0;top:58px;font-size:35px;transform:rotate(12deg)}
.outcome-kicker{margin:0 0 7px;font-size:10px;line-height:14px;letter-spacing:.2em;font-weight:700;color:var(--outcome-accent)}
.outcome-modal h2{font-size:30px;line-height:1.25;font-weight:750;letter-spacing:.02em;color:#9a5379;max-width:100%;text-wrap:balance}
.outcome-line{max-width:340px;min-height:42px;margin:11px 0 0;color:#a77b93;font-size:14px;line-height:1.65;text-wrap:balance}
.outcome-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;margin:19px 0 18px;padding:15px 8px;border:1px solid #f3dce8;border-radius:17px;background:#fff8fce6}
.outcome-stats>div{display:flex;min-width:0;flex-direction:column;align-items:center;gap:7px}.outcome-stats>div+div{border-left:1px solid #f0dce7}.outcome-stats span{color:#b08a9f;font-size:10px;line-height:14px}.outcome-stats strong{font-size:18px;line-height:22px;font-weight:650;font-variant-numeric:tabular-nums;color:#9d6081;white-space:nowrap}
.outcome-actions{display:grid;grid-template-columns:1fr 1.2fr;gap:10px;width:100%}.outcome-actions button{min-width:0;min-height:46px;padding:12px 10px;display:flex;align-items:center;justify-content:center;gap:7px;border-radius:13px;font-size:13px}.outcome-actions button svg{width:17px;height:17px}.outcome-actions .secondary-button{background:#f8e6f0;color:#a96a8d;box-shadow:none}.outcome-board-link{margin:11px 0 0;padding:4px 12px;font-size:11px;line-height:18px;color:#bb91a8;background:transparent;text-decoration:underline;text-underline-offset:3px}
.outcome-modal[data-outcome=lost]{--outcome-accent:#b087a6;--outcome-soft:#f2e4ef;background:linear-gradient(155deg,#fff,#fff3f8)}
.outcome-modal[data-outcome=lost] h2{color:#aa6c91}.outcome-modal[data-outcome=lost] .outcome-badge{background:#e9d9ee;color:#a375b0}.outcome-modal[data-outcome=lost] .outcome-kitty{transform:rotate(-7deg)}
.outcome-modal[data-theme=sparkle]{background:radial-gradient(circle at 12% 19%,#f6d69b70 0 3px,transparent 4px),radial-gradient(circle at 87% 37%,#ecc09388 0 2px,transparent 3px),linear-gradient(145deg,#fffdf6,#fff1f9)}
.outcome-modal[data-theme=sparkle] .outcome-art:before{background:radial-gradient(circle,#fff1cf,#ffe6f1 68%);width:171px;height:150px}.outcome-modal[data-theme=sparkle] .orbit-two{color:#d6ad64}
.outcome-modal[data-theme=crown]{--outcome-accent:#b98d50;--outcome-soft:#fff0d4;background:linear-gradient(145deg,#fffdf5,#fff6fb)}
.outcome-modal[data-theme=crown] .outcome-art{margin-top:9px}.outcome-modal[data-theme=crown] .outcome-art:after{content:"♛";right:78px;top:-18px;z-index:2;font-size:45px;color:#d2a151;transform:rotate(9deg)}.outcome-modal[data-theme=crown] .outcome-badge{border-radius:13px;background:#e7bd70;color:#fff7df;transform:rotate(-10deg)}.outcome-modal[data-theme=crown] .orbit-one{color:#ddb76e}.outcome-modal[data-theme=crown] .outcome-stats{border-color:#eedcc0;background:#fffaf0}
.outcome-modal[data-theme=mvp]{--outcome-accent:#ce679d;--outcome-soft:#fbd9ec;background:radial-gradient(circle at 12px 12px,#edbdd455 1px,transparent 1.5px) 0 0/18px 18px,#fff5fb}
.outcome-modal[data-theme=mvp] .outcome-art:before{width:178px;height:136px;border-radius:26px;transform:rotate(-8deg);background:#f9d8e9}.outcome-modal[data-theme=mvp] .outcome-art:after{content:"MVP";right:10px;top:1px;z-index:2;padding:6px 9px;border:2px solid #fff;border-radius:9px;background:#d77ba6;color:#fff;font-size:15px;font-weight:850;letter-spacing:.05em;transform:rotate(12deg)}.outcome-modal[data-theme=mvp] .outcome-badge{background:#f4da9e}
.outcome-modal[data-theme=oops]{background:radial-gradient(ellipse at 16% 15%,#f7d4e44d,transparent 55%),linear-gradient(145deg,#fff,#ffedf6)}
.outcome-modal[data-theme=oops] .outcome-art:before{width:162px;height:126px;background:#f9dce9;border-radius:43% 57% 52% 48%;transform:rotate(10deg)}.outcome-modal[data-theme=oops] .outcome-art:after{content:"…";right:9px;top:4px;color:#c793b2;font-size:35px;font-weight:700;transform:rotate(9deg)}.outcome-modal[data-theme=oops] .outcome-badge{background:#f6c9dd;color:#bd7b9e}.outcome-modal[data-theme=oops] .orbit-two{font-size:27px;transform:rotate(24deg)}
.outcome-modal[data-theme=cloud]{--outcome-accent:#9e86b0;--outcome-soft:#eee6f8;background:linear-gradient(150deg,#fff,#f8f2fc 55%,#fff1f8)}
.outcome-modal[data-theme=cloud] .outcome-art:before{width:187px;height:82px;bottom:7px;border-radius:70px;background:#e9e1f6;box-shadow:-25px 3px 0 -8px #efe6f9,25px 6px 0 -10px #e9e1f6}.outcome-modal[data-theme=cloud] .outcome-art:after{content:"";width:11px;height:17px;right:49px;top:90px;z-index:2;background:#bfc9ed;border-radius:70% 25% 60% 50%;transform:rotate(-22deg)}.outcome-modal[data-theme=cloud] .outcome-badge{background:#e7def4;color:#9d88bc}.outcome-modal[data-theme=cloud] .outcome-orbit{color:#bba4cd}
.outcome-modal[data-theme=comic]{--outcome-accent:#b76b95;background:repeating-linear-gradient(-45deg,#fce4f0 0 1px,transparent 1px 10px),#fff6fb}
.outcome-modal[data-theme=comic]:before{border:2px solid #d7a2be;background:#fff9fce6}.outcome-modal[data-theme=comic] .outcome-art:before{width:192px;height:150px;border-radius:0;background:#f9d6e6;clip-path:polygon(50% 0,60% 18%,80% 3%,81% 27%,100% 29%,88% 49%,100% 68%,78% 72%,82% 94%,60% 83%,50% 100%,39% 82%,17% 94%,21% 72%,0 68%,12% 49%,0 29%,21% 27%,20% 3%,40% 18%)}.outcome-modal[data-theme=comic] .outcome-art:after{content:"!";right:12px;top:4px;z-index:2;font-size:42px;line-height:1;font-weight:900;color:#bd7598;transform:rotate(15deg)}.outcome-modal[data-theme=comic] .outcome-badge{border-radius:12px;transform:rotate(-9deg);background:#efc6de;color:#ac6f93}.outcome-modal[data-theme=comic] h2{transform:rotate(-2deg)}
.voice-settings-modal{display:flex;flex-direction:column;gap:18px;width:min(490px,100%);padding:26px;animation:outcome-arrive .23s ease-out both}.voice-settings-modal h2{font-size:23px}.voice-intro{margin:0;color:#a77d94;font-size:12px;line-height:1.7}.voice-style-options{display:grid;gap:9px}.voice-style-card{display:flex;align-items:center;gap:13px;width:100%;min-height:66px;padding:11px 14px;border:1px solid #efd8e5;border-radius:15px;background:#fff9fc;text-align:left;position:relative}.voice-style-card[aria-pressed=true]{background:#fff0f8;border-color:#dfa2c3;box-shadow:inset 0 0 0 1px #dfa2c333}.voice-style-card[aria-pressed=true]:after{content:"✓";display:grid;place-items:center;position:absolute;right:14px;width:21px;height:21px;border-radius:50%;background:#dfa0c1;color:#fff;font-size:12px;font-weight:700}.voice-style-symbol{display:grid;place-items:center;flex:none;width:39px;height:39px;border-radius:12px;background:#f5dfec;color:#bc78a0;font-size:23px;font-weight:600}.voice-style-card>span:last-child{display:flex;flex-direction:column;gap:5px;min-width:0;padding-right:26px}.voice-style-card strong{color:#9c5f81;font-size:13px;font-weight:650;line-height:17px}.voice-style-card small{font-size:10px;line-height:15px;color:#ae8b9f}.voice-setting-actions{display:flex;gap:10px}.voice-setting-actions>button{flex:1;min-height:44px;padding:11px;font-size:12px}.voice-preview-status{min-height:18px;margin:-6px 0 -4px;color:#bd80a3;font-size:11px;line-height:18px;text-align:center}.voice-settings-modal .storage-note{padding-top:12px;border-top:1px solid #f3e0eb;color:#b08c9f;font-size:10px}.voice-settings-modal .secondary-button{box-shadow:none}
.voice-settings-modal{gap:14px;padding:24px}.voice-setting-actions{flex-wrap:wrap}.voice-setting-actions>button{flex:1 1 100px}.outcome-previews{display:flex;align-items:center;flex-wrap:wrap;gap:8px;border-top:1px solid #f2dfe9;padding-top:12px}.outcome-previews>span{flex-basis:100%;font-size:10px;line-height:14px;color:#b18ba1}.outcome-previews>button{flex:1;min-width:0;padding:9px 10px;font-size:11px;line-height:16px;border:1px solid #f1dbe7;border-radius:10px;background:#fff7fb;color:#ad7696}
@keyframes outcome-arrive{from{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-height:680px){.outcome-modal{padding:19px 27px 15px;border-radius:26px}.outcome-art{height:134px;margin:0 0 8px}.outcome-kitty{width:151px;height:131px}.outcome-art:before{height:117px!important}.outcome-kicker{margin-bottom:5px}.outcome-modal h2{font-size:27px}.outcome-line{margin-top:9px;min-height:36px;font-size:13px;line-height:1.55}.outcome-stats{margin:14px 0;padding:11px 8px}.outcome-stats>div{gap:5px}.outcome-actions button{min-height:43px;padding-block:10px}.outcome-board-link{margin-top:8px}.voice-settings-modal{gap:14px;padding:23px}.voice-style-card{min-height:61px;padding-block:9px}.voice-style-symbol{width:35px;height:35px}}
@media(max-width:540px){.game-top{gap:7px}.difficulty button{padding-inline:13px}.utility-actions{gap:4px}.utility-actions .icon-button{width:32px;height:34px}.utility-actions .icon-button svg{width:17px;height:17px}.utility-actions .history-button{width:34px;height:34px;justify-content:center;padding:0}.utility-actions .history-button span{display:none}.utility-actions .help-button{display:none}.outcome-modal{padding-inline:22px;max-width:430px}.outcome-modal h2{font-size:27px}.outcome-line{font-size:13px}.outcome-stats strong{font-size:17px}.voice-settings-modal{padding:22px;gap:14px}.voice-settings-modal h2{font-size:21px}}
@media(max-width:360px){.difficulty button{padding-inline:9px}.utility-actions{gap:3px}.utility-actions .icon-button{width:29px}.utility-actions .history-button{width:30px}.outcome-modal{padding-inline:17px}.outcome-art{width:215px}.outcome-actions{gap:7px}.outcome-actions button{font-size:12px}}
@media(max-height:520px){.outcome-modal{padding:14px 24px 10px;width:min(430px,100%);border-radius:22px}.outcome-art{height:83px;width:196px;margin-bottom:5px}.outcome-kitty{width:102px;height:88px}.outcome-art:before{height:77px!important;width:122px!important}.outcome-art:after{top:-4px;font-size:20px}.outcome-orbit{font-size:24px;top:25px}.outcome-badge{width:33px;min-width:33px;height:33px;font-size:18px;right:30px;bottom:-3px;border-width:3px}.outcome-kicker{font-size:8px;line-height:11px;letter-spacing:.16em;margin-bottom:4px}.outcome-modal h2{font-size:23px}.outcome-line{min-height:30px;margin-top:7px;font-size:12px;line-height:1.4}.outcome-stats{margin:10px 0;padding:8px}.outcome-stats span{font-size:9px;line-height:12px}.outcome-stats strong{font-size:16px;line-height:19px}.outcome-stats>div{gap:3px}.outcome-actions button{min-height:36px;padding:8px;font-size:12px}.outcome-board-link{margin-top:4px;font-size:10px;line-height:15px}.outcome-close{width:27px;height:27px;right:12px;top:12px;font-size:20px}.outcome-modal[data-theme=crown] .outcome-art{margin-top:4px}.outcome-modal[data-theme=crown] .outcome-art:after{font-size:29px;right:68px;top:-12px}.outcome-modal[data-theme=mvp] .outcome-art:after{font-size:11px;right:13px;padding:4px 6px}.outcome-modal[data-theme=cloud] .outcome-art:after{top:45px;right:50px}.outcome-modal[data-theme=comic] .outcome-art:after{font-size:28px;right:22px}.voice-settings-modal{padding:17px 20px;gap:10px;width:min(460px,100%)}.voice-settings-modal h2{font-size:20px}.voice-settings-modal .eyebrow{display:none}.voice-intro{font-size:11px;line-height:1.5}.voice-style-options{gap:6px}.voice-style-card{min-height:49px;padding:7px 11px;gap:10px;border-radius:11px}.voice-style-symbol{width:30px;height:30px;border-radius:9px;font-size:19px}.voice-style-card>span:last-child{gap:2px}.voice-style-card strong{font-size:12px;line-height:15px}.voice-style-card small{font-size:9px;line-height:12px}.voice-setting-actions>button{min-height:35px;padding:8px}.voice-preview-status{font-size:10px;min-height:15px;line-height:15px;margin:-3px 0}.voice-settings-modal .storage-note{padding-top:7px;font-size:9px;line-height:1.5}}
@media(prefers-reduced-motion:reduce){.outcome-modal,.voice-settings-modal{animation:none}}
@media(max-height:680px){.outcome-previews{padding-top:10px;gap:7px}.outcome-previews>button{padding-block:8px}}
@media(max-width:380px){.result{gap:7px;padding-inline:10px}.result>span{display:none}.result .result-open{min-width:58px;padding-inline:8px;font-size:10px}.result>button:last-child{width:32px;height:34px}}
@media(max-height:520px){.voice-setting-actions{gap:7px}.voice-setting-actions>button{flex-basis:94px;font-size:11px}.outcome-previews{padding-top:7px;gap:5px}.outcome-previews>span{font-size:9px;line-height:12px}.outcome-previews>button{padding:6px 9px;font-size:10px;line-height:14px}}
.voice-player-wrap{width:100%;min-width:0}.voice-native-player{display:block;width:100%;height:42px;border-radius:12px;background:#fff0f7}.voice-player-hint{margin:6px 0 0;font-size:10px;line-height:15px;color:#ac7d97;text-align:center}
@media(max-height:680px){.voice-settings-modal{gap:11px}.voice-player-hint{font-size:9px;line-height:13px;margin-top:4px}}
@media(max-height:520px){.voice-settings-modal{gap:7px}.voice-settings-modal .voice-intro,.voice-settings-modal>.storage-note,.voice-player-hint{display:none}.voice-native-player{height:35px}}


