@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700;800;900&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{font-family:'Space Grotesk','Noto Sans SC',sans-serif;color:#2e3031;background:#f7f6f2;font-synthesis:none;--purple:#8971ca;--muted:#95958f;--line:#e7e5df}*{box-sizing:border-box}body{margin:0}button,a,canvas{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible{outline:3px solid #9b7edd;outline-offset:4px}a{color:inherit}.app{max-width:1240px;margin:auto;padding:0 48px}.header{height:112px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;text-decoration:none;font-weight:800;font-size:22px;align-items:center;letter-spacing:.5px}.brand-icon{width:44px;height:44px;display:grid;place-items:center;background:#ddf1aa;border:1.5px solid #383b32;border-radius:14px;font-size:37px;line-height:1;transform:rotate(-7deg)}.brand small{display:block;font-size:9px;letter-spacing:2px;font-weight:500;margin-top:3px}.header nav{display:flex;gap:32px;align-items:center;font-size:12px}.edition{color:#8c8d87}.help-btn{border:1px solid #d8d7d0;border-radius:25px;background:transparent;padding:10px 17px;font-size:12px}.intro{padding:42px 0 31px;position:relative}.eyebrow{font-size:11px;letter-spacing:2px;color:#797972;display:flex;align-items:center;gap:7px}.eyebrow>span{width:6px;height:6px;background:var(--purple);border-radius:50%}h1{font-size:43px;line-height:1.3;letter-spacing:-1.8px;margin:13px 0 13px;font-weight:800;display:flex;align-items:center;gap:8px}h1>span{color:var(--purple)}.spark{color:#aa94d6;margin-left:13px;transform:rotate(12deg);width:36px}.intro p{font-size:13px;color:#85867f;margin:0;letter-spacing:.3px}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px}.board-panel{background:#fffefa;border:1px solid #deded5;border-radius:19px;overflow:hidden;box-shadow:0 4px 0 #eeede6}.board-top{height:75px;display:flex;align-items:center;justify-content:space-between;padding:0 25px;border-bottom:1px solid #eeede8}.round{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:600}.round>span{font-size:28px;font-weight:500;color:#9b87c5;letter-spacing:-2px}.round small{display:block;font-size:10px;font-weight:400;color:#999b92;margin-top:4px}.round-dots{display:flex;gap:7px}.round-dots i{width:7px;height:7px;background:#e9e8e1;border-radius:50%}.round-dots i.current{width:21px;border-radius:8px;background:#a892d9}.round-dots i.won{background:#a6bb78}.round-dots i.lost{background:#d3bbaa}.timer{display:flex;align-items:center;gap:8px;font-size:25px;font-variant-numeric:tabular-nums;font-weight:500}.timer small{font-size:10px;font-weight:400;color:#9a9b93}.timer.urgent{color:#cb6953}.prompt{padding:22px 25px 0;display:flex;align-items:center;gap:12px;font-size:11px;color:#90918b}.prompt strong{font-size:20px;color:#353631;letter-spacing:2px;font-weight:700}.secret{margin-left:auto;font-size:10px;color:#a3a299;background:#f5f4ee;padding:6px 9px;border-radius:6px}.canvas-wrap{height:333px;position:relative;margin:13px 14px 0;background-image:radial-gradient(#dcded4 .75px,transparent .75px);background-size:19px 19px;isolation:isolate}canvas{width:100%;height:100%;display:block;touch-action:none;cursor:crosshair;position:relative;z-index:1}.canvas-hint{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;color:#cecdc3;padding-bottom:15px}.canvas-hint span{font-size:14px;letter-spacing:2px;margin-top:14px;color:#a4a59a}.canvas-hint small{font-size:11px;margin-top:8px;color:#b2b2a8}.toolbar{margin:0 24px;height:66px;border-top:1px solid #eeede8;display:flex;align-items:center;gap:14px}.tools{display:flex;align-items:center;gap:5px}.tool{border:0;background:none;width:33px;height:33px;display:grid;place-items:center;padding:0;color:#8e9087;border-radius:8px}.tool.selected{background:#eae4f7;color:#6c54a0}.tool:hover:not(:disabled){background:#eeeae1}.tool-divider{height:17px;width:1px;background:#e3e3db;margin:0 5px}.pen-note{font-size:10px;color:#aaa99e}.skip{margin-left:auto;border:0;background:none;font-size:11px;color:#85867f;padding:8px 0}.buddy-panel{background:#eee9f6;border:1px solid #e2dcec;border-radius:19px;padding:20px;display:flex;flex-direction:column}.buddy-top{display:flex;justify-content:space-between;align-items:center}.pill{display:flex;align-items:center;gap:5px;font-size:10px;color:#756d84;background:#ffffff80;border-radius:20px;padding:6px 9px}.pill i{width:5px;height:5px;background:#8caa62;border-radius:50%}.buddy-number{font-size:9px;color:#ada2be;letter-spacing:1px}.monster-scene{height:222px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center}.monster{width:196px;height:170px;overflow:visible;animation:bob 4s ease-in-out infinite;transform-origin:50% 100%}.monster-name{font-size:14px;font-weight:700;margin-top:4px}.monster-name small{font-size:10px;font-weight:400;color:#91859e;margin-left:8px}.orbit{position:absolute;color:#ac96ce;font-size:24px}.orbit-one{left:9px;top:47px;transform:rotate(15deg)}.orbit-two{right:13px;top:119px;font-size:16px;color:#bdb17b}.bubble{position:relative;background:#fffdf9;border:1px solid #e2daed;border-radius:13px;padding:17px 18px;min-height:110px;box-shadow:0 3px 0 #e5dfee}.bubble:before{content:'';width:11px;height:11px;position:absolute;left:calc(50% - 6px);top:-7px;transform:rotate(45deg);border-left:1px solid #e2daed;border-top:1px solid #e2daed;background:#fffdf9}.bubble-label{font-size:9px;color:#aa9cb6;letter-spacing:1px}.bubble p{margin:8px 0 0;font-size:15px;line-height:1.7;font-weight:500}.thinking{display:none;gap:4px;margin-top:7px}.thinking.active{display:flex}.thinking i{width:4px;height:4px;border-radius:50%;background:#b29ccd;animation:blink 1s infinite}.thinking i:nth-child(2){animation-delay:.2s}.thinking i:nth-child(3){animation-delay:.4s}.guess-history{margin-top:21px;min-height:62px}.mini-label{font-size:10px;color:#948b9d;letter-spacing:.4px}#history{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.history-empty{font-size:10px;color:#aaa1b3}.guess-chip{font-size:10px;border:1px solid #dcd4e7;color:#897e95;padding:3px 8px;border-radius:20px}.guess-chip.correct{background:#e5edcd;border-color:#d3dfb6;color:#677a43}.score-row{margin-top:auto;border-top:1px dashed #d6cce2;padding-top:17px;display:flex;align-items:center;justify-content:space-between}.score-row strong{display:block;font-size:29px;font-weight:500;line-height:1.3;margin-top:4px}.score-row strong small{font-size:10px;color:#92859f;font-weight:400;margin-left:7px}.score-sticker{border:1px solid #b6a879;color:#8d805d;background:#f0eccb;font-size:12px;line-height:1.3;font-weight:600;transform:rotate(10deg);padding:7px 10px;position:relative;border-radius:4px}.score-sticker i{position:absolute;right:-7px;top:-10px;font-size:23px;color:#a18ec0;font-style:normal}.bottom-bar{display:flex;align-items:center;justify-content:space-between;margin-top:26px;gap:20px}.bottom-bar p{font-size:11px;color:#96958a}.bottom-bar p span{font-size:16px;color:#b1a57b;margin-right:5px}.primary{background:#d8edaa;color:#37422b;border:1px solid #afc080;border-radius:11px;padding:14px 24px;font-size:13px;font-weight:600;box-shadow:0 3px 0 #b9c996;display:flex;align-items:center;justify-content:center;gap:28px;min-width:181px;transition:transform .15s,background .15s}.primary:hover:not(:disabled){transform:translateY(-2px);background:#e0f4b5}.primary:active:not(:disabled){transform:translateY(2px);box-shadow:none}footer{border-top:1px solid var(--line);margin-top:36px;padding:21px 0 26px;display:flex;justify-content:space-between;gap:15px;align-items:center;color:#a6a69c;font-size:9px;letter-spacing:.5px}footer>span:first-child{letter-spacing:1.5px}footer button{font-size:10px;color:#8e8e83;background:none;border:0}.hidden{display:none!important}.result{position:absolute;inset:10px 35px 24px;z-index:2;background:#fffef9f5;border:1px solid #e9e6da;border-radius:15px;box-shadow:0 12px 40px #51443909;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;animation:pop .25s ease}.result-badge{color:#a087ce;font-size:32px}.result h2{font-size:25px;margin:8px 0}.result p{font-size:12px;color:#8f8f82;margin:0 0 20px;line-height:1.8}.result .primary{padding:11px 24px}.celebrate .monster{animation:happy .6s ease 2}.round-gallery{display:flex;gap:6px;margin-bottom:12px}.round-gallery figure{margin:0;width:56px;font-size:9px;color:#888}.round-gallery img{width:48px;height:39px;object-fit:contain}.round-gallery figcaption{white-space:nowrap}dialog{border:1px solid #e3ddeb;background:#fffdf7;color:#353432;border-radius:22px;padding:35px;width:min(480px,calc(100vw - 32px));box-shadow:0 25px 100px #31234330}dialog::backdrop{background:#28202b55;backdrop-filter:blur(4px)}dialog h2{font-size:26px;margin:18px 0}dialog p{font-size:13px;color:#89847e;line-height:1.9}dialog .close{position:absolute;top:10px;right:15px;background:none;border:0;font-size:26px;color:#9f96a5}.about-box{background:#f1ecf8;padding:16px;border-radius:12px;margin:20px 0}.about-box strong{font-size:13px}.about-box p{font-size:11px;margin:7px 0}.about-box small{font-size:10px;color:#998ca9}dialog .primary{width:100%}.data-credit{font-size:10px!important}@keyframes bob{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-6px) rotate(1deg)}}@keyframes blink{50%{opacity:.25}}@keyframes happy{25%{transform:translateY(-16px) rotate(-7deg)}75%{transform:translateY(-10px) rotate(7deg)}}@keyframes pop{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media(min-width:1450px){.app{padding:0 40px}.intro{padding-top:50px}.canvas-wrap{height:370px}}@media(max-width:950px){.app{padding:0 28px}.game-layout{grid-template-columns:minmax(0,1fr) 255px;gap:16px}.buddy-panel{padding:16px}.secret{display:none}.board-top{padding:0 18px}.prompt{padding-left:19px}.pen-note{display:none}h1{font-size:37px}.edition{display:none}}@media(max-width:680px){.app{padding:0 17px}.header{height:82px}.brand{font-size:19px}.brand-icon{width:37px;height:37px;font-size:31px}.brand small{font-size:8px}.intro{padding:29px 0 22px}h1{font-size:29px;letter-spacing:-1px;gap:0}.spark{width:23px;margin-left:9px}.intro p{font-size:11px;line-height:1.8;max-width:300px}.eyebrow{font-size:9px}.game-layout{display:flex;flex-direction:column;gap:14px}.board-top{height:62px}.prompt{padding-top:17px}.prompt strong{font-size:19px}.canvas-wrap{height:290px;margin-top:10px}.toolbar{height:56px;margin:0 17px}.buddy-panel{position:relative;padding:15px;display:grid;grid-template-columns:85px 1fr;gap:10px}.buddy-top{grid-column:1/-1}.monster-scene{height:106px;grid-column:1}.monster{width:100px;height:86px}.monster-name{font-size:11px;margin-top:0}.monster-name small,.orbit{display:none}.bubble{grid-column:2;grid-row:2;min-height:98px;padding:11px 14px}.bubble p{font-size:13px;margin-top:5px}.bubble:before{left:-7px;top:30px;transform:rotate(-45deg)}.guess-history{grid-column:2;margin-top:0;min-height:0}.guess-history>.mini-label{display:none}#history{margin:0}.history-empty{font-size:9px}.score-row{position:absolute;right:18px;top:16px;border:0;padding:0}.score-row .mini-label,.score-sticker{display:none}.score-row strong{font-size:16px;margin:0}.score-row strong small{font-size:9px}.buddy-number{display:none}.bottom-bar{margin-top:19px;flex-direction:column-reverse;gap:9px}.bottom-bar>.primary{width:100%}.bottom-bar p{font-size:9px;margin:5px 0}footer{margin-top:24px;font-size:8px;flex-wrap:wrap;gap:10px}footer>span:first-child{display:none}.result{inset:5px 8px 15px}.result h2{font-size:22px}.result p{font-size:11px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* Keep primary actions in the canvas, where the player is looking. */
.canvas-hint{z-index:2}
.canvas-hint #start{pointer-events:auto;margin-top:23px;min-width:210px}
.result-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;width:100%}
.result-actions .primary{min-width:0;padding:12px 20px}
.primary.secondary{background:#fffdf7;border-color:#dcd6e4;color:#82738e;box-shadow:0 3px 0 #e9e4ed}
.primary.secondary:hover:not(:disabled){background:#f2edf7}
.bottom-bar{justify-content:center}
@media(max-width:680px){
  .result{padding:16px 10px}
  .result-actions{gap:9px}
  .result-actions .primary{font-size:12px;padding:11px 12px}
  .round-gallery{gap:3px;max-width:100%}
  .round-gallery figure{width:47px}
  .round-gallery img{max-width:100%}
}

.round-gallery .gallery-status{display:block;font-size:8px;color:#aaa191;margin-top:2px}

.action-icon{display:block;flex:none;width:20px;height:20px}
.primary .button-label{font-size:inherit;line-height:inherit}
.primary{line-height:20px}
.action-icon.icon-small,.skip .action-icon{width:16px;height:16px}
.help-btn,footer button,.text-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:16px}
.help-btn{gap:12px}
dialog .close{display:grid;place-items:center;width:32px;height:32px;padding:0}
.result-actions .primary{gap:14px}
.skip{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
#next .share-icon,#next.is-save .next-icon{display:none}
#next.is-save .share-icon{display:block}

.palette{display:flex;gap:7px;align-items:center;margin-left:2px}
.swatch{width:22px;height:22px;border-radius:50%;border:3px solid #fffefa;background:var(--swatch);outline:1px solid transparent;padding:0}
.swatch[aria-pressed="true"]{outline:2px solid var(--swatch)}
.rating-label{display:block;font-size:16px;font-weight:700;color:#77618e;margin-top:7px}
.score-row strong{font-size:20px}.result h2{font-size:24px}.result p{margin-bottom:12px}
.text-button{background:none;border:0;color:#8870a5;font-size:11px;padding:10px 8px 0}
.result .share-note{font-size:9px;line-height:1.5;color:#a098a6;margin:8px 0 0;max-width:95%;overflow-wrap:anywhere}
@media(max-width:950px){.toolbar{gap:8px}.palette{gap:5px}.swatch{width:20px;height:20px}}
@media(max-width:680px){.toolbar{flex-wrap:wrap;height:auto;min-height:76px;gap:9px;padding:10px 0}.palette{order:3;width:100%;justify-content:center;gap:14px}.swatch{width:25px;height:25px}.result h2{font-size:20px}.result p{font-size:10px}.result-badge{font-size:24px}.result .share-note{font-size:8px}.rating-label{font-size:11px;display:inline;margin-right:7px}.score-row>div{display:flex;align-items:center}.score-row strong{font-size:15px}.round-gallery{margin-bottom:8px}}

/* Disable double-tap zoom while keeping page scrolling and pinch zoom available. */
html,body,button,a{touch-action:manipulation}
.timer-controls{display:flex;align-items:center;gap:10px;flex-shrink:0}
.add-time{border:1px solid #e1d9ee;background:#f5f1fa;color:#8971aa;border-radius:8px;padding:5px 8px;min-height:32px;font-size:11px;line-height:16px;white-space:nowrap}
.add-time:hover:not(:disabled){background:#eae2f5}
.add-time:active:not(:disabled){background:#e0d4ef}
.canvas-wrap.is-summary{height:auto;min-height:0;padding:10px 21px 24px;background:none}
.canvas-wrap.is-summary>canvas{display:none}
.canvas-wrap.is-summary .result{position:relative;inset:auto;min-height:300px;width:100%;animation:none}
.canvas-wrap.is-summary .result>*{flex-shrink:0}
@media(max-width:680px){
  .board-top{flex-wrap:wrap;height:auto;min-height:62px;gap:9px;padding:12px 15px}
  .round{gap:8px}.timer-controls{margin-left:auto;gap:7px}.timer{gap:5px}
  .round-dots{order:3;flex-basis:100%;justify-content:center}
  .canvas-wrap.is-summary{padding:5px 8px 15px}
  .canvas-wrap.is-summary .result{min-height:290px;padding:18px 10px}
  .result .share-note{font-size:10px;line-height:1.6;margin-top:10px}
}
@media(max-width:360px){h1{font-size:24px}}
