:host{--canvas:#061f29;--text:#effbf7;--muted:#b1cbd0;--mint:#94eddd;--coral:#ffad90;--line:#80c5c42e;--panel:#0b2b35}
*{box-sizing:border-box}:host{scroll-behavior:smooth;scroll-padding-top:24px}:host{margin:0;background:var(--canvas);color:var(--text);font-family:Inter,system-ui,sans-serif;line-height:1.6;font-size:15px}button,input{font:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{border:0}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.15;letter-spacing:-.04em}button:disabled{opacity:.45;cursor:default}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--mint);outline-offset:5px}::selection{background:var(--mint);color:var(--canvas)}.skip-link{position:fixed;top:-100px;left:16px;z-index:100;background:var(--mint);color:var(--canvas);padding:12px}.skip-link:focus{top:12px}.site-header{height:92px;background:#071b23;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 max(5%,calc((100vw - 1320px)/2));gap:24px}.brand img{width:244px;filter:drop-shadow(0 3px 5px #001017ad)}.site-header nav{display:flex;align-items:center;gap:32px;font-size:13px}.nav-current{color:var(--mint);padding:12px 0;border-bottom:2px solid var(--mint)}.site-link{color:var(--muted)}.site-link span{margin-left:8px}.hero,.collection,.pace-note,#player{max-width:1280px;width:90%;margin-inline:auto}.hero{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:5%;padding-block:70px 62px;min-height:475px}.eyebrow{color:var(--mint);font-size:10px;letter-spacing:.16em;font-weight:700;margin-bottom:16px}.hero .eyebrow{display:flex;align-items:center;gap:9px}.hero .eyebrow span{width:6px;height:6px;border-radius:50%;background:var(--mint);box-shadow:0 0 12px #94eddd70}.hero h1{font-size:clamp(36px,3.8vw,57px);font-weight:750;line-height:1.12}.hero h1 em{font-style:normal;color:var(--mint)}.hero-description{color:var(--muted);margin:23px 0 27px;line-height:1.8;font-size:14px}.button{display:inline-flex;min-height:44px;padding:12px 22px;align-items:center;justify-content:center;gap:18px;border-radius:40px;font-size:12px;font-weight:700;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px)}.primary{background:linear-gradient(115deg,#ffe0c9,#ffad90 60%,#f6947a);color:#17323a;box-shadow:inset 0 1px 0 #fff8}.secondary{border:1px solid #8cdbd060;background:transparent;color:#b3f4e8}.hero-note{display:flex;gap:10px;align-items:center;font-size:10px;color:var(--muted);margin-top:19px}.hero-note>span:first-child{color:var(--mint);font-size:15px}.hero-art{position:relative;border-radius:60% 40% 50% 30%;overflow:hidden;transform:rotate(3deg);box-shadow:0 0 90px #63d7c015}.hero-art svg{width:100%;display:block;transform:scale(1.06) rotate(-3deg)}.collection{padding:25px 0 55px;border-top:1px solid var(--line)}.collection-top{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}.collection-top .eyebrow{margin-bottom:9px}.collection-top h2{font-size:32px}.game-count{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;font-size:11px;letter-spacing:0;background:#16434b;color:var(--mint);width:27px;height:27px;border-radius:50%;margin-left:9px}.collection-top>p{color:var(--muted);font-size:12px;padding-bottom:4px}.collection-controls{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:25px 0 23px}.filters{display:flex;gap:7px;flex-wrap:wrap}.filter{background:transparent;border:1px solid transparent;color:var(--muted);padding:8px 15px;font-size:11px;min-height:40px;border-radius:30px}.filter:hover{color:var(--mint);background:#163d46}.filter.active{background:#163d46;color:var(--mint);border-color:#78d4c02e}.search{display:flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:30px;padding:7px 14px;color:var(--muted);background:#071e28}.search span{font-size:24px;line-height:1}.search input{width:175px;background:none;border:0;color:var(--text);font-size:11px;min-height:26px;outline-offset:9px}.search input::placeholder{color:var(--muted)}.game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.game-card{min-width:0}.game-art-link{display:block;position:relative;overflow:hidden;border:1px solid #82dbcb28;border-radius:17px;box-shadow:0 8px 25px #00151b33;transition:transform .25s,box-shadow .25s}.game-art-link:hover{transform:translateY(-5px);box-shadow:0 12px 30px #00151b88,0 0 0 1px #ffad9066}.game-art-link svg{display:block;width:100%;height:auto}.art-overlay{position:absolute;inset:auto 16px 16px;display:flex;justify-content:space-between;align-items:center;gap:10px}.art-overlay>span{font-size:9px;letter-spacing:.07em;color:#effbf7;background:#071b23ad;border:1px solid #b6e6d026;border-radius:20px;padding:5px 10px;backdrop-filter:blur(8px)}.play-circle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#ffe2cc,#ff9b83);color:#17323a;font-size:12px;box-shadow:0 3px 0 #a55f4c}.game-card-copy{padding:15px 3px 2px}.game-card-copy-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.game-card h3{font-size:18px;letter-spacing:-.025em}.game-card h3 a:hover{color:var(--mint)}.game-duration{font-size:10px;color:var(--muted);white-space:nowrap}.game-card-copy>p{font-size:11px;color:var(--muted);margin-top:7px}.card-meta{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:9px;color:#8fadb3}.card-meta .dot{width:3px;height:3px;border-radius:50%;background:#688e94}.empty-state{text-align:center;padding:50px;color:var(--muted)}.pace-note{margin-bottom:60px;padding:25px 30px;display:flex;align-items:center;gap:20px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(115deg,#123b43,#0b2a35)}.pace-icon{font-size:38px;color:var(--mint)}.pace-note h2{font-size:18px;letter-spacing:-.02em}.pace-note p{color:var(--muted);font-size:11px;margin-top:7px}.pace-end{font-size:37px;color:var(--mint);margin-left:auto;opacity:.45}.site-footer{background:#051a23;border-top:1px solid var(--line);padding:33px 5% 22px}.footer-main{display:flex;justify-content:space-between;align-items:center;gap:20px;max-width:1280px;margin:auto}.footer-main img{width:180px}.footer-main p,.footer-main a{font-size:11px;color:var(--muted)}.footer-main a{color:var(--mint)}.footer-bottom{max-width:1280px;margin:24px auto 0;padding-top:16px;border-top:1px solid var(--line);display:flex;gap:20px;justify-content:space-between;color:#87a9b0;font-size:9px}.preview-badge{border:1px solid var(--line);border-radius:15px;padding:2px 9px}#player{padding-block:36px 70px;min-height:75vh}.player-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.back-link{font-size:12px;color:var(--mint)}.back-link span{margin-right:9px}.player-label{font-size:9px;letter-spacing:.12em;color:#87a9b0}.player-heading{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:25px}.player-heading h1{font-size:40px;margin-bottom:10px}.player-heading .eyebrow{margin-bottom:9px}.player-heading p:not(.eyebrow){font-size:12px;color:var(--muted)}.player-actions{display:flex;gap:10px;flex-shrink:0}.rules{padding:24px;border:1px solid #94eddd45;border-radius:14px;background:#0e3540;margin-bottom:22px;font-size:13px;color:#d1e9e4}.rules h2{font-size:18px;margin-bottom:10px;color:var(--mint)}.rules ol{padding-left:20px;margin:10px 0}.rules li{padding-bottom:7px}.rules p{color:var(--muted)}.play-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:24px;align-items:start}.play-panel{border:1px solid var(--line);background:radial-gradient(ellipse at 50% 30%,#174851,#0a2c35 80%);border-radius:20px;min-width:0;overflow:hidden}.game-toolbar{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid var(--line);gap:12px;min-height:72px;flex-wrap:wrap}.metrics{display:flex;gap:25px;align-items:center}.metric-label{display:block;font-size:8px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase}.metric-value{font-size:18px;font-weight:700;line-height:1.3;display:block}.toolbar-buttons{display:flex;gap:8px}.tool-button{min-height:38px;border:1px solid var(--line);background:#061f2970;color:var(--mint);padding:7px 14px;border-radius:10px;font-size:11px}.mode-select{min-height:38px;background:#0b2b35;border:1px solid var(--line);border-radius:10px;color:var(--text);font:inherit;font-size:11px;padding:7px 10px}.game-aside{padding:25px;border-radius:17px;border:1px solid var(--line);background:#0a2933}.game-aside .eyebrow{font-size:8px;margin-bottom:12px}.game-aside h2{font-size:24px;line-height:1.2;margin-bottom:15px}.game-aside>p:not(.eyebrow){font-size:11px;color:var(--muted)}.aside-divider{height:1px;background:var(--line);margin:26px 0}.stat-row{display:flex;justify-content:space-between;gap:10px;font-size:11px;margin:11px 0;color:var(--muted)}.stat-row strong{color:var(--text);font-size:14px}.saved-note{font-size:9px!important;margin-top:16px}.aside-bottom{margin-top:35px;padding-top:20px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.aside-bottom span{display:block;font-size:26px;color:var(--mint);margin-bottom:8px}#game-area{padding:25px;min-height:380px;display:flex;align-items:center;justify-content:center;flex-direction:column}.game-status{min-height:56px;padding:14px 20px;font-size:12px;line-height:1.6;text-align:center;color:var(--mint);border-top:1px solid var(--line);background:#061f2940}.board{display:grid;width:min(100%,440px);border:7px solid #337577;border-radius:16px;background:#255b62;gap:5px;padding:10px;box-shadow:0 15px 25px #00151b50}.four-board{grid-template-columns:repeat(7,1fr)}.four-cell{aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:#0a2b37;box-shadow:inset 0 4px 6px #00151b80;padding:3px}.disc{width:100%;height:100%;border-radius:50%;box-shadow:inset 0 2px 3px #fff8,0 3px 4px #001b2866;display:block}.disc.p1{background:radial-gradient(circle at 35% 20%,#ffe3c7,#ffad90 60%,#cc7465)}.disc.p2{background:radial-gradient(circle at 35% 20%,#eaffef,#a5e3cc 60%,#65a99b)}.winning .disc{outline:3px solid #fff7e3;outline-offset:-5px}.four-cell:hover:not(:disabled){box-shadow:inset 0 4px 6px #00151b80,0 0 0 2px #ffb49b}.four-cell:disabled,.reversi-cell:disabled{opacity:1}.reversi-board{grid-template-columns:repeat(8,1fr);gap:3px;padding:7px;border-color:#376a63;background:#254b48}.reversi-cell{aspect-ratio:1;background:#35665d;display:grid;place-items:center;padding:5px;border-radius:3px}.reversi-cell:nth-child(16n+2),.reversi-cell:nth-child(16n+4),.reversi-cell:nth-child(16n+6),.reversi-cell:nth-child(16n+8),.reversi-cell:nth-child(16n+9),.reversi-cell:nth-child(16n+11),.reversi-cell:nth-child(16n+13),.reversi-cell:nth-child(16n+15){background:#3b7267}.legal-dot{width:19%;height:19%;border-radius:50%;background:#c7f2cf80}.reversi-cell:hover:not(:disabled){background:#689382}.board-legend{display:flex;gap:24px;font-size:10px;color:var(--muted);margin-top:18px;align-items:center}.legend-token{width:12px;height:12px;border-radius:50%;display:inline-block;margin-right:6px;vertical-align:middle}.legend-token.coral{background:var(--coral)}.legend-token.mint{background:#a5e3cc}.memory-board{width:min(100%,470px);display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.memory-card{aspect-ratio:.86;border:1px solid #a1dace45;background:linear-gradient(145deg,#28606a,#11343f);border-radius:12px;position:relative;color:#8ed9cb;box-shadow:0 5px 10px #00151b44;font-size:27px;transition:background .2s,transform .2s}.memory-card::after{content:'';position:absolute;inset:7px;border:1px solid #87d5c42e;border-radius:7px}.memory-card.revealed{background:linear-gradient(145deg,#f7f3e8,#d7e6d6);color:#30535a;font-size:36px;transform:rotateY(0)}.memory-card.matched{background:#9ad9c6;color:#234b48;opacity:.6;box-shadow:none}.tile-board{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;width:min(100%,410px);border-radius:17px;background:#08232c;padding:13px;border:1px solid #80c5c442;touch-action:none}.tile{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:10px;font-size:clamp(21px,3vw,35px);font-weight:750;line-height:1;background:#153841;color:#244a50;box-shadow:inset 0 2px 1px #ffffff20,0 4px 7px #001b2840}.tile.v2{background:#e4eadb}.tile.v4{background:#caddc8}.tile.v8{background:#a2d7c1}.tile.v16{background:#79bdb0}.tile.v32{background:#83b8c6}.tile.v64{background:#b6a9d0}.tile.v128{background:#d7aec0}.tile.v256{background:#e7b09b}.tile.v512{background:#ffd09b}.tile.v1024,.tile.v2048{background:#ffe2a0}.tile.high{background:#f3e6b8}.tile.large-number{font-size:23px}.tile.empty{box-shadow:none}.slide-tile{background:linear-gradient(145deg,#b4e2db,#75b7ae);color:#1a474d}.slide-tile.correct{background:linear-gradient(145deg,#e0edd5,#a7d0b2)}.tile-controls{display:flex;gap:9px;align-items:center;justify-content:center;margin-top:19px}.direction-button{font-size:20px;width:44px;height:44px;border-radius:10px;color:var(--mint);border:1px solid var(--line);background:#061f29}.game-area-note{font-size:10px;color:var(--muted);margin:15px 0 0;text-align:center}.solitaire-board{width:100%;--card-gap:9px;--card-step:27px;--card-width:calc((100% - 6 * var(--card-gap))/7);--card-height:clamp(74px,9vw,116px)}.solitaire-top,.tableau{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--card-gap)}.solitaire-top{margin-bottom:25px}.card-slot{position:relative;width:100%;height:var(--card-height);border:1px dashed #82c9be60;border-radius:8px;color:#9bd0c1;font-size:27px;background:#061f2938;padding:0;display:flex;align-items:center;justify-content:center}.card-slot:disabled{opacity:1}.stock-count{position:absolute;bottom:6px;right:6px;font-size:10px;color:#a9d4c9;z-index:1}.playing-card{position:absolute;top:0;left:0;width:100%;height:var(--card-height);border-radius:8px;background:linear-gradient(145deg,#f7f6e9,#dae5d6);box-shadow:0 2px 4px #00151b55;color:#214750;border:1px solid #dde5d2;padding:0;overflow:hidden;text-align:left}.playing-card.red{color:#b54e58}.card-corner{position:absolute;left:6px;top:4px;font-size:clamp(11px,1.4vw,17px);font-weight:700;line-height:1}.card-corner small{display:block;font-size:.85em;padding-top:2px;color:inherit}.card-suit{position:absolute;inset:25px 0 0;display:flex;align-items:center;justify-content:center;font-size:clamp(24px,3vw,44px)}.playing-card.face-down,.card-slot.stock{background:repeating-linear-gradient(45deg,#245866,#245866 5px,#1d4a57 5px,#1d4a57 10px);border:1px solid #7ec1b2;box-shadow:inset 0 0 0 5px #123c45,inset 0 0 0 6px #89c6b544}.playing-card.selected{outline:3px solid var(--coral);outline-offset:-3px;filter:brightness(1.1);z-index:25!important}.tableau-column{position:relative;min-height:var(--card-height)}.tableau-column>.card-slot{position:absolute;top:0}.playing-card:disabled{opacity:1;cursor:default}.solitaire-top .playing-card{position:relative}.solitaire-board .card-slot.hint-target{outline:3px solid var(--mint)}
#game-title:focus{outline:none}.tableau-column.hint-target{outline:2px dashed var(--mint);outline-offset:4px;border-radius:8px}
@media(min-width:1600px){.hero{padding-block:90px}.hero h1{font-size:59px}}
@media(max-width:1050px){.hero{gap:2%;grid-template-columns:1.15fr 1fr;padding-block:55px}.hero h1{font-size:42px}.play-layout{grid-template-columns:minmax(0,1fr) 220px;gap:16px}.game-aside{padding:20px}.player-heading{align-items:flex-start}.player-actions{flex-direction:column}.game-toolbar{padding:15px}.game-grid{gap:22px}.game-card h3{font-size:16px}.game-duration{font-size:9px}}
@media(max-width:760px){.site-header{height:76px;padding-inline:5%}.brand img{width:180px}.site-header nav{gap:18px;font-size:11px}.hero{grid-template-columns:1fr .85fr;padding-block:45px}.hero h1{font-size:34px}.hero-description{font-size:12px;margin-block:18px 22px}.desktop-break{display:none}.hero-note{font-size:9px}.hero .eyebrow{font-size:8px}.collection-top>p{display:none}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 20px}.collection-controls{align-items:flex-start;flex-direction:column;gap:15px}.search{width:100%}.search input{width:100%}.filters{gap:4px}.filter{padding:7px 13px}.play-layout{grid-template-columns:1fr}.game-aside{display:none}.player-heading h1{font-size:34px}.player-heading p:not(.eyebrow){max-width:350px}.player-actions{flex-direction:row;flex-wrap:wrap}.player-heading{flex-direction:column;gap:20px}.player-label{display:none}.solitaire-board{--card-height:clamp(70px,13vw,105px)}.footer-main{flex-wrap:wrap}.footer-main p{font-size:10px}}
@media(max-width:480px){.site-header{height:72px;gap:15px}.brand img{width:155px}.site-header nav{font-size:10px;gap:12px}.site-link{max-width:66px;text-align:right;line-height:1.5}.site-link span{margin:0}.hero{display:flex;flex-direction:column-reverse;padding-block:27px 35px;gap:28px;align-items:stretch}.hero-art{width:75%;max-width:300px;align-self:center;border-radius:35px;box-shadow:0 0 80px #63d7c01a}.hero-art svg{margin-block:-13px}.hero h1{font-size:36px}.hero .eyebrow{font-size:9px}.hero-description{font-size:12px}.hero-note{font-size:9px}.collection-top h2{font-size:28px}.game-grid{gap:26px 14px}.game-art-link{border-radius:12px}.game-card h3{font-size:15px}.game-duration{display:none}.game-card-copy>p{font-size:10px;line-height:1.7}.card-meta{font-size:8px;gap:5px;flex-wrap:wrap}.art-overlay{inset:auto 9px 9px}.art-overlay>span{font-size:7px;padding:4px 7px}.play-circle{width:28px;height:28px;font-size:10px}.filter{font-size:10px;padding:7px 11px}.collection{padding-bottom:36px}.pace-note{padding:20px 18px;margin-bottom:35px;gap:13px}.pace-note h2{font-size:16px}.pace-note p{font-size:10px}.pace-end{display:none}.pace-icon{font-size:29px}.site-footer{padding-top:24px}.footer-main{gap:14px}.footer-main img{width:145px}.footer-main p{order:3;width:100%;font-size:10px}.footer-main a{font-size:10px}.footer-bottom{font-size:8px;gap:10px;flex-wrap:wrap}.player-heading h1{font-size:32px}.player-heading p:not(.eyebrow){font-size:11px}.player-actions .button{font-size:11px;padding:11px 17px}.game-toolbar{padding:12px;min-height:64px}.metrics{gap:18px}.metric-value{font-size:16px}.metric-label{font-size:7px}.tool-button{font-size:10px;min-height:36px;padding:7px 10px}#game-area{padding:17px 12px;min-height:320px}.game-status{font-size:11px;padding:13px}.board{border-width:5px;padding:7px;gap:4px}.reversi-board{padding:5px;gap:2px}.reversi-cell{padding:3px}.memory-board{gap:8px}.memory-card{border-radius:9px;font-size:23px}.memory-card.revealed{font-size:29px}.tile-board{gap:8px;padding:10px}.tile.large-number{font-size:20px}.solitaire-board{--card-gap:4px;--card-step:25px;--card-height:68px}.card-corner{left:4px;top:3px;font-size:12px}.card-suit{font-size:26px;inset:20px 0 0}.solitaire-top{margin-bottom:18px}.card-slot,.playing-card{border-radius:5px}.solitaire-board .card-suit{display:none}.tableau{margin-bottom:10px}.board-legend{font-size:9px;gap:15px}.rules{padding:18px;font-size:12px}}
@media(prefers-reduced-motion:reduce){:host{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
:host{display:block}
