:root{--ink:#252728;--muted:#6d7169;--paper:#f8f9f3;--lime:#c9f264;--purple:#7d64db;--line:#e0e3d9;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #8064dc;outline-offset:4px}[hidden]{display:none!important}.wrap{max-width:1200px;margin:0 auto;padding-left:32px;padding-right:32px}.preview-bar{background:#e8ebdf;text-align:center;font-size:11px;padding:10px 18px;letter-spacing:1px}.preview-bar span{margin:0 9px;color:#8a8f80}.preview-bar a{text-decoration:underline;margin-left:14px;letter-spacing:0}.header{display:flex;align-items:center;gap:60px;height:102px}.brand{font-size:27px;letter-spacing:-1.4px;font-weight:800;display:flex;align-items:center;gap:0}.brand-light{font-weight:400}.brand-icon{width:36px;height:36px;border-radius:11px;background:var(--lime);margin-right:9px;font-size:35px;line-height:33px;text-align:center;position:relative}.brand-icon span{font-size:21px;position:absolute;right:0;bottom:-3px;color:var(--purple)}nav{display:flex;gap:30px;align-items:center;font-size:13px}nav a.active{border-bottom:2px solid var(--ink);padding:10px 0}nav button{border:0;background:none;padding:10px 0}nav button span{font-size:10px;background:#eceee6;padding:3px 6px;border-radius:5px;margin-left:4px}.header-note{font-size:12px;color:var(--muted);margin-left:auto}.hero{border-radius:26px;min-height:415px;background:#eef1e8;position:relative;overflow:hidden;display:grid;grid-template-columns:1.05fr 1fr}.hero-copy{padding:45px 0 42px 44px;z-index:1}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.7px;display:block}.eyebrow i{display:inline-block;width:7px;height:7px;background:var(--purple);border-radius:50%;margin-right:7px}h1{font-size:64px;line-height:1.04;letter-spacing:-3.6px;margin:22px 0 18px;position:relative}h1 span{color:var(--purple)}h1 svg{width:150px;height:15px;position:absolute;bottom:-9px;left:193px;stroke:var(--purple);stroke-width:4;fill:none;stroke-linecap:round}.hero-copy p{color:var(--muted);font-size:14px;line-height:1.7;margin:24px 0}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;border-radius:9px;padding:14px 19px;font-size:12px;font-weight:700;border:0;transition:transform .15s,background .15s}.button:hover{transform:translateY(-2px)}.button.dark{background:var(--ink);color:white}.button span{font-size:16px}.hero-foot{display:block;color:var(--muted);font-size:10px;margin-top:15px}.hero-art{position:relative;min-height:415px}.orbit{width:330px;height:330px;border:1px solid #d6dbc9;border-radius:50%;position:absolute;top:40px;left:25px}.orbit:after{content:"";position:absolute;inset:22px;border:1px dashed #d6dbc9;border-radius:50%}.tile{position:absolute;display:grid;place-items:center;width:130px;height:130px;font-size:57px;font-weight:800;letter-spacing:-4px;border-radius:23px;box-shadow:0 10px 0 #00000012,0 20px 30px #2830170c}.tile-one{top:61px;left:55px;transform:rotate(-12deg);background:#f8f9f0;color:#9b9f8b;border:1px solid #e5e8dc}.tile-two{top:55px;left:204px;transform:rotate(10deg);background:#c9f264}.tile-three{top:204px;left:39px;transform:rotate(8deg);background:#b8a2f1;color:#4a347f}.tile-four{top:203px;left:188px;transform:rotate(-9deg);background:#8165d7;color:white}.spark{position:absolute;font-size:40px}.s1{top:28px;left:365px;color:#7d64db}.s2{top:317px;left:9px;font-size:29px}.art-label{position:absolute;top:164px;left:324px;transform:rotate(90deg);font-size:9px;letter-spacing:2px;white-space:nowrap;color:#797d6b}.floating-chip{position:absolute;left:218px;top:340px;transform:rotate(-5deg);background:#fdfef7;box-shadow:0 4px 10px #00000006;padding:11px 18px;border-radius:30px;font-size:12px}.dot-line{position:absolute;top:374px;left:67px;letter-spacing:10px;font-size:5px;color:#9caa83}.collection{margin-top:57px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}h2{font-size:31px;letter-spacing:-1.3px;margin:10px 0 0;line-height:1.15}.tiny-star{color:var(--purple);font-size:27px;margin-left:15px}.search{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:10px;padding:10px 13px;width:270px;background:#fff}.search>span{font-size:24px;line-height:20px}.search input{background:transparent;border:0;outline:none;width:100%;min-width:0;font-size:12px}.search:focus-within{border-color:var(--purple)}kbd{border:1px solid #e3e5de;border-radius:4px;padding:1px 5px;font-size:10px;color:var(--muted)}.filter-row{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:24px 0}.filters{display:flex;gap:8px;flex-wrap:wrap}.filters button{font-size:11px;border:1px solid var(--line);background:transparent;padding:9px 15px;border-radius:25px;white-space:nowrap}.filters button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}#result-count{font-size:11px;color:var(--muted);white-space:nowrap}.game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.game-card{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden;position:relative;transition:transform .15s,box-shadow .15s}.game-card:hover{transform:translateY(-4px);box-shadow:0 10px 24px #2527280b}.game-cover{height:179px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;width:100%;border:0;border-radius:0}.game-cover:after{content:"";position:absolute;left:-30px;bottom:-90px;width:230px;height:230px;border:1px solid #ffffff55;border-radius:50%;pointer-events:none}.cover-memory{background:#e4d9fa}.cover-lights{background:#273c36}.cover-reaction{background:#f4dab4}.cover-fusion{background:#ddeaaf}.cover-garden{background:#e0e8d0}.cover-mahjong{background:#d9e6f1}.cover-grid{display:grid;grid-template-columns:repeat(3,42px);gap:6px;transform:rotate(-10deg)}.cover-grid i{font-style:normal;height:42px;border-radius:7px;display:grid;place-items:center;background:#fff8;color:#7c5bb1;font-weight:700;font-size:22px;box-shadow:0 3px 0 #0000000a}.cover-lights .cover-grid{grid-template-columns:repeat(3,32px);transform:rotate(8deg)}.cover-lights .cover-grid i{height:32px;background:#bde567;color:#bde567}.cover-lights .cover-grid i:nth-child(3n){background:#496355;color:#496355}.target{width:99px;height:99px;border-radius:50%;background:#f49772;border:16px solid #ffe8bb;outline:2px dashed #b98a5655;outline-offset:13px;box-shadow:5px 9px 0 #cba67a55;display:grid;place-items:center;font-size:30px;color:#874321;transform:rotate(-12deg)}.cover-fusion .cover-grid{grid-template-columns:repeat(2,58px)}.cover-fusion .cover-grid i{height:58px;background:#f5f7d2;color:#68793c;font-size:27px}.cover-fusion .cover-grid i:last-child{background:#8daa4e;color:white}.garden-art{font-size:51px;letter-spacing:6px;transform:rotate(-8deg);line-height:1.1;text-shadow:0 5px 0 #72954e22}.mahjong-art{display:flex;gap:8px;transform:rotate(-9deg)}.mahjong-art i{display:grid;place-items:center;background:#fafdf3;border:1px solid #b6c8b1;border-bottom:6px solid #b6c8b1;width:49px;height:67px;border-radius:8px;font-style:normal;font-size:25px;color:#688e74}.source-chip{position:absolute;bottom:10px;left:12px;background:#ffffffd9;border-radius:5px;padding:5px 7px;font-size:8px;font-weight:700;letter-spacing:.6px;z-index:1}.save{position:absolute;right:10px;top:10px;border:0;background:#ffffffdf;border-radius:50%;width:30px;height:30px;font-size:18px;display:grid;place-items:center;z-index:2}.save[aria-pressed=true]{color:#6e4eb6}.card-body{padding:17px}.card-body h3{font-size:16px;letter-spacing:-.4px;margin:0 0 7px}.card-body p{font-size:11px;line-height:1.6;color:var(--muted);margin:0;min-height:35px}.card-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:15px}.category{font-size:9px;color:var(--muted)}.card-action{border:0;background:none;font-size:11px;font-weight:700;padding:4px 0}.break-note{display:flex;align-items:center;gap:23px;background:#eae4f4;border-radius:18px;padding:28px 32px;margin:45px 0}.note-symbol{font-size:56px;color:#8066b3}.break-note h2{font-size:22px;letter-spacing:-.7px;margin:0 0 9px}.break-note p{font-size:12px;color:#6a6476;line-height:1.65;margin:0}.outline{border:1px solid #b1a7c3;background:transparent;margin-left:auto;white-space:nowrap}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:102px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.brand.small{font-size:21px;color:var(--ink)}.footer-dot{font-size:10px;color:var(--purple);margin-left:5px}footer>div{display:flex;gap:21px}footer button{border:0;background:none;padding:0;font-size:10px;color:var(--muted)}.empty{text-align:center;padding:50px}dialog{width:min(750px,calc(100% - 28px));max-height:92dvh;padding:25px;border:1px solid var(--line);border-radius:20px;box-shadow:0 25px 100px #0004;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#17221999;backdrop-filter:blur(5px)}.modal-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:20px}.modal-top h2{font-size:25px}.close{background:#e7eadf;border:0;border-radius:50%;width:35px;height:35px}.game-instructions{font-size:13px;line-height:1.7;color:var(--muted)}.stats{display:flex;gap:20px;flex-wrap:wrap;justify-content:center;align-items:center;margin:18px 0;font-size:12px}.stats strong{font-size:18px;color:var(--ink)}.board{display:grid;gap:9px;max-width:400px;margin:20px auto}.memory-board{grid-template-columns:repeat(4,1fr)}.memory-card{aspect-ratio:1;border:0;border-radius:12px;background:#ddd2f4;color:#7856ab;font-size:30px;box-shadow:0 3px 0 #c6b3e2}.memory-card.flipped,.memory-card.matched{background:white}.memory-card.matched{box-shadow:0 0 0 2px #b5d971;color:#5d7c2b}.light-board{grid-template-columns:repeat(5,1fr)}.light-cell{aspect-ratio:1;border:0;border-radius:9px;background:#40584e;color:#bde567}.light-cell.on{background:#c9f264;box-shadow:0 2px 8px #94b73a33;color:#344f26}.reaction-pad{width:100%;height:230px;background:#e5ddd0;border:0;border-radius:15px;font-size:22px;font-weight:700;white-space:pre-line}.reaction-pad.ready{background:var(--lime)}.reaction-pad.waiting{background:#e7b3a4}.game-message{text-align:center;font-size:13px;min-height:20px;line-height:1.6}.modal-actions{display:flex;justify-content:center;gap:12px;margin-top:20px}.source-panel{padding:12px 0}.source-panel .notice{padding:16px;background:#eae4f4;border-radius:10px;font-size:13px;line-height:1.8}.source-panel p{font-size:13px;line-height:1.8}.source-panel a{text-decoration:underline}iframe{width:100%;height:65dvh;border:0;border-radius:12px;background:#222}.legal p{font-size:14px;line-height:1.8;color:var(--muted)}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);border-radius:30px;background:var(--ink);color:white;font-size:12px;padding:12px 21px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:4}#toast.visible{opacity:1}.setup{max-width:850px;padding-top:35px;padding-bottom:60px}.setup h1{font-size:42px;letter-spacing:-2px}.setup h2{font-size:23px;margin:32px 0 12px}.setup p,.setup li{font-size:14px;line-height:1.9;color:var(--muted)}.setup a{text-decoration:underline}.setup .status{border:1px solid var(--line);background:white;border-radius:12px;padding:20px;margin:20px 0}.setup .status b{color:#7451b7}.setup code{background:#e9ece1;padding:3px 5px;border-radius:3px;font-size:12px}.setup li{margin:8px 0}@media(min-width:1250px){.hero-art{margin-left:15px}}@media(max-width:900px){.header{gap:28px}.header-note{display:none}.hero{grid-template-columns:1fr .8fr}.hero-copy{padding-left:30px}h1{font-size:55px}.hero-art{transform:scale(.8);transform-origin:left center}.game-grid{gap:15px}.game-cover{height:155px}.break-note{padding:25px;gap:16px}.break-note h2{font-size:19px}.break-note .button{gap:12px}}@media(max-width:650px){.wrap{padding-left:18px;padding-right:18px}.preview-bar{font-size:9px;letter-spacing:.3px}.preview-bar a{display:none}.header{height:83px;justify-content:space-between;gap:15px}.brand{font-size:24px}.brand-icon{width:30px;height:30px;font-size:29px;line-height:28px}nav{gap:17px;font-size:12px}.hero{display:block;min-height:0;border-radius:20px}.hero-copy{padding:30px 25px 25px}.eyebrow{font-size:9px;letter-spacing:1.2px}h1{font-size:53px;margin-top:20px}h1 svg{left:155px;width:130px}.hero-copy p{font-size:13px;margin:22px 0}.hero-art{height:200px;min-height:200px;transform:none;margin:0}.orbit{width:230px;height:230px;top:-5px;left:calc(50% - 115px)}.tile{width:80px;height:80px;border-radius:17px;font-size:37px;letter-spacing:-2px}.tile-one{top:0;left:calc(50% - 85px)}.tile-two{top:0;left:calc(50% + 10px)}.tile-three{top:95px;left:calc(50% - 85px)}.tile-four{top:95px;left:calc(50% + 10px)}.floating-chip{top:140px;left:calc(50% + 55px);font-size:10px;padding:8px 10px;white-space:nowrap}.s1{left:calc(50% + 115px);top:14px;font-size:25px}.s2{left:calc(50% - 135px);top:107px}.art-label,.dot-line{display:none}.collection{margin-top:35px}.section-heading{display:block}h2{font-size:27px}.search{width:100%;margin-top:20px;padding:11px 13px}.filter-row{margin:18px 0;align-items:flex-start}.filters{gap:6px}.filters button{font-size:10px;padding:8px 11px}#result-count{display:none}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.game-cover{height:140px}.cover-grid{transform:rotate(-10deg) scale(.8)}.cover-fusion .cover-grid{transform:rotate(-10deg) scale(.75)}.garden-art{font-size:37px;letter-spacing:0}.mahjong-art{gap:5px;transform:rotate(-9deg) scale(.8)}.card-body{padding:12px}.card-body h3{font-size:14px}.card-body p{font-size:10px;min-height:47px}.card-bottom{margin-top:10px;align-items:flex-end;gap:5px}.category{font-size:8px}.card-action{font-size:10px}.break-note{display:block;margin:30px 0;padding:23px}.note-symbol{font-size:35px;margin-bottom:10px}.break-note h2{font-size:21px}.break-note .button{margin-top:18px}.break-note br{display:none}footer{flex-wrap:wrap;justify-content:space-between;gap:17px;padding-top:23px;padding-bottom:25px}footer>span{display:none}footer>div{gap:13px}dialog{padding:18px}.modal-top h2{font-size:22px}.memory-card{font-size:25px}.setup h1{font-size:35px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
