/* Volume 03: a larger arcade and a very personal little universe. */
@font-face{font-family:"Bugtian Play Emoji";src:url('/assets/play-emoji-v3.woff2') format('woff2');font-display:swap;font-style:normal;font-weight:400}
.header nav{gap:22px}.header nav .love-nav{color:#995267}.new-game-label{position:absolute;right:18px;bottom:17px;font:9px monospace;letter-spacing:1px;padding:5px 8px;background:#ffffff66;border:1px solid #282a2530;border-radius:4px;color:#282a25}
.game-art{position:relative}.art-breakout{background:#dae3dd}.art-bricks{display:grid;grid-template-columns:repeat(4,35px);gap:5px;position:absolute;left:50%;top:72px;transform:translateX(-50%)}.art-bricks i{height:14px;background:#8b9f86;border-radius:3px}.art-bricks i:nth-child(3n){background:#b197d5}.art-bricks i:nth-child(3n+1){background:#e7a289}.art-ball{position:absolute;width:13px;height:13px;background:#fff2d9;box-shadow:0 0 0 1px #71866c;border-radius:50%;left:53%;top:146px}.art-paddle{position:absolute;bottom:48px;left:calc(50% - 28px);width:56px;height:9px;border-radius:4px;background:#506e5d}.art-flappy{background:#d8e9eb}.art-cloud{position:absolute;width:88px;height:25px;border-radius:40px;background:#f7f8f0}.art-cloud::before{content:"";position:absolute;background:inherit;width:38px;height:38px;border-radius:50%;bottom:0;left:20px}.cloud-a{left:16%;top:88px}.cloud-b{right:9%;bottom:58px;transform:scale(.7)}.art-bird{width:55px;height:44px;background:#efa591;border:2px solid #78685c;position:absolute;left:calc(50% - 23px);top:102px;border-radius:55% 48% 45% 50%;transform:rotate(-8deg)}.art-bird::after{content:"";position:absolute;right:-17px;top:11px;border-left:16px solid #e9c86e;border-block:8px solid transparent}.art-bird::before{content:"";position:absolute;right:8px;top:9px;width:5px;height:5px;border-radius:50%;background:#45483b}.art-bird i{position:absolute;width:26px;height:16px;border:1px solid #b97d63;left:5px;top:22px;border-radius:50%;transform:rotate(-15deg);background:#f4c5a9}
.art-mines{background:#eed9bf}.art-sudoku{background:#e7e1f1}.art-slider{background:#dbe5c5}.art-mini-grid{position:absolute;left:50%;top:58px;transform:translateX(-50%) rotate(-6deg);display:grid;grid-template-columns:repeat(3,37px);gap:5px;padding:9px;border:1px solid #282a2530;border-radius:8px;background:#ffffff40;box-shadow:5px 6px 0 #282a2512}.art-mini-grid i{height:37px;display:grid;place-items:center;font-style:normal;font:600 18px monospace;background:#fbf8ef99;border-radius:4px;color:#59604b}.art-mines .art-mini-grid i:nth-child(5){background:#dfac72}.sudoku-mini{gap:0;transform:translateX(-50%) rotate(5deg)}.sudoku-mini i{border:1px solid #897c9c66;border-radius:0}.art-slider .art-mini-grid i:last-child{background:transparent}.art-connectfour{background:#f1ddd0}.art-four{position:absolute;left:50%;top:59px;transform:translateX(-50%) rotate(-4deg);background:#3e5950;padding:12px;display:grid;grid-template-columns:repeat(5,20px);gap:7px;border-radius:9px;box-shadow:4px 6px 0 #282a251c}.art-four i{height:20px;border-radius:50%;background:#ebe8da}.art-four i:nth-child(n+12){background:#baaddc}.art-four i:nth-child(3n+1){background:#ed9e86}.art-lights{background:#d6dbed}.art-lights>div{position:absolute;top:62px;left:50%;transform:translateX(-50%);display:grid;grid-template-columns:repeat(3,32px);gap:10px;background:#30384a;padding:18px;border-radius:12px}.art-lights i{height:27px;background:#465265;border-radius:7px}.art-lights i:nth-child(2n){background:#f2d57c;box-shadow:0 0 15px #f2d57c80}.art-colors{background:#f0e5bf}.art-color-word{position:absolute;left:0;width:100%;text-align:center;top:80px;color:#b16c80;font-size:43px;font-weight:700;transform:rotate(-6deg)}.art-color-dots{position:absolute;display:flex;gap:13px;top:144px;left:50%;transform:translateX(-50%)}.art-color-dots i{width:14px;height:14px;border-radius:50%;background:#c76454}.art-color-dots i:nth-child(2){background:#44859a}.art-color-dots i:nth-child(3){background:#638947}.art-color-dots i:nth-child(4){background:#9277bd}
.extra-board{width:var(--board-size);max-width:100%;aspect-ratio:1;align-self:center}.extra-controls{align-items:stretch!important;gap:15px}.extra-note{font-size:12px;line-height:1.9;color:var(--muted);margin:0}.extra-note output{display:block;margin-top:13px;font:11px monospace}.mine-board{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:3px;background:#a6b396;padding:10px;border-radius:15px}.mine-cell{min-width:0;border:0;border-radius:4px;font-size:clamp(11px,2vw,23px);background:#e7ecd4;box-shadow:inset 0 -3px 0 #85947230;color:#6a7160;font-weight:600;padding:0;aspect-ratio:1}.mine-cell.opened{background:#ccd7b7;box-shadow:none}.mine-cell[data-value="1"]{color:#497d9a}.mine-cell[data-value="2"]{color:#567b3b}.mine-cell[data-value="3"]{color:#ba6d57}.mine-cell[data-value="4"]{color:#846bb0}.mine-cell.exploded{background:#eb9e8b;color:#53382d}.four-wrap{aspect-ratio:auto}.four-drop{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;padding:0 15px 12px}.four-drop button{border:1px solid var(--line);border-radius:7px;background:var(--soft);color:var(--ink);height:35px;font-size:20px}.four-board{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;padding:17px;background:#36594f;border-radius:16px}.four-cell{aspect-ratio:1;border-radius:50%;background:#e3e5d5;box-shadow:inset 2px 3px 0 #193b3130}.four-cell.player-1{background:#f0a58a}.four-cell.player-2{background:#c4b4e9}.four-cell.four-win{outline:3px solid #f5db89;outline-offset:2px}.slider-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:13px;border-radius:17px;background:#9cab8e}.slide-cell{background:#ecedd8;color:#555b44;border:0;border-radius:10px;font:500 clamp(20px,4vw,45px) monospace;box-shadow:0 4px 0 #57624b50;position:relative;aspect-ratio:1;padding:0}.slide-cell.slide-correct{background:#d9edb9}.slide-empty{background:#859677;box-shadow:none}.show-target .slide-cell::after{content:attr(data-cell);position:absolute;right:9px;top:7px;font-size:10px;opacity:.65}.show-target{counter-reset:target}.show-target .slide-cell::after{counter-increment:target;content:counter(target)}.show-target .slide-cell:last-child::after{content:"空"}.lights-board{padding:20px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;background:#293745;border-radius:18px}.light-cell{background:#405366;border:1px solid #526778;border-radius:13px;padding:0;position:relative;aspect-ratio:1}.light-cell span{position:absolute;inset:26%;border-radius:50%;background:#5a6f80}.light-cell.lit{background:#bda971;border-color:#ead78c}.light-cell.lit span{background:#ffe19b;box-shadow:0 0 22px #ffe19b88}.light-cell.suggested{outline:3px dashed #eab8a2;outline-offset:3px}.sudoku-board{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));background:#a8a193;border:2px solid #766c5e;border-radius:5px;gap:1px;overflow:hidden}.sudoku-cell{padding:0;aspect-ratio:1;min-width:0;position:relative;background:#fffcf4;border:0;color:#8370ac;font:500 clamp(15px,2vw,28px) monospace}.sudoku-cell.given{background:#eeece1;color:#4c5045;font-weight:700}.sudoku-cell.selected{background:#d8c7ef;box-shadow:inset 0 0 0 2px #8367a9}.sudoku-cell.conflict{color:#b23f48;background:#f6d9da}.sudoku-cell.block-right{border-right:2px solid #766c5e}.sudoku-cell.block-bottom{border-bottom:2px solid #766c5e}.sudoku-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.sudoku-keypad button{background:var(--soft);border:1px solid var(--line);border-radius:7px;color:var(--ink);padding:9px;font:18px monospace}.color-challenge{background:#f2ede1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:28px;padding:24px;border-radius:20px;color:#5f624f}.color-challenge>p{font-size:12px;text-align:center}.color-challenge>strong{font-size:clamp(24px,4vw,60px);text-align:center;color:#7c8273}.color-challenge>output{font:14px monospace}.color-choices{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;width:90%}.color-answer{color:#fff;padding:17px;border:0;border-radius:10px;font-size:15px}.ink-0{background:#ad5648}.ink-1{background:#38778c}.ink-2{background:#56773e}.ink-3{background:#8062ad}.arcade-canvas{touch-action:none}.paddle-buttons{display:flex;gap:10px}.paddle-buttons button,.flap-button{flex:1;border:1px solid var(--line);padding:14px;background:var(--soft);color:var(--ink);border-radius:10px;font-size:18px;touch-action:none}.flap-button{width:100%;font-size:13px}
.love-invitation{margin-top:75px;border:1px solid #dbcac6;background:#f1e6e0;color:#573842;border-radius:24px;padding:50px 60px;display:grid;grid-template-columns:1fr 1fr;position:relative;overflow:hidden}.love-invitation-copy{z-index:1}.love-invitation .eyebrow{font:9px monospace;letter-spacing:2px;color:#9e7b80}.love-invitation h2{font-size:42px;letter-spacing:-2px;line-height:1.4;margin:20px 0}.love-invitation h2>span{color:#9b4e5f}.love-invitation-copy>p:not(.eyebrow){font-size:13px;line-height:2.1;color:#8f6e74}.love-button{display:inline-flex;align-items:center;gap:28px;background:#784653;color:#fff5ed;padding:16px 22px;border-radius:9px;margin-top:15px;font-size:13px}.love-button:hover{background:#623744}.love-invitation-art{position:relative;display:grid;place-items:center}.love-invitation-art img{width:100%;max-width:460px;filter:drop-shadow(0 8px 15px #70465315)}.love-stamp{position:absolute;right:-15px;top:0;border:1px solid #b79b9c;color:#9f6c7a;transform:rotate(12deg);padding:13px 18px;text-align:center;font:9px monospace;z-index:2}.love-stamp strong{display:block;font-size:20px;margin-top:5px}.invitation-caption{font:8px monospace;letter-spacing:1px;color:#a78387}.discover-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;margin-top:32px}.discovery-card{background:var(--surface);padding:30px;border:1px solid var(--line);border-radius:21px;min-width:0;display:flex;flex-direction:column}.discovery-card h3{font-size:24px;margin:20px 0 10px;letter-spacing:-.7px}.discovery-card>p:not(.lab-footnote){color:var(--muted);font-size:12px;line-height:1.9;margin:0}.discovery-card .lab-actions{margin-top:auto;padding-top:22px}.story-tokens{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:26px}.story-token{padding:18px 8px;border-radius:10px;text-align:center;background:#e7e0f1;color:#655278;min-width:0}.story-token:nth-child(2){background:#e7ebd5;color:#636d4a}.story-token:nth-child(3){background:#f0dfd0;color:#9d7556}.story-token>small{font:8px monospace;display:block;letter-spacing:1px;margin-bottom:14px}.story-token>strong{display:block;font-size:15px;font-weight:500}.story-token>button{border:1px solid currentColor;border-radius:20px;background:transparent;color:inherit;font-size:9px;padding:6px 10px;margin-top:15px}.story-token>button[aria-pressed=true]{background:#282a2512}.story-card blockquote{margin:23px 0;font-size:20px;line-height:1.9;font-family:Georgia,'Songti SC',serif;max-width:90%;min-height:100px}.beat-grid{margin-top:25px;display:grid;grid-template-columns:36px repeat(16,minmax(0,1fr));gap:5px;align-items:center}.beat-track{font:9px monospace;color:var(--muted)}.beat-step{padding:0;min-width:0;aspect-ratio:1;background:var(--soft);border:1px solid var(--line);border-radius:4px}.beat-step[data-step="0"],.beat-step[data-step="4"],.beat-step[data-step="8"],.beat-step[data-step="12"]{border-color:#9b9f8a}.beat-step[aria-pressed=true]{background:#c7b8ef;border-color:#9884bc}.beat-step[data-track="1"][aria-pressed=true]{background:#f3b6a0;border-color:#b58b76}.beat-step[data-track="2"][aria-pressed=true]{background:#d9edb9;border-color:#a2b386}.beat-step[data-track="3"][aria-pressed=true]{background:#b6d9ee;border-color:#7aa1b5}.beat-step.current{outline:2px solid #667953;outline-offset:1px}.beat-tempo{margin:24px 0 16px;display:flex;align-items:center;gap:15px;font-size:11px;color:var(--muted)}.beat-tempo input{flex:1;min-width:0;accent-color:#a18abb}.beat-tempo output{font:10px monospace}.beat-card .lab-footnote{line-height:1.7}.postcard-card canvas{display:block;width:100%;height:auto;border-radius:12px;margin-top:23px;border:1px solid var(--line)}.postcard-fields{display:grid;grid-template-columns:120px 1fr;gap:12px;margin-top:18px}.postcard-fields label{font-size:10px;color:var(--muted)}.postcard-fields input{display:block;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);padding:11px 0;font-size:13px}.garden-window{position:relative;margin:26px 0 18px;border:8px solid #d5c5a9;border-bottom-width:18px;border-radius:80px 80px 8px 8px;background:linear-gradient(#d8e7ec,#e9eeda);height:246px;display:flex;align-items:flex-end;overflow:hidden}.garden-sun{position:absolute;width:45px;height:45px;border-radius:50%;background:#f5d68d;right:28px;top:28px}.garden-window::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:6px;background:#d5c5a9}.garden-window::after{content:"";position:absolute;left:0;right:0;top:95px;height:6px;background:#d5c5a9}.garden-plants{width:100%;padding:0 10px;display:flex;align-items:flex-end;justify-content:center;gap:10px;z-index:1;position:relative}.plant-pot{width:58px;height:45px;background:#ba866d;border-radius:4px 4px 12px 12px;border-top:7px solid #cc9a7d;position:relative;flex-shrink:1;margin-bottom:0}.plant-stem{position:absolute;width:4px;height:var(--stem-height,0px);bottom:35px;left:calc(50% - 2px);background:#6e8e54;border-radius:3px;transition:height .4s}.plant-leaf{position:absolute;width:20px;height:10px;background:#7e9e60;bottom:55px;left:50%;border-radius:0 80% 0 80%;transform:rotate(-30deg)}.plant-leaf.second{bottom:70px;left:calc(50% - 19px);transform:rotate(25deg)}.plant-flower{position:absolute;width:38px;height:38px;bottom:calc(35px + var(--stem-height,0px) - 12px);left:calc(50% - 19px);color:#b96e81;font:34px 'Bugtian Play Emoji',sans-serif;text-align:center;line-height:38px}.plant-pot small{position:absolute;left:0;right:0;text-align:center;bottom:10px;font:8px monospace;color:#f7e6d6}.garden-seeds{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted);margin:4px 0 12px}.garden-seeds select{border:1px solid var(--line);color:var(--ink);background:var(--soft);padding:9px;border-radius:8px;font-size:12px}.garden-card .lab-actions{gap:12px}.garden-card .lab-actions .button{font-size:11px;padding-inline:15px}.night .love-invitation{background:#34282b;border-color:#59414b;color:#edc8cd}.night .love-invitation-copy>p:not(.eyebrow){color:#bea0a7}.night .story-card blockquote{color:#e0dbce}
@media(min-width:901px){.extra-controls{flex-direction:column}.extra-controls .button,.extra-controls .small-button{white-space:normal}}
@media(max-width:1100px){.header nav{gap:14px;font-size:11px}.header-controls{gap:7px}.love-invitation{padding:36px}.story-card blockquote{font-size:18px}.beat-grid{gap:4px}}
@media(max-width:900px){.extra-controls{display:flex;flex-wrap:wrap;justify-content:center;max-width:var(--board-size);margin:auto}.extra-controls .extra-note{flex-basis:100%;font-size:10px;text-align:center}.sudoku-keypad{grid-template-columns:repeat(9,minmax(0,1fr));flex-basis:100%;gap:5px}.sudoku-keypad button{font-size:16px;padding:7px 0}.extra-board{justify-self:center}.color-challenge{gap:20px}.color-answer{padding:13px}.discover-grid{gap:18px}.discovery-card{padding:24px}.postcard-fields{grid-template-columns:1fr}.beat-grid{gap:3px;grid-template-columns:28px repeat(16,minmax(0,1fr))}.beat-track{font-size:8px}}
@media(max-width:650px){.header nav{display:none}.love-invitation{margin-top:40px;padding:27px 25px;grid-template-columns:1fr;border-radius:20px}.love-invitation h2{font-size:31px;letter-spacing:-1px}.love-invitation .eyebrow{font-size:7px}.love-invitation-copy>p:not(.eyebrow){font-size:12px}.love-button{font-size:12px;margin-top:6px;padding:14px 17px}.love-invitation-art{margin-top:12px;min-height:200px}.love-invitation-art img{max-width:330px}.love-stamp{right:0;top:20px;font-size:7px;padding:9px 13px}.love-stamp strong{font-size:16px}.invitation-caption{font-size:6px;letter-spacing:.5px}.discover-grid{grid-template-columns:1fr}.discovery-card h3{font-size:23px}.story-card blockquote{min-height:80px}.story-tokens{gap:7px}.story-token strong{font-size:13px}.story-token>small{font-size:7px}.story-token{padding:16px 5px}.beat-grid{gap:4px;margin-block:25px 12px}.beat-step{aspect-ratio:.75}.beat-tempo{margin-top:16px}.postcard-fields{grid-template-columns:85px 1fr}.postcard-fields input{font-size:12px}.garden-window{height:230px}.extra-controls{gap:9px}.extra-controls .extra-note{font-size:9px}.lights-board{gap:8px;padding:12px}.light-cell{border-radius:8px}.four-board{padding:11px;gap:7px}.four-drop{padding-inline:10px;gap:6px}.slider-board{gap:7px;padding:9px}.slide-cell{border-radius:7px}.mine-board{padding:7px;gap:2px}.color-challenge{padding:16px;gap:16px}.color-challenge>p{font-size:9px}.color-choices{gap:8px}.color-answer{font-size:12px;padding:12px}.game-art .art-mini-grid{top:43px;transform:translateX(-50%) scale(.78) rotate(-6deg);transform-origin:top center}.art-bricks{top:52px;transform:translateX(-50%) scale(.75);transform-origin:top center}.art-ball{top:107px}.art-paddle{bottom:34px}.art-bird{top:68px;transform:scale(.8) rotate(-8deg)}.cloud-a{top:68px;transform:scale(.7)}.cloud-b{bottom:43px}.art-four{top:44px;transform:translateX(-50%) scale(.78) rotate(-4deg);transform-origin:top center}.art-lights>div{top:43px;transform:translateX(-50%) scale(.7);transform-origin:top center}.art-color-word{top:58px;font-size:32px}.art-color-dots{top:101px}.art-color-dots i{width:10px;height:10px}.new-game-label{font-size:6px;right:10px;bottom:12px;padding:3px 5px}}
@media(max-height:540px) and (min-width:600px){.extra-controls{grid-column:2;grid-row:1;flex-direction:column;flex-wrap:nowrap;max-width:220px;align-items:stretch}.extra-controls .extra-note{font-size:9px}.extra-controls .sudoku-keypad{grid-template-columns:repeat(3,1fr);gap:4px}.extra-controls .sudoku-keypad button{font-size:13px;padding:4px}.extra-controls .button,.extra-controls .small-button{padding:8px 11px;font-size:10px}.extra-controls{gap:7px}.color-challenge{gap:12px}.color-challenge>strong{font-size:32px}.color-answer{padding:10px}}
@media(prefers-reduced-motion:reduce){.plant-stem{transition:none}}

.hero-love-link{display:inline-block;color:#9b5f75;font-size:11px;border-bottom:1px solid #d8bdc7;padding-bottom:6px;margin-top:22px}.hero-love-link span{margin-left:10px}.art-mini-grid .gem-symbol::before{content:"";display:block;width:15px;height:19px;background:#91609d;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
