:root{color-scheme:light;--paper:#edf1f4;--ink:#463044;--muted:#756977;--line:#46304424;--berry:#623e5c;--blue:#d9e6ed;--cream:#fffbf1;--serif:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;--sans:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-family:var(--sans);font-size:16px;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:280px;background:radial-gradient(ellipse at 50% 20%,#f9fafb,transparent 70%),var(--paper)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;touch-action:manipulation;cursor:pointer}button:disabled{cursor:default}a{color:inherit;text-underline-offset:4px}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid #aa684a;outline-offset:4px}button:focus:not(:focus-visible){outline:none}[hidden]{display:none!important}::selection{background:#decadb}.skip-link{position:fixed;left:12px;top:12px;z-index:20;background:var(--berry);color:white;padding:10px 14px;transform:translateY(-160%)}.skip-link:focus{transform:none}.site-header{max-width:1170px;margin:auto;padding:27px 42px 0;display:flex;align-items:center;justify-content:space-between;gap:20px}.wordmark{display:flex;align-items:center;gap:11px;text-decoration:none;font-family:var(--serif);font-size:27px;font-weight:700;letter-spacing:-1.2px}.brand-mark{position:relative;display:inline-block;width:24px;height:27px;transform:rotate(-8deg)}.brand-mark i{position:absolute;width:15px;height:22px;border:1.4px solid var(--berry);border-radius:3px;background:var(--paper);top:2px;left:1px}.brand-mark i+ i{left:8px;top:0;transform:rotate(15deg);background:var(--berry)}.header-link{font-size:12px;text-decoration:none}.header-link span{margin-left:7px}main{outline:none!important}.game-heading{text-align:center;margin:37px auto 26px;padding:0 24px}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:600;color:var(--muted);line-height:1.7;margin:0 0 12px}h1{font-family:var(--serif);font-weight:400;font-size:45px;line-height:1.16;letter-spacing:-1.65px;margin:0 0 12px}.game-heading>p:last-child{font-size:13px;line-height:1.8;color:var(--muted);margin:0}.game-table{max-width:568px;margin:0 auto;padding:0 24px}.toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 0 21px;border-bottom:1px solid var(--line);gap:18px}.segmented{display:flex;border:1px solid #46304425;border-radius:30px;padding:3px;background:#ffffff72;gap:3px}.segmented button{border:0;background:transparent;border-radius:24px;min-height:34px;min-width:87px;color:var(--muted);font-size:12px;padding:7px 18px}.segmented button.selected{background:var(--berry);color:white;box-shadow:0 2px 4px #46304416}.segmented button:not(.selected):hover{background:#e7e1e7}.pair-controls{display:flex;align-items:center;gap:13px}.pair-controls>span{font-size:11px;font-weight:600;letter-spacing:1.4px;color:var(--muted)}.pair-switch{display:flex;gap:6px}.pair-switch button{font-size:12px;border:1px solid transparent;border-radius:50%;width:33px;height:33px;background:transparent;color:var(--muted)}.pair-switch button.selected{border-color:#8c7889;color:var(--ink);background:#ffffff70}.pair-switch button:hover{background:#ffffffa8}.table-meta{display:flex;justify-content:space-between;gap:14px;font-size:8px;letter-spacing:1.3px;color:var(--muted);margin:17px 1px 13px}.card-table{position:relative}.board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.card{display:block;position:relative;aspect-ratio:1;min-width:0;border:0;padding:0;background:transparent;border-radius:8px;perspective:650px;isolation:isolate}.card-inner{display:block;position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .36s cubic-bezier(.3,.65,.3,1)}.card.is-up .card-inner{transform:rotateY(180deg)}.card-back,.card-front{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:8px;overflow:hidden;box-shadow:0 3px 5px #46304412,0 1px 0 #ffffffa3}.card-back{background:var(--berry);border:1px solid #56304f;color:#ddc5d3}.card-back:before{content:"";position:absolute;inset:7px;border:1px solid #ddc5d333;border-radius:3px;background:repeating-linear-gradient(45deg,transparent 0 7px,#ead8e410 7px 8px)}.card-back:after{content:"";position:absolute;inset:13px;border:1px solid #ddc5d320;border-radius:50%;transform:scale(.65);background:#623e5c}.back-glyph{z-index:1;font-family:var(--serif);font-size:30px;line-height:1;font-style:italic;color:#e8d7e2;transform:rotate(-6deg)}.card-front{transform:rotateY(180deg);background:var(--cream);border:1px solid #d9d1cb;flex-direction:column;gap:8px}.shape{display:block;width:44%;height:44%;color:var(--shape-color,#623e5c);transition:transform .2s}.shape svg{display:block;width:100%;height:100%}.shape-name{font-size:10px;letter-spacing:.6px;font-weight:500;color:var(--muted)}.card:not([aria-disabled="true"]):hover .card-back{background:#704a69}.card:not([aria-disabled="true"]):hover .card-inner{translate:0 -2px}.card.is-up:not([aria-disabled="true"]):hover .card-inner{translate:0 0}.card:not([aria-disabled="true"]):active .card-inner{scale:.97}.card.is-matched .card-front{background:#f3f6ec;border-color:#b8c4ae;box-shadow:0 1px 0 #ffffff80}.card.is-matched .shape{opacity:.76}.match-check{position:absolute;top:7px;right:9px;font-size:11px;color:#6a8163;opacity:0}.card.is-matched .match-check{opacity:1}.card.just-matched .shape{animation:found .4s ease-out}@keyframes found{0%,100%{transform:scale(1)}45%{transform:scale(1.16)}}.scoreboard{display:flex;justify-content:center;gap:54px;margin:22px 0 0}.scoreboard>div{display:flex;align-items:center;flex-direction:column;gap:8px;min-width:70px}.scoreboard>div>span{font-size:11px;letter-spacing:.7px;color:var(--muted)}.scoreboard strong{font-family:var(--serif);font-size:26px;font-weight:400;line-height:1;font-variant-numeric:tabular-nums}.scoreboard small{font-family:var(--sans);font-size:12px;color:var(--muted);margin-left:1px}.feedback{text-align:center;color:var(--muted);font-size:12px;line-height:1.6;min-height:20px;margin:18px 0 0}.feedback.success{color:#526b4b}.game-actions{display:flex;align-items:center;justify-content:center;gap:27px;margin-top:8px}.quiet-button{font-size:11px;border:0;background:transparent;color:var(--ink);padding:10px 4px;line-height:1.6}.quiet-button span{font-size:16px;margin-right:4px;vertical-align:-1px}.quiet-button:disabled{color:#aba1aa}.quiet-button:hover:not(:disabled){text-decoration:underline;text-underline-offset:5px}.keyboard-help{text-align:center;font-size:9px;line-height:1.7;color:#756977;margin:14px 0 0}.victory{text-align:center;border-top:1px solid var(--line);margin-top:16px;padding-top:20px;animation:arrive .3s ease-out}.small-star{display:block;font-size:25px;color:#9f6577;margin-bottom:7px}.victory h2{font-family:var(--serif);font-weight:400;font-size:30px;letter-spacing:-.7px;margin:0 0 9px}.victory p{font-size:12px;color:var(--muted);margin:0 0 17px;line-height:1.7}.primary-button{border:1px solid var(--berry);background:var(--berry);color:white;border-radius:5px;padding:12px 18px;font-size:12px}.primary-button:hover{background:#754c6d}.primary-button span{margin-left:8px}@keyframes arrive{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.notice{border:1px solid #a1886a66;background:#fff9eb;padding:12px 15px;border-radius:5px;font-size:12px;line-height:1.6;color:var(--ink);margin-top:18px}.notice p{margin:0}.notice button{background:none;border:0;color:#774e66;font-size:12px;text-decoration:underline;text-underline-offset:4px;padding:7px 0 0}.game-notes{max-width:900px;margin:49px auto 0;padding:30px 24px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);gap:39px}.game-notes h2{font-family:var(--serif);font-size:21px;line-height:1.3;font-weight:400;letter-spacing:-.4px;margin:10px 0 9px}.game-notes p{font-size:11px;line-height:1.85;color:var(--muted);margin:0}.rules-link{max-width:900px;margin:21px auto 37px;padding:0 24px;text-align:right;font-size:11px}.rules-link a{text-decoration:none}.rules-link span{margin-left:7px}.site-footer{display:flex;justify-content:space-between;align-items:center;gap:25px;max-width:1086px;margin:auto;padding:24px 0 30px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.footer-brand{font-family:var(--serif);font-size:20px;font-weight:700;letter-spacing:-.9px;color:var(--ink);text-decoration:none}.site-footer nav{display:flex;gap:25px}.site-footer nav a{text-decoration:none}dialog{background:#f7f4f1;color:var(--ink);border:1px solid #c3b7c0;border-radius:11px;width:calc(100% - 34px);max-width:425px;padding:29px;box-shadow:0 20px 90px #2b172a40}dialog::backdrop{background:#392c3a80;backdrop-filter:blur(4px)}dialog .eyebrow{font-size:8px}dialog h2{font-family:var(--serif);font-weight:400;font-size:30px;letter-spacing:-.6px;line-height:1.2;margin:0 0 15px}dialog p:not(.eyebrow){font-size:13px;line-height:1.8;color:var(--muted);margin:0 0 24px}.dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.dialog-actions button:not(.primary-button){border:1px solid #b9a8b7;border-radius:5px;background:transparent;padding:11px 15px;font-size:12px;color:var(--ink)}
.guide{max-width:800px;margin:auto;padding:52px 28px 35px}.guide>header{border-bottom:1px solid var(--line);padding-bottom:27px;margin-bottom:35px}.guide h1{font-size:49px;max-width:600px}.guide .lead{font-size:16px;line-height:1.8;color:var(--muted);max-width:590px;margin-bottom:0}.guide section{max-width:640px;margin-bottom:36px}.guide h2{font-family:var(--serif);font-weight:400;font-size:29px;letter-spacing:-.65px;margin:0 0 15px}.guide p,.guide li{font-size:14px;line-height:1.85;color:var(--muted)}.guide strong{color:var(--ink);font-weight:550}.guide ol,.guide ul{padding-left:23px}.guide li{padding-left:5px;margin-bottom:9px}.guide .primary-button{display:inline-block;text-decoration:none;margin:8px 0 15px}.pair-example{display:flex;align-items:center;justify-content:center;gap:20px;background:#e1eaf0;border-radius:8px;padding:26px;margin:24px 0;max-width:410px}.example-card{width:86px;height:96px;border:1px solid #dbd1c7;background:var(--cream);border-radius:6px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:11px;box-shadow:0 3px 6px #4630440c}.example-card svg{width:36px;height:36px;color:var(--berry)}.example-card span{font-size:9px;letter-spacing:.5px;color:var(--muted)}.example-equals{font-family:var(--serif);font-size:25px;color:var(--muted)}.key{font-size:11px;border:1px solid #c5b9c2;background:#fff8;padding:2px 5px;border-radius:4px;color:var(--ink)}
@media(max-width:1150px){.site-footer{margin-left:42px;margin-right:42px}}@media(max-width:650px){.site-header{padding:21px 22px 0}.wordmark{font-size:25px}.header-link{font-size:11px}.game-heading{margin:31px 0 23px}.eyebrow{font-size:8px;letter-spacing:1.55px}h1{font-size:35px;letter-spacing:-1.2px}.game-heading>p:last-child{font-size:13px;line-height:1.8;max-width:310px;margin:auto}.game-table{padding:0 22px;max-width:500px}.toolbar{padding-bottom:16px;gap:12px;flex-wrap:wrap}.segmented button{min-width:72px;font-size:11px;padding:7px 13px;min-height:44px}.pair-controls{gap:8px;margin-left:auto}.pair-switch{gap:3px}.pair-switch button{width:44px;height:44px}.pair-controls>span{font-size:11px;letter-spacing:1px}.board{gap:9px}.card{border-radius:6px}.card-front,.card-back{border-radius:6px}.card-back:before{inset:5px}.card-back:after{inset:9px}.shape-name{font-size:10px;letter-spacing:.2px}.card-front{gap:6px}.scoreboard{gap:36px;margin-top:20px}.scoreboard strong{font-size:24px}.scoreboard>div{min-width:65px}.feedback{font-size:12px}.game-notes{margin:36px 22px 0;padding:23px 0 0;grid-template-columns:1fr;gap:21px}.game-notes>div{display:block}.game-notes h2{font-size:20px;margin:0 0 6px}.game-notes p{font-size:12px}.rules-link{padding:0 22px;text-align:left;margin:24px auto 31px}.site-footer{margin-left:22px;margin-right:22px;padding:22px 0 27px}.site-footer nav{gap:20px}.guide{padding:38px 24px 25px}.guide h1{font-size:39px}.guide .lead{font-size:14px}.guide p,.guide li{font-size:13px}.guide h2{font-size:27px}}@media(max-width:350px){.toolbar{flex-wrap:wrap}.pair-controls{width:100%;justify-content:flex-end}.site-header{padding-left:15px;padding-right:15px}.game-table{padding:0 15px}.game-heading{padding:0 15px}h1{font-size:31px}.toolbar{gap:8px}.segmented button{min-width:61px;padding:6px 10px}.pair-controls{gap:4px}.pair-switch button{width:44px;height:44px}.board{gap:7px}.shape-name{font-size:10px}.scoreboard{gap:24px}.card-back:after{inset:5px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

.mismatch-action{text-align:center}.mismatch-action button{min-height:44px;padding:10px 18px;margin-top:12px;border:1px solid var(--berry);border-radius:7px;background:var(--cream);color:var(--berry)}@media(pointer:coarse){.pair-switch button{width:44px;height:44px}.segmented button{min-height:44px}}

.quiet-button,.primary-button,.notice button,.dialog-actions button{min-height:44px;min-width:44px}.header-link,.site-footer a{display:inline-flex;align-items:center;min-height:44px}

.site-header .wordmark,.rules-link a{display:inline-flex;align-items:center;min-height:44px}
