:root{color:#2d342c;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#2d342c;--muted:#7a7d70;--green:#dfff83;--paper:#fffefb;--line:#deded0;background:#f5f2e9;font-family:PingFang SC,Noto Sans SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:4px;outline:3px solid #6f8f45}button{border:0}h1,h2,h3,p{margin:0}button{background:0 0}::selection{background:#dfff83}.app{max-width:1440px;margin:0 auto;padding:0 64px}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:112px;display:flex}.brand{text-align:left;align-items:center;gap:12px;padding:0;display:flex}.brand>span:last-child{letter-spacing:2px;font-size:24px;font-weight:850}.brand small{letter-spacing:2px;margin-top:4px;font-size:10px;font-weight:500;display:block}.brand-icon{border:1.8px solid var(--ink);background:var(--green);border-radius:14px;place-items:center;width:47px;height:48px;font-size:36px;line-height:1;display:grid;transform:rotate(-7deg)}.header-nav{align-items:center;gap:35px;font-size:13px;display:flex}.beta-label{color:var(--muted);letter-spacing:1px;font-size:12px}.text-button{padding:8px 0;font-size:13px;font-weight:600}.text-button span{padding-left:8px}.green-dot{background:#7e9d44;border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block;box-shadow:0 0 0 4px #e8ecd8}.eyebrow{letter-spacing:2px;color:#656d58;align-items:center;font-size:12px;display:flex}.hero{grid-template-columns:1fr 1fr;align-items:center;gap:36px;padding:76px 0 70px;display:grid}.hero h1{letter-spacing:2px;margin-top:22px;font-size:clamp(40px,4.6vw,65px);font-weight:850;line-height:1.45;position:relative}.title-circle{z-index:0;display:inline-block;position:relative}.title-circle svg{fill:none;stroke:#9cbb56;stroke-width:3px;z-index:-1;width:calc(100% + 22px);height:calc(100% + 10px);position:absolute;inset:-5px -10px -5px -12px}.hero-copy>p{color:var(--muted);margin:22px 0 30px;font-size:15px;line-height:1.95}.button{border:1.5px solid var(--ink);border-radius:8px;justify-content:space-between;align-items:center;gap:25px;padding:16px 24px;font-size:14px;font-weight:650;transition:transform .15s,box-shadow .15s;display:inline-flex}.button:hover:enabled{transform:translateY(-2px);box-shadow:3px 4px #2d342c20}.primary{background:var(--green)}.secondary{background:var(--paper)}.dark{background:var(--ink);color:var(--paper)}.solo-start{min-width:192px}.solo-actions{flex-wrap:wrap;gap:12px;display:flex}.hero-note{color:var(--muted);letter-spacing:1px;margin-top:12px;font-size:11px;display:block}.hero-art{min-width:0;padding-top:12px;position:relative}.hero-doodle{width:100%;display:block}.doodle-sticker{border:1px solid var(--ink);letter-spacing:2px;z-index:1;background:#e4c7b5;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:86px;height:86px;font-size:12px;line-height:1.7;display:flex;position:absolute;top:12px;right:-8px;transform:rotate(12deg)}.doodle-sticker b{font-weight:650}.handwritten{text-align:center;letter-spacing:2px;color:#8b927a;margin-top:-7px;font-size:13px;transform:rotate(-4deg)}.play-section{background:#ebece1;border:1px solid #dedfd1;border-radius:16px;grid-template-columns:1fr 1fr;gap:60px;padding:40px 46px;display:grid}.section-number{letter-spacing:2px;color:var(--muted);font-size:10px}.play-intro h2{letter-spacing:1px;margin-top:14px;font-size:28px;line-height:1.6}.play-intro>p{color:var(--muted);margin-top:14px;font-size:12px;line-height:1.9}.avatar-stack{align-items:center;margin-top:23px;padding-left:2px;display:flex}.avatar-stack>span{background:#dce7b0;border:2px solid #ebece1;border-radius:50%;place-items:center;width:31px;height:31px;margin-left:-4px;font-size:22px;display:grid}.avatar-stack>span:nth-child(2){background:#e7c1aa;transform:rotate(15deg)}.avatar-stack>span:nth-child(3){background:#cfcae5}.avatar-stack i{color:#6a735d;margin-left:10px;font-size:10px;font-style:normal}.room-form{background:#fffefb;border:1px solid #deded0;border-radius:12px;align-self:center;padding:24px 26px}.form-tabs{border-bottom:1px solid var(--line);gap:26px;margin-bottom:21px;display:flex}.form-tabs button{color:var(--muted);padding:0 0 13px;font-size:13px}.form-tabs .active{color:var(--ink);border-bottom:2px solid var(--ink);font-weight:700}.field{letter-spacing:1px;margin-bottom:16px;font-size:11px;display:block}.field input{width:100%;height:44px;color:var(--ink);background:#f7f6f0;border:1px solid #deded0;border-radius:6px;margin-top:8px;padding:10px 12px;font-size:13px;display:block}.field input::placeholder{color:#a1a395;font-size:12px}.room-form .button{width:100%;padding:13px 16px;font-size:12px}.form-note{color:#929486;text-align:center;margin-top:12px;font-size:10px;line-height:1.6}.effects-section{padding:62px 0 66px}.section-heading{justify-content:space-between;align-items:end;gap:15px;margin-bottom:27px;display:flex}.section-heading h2{letter-spacing:1px;margin-top:12px;font-size:25px}.section-aside{color:#858b77;padding-bottom:3px;font-size:11px;transform:rotate(-3deg)}.effect-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;display:grid}.effect-card{background:#f0f0e6;border:1px solid #deded0;border-radius:10px;padding:18px;position:relative}.effect-number{color:#919582;letter-spacing:1px;font-family:monospace;font-size:9px}.effect-symbol{text-align:center;color:#606d4c;font-family:Georgia,serif;font-size:42px;line-height:1.7;display:block}.effect-card h3{letter-spacing:1px;margin:5px 0 10px;font-size:13px}.effect-card p{color:#7e8173;min-height:38px;font-size:10px;line-height:1.9}.comedic-badge{color:#805838;background:#f9e2c7;border-radius:4px;margin-bottom:5px;padding:3px 6px;font-size:10px;display:inline-block}.effect-reverse{background:#eee4d9}.effect-reverse .effect-symbol{color:#ac7258}.effect-mono{background:#e9e8e1}.effect-glitch{background:#e4e9ea}.effect-glitch .effect-symbol{color:#678190}.effect-kaleidoscope{background:#eae4ed}.effect-kaleidoscope .effect-symbol{color:#967ba5}.site-footer{border-top:1px solid var(--line);color:#8a8d7f;letter-spacing:.5px;justify-content:space-between;gap:12px;padding:27px 0 31px;font-size:10px;display:flex}.footer-dot{padding:0 10px}.help-panel{border:1px solid var(--line);background:#fffefb;border-radius:10px;margin-top:22px;padding:24px 28px;font-size:13px;line-height:1.9}.help-panel p{color:var(--muted);margin-top:10px}.game-page{padding:30px 0 48px}.game-topline{justify-content:space-between;align-items:center;gap:15px;min-height:30px;margin-bottom:28px;display:flex}.invite-button{letter-spacing:1px;background:#eeeee4;border:1px solid #d0d3c1;border-radius:6px;padding:9px 13px;font-size:11px}.game-layout{grid-template-columns:minmax(0,1fr) 270px;gap:24px;display:grid}.drawing-area{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;min-width:0}.round-header{justify-content:space-between;align-items:center;gap:15px;margin-bottom:24px;display:flex}.round-header h2{letter-spacing:1px;margin-top:7px;font-size:26px;font-weight:650;line-height:1.6}.answer{background:#e4edc4;border-radius:4px;margin-left:7px;padding:0 9px;display:inline-block}.word-blanks{letter-spacing:7px;font-size:22px;font-weight:400}.timer{text-align:right;flex-shrink:0}.timer span{letter-spacing:-1px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:28px;font-weight:650}.timer small{color:var(--muted);letter-spacing:2px;margin-top:5px;font-size:9px;display:block}.timer.urgent span{color:#cb6f50}.board-shell{background:#fffefb;border:1px solid #d4d7c9;border-radius:12px;overflow:hidden;box-shadow:0 4px #e3e3d8}.canvas-wrap{aspect-ratio:8/5;position:relative}.canvas{touch-action:none;cursor:crosshair;width:100%;height:100%;display:block}.canvas.readonly{cursor:default;touch-action:pan-y}.canvas-hint{letter-spacing:2px;color:#c0c3b5;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:12px;display:flex;position:absolute;inset:0}.canvas-hint span{font-size:39px;transform:rotate(-10deg)}.toolbar{border-top:1px solid #e6e7dc;flex-wrap:wrap;align-items:center;gap:15px;min-height:65px;padding:16px 18px;display:flex}.palette{border:0;gap:8px;margin:0;padding:0;display:flex}.swatch{background:var(--swatch);border:3px solid #fffefb;border-radius:50%;outline:1px solid #0000;width:23px;height:23px;transition:transform .15s}.swatch.selected{outline-color:var(--swatch);transform:scale(1.1)}.toolbar-divider{background:var(--line);width:1px;height:22px}.size-control{color:var(--muted);align-items:center;gap:7px;font-size:10px;display:flex}.size-control input{accent-color:#63764c;width:65px}.pen-control{color:var(--muted);white-space:nowrap;align-items:center;gap:3px;font-size:10px;display:flex}.pen-control input{accent-color:#63764c}.clear-button{color:var(--muted);margin-left:auto;padding:4px 0;font-size:10px}.board-caption{color:#8b907e;justify-content:space-between;gap:12px;padding:18px 2px;font-size:10px;display:flex}.board-warning{background:#f2e5cf;padding:8px 16px;font-size:11px}.game-sidebar{flex-direction:column;gap:18px;padding-top:1px;display:flex}.active-effect,.waiting-card{background:#e9eddc;border:1px solid #d5d8c7;border-radius:12px;padding:22px}.active-effect-icon,.waiting-icon{text-align:center;color:#71845b;font-family:Georgia,serif;font-size:60px;line-height:1.6;display:block}.active-effect h3,.waiting-card h3{letter-spacing:2px;text-align:center;margin:1px 0 14px;font-size:20px}.active-effect>p,.waiting-card>p{color:#7a806d;text-align:center;min-height:42px;font-size:11px;line-height:1.95}.effect-countdown{color:#7e866d;justify-content:space-between;margin-top:24px;font-size:10px;display:flex}.effect-countdown b{color:#5c6948;font-weight:500}.effect-progress{background:#d6dec7;border-radius:4px;height:4px;margin-top:9px;overflow:hidden}.effect-progress>div{background:#8f9d65;height:100%;transition:width .25s linear}.solo-tips{border:1px solid var(--line);border-radius:12px;padding:24px 20px}.board-mode-label{margin-bottom:10px;font-size:12px;font-weight:650;display:block}.board-mode-select{border:1px solid var(--line);width:100%;max-width:100%;color:var(--ink);background:var(--paper);border-radius:6px;padding:12px 10px;font-size:13px}.solo-tips h3{letter-spacing:1px;margin-bottom:15px;font-size:12px}.solo-tips p{color:#8a8d7f;font-size:11px;line-height:2}.tip-line{background:var(--line);height:1px;margin:20px 0}.solo-tips .text-button{margin-top:17px;font-size:11px}.waiting-card .button{width:100%;margin-top:22px;padding:12px 16px;font-size:12px}.waiting-icon{font-size:56px}.waiting-card h3{font-size:17px}.players-card,.chat-card{border:1px solid var(--line);background:#fffefb;border-radius:12px;padding:19px 17px}.players-card h3,.chat-card h3{letter-spacing:.5px;margin-bottom:16px;font-size:12px}.players-card h3>span{float:right;color:var(--muted);font-size:10px;font-weight:400}.player-row{align-items:center;gap:9px;margin:14px 0;display:flex}.player-row:last-child{margin-bottom:0}.player-row>div{flex:1;min-width:0}.player-row strong{overflow-wrap:anywhere;font-size:11px;display:block}.player-row small{color:#9a9e8e;margin-top:4px;font-size:9px;display:block}.player-row>b{font-family:monospace;font-size:12px;font-weight:500}.avatar{background:#e5edca;border-radius:50%;flex-shrink:0;place-items:center;width:29px;height:29px;font-size:12px;display:grid}.avatar-1{background:#ecdbce}.avatar-2{background:#e3dfed}.player-row.offline{opacity:.5}.chat-log{overflow-wrap:anywhere;scrollbar-width:thin;flex-direction:column;gap:10px;height:160px;font-size:11px;display:flex;overflow-y:auto}.chat-log p{gap:8px;line-height:1.7;display:flex}.chat-log strong{color:#898e7b;font-weight:500}.chat-empty{color:#aaa99b;font-size:10px}.correct-guess{color:#698443}.chat-card form{background:#f6f6ee;border:1px solid #deded0;border-radius:7px;margin-top:14px;padding:5px;display:flex}.chat-card input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;padding:7px;font-size:11px}.chat-card form button{background:#e4edcd;border-radius:5px;flex-shrink:0;width:31px;font-size:17px}.connection-banner{background:#ede4ce;border:1px solid #ddd0ae;border-radius:7px;justify-content:space-between;align-items:center;margin-bottom:20px;padding:13px 18px;font-size:12px;display:flex}.result-bar{background:#e9eddc;border:1px solid #d7ddc6;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:8px;padding:22px;display:flex}.result-bar strong{letter-spacing:.5px;font-size:13px}.result-bar p{color:#8b907e;margin-top:9px;font-size:10px}.result-actions{flex-wrap:wrap;gap:10px;display:flex}.result-actions .button{gap:10px;padding:12px 16px;font-size:11px}.finish-round{text-align:center;color:var(--muted);font-size:11px}.notice{color:#fffefb;z-index:5;background:#30382c;border-radius:9px;align-items:center;gap:20px;max-width:min(600px,90vw);padding:15px 17px 15px 23px;font-size:12px;display:flex;position:fixed;bottom:25px;left:50%;transform:translate(-50%);box-shadow:0 6px 30px #0002}.notice>button{color:#fffefb;padding:0 4px;font-size:22px;line-height:1}@media (width>=1440px){.hero{padding-top:90px;padding-bottom:90px}.hero h1{font-size:68px}.game-layout{grid-template-columns:minmax(0,1fr) 290px}}@media (width<=1100px){.app{padding:0 36px}.hero{gap:20px;padding:60px 0}.hero h1{font-size:48px}.play-section{gap:30px;padding:30px}.effect-card{padding:13px}.game-layout{grid-template-columns:minmax(0,1fr) 240px;gap:18px}.toolbar{gap:10px;padding:13px}.size-control input{width:50px}.toolbar-divider,.board-caption>span:last-child{display:none}.doodle-sticker{width:70px;height:70px;font-size:10px;right:-8px}.round-header h2{font-size:22px}}@media (width<=800px){.app{padding:0 24px}.site-header{height:90px}.beta-label{display:none}.header-nav{gap:20px}.hero{gap:10px;padding:48px 0}.hero h1{font-size:37px}.hero-copy>p{margin:20px 0;font-size:12px}.hero .eyebrow{letter-spacing:1px;font-size:9px}.hero-art{padding:0}.hero-note{font-size:9px}.handwritten{font-size:10px}.doodle-sticker{letter-spacing:1px;width:55px;height:55px;font-size:8px;top:10px;right:0}.play-intro h2{font-size:23px}.play-section{gap:22px;padding:25px}.room-form{padding:20px}.section-heading h2{font-size:23px}.section-aside{font-size:9px}.effect-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.effect-card{padding:15px}.effect-symbol{font-size:35px}.effect-card p{font-size:10px}.game-layout{grid-template-columns:minmax(0,1fr)}.game-sidebar{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}.active-effect,.waiting-card{height:100%;padding:18px}.active-effect-icon,.waiting-icon{font-size:45px;line-height:1.3}.active-effect h3{margin:4px 0 10px;font-size:18px}.active-effect>p{min-height:0}.effect-countdown{margin-top:16px}.game-sidebar>.chat-card{grid-column:1/-1}.players-card{max-height:300px;overflow-y:auto}.solo-tips{height:100%;padding:21px}.solo-tips .tip-line{margin:15px 0}.solo-tips .text-button{margin-top:12px}.round-header h2{font-size:26px}.game-topline .eyebrow{letter-spacing:1px;font-size:10px}.site-footer{font-size:9px;line-height:1.8}.site-footer>span:last-child{display:none}.toolbar-divider{display:block}.toolbar{gap:15px;padding:16px}.size-control input{width:70px}}@media (width<=560px){.app{padding:0 18px}.brand>span:last-child{font-size:21px}.brand small{font-size:8px}.brand-icon{border-radius:12px;width:40px;height:40px;font-size:31px}.header-nav{gap:15px}.header-nav .text-button{font-size:11px}.hero{grid-template-columns:1fr;gap:15px;padding:38px 0 30px}.hero h1{margin-top:20px;font-size:44px;line-height:1.4}.hero-copy>p{font-size:13px;line-height:1.85}.hero-art{justify-self:center;width:100%;max-width:330px;margin-top:4px}.hero .eyebrow{font-size:10px}.solo-start{min-width:180px;padding:14px 20px}.hero-note{letter-spacing:0;margin-left:0;font-size:9px;display:inline-block}.doodle-sticker{width:61px;height:61px;font-size:9px;top:8px;right:0}.handwritten{margin-top:-9px}.play-section{grid-template-columns:1fr;gap:22px;padding:25px 20px}.play-intro h2{vertical-align:top;margin-top:10px;font-size:26px;display:inline-block}.play-intro>p{font-size:11px;display:none}.avatar-stack{margin-top:15px}.room-form{padding:22px}.section-heading{margin-bottom:23px;display:block}.section-heading h2{font-size:22px}.section-aside{text-align:right;margin-top:18px;display:block}.effects-section{padding:38px 0}.effect-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.effect-card:last-child{grid-column:1/-1;grid-template-columns:50px 1fr;column-gap:10px;padding:15px 19px;display:grid}.effect-card:last-child .effect-number{grid-column:1/-1}.effect-card:last-child .effect-symbol{grid-row:2/4;line-height:1.6}.effect-card:last-child h3{margin-top:10px}.effect-card:last-child p{grid-column:2;min-height:0}.effect-card:last-child .comedic-badge{grid-column:2}.game-page{padding:24px 0 35px}.game-topline{margin-bottom:23px}.game-topline .eyebrow{letter-spacing:.5px;font-size:9px}.invite-button{padding:8px;font-size:9px}.round-header{gap:9px;margin-bottom:18px}.round-header h2{font-size:22px}.round-header .section-number{font-size:9px}.timer span{font-size:24px}.timer small{font-size:8px}.toolbar{gap:15px 12px;padding:12px 10px}.palette{gap:6px}.swatch{width:23px;height:23px}.toolbar-divider{display:none}.size-control{margin-left:auto}.size-control input{width:57px}.pen-control,.clear-button{font-size:9px}.game-sidebar{gap:12px}.active-effect,.waiting-card{padding:17px 13px}.active-effect h3,.waiting-card h3{font-size:16px}.active-effect>p,.waiting-card>p{font-size:10px}.solo-tips{padding:20px 14px}.solo-tips p{font-size:10px}.solo-tips h3{font-size:11px}.solo-tips .text-button{font-size:10px}.section-number{letter-spacing:1px}.result-bar{gap:18px;padding:18px}.board-caption{padding:17px 1px;font-size:9px}.connection-banner{gap:10px;padding:10px;font-size:10px}.connection-banner .text-button{white-space:nowrap;font-size:10px}}@media (prefers-reduced-motion:reduce){.button,.swatch,.effect-progress>div{transition:none}}
