@font-face{font-family:Patrick Hand;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/patrick-hand-vietnamese-400-normal-65jA92mZ.woff2) format("woff2"),url(/assets/patrick-hand-vietnamese-400-normal-CZjY324Y.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Patrick Hand;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/patrick-hand-latin-ext-400-normal-Dno5CMlI.woff2) format("woff2"),url(/assets/patrick-hand-latin-ext-400-normal-C2ywpnn3.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Patrick Hand;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/patrick-hand-latin-400-normal-B7HHA2Vw.woff2) format("woff2"),url(/assets/patrick-hand-latin-400-normal-Df9_VoRQ.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Dancing Script;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dancing-script-vietnamese-400-normal-lz8MlVep.woff2) format("woff2"),url(/assets/dancing-script-vietnamese-400-normal-D2srOv8f.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Dancing Script;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dancing-script-latin-ext-400-normal-C917Kz-3.woff2) format("woff2"),url(/assets/dancing-script-latin-ext-400-normal-DaWfpMsu.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Dancing Script;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dancing-script-latin-400-normal--YrtvvVF.woff2) format("woff2"),url(/assets/dancing-script-latin-400-normal-BY5FxJb0.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Dancing Script;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dancing-script-vietnamese-700-normal-DHSNEjs8.woff2) format("woff2"),url(/assets/dancing-script-vietnamese-700-normal-BxaLPXNn.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Dancing Script;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dancing-script-latin-ext-700-normal-DuhEb1O2.woff2) format("woff2"),url(/assets/dancing-script-latin-ext-700-normal-vV212RL9.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Dancing Script;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dancing-script-latin-700-normal-CX8AaSVl.woff2) format("woff2"),url(/assets/dancing-script-latin-700-normal-LI5MgW9m.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-vietnamese-400-normal-CRcqvyg1.woff2) format("woff2"),url(/assets/be-vietnam-pro-vietnamese-400-normal-BuGn0gnm.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-latin-ext-400-normal-CiZNW1ec.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-ext-400-normal-DYBYyMQr.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-latin-400-normal-PpnXBOrz.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-400-normal-bXgqVju9.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-vietnamese-500-normal-DREgrEoJ.woff2) format("woff2"),url(/assets/be-vietnam-pro-vietnamese-500-normal-CfdwVo8-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-latin-ext-500-normal-h0Fp6aX0.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-ext-500-normal-CK0UkkKf.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-latin-500-normal-B6LVzGNe.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-500-normal-BJkVuMHw.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-vietnamese-600-normal-nyU-ZL2p.woff2) format("woff2"),url(/assets/be-vietnam-pro-vietnamese-600-normal-DkpCIyan.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-latin-ext-600-normal-BNd8euf0.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-ext-600-normal-BeUwKxhG.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-latin-600-normal-BZDkUTrt.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-600-normal-5IO4e7bK.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-vietnamese-700-normal-Csr0PCuG.woff2) format("woff2"),url(/assets/be-vietnam-pro-vietnamese-700-normal-By_5yT39.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-latin-ext-700-normal-C8_gqRu2.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-ext-700-normal-4Hjo2OtD.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-latin-700-normal-DlW1Zbsh.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-700-normal-C2EtzaOi.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/be-vietnam-pro-vietnamese-800-normal-D4LFh2W4.woff2) format("woff2"),url(/assets/be-vietnam-pro-vietnamese-800-normal-CA0HL1e4.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/be-vietnam-pro-latin-ext-800-normal-GEpNgheG.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-ext-800-normal-BvOXQlBN.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/be-vietnam-pro-latin-800-normal-BpHZASpI.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-800-normal-Cwp5p0gU.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*{box-sizing:border-box}:root{--bg: #f4f1eb;--dot: #d3cbbf;--fg: #24211d;--muted: #8b8379;--soft: #4d4842;--panel: #fff;--surface: #f8f6f2;--header: #fbfaf7d9;--btn: #2b221508;--btn-h: #2b221514;--border: #e7e1d7;--border-strong: #d5cdc0;--accent: #2f6ce5;--accent-h: #2457c7;--accent-soft: #eaf1fe;--accent-ink: #1d4fb4;--ring: #2f6ce540;--ok: #2f9e44;--warn: #e8590c;--danger: #e03131;--shadow-sm: 0 1px 2px #3a2a1410, 0 1px 1px #3a2a140a;--shadow-md: 0 6px 16px -4px #3a2a141f, 0 2px 4px #3a2a140d;--shadow-lg: 0 24px 48px -16px #3a2a1440, 0 8px 18px -6px #3a2a141a;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--font: "Be Vietnam Pro", system-ui, -apple-system, "Segoe UI", sans-serif;color-scheme:light}[data-theme=dark]{--bg: #171614;--dot: #34302a;--fg: #eee9e1;--muted: #958c80;--soft: #cbc3b8;--panel: #24221f;--surface: #2b2925;--header: #1c1a17d9;--btn: #ffffff0d;--btn-h: #ffffff1a;--border: #38342e;--border-strong: #4a453d;--accent: #6b9bf5;--accent-h: #86aef7;--accent-soft: #1f2c47;--accent-ink: #a9c4fa;--ring: #6b9bf550;--shadow-sm: 0 1px 2px #0006;--shadow-md: 0 6px 16px -4px #0009, 0 2px 4px #0005;--shadow-lg: 0 24px 48px -16px #000c, 0 8px 18px -6px #0007;color-scheme:dark}.note,.sheet{--btn: #0000000d;--btn-h: #0000001a;--accent: #2f6ce5;--accent-soft: #eaf1fe;color:#24211d}body{margin:0;font-family:var(--font);font-size:14px;background:var(--bg);color:var(--fg);overflow:hidden;transition:background .3s;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;-webkit-tap-highlight-color:transparent}input,textarea,select{font-family:inherit}::selection{background:#ffd43b88}button{cursor:pointer;border:0;border-radius:var(--r-sm);padding:4px 8px;font:inherit;font-size:14px;color:inherit;background:var(--btn);transition:background .15s,color .15s,box-shadow .15s,transform .1s}button:hover{background:var(--btn-h)}button:disabled{opacity:.4;cursor:default}button:active{transform:scale(.96)}.primary{background:var(--accent-btn, #2f6ce5);color:#fff;padding:8px 14px;font-weight:600;box-shadow:0 1px 2px #1d4fb433,inset 0 1px #ffffff26}.primary:hover{background:var(--accent-btn-h, #2457c7)}[data-theme=dark]{--accent-btn: #3d74e0;--accent-btn-h: #4b80e8}.ico{flex-shrink:0;display:inline-block;vertical-align:-.2em;pointer-events:none}.board{position:relative;width:100vw;height:100vh;overflow:auto;overscroll-behavior:none}.sizer{position:relative;overflow:hidden;background-image:radial-gradient(var(--dot) 1px,transparent 1px)}.canvas{position:absolute;left:0;top:0;transform-origin:0 0}header{position:fixed;top:0;left:0;right:0;z-index:100001;display:flex;gap:8px;align-items:center;height:56px;padding:0 16px 0 14px;background:var(--header);box-shadow:0 1px 0 var(--border),0 6px 20px -14px #3a2a1433}header:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;-webkit-backdrop-filter:blur(12px) saturate(1.4);backdrop-filter:blur(12px) saturate(1.4);pointer-events:none}header h1{font-size:20px;margin:0;white-space:nowrap;display:flex}.brand{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;text-decoration:none;transition:background .15s}.brand:hover{background:var(--btn)}.brand-mark{position:relative;width:24px;height:24px;border-radius:3px;rotate:-6deg;background:linear-gradient(160deg,#ffe680,#ffd43b);box-shadow:1px 2px 4px #3a2a1433;transition:rotate .3s cubic-bezier(.3,1.8,.5,1)}.brand:hover .brand-mark{rotate:4deg}.brand-mark:before{content:"";position:absolute;top:-4px;left:50%;width:12px;height:6px;translate:-50% 0;rotate:4deg;background:#a5d8ffd9}.brand-mark:after{content:"";position:absolute;left:5px;right:5px;top:8px;height:10px;background:repeating-linear-gradient(180deg,#8a6d0099 0 1.5px,transparent 1.5px 4px);border-radius:1px}header>button:not(.primary):not(.donate-btn),header .boards>.board-name{height:36px;display:inline-flex;align-items:center;gap:7px;padding:0 11px;background:transparent;color:var(--soft);font-weight:500;white-space:nowrap}header>button:not(.primary):not(.donate-btn):hover,header .boards>.board-name:hover{background:var(--btn-h);color:var(--fg)}header>button.primary{height:36px;display:inline-flex;align-items:center;gap:6px;padding:0 14px 0 11px;border-radius:10px;white-space:nowrap}header .count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--btn-h);color:var(--muted);font-size:11.5px;font-weight:600;font-variant-numeric:tabular-nums}.search{position:relative;flex:1;display:flex;align-items:center;gap:8px;max-width:400px;margin-left:auto;margin-right:4px}.search>.ico{position:absolute;left:12px;top:50%;translate:0 -50%;color:var(--muted)}.search input{width:100%;height:38px;padding:0 40px 0 36px;border:1px solid var(--border);border-radius:12px;color:inherit;font-size:14px;outline:none;background:var(--surface);transition:border-color .15s,box-shadow .15s,background .15s}.search input::placeholder{color:var(--muted)}.search input:hover{border-color:var(--border-strong)}.search input:focus{border-color:var(--accent);background:var(--panel);box-shadow:0 0 0 4px var(--ring)}.search-key{position:absolute;right:10px;top:50%;translate:0 -50%;pointer-events:none}.search:focus-within .search-key,.search.has-q .search-key{display:none}.search small{position:absolute;right:12px;top:50%;translate:0 -50%;color:var(--muted);white-space:nowrap;font-size:12px;pointer-events:none}.online{font-size:13px;color:var(--soft);white-space:nowrap}.me-badge{position:fixed;left:12px;bottom:10px;margin:0;font-size:12px;color:var(--muted);z-index:100000;background:var(--header);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);padding:3px 10px;border-radius:999px;pointer-events:none}.me-badge b{color:var(--soft);font-weight:600}.empty{position:fixed;top:50%;left:50%;z-index:99990;translate:-50% -50%;width:min(360px,calc(100vw - 32px));margin:0;display:flex;flex-direction:column;align-items:center;gap:6px;padding:26px 24px 22px;text-align:center;color:var(--soft);background:var(--panel);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-lg);animation:rise .4s ease-out}.empty.loading-wall{flex-direction:row;justify-content:center;width:auto;padding:12px 18px;border-radius:999px;box-shadow:var(--shadow-md)}.empty-art{position:relative;width:74px;height:64px;margin-bottom:6px}.empty-art i{position:absolute;width:44px;height:44px;border-radius:3px;box-shadow:1px 3px 8px #3a2a1426}.empty-art i:nth-child(1){left:2px;top:10px;background:#a5d8ff;rotate:-12deg}.empty-art i:nth-child(2){right:2px;top:12px;background:#ffc9de;rotate:10deg}.empty-art i:nth-child(3){left:15px;top:2px;background:#ffe680;rotate:-2deg;display:grid;place-items:center;font-style:normal;font-size:20px}.empty h2{margin:0;font-size:18px;color:var(--fg)}.empty p{margin:0 0 8px;font-size:14px;line-height:1.5}.empty .primary{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 18px;border-radius:12px}.note{position:absolute;left:0;top:0;width:220px;min-height:160px;padding:14px 14px 10px;border-radius:4px;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;will-change:transform;box-shadow:0 1px 1px #3a2a140f,1px 3px 4px -1px #3a2a141a,2px 10px 18px -8px #3a2a1440;display:flex;flex-direction:column;gap:6px;rotate:var(--tilt, 0deg);background-image:linear-gradient(170deg,#ffffff40,#fff0 40%,#00000008);transition:transform .12s linear,transform-origin .12s linear,box-shadow .2s,opacity .2s,filter .2s,rotate .55s cubic-bezier(.3,1.8,.5,1),translate .2s;animation:slap .35s cubic-bezier(.3,1.5,.5,1)}.note:before{content:"";position:absolute;top:-10px;left:50%;width:76px;height:22px;translate:-50% 0;rotate:var(--tape-rot, 0deg);background:var(--tape, #ffe066cc);box-shadow:0 1px 2px #0002;pointer-events:none;mask:linear-gradient(90deg,transparent 0 3px,#000 3px calc(100% - 3px),transparent 0)}.note:after{content:"";position:absolute;right:0;bottom:0;width:22px;height:22px;pointer-events:none;background:linear-gradient(315deg,var(--bg) 45%,#0000001a 50%,#ffffff66 56%,transparent 70%);border-bottom-right-radius:4px}.note:hover{box-shadow:0 1px 1px #3a2a140f,2px 6px 10px -2px #3a2a1424,4px 20px 30px -10px #3a2a1452}.canvas.arranged .note{cursor:pointer;touch-action:pan-x pan-y;transition:transform .35s ease,transform-origin .35s ease,box-shadow .2s,opacity .2s,filter .2s,rotate .55s cubic-bezier(.3,1.8,.5,1),translate .2s}.note.dragging{cursor:grabbing;transition:box-shadow .2s,rotate .1s linear,scale .15s;box-shadow:2px 8px 12px -2px #3a2a1426,8px 30px 44px -12px #3a2a1466;rotate:var(--swing, 0deg);scale:1.03}@keyframes slap{0%{opacity:0;scale:1.25;translate:0 -30px}60%{opacity:1;scale:.97;translate:0 0}to{scale:1}}.note.crumple{pointer-events:none;animation:crumple .42s ease-in forwards}@keyframes crumple{40%{scale:.7 .5;border-radius:30%;filter:brightness(.9)}to{scale:.1;rotate:280deg;border-radius:50%;opacity:0;translate:0 60px}}.note.dim{opacity:.25;filter:grayscale(.6)}@keyframes pop{0%{opacity:0;scale:.85}}.note .title{font-size:15.5px;font-weight:700;line-height:1.3;letter-spacing:-.01em;padding-right:22px;word-break:break-word}.note .preview{margin:0;font-size:13.5px;line-height:1.5;color:#24211dc7;word-break:break-word;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.note .preview.muted{color:#24211d66;font-style:italic}.note,.sheet,.letter{--sheen: linear-gradient(170deg, #ffffff40, #ffffff00 40%, #00000008)}.sheet{background-attachment:local}.note.paper-lined,.letter.paper-lined,.sheet.paper-lined{background-image:var(--sheen),linear-gradient(90deg,transparent 8px,#e031314d 8px 9px,transparent 9px),repeating-linear-gradient(180deg,transparent 0 21px,#1c7ed630 21px 22px)}.sheet.paper-lined{background-image:var(--sheen),linear-gradient(90deg,transparent 10px,#e031314d 10px 11px,transparent 11px),repeating-linear-gradient(180deg,transparent 0 27px,#1c7ed630 27px 28px)}.note.paper-oly,.letter.paper-oly,.sheet.paper-oly{background-image:var(--sheen),linear-gradient(90deg,#7048e833 1px,transparent 1px),linear-gradient(180deg,#7048e842 1px,transparent 1px),linear-gradient(180deg,#7048e81c 1px,transparent 1px);background-size:auto,20px 20px,20px 20px,20px 5px}.note.paper-dot,.letter.paper-dot,.sheet.paper-dot{background-image:var(--sheen),radial-gradient(circle,#0000002e 1px,transparent 1.6px);background-size:auto,14px 14px}.note.font-hand .title,.letter.font-hand .title,.note.font-hand .preview,.letter.font-hand .preview,.sheet.font-hand .title-input,.sheet.font-hand .ProseMirror,.font-pick.font-hand{font-family:Patrick Hand,Comic Sans MS,system-ui,sans-serif}.note.font-neat .title,.letter.font-neat .title,.note.font-neat .preview,.letter.font-neat .preview,.sheet.font-neat .title-input,.sheet.font-neat .ProseMirror,.font-pick.font-neat{font-family:Dancing Script,Segoe Script,cursive}.note.font-hand .title,.letter.font-hand .title,.note.font-hand .preview,.letter.font-hand .preview,.sheet.font-hand .ProseMirror{color:#1f3fa6}.note.font-neat .title,.letter.font-neat .title,.note.font-neat .preview,.letter.font-neat .preview,.sheet.font-neat .ProseMirror{color:#5f3dc4}.note.font-hand .title,.letter.font-hand .title{font-size:19px;font-weight:400}.note.font-hand .preview,.letter.font-hand .preview{font-size:16px;line-height:1.3}.note.font-neat .title,.letter.font-neat .title{font-size:21px;font-weight:700}.note.font-neat .preview,.letter.font-neat .preview{font-size:17px;line-height:1.3}.sheet.font-hand .title-input{font-size:26px;font-weight:400}.sheet.font-hand .ProseMirror{font-size:22px;line-height:28px}.sheet.font-neat .title-input{font-size:28px}.sheet.font-neat .ProseMirror{font-size:23px;line-height:28px}.sheet.paper-lined .ProseMirror{line-height:28px}.toolbar .paper-pick,.toolbar .font-pick{font-weight:400;min-width:32px}.toolbar .font-pick.font-print{font-family:system-ui,sans-serif}.note .meta{position:relative}.stamp{position:relative;align-self:flex-end;margin:auto 4px 2px 0;z-index:1;padding:1px 7px;border:3px double currentColor;border-radius:6px;color:#e03131;font:800 11px/1.25 system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;rotate:-5deg;opacity:.72;pointer-events:none;mix-blend-mode:multiply;mask:repeating-linear-gradient(45deg,#000 0 3px,#000a 3px 4px)}.stamp-super{color:#c2255c;font-size:12px}.stamp-chat{color:#1971c2}.stamp.fresh{animation:stamp-in .5s cubic-bezier(.3,1.6,.5,1) both}@keyframes stamp-in{0%{scale:3;opacity:0}55%{scale:.92;opacity:.9}to{scale:1;opacity:.72}}.note .meta{display:flex;justify-content:space-between;align-items:center;margin-top:auto;font-size:12px;color:#0008}.note .stamp+.meta{margin-top:0}.avatars{display:flex;align-items:center;white-space:nowrap}.avatars span{margin-right:-3px}.avatars small{margin-left:6px}.note .corner{position:absolute;top:4px;right:4px;display:flex;gap:2px}.note .corner button{padding:0 6px;background:transparent;color:#0005;opacity:0;font-size:12px}.note:hover .corner button,.note .corner .flag.has{opacity:1}.note .corner .flag{filter:grayscale(1)}.note .corner .flag.mine{filter:none;background:#fff8}.note .corner button:hover{background:#0001;color:#c92a2a;filter:none}.trash-owner{font-size:11px;color:#0008;white-space:nowrap}.trash-hint{margin:-4px 0 8px;font-size:12px;color:var(--muted)}.flag-tag{display:block;font-size:11px;color:#c92a2a}.char-count{margin-left:auto;padding:3px 9px;border-radius:999px;background:#fff6;font-size:12px;color:#24211d99;align-self:center;font-variant-numeric:tabular-nums}.char-count.near{color:#e8590c;font-weight:600}.char-count.full{color:#c92a2a;font-weight:700}.reactions{position:relative;display:flex;flex-wrap:wrap;gap:3px;min-height:22px}.reactions button{display:inline-flex;align-items:center;height:24px;padding:0 7px;border-radius:999px;font-size:13px;background:#ffffff8c;box-shadow:inset 0 0 0 1px #00000012}.reactions button:hover{background:#ffffffd9}.reactions .react-add{color:#0009;background:#ffffff59;font-size:12px;opacity:.65;transition:opacity .15s,background .15s}.note:hover .react-add,.react-add:focus-visible,.react-add[aria-expanded=true]{opacity:1;background:#ffffffc4}.react-add-face{margin-left:1px;font-size:12px}.react-pop{position:absolute;left:-6px;bottom:calc(100% + 6px);z-index:3;display:flex;gap:2px;padding:5px;border-radius:999px;background:#fff;box-shadow:0 0 0 1px #0000000f,0 12px 28px -8px #3a2a1452,0 4px 10px -4px #3a2a1426;animation:pop .15s ease-out}.react-pop button{width:34px;height:34px;padding:0;display:grid;place-items:center;font-size:20px;background:transparent;border-radius:50%;box-shadow:none;transition:transform .12s cubic-bezier(.3,1.6,.5,1)}.react-pop button:hover{transform:scale(1.3) translateY(-2px);background:transparent}.react-pop button.mine{background:var(--accent-soft)}.reactions button.mine{background:#fff;box-shadow:inset 0 0 0 1.5px var(--accent);color:#1d4fb4}.reactions i{font-size:11.5px;font-weight:600;margin-left:3px;font-style:normal;font-variant-numeric:tabular-nums}.floater{position:absolute;right:20px;bottom:30px;font-size:28px;pointer-events:none;animation:up 1.2s ease-out forwards}@keyframes up{to{transform:translateY(-110px) scale(1.6);opacity:0}}.trash{position:fixed;top:64px;right:12px;z-index:100001;width:300px;max-height:calc(100vh - 90px);overflow:auto;overscroll-behavior:contain;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);padding:14px;box-shadow:var(--shadow-lg);animation:panel-in .2s cubic-bezier(.2,.9,.3,1.1);transform-origin:top right}@keyframes panel-in{0%{opacity:0;transform:translateY(-6px) scale(.97)}}@keyframes sheet-up{0%{opacity:0;transform:translateY(24px)}}.trash h3{display:flex;align-items:center;gap:6px;margin:0 0 10px;font-size:15px;font-weight:700;letter-spacing:-.01em}.trash-item{color:#24211d;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;margin-bottom:6px;font-size:14px;box-shadow:inset 0 0 0 1px #0000000d}.trash-item button{background:#ffffffa6;font-size:13px;font-weight:500;white-space:nowrap}.trash-item button:hover{background:#fff}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c160f73;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:200000;display:grid;place-items:center;animation:fade .15s ease-out}@keyframes fade{0%{opacity:0}}.sheet{position:relative;width:min(700px,94vw);max-height:90vh;overflow:auto;border-radius:6px;padding:18px 22px 16px;box-shadow:0 0 0 1px #0000000a,0 30px 70px -20px #1c160f80,0 10px 24px -10px #1c160f40;animation:rise .22s cubic-bezier(.2,.9,.3,1.1);transition:background .3s}@keyframes rise{0%{transform:translateY(16px) scale(.98);opacity:0}}.bar{display:flex;gap:6px;align-items:center;margin-bottom:6px;font-size:13px}.bar>button{width:36px;height:36px;padding:0;display:grid;place-items:center;flex-shrink:0;border-radius:10px;background:#ffffff73;color:#24211db3;box-shadow:inset 0 0 0 1px #0000000f}.bar>button:hover{background:#ffffffd9;color:#24211d}.bar>button.share-btn.done{width:auto;padding:0 10px;display:inline-flex;gap:4px;color:var(--ok)}.title-input{flex:1;min-width:0;font-size:22px;font-weight:700;letter-spacing:-.015em;border:0;background:transparent;outline:none;color:inherit;padding:4px 0}.title-input::placeholder{color:#24211d59}.viewers{display:flex;align-items:center;gap:2px;white-space:nowrap;margin-right:4px}.viewers span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#ffffffd9;border:2px solid;font-size:14px;margin-right:-7px;box-shadow:0 1px 2px #0000001a}.viewers small{margin-left:12px;color:#24211d99;font-size:12px}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:4px;margin:4px 0 2px;border-radius:12px;background:#ffffff59;box-shadow:inset 0 0 0 1px #0000000d}.toolbar button{min-width:32px;height:32px;padding:0 7px;display:inline-grid;place-items:center;font-weight:700;font-size:14px;background:transparent;color:#24211dcc;border-radius:8px}.toolbar button:hover{background:#ffffffb3;color:#24211d}.toolbar button.active{background:#24211d;color:#fff}.toolbar .t-i{font-style:italic;font-family:Georgia,Times New Roman,serif;font-size:15px}.toolbar .t-s{text-decoration:line-through}.toolbar .sep{width:1px;height:18px;background:#00000017;margin:0 4px}.toolbar .swatch{min-width:0;width:24px;height:24px;padding:0;margin:0 1px;border-radius:50%;border:2px solid #ffffffcc;box-shadow:0 0 0 1px #00000026}.toolbar .swatch:hover{transform:scale(1.12)}.toolbar .swatch.active{box-shadow:0 0 0 2px #24211d;background-clip:padding-box}.editor-wrap{position:relative}.loading{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;display:grid;place-content:center;grid-auto-flow:column;gap:8px;color:#0008;pointer-events:none}.editor .ProseMirror{min-height:260px;outline:none;padding:10px 2px;font-size:17px;line-height:1.65;word-break:break-word}.editor .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;height:0;color:#24211d59;pointer-events:none}.editor .ProseMirror p{margin:0 0 .4em}.editor .ProseMirror h3{margin:.6em 0 .3em}.editor .ProseMirror blockquote{margin:.4em 0;padding-left:12px;border-left:3px solid #0003;color:#000a}.editor .ProseMirror ul,.editor .ProseMirror ol{padding-left:24px;margin:.2em 0}.collaboration-cursor__caret{border-left:2px solid;margin:0 -1px;position:relative;word-break:normal}.collaboration-cursor__label{position:absolute;top:-1.6em;left:-1px;font-size:11px;color:#fff;padding:1px 6px;border-radius:4px 4px 4px 0;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none}.emoji-bar{display:flex;gap:4px;flex-wrap:wrap;align-items:center;margin-top:8px;padding-top:10px;border-top:1px dashed #0000001f}.emoji-bar button{width:38px;height:38px;padding:0;display:grid;place-items:center;font-size:20px;border-radius:10px;background:#fff6;box-shadow:inset 0 0 0 1px #0000000d;transition:transform .12s cubic-bezier(.3,1.6,.5,1),background .15s}.emoji-bar button:hover{transform:scale(1.12) translateY(-1px);background:#fffc}.emoji-bar .emoji-more{color:#24211d99}.picker{margin-top:8px;animation:pop .15s ease-out}.picker .EmojiPickerReact{--epr-emoji-size: 26px;border-radius:14px!important;box-shadow:0 0 0 1px #0000000f;font-family:var(--font)}.author{margin:12px 0 0;font-size:12px;color:#24211d8c;text-align:right}.spinner{display:inline-block;width:14px;height:14px;border:2px solid #0002;border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;vertical-align:-2px}@keyframes spin{to{transform:rotate(360deg)}}.bar button.active{background:#212529;color:#fff}.edit-area[hidden]{display:none}.history{display:flex;flex-direction:column;gap:8px;animation:pop .15s ease-out}.history-head{display:flex;align-items:center;gap:10px;padding-bottom:6px;border-bottom:1px solid #0001}.history-head small{margin-left:auto;color:#0008}.history-empty{color:#0009;font-size:14px;padding:24px 8px;text-align:center}.history-body{display:grid;grid-template-columns:230px 1fr;gap:12px;min-height:300px}.history-list{list-style:none;margin:0;padding:0;max-height:52vh;overflow:auto;display:flex;flex-direction:column;gap:4px}.history-list button{width:100%;text-align:left;display:flex;flex-direction:column;gap:2px;padding:8px;background:#fff6}.history-list button.active{background:#fff;outline:2px solid var(--accent)}.history-list .when{font-size:12px;font-weight:600}.history-list .who{font-size:12px;color:#0009}.history-list .tag{align-self:flex-start;font-size:11px;padding:1px 6px;border-radius:999px;background:#228be622;color:#1864ab}.history-list .snippet{font-size:12px;color:#000a;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.history-preview{display:flex;flex-direction:column;gap:8px;background:#fff8;border-radius:8px;padding:10px 12px;min-width:0}.history-preview h3{margin:0;font-size:17px}.history-preview .ProseMirror{flex:1;max-height:44vh;overflow:auto;font-size:15px;line-height:1.6;word-break:break-word}.history-preview .ProseMirror p{margin:0 0 .4em}.history-preview .primary{align-self:flex-end}.note.is-new{box-shadow:0 0 0 3px var(--accent),2px 8px 18px #0003}.new-badge{position:absolute;top:-9px;left:10px;padding:1px 8px;border-radius:999px;background:var(--accent-btn, #2f6ce5);color:#fff;font-size:11px;font-weight:700;animation:pop .3s ease-out}.replies{margin-top:14px;padding:12px;border-radius:14px;background:#ffffff59;box-shadow:inset 0 0 0 1px #0000000d;display:flex;flex-direction:column;gap:10px}.replies h4{margin:0;font-size:14px;font-weight:700}.replies h4 small{color:#24211d8c;font-weight:400}.reply-list{display:flex;flex-direction:column;gap:8px;max-height:260px;overflow:auto}.reply{display:flex;gap:8px;align-items:flex-start;animation:pop .2s ease-out}.reply-avatar{flex:none;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;border:2px solid;background:#fff9;font-size:14px}.reply-body{flex:1;min-width:0;background:#ffffffa6;border-radius:4px 14px 14px;padding:7px 12px 8px;box-shadow:0 1px 2px #0000000d}.reply.mine .reply-body{background:#fffffff2}.reply-head{display:flex;align-items:baseline;gap:8px;font-size:12px}.reply-head small{color:#0008}.reply-head button{margin-left:auto;padding:0 5px;background:transparent;color:#0005;font-size:11px;opacity:0}.reply:hover .reply-head button{opacity:1}.reply-body p{margin:2px 0 0;font-size:14px;line-height:1.45;white-space:pre-wrap;word-break:break-word}.reply-input{display:flex;gap:8px;align-items:flex-end}.reply-input textarea{flex:1;resize:none;field-sizing:content;min-height:42px;max-height:120px;padding:10px 12px;border:1px solid #0000001f;border-radius:12px;background:#ffffffd9;color:#24211d;font:inherit;font-size:14px;line-height:1.45;outline:none;transition:border-color .15s,box-shadow .15s,background .15s}.reply-input textarea::placeholder{color:#24211d80}.reply-input textarea:focus{border-color:var(--accent);background:#fff;box-shadow:0 0 0 4px var(--ring)}.reply-input .primary{height:42px;padding:0 16px;border-radius:12px}.reply-error{color:#c92a2a}.boards{position:relative;min-width:0}.board-name{font-size:16px;font-weight:700;padding:6px 10px;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:transparent}header .boards>.board-name{color:var(--fg);font-weight:700;font-size:15.5px;letter-spacing:-.01em;padding:0 8px 0 10px}header .boards>.board-name .ico.chev{color:var(--muted);transition:rotate .2s}header .boards>.board-name[aria-expanded=true]{background:var(--btn-h)}header .boards>.board-name[aria-expanded=true] .ico.chev{rotate:180deg}.menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1}.menu{position:absolute;top:calc(100% + 10px);left:0;z-index:2;width:330px;max-height:calc(100vh - 84px);overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:6px;padding:14px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);animation:panel-in .18s cubic-bezier(.2,.9,.3,1.1);transform-origin:top left}.menu small{color:var(--muted);font-size:12px;line-height:1.45}.menu label,.menu form{display:flex;flex-direction:column;gap:5px}.menu label>small{font-weight:600;color:var(--soft)}.menu input{height:38px;padding:0 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:inherit;font-size:14px;outline:none;transition:border-color .15s,box-shadow .15s,background .15s}.menu input:hover:not(:disabled){border-color:var(--border-strong)}.menu input:focus{border-color:var(--accent);background:var(--panel);box-shadow:0 0 0 4px var(--ring)}.menu input:disabled{opacity:.65}.menu>button:not(.primary){display:flex;align-items:center;gap:10px;width:100%;height:38px;padding:0 10px;text-align:left;background:transparent;font-weight:500;border-radius:10px}.menu>button:not(.primary):hover{background:var(--btn-h)}.menu .row{display:flex;gap:6px}.menu .row input{flex:1;min-width:0}.menu .row .primary{height:38px;padding:0 14px;border-radius:10px;white-space:nowrap}.menu .hint{margin:0;padding:8px 10px;border-radius:10px;background:var(--surface);font-size:13px;line-height:1.45;color:var(--soft)}.menu a{color:inherit;text-decoration:none;padding:8px 10px;border-radius:10px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu a:hover{background:var(--btn-h)}.menu .recent{display:flex;align-items:center;gap:2px}.menu .recent button{background:transparent;color:var(--muted);opacity:.6}.menu .recent:hover button{opacity:1}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%);z-index:300000;max-width:min(560px,calc(100vw - 24px));padding:11px 18px;background:#24211df2;color:#fff;border-radius:14px;font-size:14px;font-weight:500;line-height:1.4;text-align:center;box-shadow:0 16px 36px -10px #0009,0 0 0 1px #ffffff14 inset;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:toast-in .35s cubic-bezier(.2,1.2,.3,1)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,14px) scale(.96)}}[data-theme=dark] .toast{background:#f4f0e8f2;color:#24211d}.toolbar[hidden],.emoji-bar[hidden],.reply-input[hidden]{display:none}.readonly-note{margin:0 0 6px;padding:6px 10px;border-radius:8px;background:#e8590c22;color:#a33a00;font-size:13px}.status-bar{position:fixed;top:68px;left:50%;transform:translate(-50%);z-index:100001;max-width:calc(100vw - 24px);padding:9px 16px;border-radius:14px;background:#24211de6;color:#fff;font-size:13px;font-weight:500;text-align:center;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:pop .2s ease-out;pointer-events:none}.status-bar.full{background:#d9480fe6}.full-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:250000;display:grid;place-items:center;background:var(--bg);padding:20px;animation:fade .2s}.full-card{max-width:420px;text-align:center;background:var(--panel);border:1px solid var(--border);border-radius:20px;padding:30px 26px;box-shadow:var(--shadow-lg)}.full-card h2{margin:0 0 8px;font-size:20px}.full-card p{color:var(--soft);line-height:1.5;margin:0 0 16px}.full-card .full-emoji{font-size:44px;margin:0 0 8px}.full-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.full-actions button{padding:8px 14px}.doge{position:absolute;left:0;top:0;z-index:99999;width:60px;height:60px;pointer-events:none;will-change:transform}.doge-body{font-size:52px;line-height:1;cursor:pointer;pointer-events:auto;-webkit-user-select:none;user-select:none;transform-origin:50% 90%;filter:drop-shadow(0 4px 3px #0003);transition:filter .2s}.doge-body:hover{filter:drop-shadow(0 6px 6px #0004) brightness(1.05)}.doge-body.flip{scale:-1 1}.doge-body.walking{animation:doge-walk .36s ease-in-out infinite alternate}.doge-body.running{animation-duration:.16s}.doge-body.mood-jump{animation:doge-jump .5s ease-out 3}.doge-body.mood-shake{animation:doge-shake .12s linear 10}.doge-body.mood-droop{animation:doge-droop 1.6s ease-in-out infinite}.doge-body.mood-tilt{animation:doge-tilt 1.2s ease-in-out infinite}.doge-body.mood-spin{animation:doge-spin .9s ease-in-out 2}@keyframes doge-walk{0%{transform:translateY(0) rotate(-4deg)}to{transform:translateY(-6px) rotate(4deg)}}@keyframes doge-jump{0%,to{transform:translateY(0)}40%{transform:translateY(-26px) rotate(-8deg)}}@keyframes doge-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px) rotate(-3deg)}75%{transform:translate(4px) rotate(3deg)}}@keyframes doge-droop{0%,to{transform:translateY(0) scaleY(1)}50%{transform:translateY(4px) scaleY(.88) rotate(4deg)}}@keyframes doge-tilt{0%,to{transform:rotate(0)}30%{transform:rotate(-14deg)}70%{transform:rotate(10deg)}}@keyframes doge-spin{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.15)}to{transform:rotate(360deg) scale(1)}}.doge-emote{position:absolute;left:14px;top:-38px;font-size:32px;animation:doge-pop .35s cubic-bezier(.3,1.6,.5,1);pointer-events:none}@keyframes doge-pop{0%{transform:scale(0) translateY(20px);opacity:0}}.doge-word{position:absolute;white-space:nowrap;font-family:Comic Sans MS,Comic Neue,Chalkboard SE,cursive;font-size:17px;font-weight:700;text-shadow:0 0 3px #fff,0 0 6px #fff;pointer-events:none;animation:doge-word 5s ease-out forwards}@keyframes doge-word{0%{opacity:0;transform:translateY(8px) scale(.8)}10%,80%{opacity:1;transform:none}to{opacity:0;transform:translateY(-10px)}}.zoom-ctl{position:fixed;right:12px;bottom:12px;z-index:100000;display:flex;align-items:center;gap:2px;padding:4px;background:var(--header);-webkit-backdrop-filter:blur(12px) saturate(1.4);backdrop-filter:blur(12px) saturate(1.4);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-md)}.zoom-ctl button{min-width:34px;height:34px;padding:0 6px;display:inline-grid;place-items:center;font-size:16px;background:transparent;color:var(--soft);border-radius:10px}.zoom-ctl button:hover{background:var(--btn-h);color:var(--fg)}.zoom-ctl .pct{min-width:54px;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.zoom-ctl .zsep{width:1px;height:20px;margin:0 3px;background:var(--border)}.zoom-ctl button.off{opacity:.45;filter:grayscale(1)}.zoom-ctl button.active{background:var(--accent-soft);color:var(--accent)}.pulse{position:fixed;top:66px;left:12px;z-index:100000;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:3px 12px 3px 3px;border-radius:999px;background:var(--header);-webkit-backdrop-filter:blur(12px) saturate(1.4);backdrop-filter:blur(12px) saturate(1.4);border:1px solid var(--border);box-shadow:var(--shadow-sm);font-size:13px;color:var(--soft)}.pulse-live{display:inline-flex;align-items:center;gap:8px;padding:3px 8px 3px 9px;border-radius:999px;background:transparent;color:var(--fg);font-size:13px}.pulse-live:hover,.pulse-live[aria-expanded=true]{background:var(--btn)}.live-dot{position:relative;flex-shrink:0;width:9px;height:9px;border-radius:50%;background:#2fb344}.live-dot:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:#2fb344;animation:ping 1.8s cubic-bezier(0,0,.2,1) infinite}@keyframes ping{75%,to{transform:scale(2.8);opacity:0}}.pulse.paused .live-dot,.pulse.offline .live-dot{background:#adb5bd}.pulse.paused .live-dot:after,.pulse.offline .live-dot:after{display:none}.pulse.full .live-dot,.pulse.full .live-dot:after{background:#f59f00}.pulse .online{white-space:nowrap}.pulse .online .num{font-size:15px}.num{display:inline-block;font-variant-numeric:tabular-nums}.num.bump{animation:num-bump .55s cubic-bezier(.3,1.6,.5,1)}@keyframes num-bump{35%{transform:translateY(-3px) scale(1.3);color:#2fb344}}.caret{font-size:10px;color:var(--muted)}.pulse-faces{display:inline-flex;align-items:center}.pulse-faces .face{position:relative;display:grid;place-items:center;width:26px;height:26px;margin-left:-6px;border-radius:50%;border:2px solid;background:var(--panel);font-size:14px;animation:face-in .5s cubic-bezier(.3,1.6,.5,1)}.pulse-faces .face:first-child{margin-left:0}.pulse-faces .face:not(.more):after{content:"";position:absolute;right:-2px;bottom:-2px;width:8px;height:8px;border-radius:50%;background:#2fb344;box-shadow:0 0 0 2px var(--panel)}.pulse-faces .face.me{opacity:.75}.pulse-faces .face.more{border-color:var(--border);background:var(--btn-h);font-size:10.5px;font-weight:700;color:var(--soft)}@keyframes face-in{0%{transform:scale(0) translateY(6px)}60%{transform:scale(1.25)}to{transform:none}}.pulse-faces small{margin-left:4px;color:var(--muted)}.pulse-stats{display:inline-flex;gap:10px;color:var(--muted)}.activity{position:fixed;left:12px;bottom:36px;z-index:100000;display:flex;flex-direction:column;align-items:flex-start;gap:6px;max-width:min(360px,calc(100vw - 24px))}.activity-item{padding:7px 12px;border-radius:12px;background:var(--panel);border:1px solid var(--border);color:var(--fg);font-size:13px;text-align:left;box-shadow:var(--shadow-md);animation:feed-in .35s ease-out,feed-out .5s ease-in 6.5s forwards}.activity-item:hover{background:var(--panel);box-shadow:var(--shadow-lg)}@keyframes feed-in{0%{opacity:0;transform:translate(-16px)}}@keyframes feed-out{to{opacity:0;transform:translateY(6px)}}.viewing-badge{position:absolute;top:-10px;right:10px;display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:999px;background:#2f9e44;color:#fff;font-size:11px;font-weight:600;white-space:nowrap;animation:pop .3s ease-out}.viewing-badge.writing{background:#e8590c}.dots{display:inline-flex;font-weight:900;letter-spacing:1px}.dots i{width:auto;height:auto;background:none;border-radius:0;font-style:normal;animation:blink 1.2s infinite}.dots i:nth-child(2){animation-delay:.2s}.dots i:nth-child(3){animation-delay:.4s}.reply-typing{display:block;margin-top:6px;color:#e8590c;font-size:12px;font-weight:600}.cursor{position:absolute;left:0;top:0;z-index:99998;pointer-events:none;transform-origin:0 0;transition:transform .1s linear}.cursor svg{display:block;filter:drop-shadow(0 1px 2px #0004)}.cursor span{position:absolute;left:14px;top:16px;padding:1px 7px;border-radius:999px;color:#fff;font-size:11px;font-weight:600;white-space:nowrap;box-shadow:0 1px 3px #0003}.viewing-badge i{width:6px;height:6px;border-radius:50%;background:#fff;animation:blink 1.2s ease-in-out infinite}@keyframes blink{50%{opacity:.25}}.share-btn.done{color:#2f9e44;font-size:12px;font-weight:600;white-space:nowrap}.presence-panel{position:fixed;top:106px;left:12px;z-index:100004;width:340px;max-width:calc(100vw - 16px);max-height:70vh;overflow:auto;padding:14px;border-radius:var(--r-lg);background:var(--panel);border:1px solid var(--border);color:var(--fg);box-shadow:var(--shadow-lg);animation:panel-in .18s cubic-bezier(.2,.9,.3,1.1);transform-origin:top left}.presence-panel h4{display:flex;align-items:center;gap:8px;margin:2px 4px 10px;font-size:14px}.presence-panel ul{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}.presence-panel li{display:flex;align-items:center;gap:10px;padding:6px 4px;border-radius:10px;animation:face-in .4s ease-out}.presence-panel li:hover{background:var(--btn)}.presence-panel .face{position:relative;flex-shrink:0;display:grid;place-items:center;width:34px;height:34px;border:2px solid;border-radius:50%;background:var(--panel);font-size:18px}.presence-panel .face:after{content:"";position:absolute;right:-1px;bottom:-1px;width:9px;height:9px;border-radius:50%;background:#2fb344;box-shadow:0 0 0 2px var(--panel)}.presence-panel .who{display:flex;flex:1;flex-direction:column;min-width:0}.presence-panel .who b{font-size:13.5px}.presence-panel .doing{overflow:hidden;padding:0;background:transparent;color:var(--muted);font-size:12px;text-align:left;white-space:nowrap;text-overflow:ellipsis}.presence-panel button.doing:hover{color:var(--accent);text-decoration:underline}.wave-btn{flex-shrink:0;padding:4px 8px;background:var(--btn);font-size:16px;transform-origin:70% 80%}.wave-btn:hover{animation:hand-wave .7s ease-in-out}@keyframes hand-wave{20%{rotate:18deg}45%{rotate:-10deg}70%{rotate:14deg}}.presence-hint{margin:8px 4px 0;color:var(--muted);font-size:12px}.presence-stats{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;margin-top:10px;padding:10px 4px 2px;border-top:1px solid var(--border);color:var(--soft);font-size:12.5px}.settings-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100003}.settings-pop{position:fixed;right:12px;bottom:64px;z-index:100004;width:310px;max-width:calc(100vw - 16px);max-height:calc(100vh - 140px);overflow:auto;padding:8px;border-radius:var(--r-lg);background:var(--panel);border:1px solid var(--border);color:var(--fg);box-shadow:var(--shadow-lg);animation:panel-in .18s cubic-bezier(.2,.9,.3,1.1);transform-origin:bottom right}.settings-me{display:flex;align-items:center;gap:8px;margin:2px 2px 6px;padding:10px;border-radius:12px;background:var(--surface);font-size:13px;color:var(--muted)}.settings-me b{color:var(--fg);font-weight:600}.settings-item{display:flex;align-items:center;gap:12px;width:100%;padding:7px 8px;background:transparent;text-align:left;font-size:14px;font-weight:500;border-radius:10px}.settings-item:hover{background:var(--btn-h)}.settings-icon{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;border-radius:9px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--border);font-size:16px}.settings-label{flex:1}.switch{position:relative;flex-shrink:0;width:38px;height:22px;border-radius:999px;background:var(--border-strong);transition:background .2s}.switch:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:translate .2s cubic-bezier(.3,1.4,.5,1)}.switch.on{background:var(--accent-btn, #2f6ce5)}.switch.on:after{translate:16px 0}.settings-keys{margin:6px 6px 4px;padding-top:8px;border-top:1px solid var(--border);font-size:12px;color:var(--muted);line-height:1.9}kbd{display:inline-block;min-width:20px;padding:0 5px;border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:5px;background:var(--panel);font:600 11px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;text-align:center;color:var(--soft)}.mobile-only{display:none!important}.bottom-nav,.style-toggle{display:none}.style-group{display:contents}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input:focus-visible,textarea:focus-visible,.ProseMirror:focus-visible{outline:none}.welcome{position:fixed;left:50%;bottom:70px;z-index:100003;width:min(440px,calc(100vw - 20px));translate:-50% 0;rotate:-.6deg;padding:18px 20px 14px;border-radius:6px;background:#fff3a3;color:#212529;box-shadow:0 14px 40px #0004;animation:slap .45s cubic-bezier(.3,1.5,.5,1)}.welcome:before{content:"";position:absolute;top:-11px;left:50%;width:90px;height:24px;translate:-50% 0;rotate:3deg;background:#a5d8ffcc;box-shadow:0 1px 2px #0002}.welcome h3{margin:0 0 6px;font-size:18px}.welcome p{margin:0 0 8px;font-size:14px;line-height:1.5}.welcome-try{font-weight:600}.welcome-actions{display:flex;flex-wrap:wrap;gap:6px}.welcome-actions button:not(.primary){background:#fff9}.welcome-foot{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px}.welcome-foot small{flex:1 1 100%;color:#0009}.welcome-install{background:#fff9}.welcome-later{margin-left:auto;background:transparent;color:#0008}.welcome-close{position:absolute;top:6px;right:6px;background:transparent;color:#0006}.tpl-grid{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 6px}.tpl-grid .tpl{padding:4px 9px;border-radius:999px;font-size:13px;background:var(--btn)}.tpl-grid .tpl.active{background:var(--accent-btn, #2f6ce5);color:#fff}.tpl-desc{margin:0 0 6px}span.prompt-count{text-decoration:none;color:var(--muted)}.qr-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200000;display:grid;place-items:center;background:#0007;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade .2s ease-out}.qr-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;max-width:calc(100vw - 24px);padding:22px 24px 18px;border-radius:10px;background:#fff3a3;color:#212529;rotate:-1deg;box-shadow:0 16px 40px #0005;animation:slap .35s cubic-bezier(.3,1.5,.5,1)}.qr-card h3{margin:0;font-size:20px;text-align:center;overflow-wrap:anywhere}.qr-hint{margin:0 0 4px;color:#495057;font-size:14px}.qr-svg{display:block;border-radius:6px;box-shadow:0 2px 8px #0002}.qr-url{margin:4px 0 6px;color:#1971c2;font-size:13px;font-weight:600;overflow-wrap:anywhere;text-align:center}.qr-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.qr-actions button:not(.primary){background:#fff8}.qr-card.big{width:100vw;height:100vh;max-width:none;justify-content:center;border-radius:0;rotate:0deg;gap:14px}.qr-card.big h3{font-size:clamp(28px,5vw,56px)}.qr-card.big .qr-hint{font-size:clamp(18px,2.6vw,30px)}.qr-card.big .qr-url{font-size:clamp(18px,2.4vw,28px)}.qr-exit{position:absolute;top:14px;right:14px;background:#fff8}.letter-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200000;display:grid;place-items:center;background:#0007;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade .2s ease-out}.letter-stage{display:flex;flex-direction:column;align-items:center;gap:18px;padding:12px}.envelope{position:relative;width:320px;height:200px;margin-top:170px;perspective:900px;animation:env-drop .6s cubic-bezier(.3,1.4,.5,1)}@keyframes env-drop{0%{transform:translateY(-70vh) rotate(-10deg);opacity:0}}.env-back{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:6px;background:#cfa96b;box-shadow:0 16px 40px #0006}.letter{position:absolute;left:16px;right:16px;top:14px;height:172px;z-index:1;display:flex;flex-direction:column;gap:6px;padding:16px 18px;border-radius:4px;overflow:hidden;color:#212529;box-shadow:0 2px 10px #0003;transition:transform .75s cubic-bezier(.2,.9,.3,1.15),height .5s ease .25s}.letter .title{font-size:17px;word-break:break-word}.letter .preview{margin:0;font-size:14px;line-height:1.45;color:#000b;word-break:break-word;display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden}.letter-by{margin-top:auto;color:#0008;text-align:right}.env-front{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;border-radius:6px;background:linear-gradient(160deg,#e9cb95,#dcb878);clip-path:polygon(0 0,50% 52%,100% 0,100% 100%,0 100%)}.env-flap{position:absolute;left:0;right:0;top:0;height:118px;z-index:3;transform-origin:top;background:linear-gradient(180deg,#c49a5a,#b98d4d);clip-path:polygon(0 0,100% 0,50% 100%);transition:transform .55s ease-in-out,z-index 0s .27s}.env-seal{position:absolute;left:50%;top:74px;translate:-50% 0;font-size:28px;transition:opacity .2s}.envelope.open .env-flap,.envelope.out .env-flap{transform:rotateX(180deg);z-index:0}.envelope.open .env-seal,.envelope.out .env-seal{opacity:0}.envelope.out .letter{z-index:4;height:250px;transform:translateY(-200px) scale(1.1)}.letter-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;opacity:0;translate:0 10px;transition:opacity .3s,translate .3s;pointer-events:none}.letter-actions.show{opacity:1;translate:0 0;pointer-events:auto}.letter-actions button:not(.primary){background:var(--panel);color:var(--fg);padding:8px 14px}.letter-empty{max-width:340px;padding:24px;border-radius:14px;background:var(--panel);color:var(--fg);text-align:center;line-height:1.5}.letter-empty-icon{font-size:48px;margin:0}.mine-item{width:100%;text-align:left;flex-direction:column;align-items:flex-start;gap:2px}.mine-item:hover{filter:brightness(.97)}.mine-item small{color:#0009;font-size:12px}header button.has-news{position:relative}header button.has-news:after{content:"";position:absolute;top:2px;right:2px;width:9px;height:9px;border-radius:50%;background:#fa5252;box-shadow:0 0 0 2px var(--panel)}.news-card{position:fixed;right:12px;bottom:66px;z-index:100002;width:min(340px,calc(100vw - 24px));padding:12px 14px;border-radius:var(--r-lg);background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow-lg);font-size:13px;animation:rise .35s ease-out}.news-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.news-head button{background:transparent;color:var(--muted);padding:2px 6px}.news-item{display:block;width:100%;text-align:left;margin-top:4px;padding:8px 10px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--border);border-radius:10px;font-size:13px}.news-item:hover{background:var(--btn-h)}.news-card small{color:var(--muted)}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300001;pointer-events:none;overflow:hidden}.confetti span{position:absolute;top:-40px;animation:confetti-fall 2.4s ease-in forwards}@keyframes confetti-fall{to{transform:translateY(110vh) rotate(var(--spin));opacity:.6}}.badge-num{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;margin-left:4px;border-radius:999px;background:#fa5252;color:#fff;font-size:11px;font-weight:700;line-height:1;vertical-align:1px}.badge-num.soft{background:var(--accent-btn, #2f6ce5)}.bottom-nav .badge-num{position:absolute;top:0;left:calc(50% + 4px);margin:0;box-shadow:0 0 0 2px var(--panel)}.mine h3{display:flex;align-items:baseline;gap:6px}.mine-h{margin-top:14px!important;padding-top:10px;border-top:1px solid var(--border)}.mine-h small{color:var(--muted);font-weight:400}.inbox-item{display:flex;gap:8px;width:100%;text-align:left;padding:7px 8px;margin-bottom:4px;background:transparent;border-radius:8px}.inbox-item:hover{background:var(--btn)}.inbox-item.unread{background:var(--accent-soft)}[data-theme=dark] .inbox-item.unread{background:#1c3a52}.inbox-item.unread .inbox-body small:before{content:"● ";color:var(--accent)}.inbox-av{flex-shrink:0;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:2px solid;background:var(--panel);font-size:15px}.inbox-body{display:flex;flex-direction:column;gap:2px;min-width:0}.inbox-body small{color:var(--muted);font-size:12px;line-height:1.35}.inbox-body small b{color:var(--fg)}.inbox-text{font-size:13.5px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.inbox-more{width:100%;margin:2px 0 6px;font-size:13px}.inbox-waiting{display:block;width:100%;text-align:left;margin-top:8px;padding:8px 10px;background:#fff3bf;color:#5c3c00;font-size:13px;line-height:1.4}[data-theme=dark] .inbox-waiting{background:#3d3415;color:#ffe8a3}.push-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:6px 0 10px;padding:8px 10px;border-radius:10px;background:#e7f5ff;color:#1c3a52;font-size:13px;line-height:1.4}.push-line>span{flex:1 1 160px}.push-line.on{background:#ebfbee;color:#2b8a3e}.push-line .primary{padding:5px 10px;font-size:13px}.push-line button:not(.primary){background:#fff9}.push-line .push-x{background:transparent;color:#0007;padding:2px 6px}.push-line.muted{display:block;background:var(--btn);color:var(--soft)}.push-err{flex-basis:100%;color:#c92a2a}[data-theme=dark] .mine .push-line:not(.muted){background:#1c3a52;color:#d0ebff}[data-theme=dark] .mine .push-line.on{background:#1b3b26;color:#b2f2bb}.sheet .push-line{margin:8px 0 0;background:#fffa}.letter-nudge{flex-basis:100%;margin:0;text-align:center;font-size:13px;color:#fff;text-shadow:0 1px 3px #0008}.waiting-chip{white-space:nowrap}.waiting-chip.active{background:var(--accent-btn, #2f6ce5);color:#fff}.waiting-chip.active .badge-num{background:#fff;color:var(--accent-btn, #2f6ce5)}.waiting-bar{background:#fff3bf;color:#5c3c00}[data-theme=dark] .waiting-bar{background:#3d3415;color:#ffe8a3}.welcome-rules{color:#0008!important}.stats{width:340px}.stats-head{display:flex;justify-content:space-between;align-items:center}.stats-head button{background:transparent;color:var(--muted)}.stats h4{margin:12px 0 4px;font-size:13px;color:var(--soft)}.stat-row{display:flex;align-items:baseline;gap:10px;width:100%;padding:5px 2px;text-align:left;background:transparent}.stat-row b{min-width:64px;font-size:20px;font-variant-numeric:tabular-nums}.stat-row span{font-size:13px;line-height:1.35}.stat-row small{display:block;color:var(--muted);font-size:12px}.stat-link:hover{background:var(--btn)}.stats-note{margin-top:10px!important;line-height:1.45}.settings-rules{margin:6px 4px 2px;font-size:13px}.settings-rules summary{cursor:pointer;padding:6px 4px}.settings-rules ul{margin:2px 0 6px;padding-left:20px;color:var(--soft);line-height:1.45}.prompt-bar{position:fixed;top:66px;right:12px;z-index:100000;display:flex;align-items:center;gap:10px;flex-wrap:wrap;max-width:min(600px,calc(100vw - 460px));padding:5px 5px 5px 14px;border-radius:14px;background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow-md);font-size:13.5px;line-height:1.4;animation:rise .4s ease-out}.prompt-q{flex:1;min-width:180px}.prompt-q b{font-weight:700}.prompt-actions{display:flex;align-items:center;gap:4px}.prompt-bar .primary{height:32px;padding:0 12px;font-size:13px;border-radius:10px;white-space:nowrap}.prompt-count{background:transparent;color:var(--accent);font-size:12px;text-decoration:underline}.prompt-close{width:30px;height:30px;padding:0;display:grid;place-items:center;background:transparent;color:var(--muted);border-radius:9px}.prompt-close:hover{color:var(--fg)}[data-season=halloween]{--bg: #f7f0e8;--dot: #e3c7a5}[data-season=halloween][data-theme=dark]{--bg: #19141f;--dot: #3f2d4d}[data-season=noel]{--dot: #c9dbe8}[data-season=nhagiao]{--bg: #f5f2fc;--dot: #d6ccf2}[data-season=nhagiao][data-theme=dark]{--bg: #18161f;--dot: #3a3352}[data-season=tet]{--bg: #fdf3ef;--dot: #f1c7b8}[data-season=tet][data-theme=dark]{--bg: #1d1617;--dot: #4a2c2c}.season-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99990;pointer-events:none;overflow:hidden}.season-flyer{position:absolute;left:0;animation:season-fly 30s linear infinite both;opacity:.85}.season-flyer span{display:inline-block;animation:season-bob 1.6s ease-in-out infinite alternate}@keyframes season-fly{0%{transform:translate(-60px)}to{transform:translate(calc(100vw + 60px))}}@keyframes season-bob{to{transform:translateY(-18px) rotate(8deg)}}.season-sitter{position:absolute;bottom:4px;font-size:30px;opacity:.9;filter:drop-shadow(0 3px 3px #0003)}.doge-body{position:relative}.doge-hat{position:absolute;left:4px;top:-16px;width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:26px solid #2b2135;transform:rotate(-18deg);pointer-events:none}.doge-hat:after{content:"";position:absolute;left:-17px;top:22px;width:34px;height:7px;border-radius:50%;background:#2b2135}.doge-hat:before{content:"";position:absolute;left:-8px;top:16px;width:16px;height:4px;background:#f08c00;z-index:1}.doge-hat.noel{border-bottom-color:#e03131}.doge-hat.noel:after{background:#fff;height:8px;box-shadow:0 1px 2px #0003}.doge-hat.noel:before{left:-5px;top:-7px;width:10px;height:10px;border-radius:50%;background:#fff}.doge-hat.tet{display:none}.doge-hat.nhagiao{left:2px;top:-22px;width:auto;height:auto;border:0;font-size:26px;line-height:1;transform:rotate(-14deg)}.doge-hat.nhagiao:before,.doge-hat.nhagiao:after{display:none}[data-board-theme=hong]{--bg: #fff0f6;--dot: #fcc2d7}[data-board-theme=kem]{--bg: #fff9e6;--dot: #f5d98b}[data-board-theme=bacha]{--bg: #effbf1;--dot: #b2e5bc}[data-board-theme=troi]{--bg: #edf6ff;--dot: #b3d4f5}[data-board-theme=oaihuong]{--bg: #f5f2ff;--dot: #d4c8f7}[data-board-theme=hong][data-theme=dark]{--bg: #221419;--dot: #4d2a38}[data-board-theme=kem][data-theme=dark]{--bg: #1f1b12;--dot: #4a3f22}[data-board-theme=bacha][data-theme=dark]{--bg: #131d16;--dot: #2a4532}[data-board-theme=troi][data-theme=dark]{--bg: #121a24;--dot: #2a3d55}[data-board-theme=oaihuong][data-theme=dark]{--bg: #18151f;--dot: #3a3352}.host-box{display:flex;flex-direction:column;gap:6px;padding:8px 10px;border-radius:10px;background:#fff9db;color:#5c3c00}[data-theme=dark] .host-box{background:#3d3415;color:#ffe8a3}.host-box>small{font-weight:700}.host-box button{text-align:left;background:#fff9}[data-theme=dark] .host-box button{background:#0003}.theme-row{display:flex;gap:6px}.host-box .theme-dot{width:26px;height:26px;padding:0;border-radius:50%;box-shadow:inset 0 0 0 1px #0002}.host-box .theme-dot.active{box-shadow:0 0 0 2px var(--panel),0 0 0 4px var(--accent)}.host-opt{display:flex!important;flex-direction:row!important;align-items:center;gap:6px;font-size:13px;cursor:pointer}.host-opt input{width:auto!important;margin:0}.note.pending{outline:2px dashed #f08c00;outline-offset:2px}.pending-tag{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:-2px 0 0;font-size:12px;font-weight:600;color:#a35200}.pending-tag .approve{padding:2px 8px;font-size:12px;background:#2f9e44;color:#fff}.pending-tag .approve:hover{background:#2b8a3e}.note .corner .host-hide{filter:none}.pending-chip.active{background:#f08c00}.lock-bar{background:#f1f3f5;color:#495057}[data-theme=dark] .lock-bar{background:#2c2e33;color:#c1c2c5}.readonly-note.soft{background:#fff9;color:#495057}.slideshow{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400000;display:grid;grid-template-rows:auto 1fr auto;padding:3vh 4vw 2vh;background:radial-gradient(circle at 20% 10%,#ffffff12,transparent 50%),linear-gradient(160deg,#1b1f2a,#2b2238);color:#f8f9fa;overflow:hidden}[data-board-theme=hong] .slideshow{background:radial-gradient(circle at 20% 10%,#ffffff18,transparent 50%),linear-gradient(160deg,#3b1d2b,#5a2a40)}[data-board-theme=troi] .slideshow{background:radial-gradient(circle at 20% 10%,#ffffff18,transparent 50%),linear-gradient(160deg,#13253d,#1e3a5c)}[data-board-theme=kem] .slideshow{background:radial-gradient(circle at 20% 10%,#ffffff18,transparent 50%),linear-gradient(160deg,#3a2f14,#574520)}[data-board-theme=bacha] .slideshow{background:radial-gradient(circle at 20% 10%,#ffffff18,transparent 50%),linear-gradient(160deg,#15301f,#21492f)}[data-board-theme=oaihuong] .slideshow{background:radial-gradient(circle at 20% 10%,#ffffff18,transparent 50%),linear-gradient(160deg,#241d3a,#372b57)}.show-head{text-align:center}.show-head h1{margin:0;font-size:clamp(22px,4.2vh,48px)}.show-head p{margin:.6vh 0 0;font-size:clamp(14px,2.4vh,26px);opacity:.8}.show-stage{display:grid;place-items:center;min-height:0;padding:2vh 0}.show-card{position:relative;width:min(1000px,78vw);max-height:100%;overflow:hidden;padding:4vh 4vw;border-radius:6px;color:#212529;box-shadow:0 30px 80px #0007;rotate:-1deg;animation:show-in .7s cubic-bezier(.2,1.3,.4,1) both}.show-card:before{content:"";position:absolute;top:-14px;left:50%;width:140px;height:34px;translate:-50% 0;rotate:2deg;background:#ffe066cc}@keyframes show-in{0%{opacity:0;translate:0 6vh;rotate:3deg;scale:.94}}.show-card h2{margin:0 0 2vh;font-size:clamp(22px,5vh,56px);line-height:1.15}.show-body p{margin:0 0 1.2vh;line-height:1.35;white-space:pre-wrap;word-break:break-word}.show-card.size-l .show-body{font-size:clamp(22px,5.4vh,64px)}.show-card.size-m .show-body{font-size:clamp(20px,4vh,46px)}.show-card.size-s .show-body{font-size:clamp(18px,3vh,34px)}.show-card.size-xs .show-body{font-size:clamp(16px,2.3vh,26px)}.show-by{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1vh 2vw;margin:2.5vh 0 0;font-size:clamp(15px,2.6vh,30px);color:#0009}.show-reacts{letter-spacing:.05em}.show-empty{font-size:clamp(18px,3.4vh,36px);opacity:.85;text-align:center;max-width:70vw}.show-qr{position:absolute;right:2.5vw;bottom:3vh;display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px;border-radius:14px;background:#fff;color:#212529;font-size:clamp(12px,1.8vh,18px);font-weight:600;box-shadow:0 10px 30px #0005}.show-ctl{display:flex;align-items:center;gap:6px;opacity:.25;transition:opacity .3s}.show-ctl:hover,.show-ctl:focus-within{opacity:1}.show-ctl button{background:#ffffff1f;color:#fff;padding:6px 12px}.show-pos{font-variant-numeric:tabular-nums;margin-right:8px}.keepsake{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400000;overflow:auto;background:#e9ecef;color:#212529}.keepsake-bar{position:sticky;top:0;z-index:1;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 16px;background:#fffe;box-shadow:0 1px 8px #0002;font-size:14px}.keepsake-bar span{flex:1 1 260px}.keepsake-bar button:not(.primary){background:#0000000f}.keepsake-page{max-width:900px;margin:24px auto;padding:48px 48px 32px;background:#fff;box-shadow:0 6px 30px #0002}.keepsake-cover{text-align:center;padding:24px 0 32px;margin-bottom:24px;border-bottom:2px dashed #dee2e6}.keepsake-kicker{margin:0;letter-spacing:.3em;text-transform:uppercase;font-size:12px;color:#868e96}.keepsake-cover h1{margin:10px 0;font-size:38px;font-family:Dancing Script,cursive;font-weight:700}.keepsake-prompt{margin:0 0 8px;font-size:16px;color:#495057}.keepsake-meta{margin:0;font-size:13px;color:#868e96}.keepsake-empty{text-align:center;color:#868e96}.keepsake-grid{columns:2 300px;column-gap:18px}.keepsake-note{break-inside:avoid;margin:0 0 18px;padding:14px 16px;border-radius:4px;box-shadow:0 1px 4px #0002;-webkit-print-color-adjust:exact;print-color-adjust:exact}.keepsake-note h3{margin:0 0 6px;font-size:16px}.keepsake-body{font-size:14px;line-height:1.5;word-break:break-word}.keepsake-body p{margin:0 0 6px}.keepsake-body ul,.keepsake-body ol{margin:0 0 6px;padding-left:20px}.keepsake-by{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 10px;margin:8px 0 0;font-size:12.5px;color:#000a}.keepsake-reacts{letter-spacing:.03em}.keepsake-replies{margin:8px 0 0;padding:8px 0 0;list-style:none;border-top:1px dashed #0002;font-size:12.5px;line-height:1.45}.keepsake-replies li{margin-bottom:3px}.keepsake-foot{margin-top:24px;text-align:center;font-size:12px;color:#adb5bd}@media print{@page{margin:12mm}html.printing-keepsake body{overflow:visible!important;background:#fff!important}html.printing-keepsake #root{display:none!important}html.printing-keepsake .keepsake{position:static;overflow:visible;background:#fff}.keepsake-bar{display:none!important}.keepsake-page{margin:0;padding:0;max-width:none;box-shadow:none}}body:has(.landing),body:has(.admin){overflow:auto}.landing{max-width:920px;margin:0 auto;padding:32px 16px 48px;line-height:1.55}.landing-hero{padding:28px 28px 24px;border-radius:6px;background:#fff9db;color:#212529;box-shadow:1px 6px 18px #0002;rotate:-.4deg}.landing-kicker{margin:0 0 6px;font-size:13px;color:#a35200;font-weight:600}.landing-hero h1{margin:0 0 10px;font-size:clamp(26px,4.5vw,40px);line-height:1.2}.landing-lead{margin:0 0 18px;font-size:16px;color:#343a40}.landing-season{display:inline-block;margin:0 0 10px;padding:6px 12px;border-radius:999px;background:#f3d9fa;color:#5f3dc4;font-size:14px;font-weight:600}.landing-contact a{color:var(--accent)}.landing-form{display:flex;flex-direction:column;gap:10px}.landing-kinds{display:flex;flex-wrap:wrap;gap:6px}.landing-kinds button{background:#fff;box-shadow:inset 0 0 0 1px #0001;padding:6px 10px}.landing-kinds button.active{background:var(--accent-btn, #2f6ce5);color:#fff}.landing-row{display:flex;flex-wrap:wrap;gap:8px}.landing-row input{flex:1 1 240px;min-width:0;padding:10px 12px;border:1px solid #dee2e6;border-radius:10px;font-size:15px;background:#fff;color:#212529}.landing-form small{color:#495057}.landing-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:28px 0}.landing-steps div{padding:16px;border-radius:12px;background:var(--panel);box-shadow:0 2px 10px #0001}.landing-steps b{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--accent-btn, #2f6ce5);color:#fff}.landing-steps h3{margin:8px 0 4px}.landing-steps p{margin:0;color:var(--soft);font-size:14px}.landing-features,.landing-contact{padding:18px 20px;border-radius:12px;background:var(--panel);box-shadow:0 2px 10px #0001;margin-bottom:16px}.landing-features h2,.landing-contact h2{margin:0 0 8px;font-size:20px}.landing-features ul{margin:0;padding-left:4px;list-style:none}.landing-features li{margin:6px 0}.landing-note{margin:12px 0 0;font-size:13px;color:var(--muted)}.landing-foot{text-align:center;margin-top:20px}.landing-foot a{color:var(--accent)}@media (max-width: 640px){.show-qr{right:3vw;bottom:8vh;padding:6px}.show-card{width:92vw;padding:3vh 5vw}.keepsake-page{margin:0;padding:24px 16px}.landing-hero{padding:20px 16px;rotate:0deg}}.upgrade-overlay{z-index:400001}.upgrade{position:relative;width:min(760px,calc(100vw - 24px));max-height:calc(100vh - 32px);overflow:auto;padding:22px 22px 18px;border-radius:14px;background:var(--panel);color:var(--fg);box-shadow:0 20px 60px #0005;animation:pop .2s ease-out}.upgrade h3{margin:0 0 4px;font-size:20px}.upgrade-x{position:absolute;top:10px;right:10px;background:transparent;color:var(--muted)}.upgrade-sub{margin:0 0 14px;color:var(--soft);font-size:14px}.plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.plan-card{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:12px;border:1px solid var(--border);background:var(--bg)}.plan-card.best{border-color:#f08c00;box-shadow:0 0 0 2px #f08c0033}.plan-card.current{border-color:#2f9e44}.plan-card b{font-size:16px}.plan-price{font-size:24px;font-weight:800}.plan-card ul{flex:1;margin:0;padding-left:18px;font-size:13px;line-height:1.45;color:var(--soft)}.plan-card .primary{width:100%}.plan-cur{color:#2f9e44;font-weight:600;text-align:center}.upgrade-err{margin:10px 0 0;color:#c92a2a;font-size:14px}.upgrade-note{margin:12px 0 0;font-size:12.5px;color:var(--muted)}.pay-box{display:flex;flex-wrap:wrap;gap:16px;align-items:center}.pay-qr{width:240px;height:240px;border-radius:10px;background:#fff;box-shadow:0 2px 10px #0002}.pay-info{flex:1 1 220px;display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:0;font-size:14px;align-items:center}.pay-info dt{color:var(--muted)}.pay-info dd{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px;word-break:break-all}.pay-info dd button{padding:2px 8px;font-size:12px}.pay-code{font-family:ui-monospace,Consolas,monospace;font-size:16px;letter-spacing:.06em;color:#e8590c}.pay-wait{display:flex;align-items:center;gap:8px;margin:14px 0 0;padding:10px 12px;border-radius:10px;background:#e7f5ff;color:#1c3a52;font-size:14px}.pay-wait.short{display:block;background:#fff4e6;color:#a35200}[data-theme=dark] .pay-wait{background:#1c3a52;color:#d0ebff}.upgrade-done{text-align:center;padding:10px 0}.prepay{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.prepay small{color:var(--soft)}.src-ask{margin:14px 0 0;padding:10px 12px;border-radius:10px;border:1px dashed var(--border);font-size:13.5px}.src-ask p{margin:0 0 8px;color:var(--soft)}.src-ask .src-chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.src-ask .src-chips button{padding:4px 10px;font-size:13px}.src-ask .src-chips button.on{background:var(--accent-btn, #2f6ce5);color:#fff}.upgrade-done .src-ask{text-align:center}.upgrade-big{font-size:56px;margin:0}.upgrade-btn{background:#fff4e6!important;color:#a35200;font-weight:600}[data-theme=dark] .upgrade-btn{background:#3d2a12!important;color:#ffc078}.plan-badge{color:#e8590c!important;font-weight:600}.show-brand{font-size:11px;font-weight:400;color:#868e96}.landing-prices .plan-card{background:var(--bg)}.compare{display:flex;flex-direction:column;gap:12px}.compare-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px;table-layout:fixed}.compare-table th,.compare-table td{padding:7px 8px;border-bottom:1px solid var(--border);text-align:center;vertical-align:middle}.compare-table tbody th{width:42%;text-align:left;font-weight:400;color:var(--soft);line-height:1.35}.compare-table thead th{border-bottom:2px solid var(--border);vertical-align:bottom;padding-top:18px;position:relative}.compare-table thead th:first-child{border-bottom-color:transparent}.tier-name{display:block;font-size:14px}.tier-price{display:block;font-size:20px;font-weight:800;color:var(--fg)}.tier small{display:block;font-weight:400;font-size:11px;color:var(--muted)}.compare-table tr.diff th{color:var(--fg);font-weight:600}.compare-table tr.all td .yes{opacity:.55}.compare-table .yes{color:#2f9e44;font-weight:800;font-size:16px}.compare-table .no{color:var(--muted)}.compare-table .is-current{background:#ebfbee}.compare-table .is-rec{background:#fff4e6}[data-theme=dark] .compare-table .is-current{background:#1b3b26}[data-theme=dark] .compare-table .is-rec{background:#3d2a12}.rec-tag{position:absolute;top:0;left:50%;translate:-50% -50%;padding:1px 8px;border-radius:999px;background:#f08c00;color:#fff;font-size:11px;font-weight:700;white-space:nowrap}.compare-table tr.actions td,.compare-table tr.actions th{border-bottom:0;padding-top:10px}.compare-table tr.actions .primary{width:100%;padding:7px 4px;font-size:13px}.compare-table .cur{font-size:12px;font-weight:700;color:#2f9e44}.compare-table .cur.dim{color:var(--muted);font-weight:400}.compare-when{padding:10px 12px;border-radius:10px;background:var(--btn);font-size:13px;line-height:1.45}.compare-when ul{margin:6px 0;padding:0;list-style:none}.compare-when li{margin:5px 0}.compare-when li.is-rec{font-weight:600}.compare-when small{color:var(--muted)}.when-tag{display:inline-block;margin-right:4px;padding:0 7px;border-radius:6px;font-size:12px;font-weight:700;white-space:nowrap}.tag-free{background:#d3f9d8;color:#2b8a3e}.tag-nho{background:#e7f5ff;color:#1971c2}.tag-lon{background:#fff4e6;color:#d9480f}.advice{margin:4px 0 14px;padding:10px 12px;border-radius:10px;font-size:14px;line-height:1.45;background:#ebfbee;color:#2b8a3e}.advice.tier-lon{background:#fff4e6;color:#a35200}[data-theme=dark] .advice{background:#1b3b26;color:#b2f2bb}[data-theme=dark] .advice.tier-lon{background:#3d2a12;color:#ffc078}.plan-status{display:flex;flex-direction:column;gap:6px;padding:9px 10px;border-radius:10px;background:var(--bg);border:1px solid var(--border)}.plan-status-head{display:flex;justify-content:space-between;align-items:baseline}.plan-status-head small{font-variant-numeric:tabular-nums}.plan-meter{height:6px;border-radius:999px;background:var(--btn-h);overflow:hidden}.plan-meter i{display:block;height:100%;border-radius:inherit;background:#40c057;transition:width .3s}.plan-meter.near i{background:#fd7e14}.plan-meter.full i{background:#fa5252}.plan-tip{color:var(--soft)!important;line-height:1.4}.plan-status button{text-align:left}.cap-bar{background:#fff4e6;color:#a35200}[data-theme=dark] .cap-bar{background:#3d2a12;color:#ffc078}.brand-note{display:block;color:#868e96}.brand-btn{background:#fff4e6!important;color:#a35200;font-weight:600}.landing-free{color:#2b8a3e!important;font-weight:600}.landing-free a{color:var(--accent-ink)}.landing-note.top{margin:0 0 12px;font-size:14px;color:var(--soft)}@media (max-width: 640px){.compare-table{font-size:12.5px}.compare-table th,.compare-table td{padding:6px 4px}.compare-table tbody th{width:38%}.tier-price{font-size:15px}.tier-name{font-size:12.5px}.tier small{display:none}}.rule-line,.pricing-rule{margin:0 0 10px;padding:8px 12px;border-radius:10px;background:#fff9db;color:#5c3c00;font-weight:600;font-size:14px;line-height:1.45}[data-theme=dark] .rule-line,[data-theme=dark] .pricing-rule{background:#3d3415;color:#ffe8a3}.quiz{display:flex;flex-direction:column;gap:10px;margin:4px 0 12px}.quiz-q{font-size:15px}.bands{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.band{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px;text-align:left;border-radius:12px;background:var(--bg);border:2px solid var(--border);color:var(--fg);transition:border-color .15s,background .15s,transform .1s}.band:hover{border-color:var(--accent);background:var(--bg)}.band.on{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 4px var(--ring)}[data-theme=dark] .band.on{background:#1c3a52}.band-label{font-weight:700;font-size:14px}.band-price{font-size:20px;font-weight:800}.band.tier-free .band-price{color:#2b8a3e}.band.tier-nho .band-price{color:#1971c2}.band.tier-lon .band-price{color:#d9480f}.band small{color:var(--muted);font-size:12px;line-height:1.35}.band-owned{position:absolute;top:6px;right:8px;font-style:normal;font-size:11px;font-weight:700;color:#2f9e44}.quiz-result{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:12px 14px;border-radius:12px;font-size:14px;line-height:1.45}.quiz-result p{flex:1 1 260px;margin:0}.quiz-result.ok{background:#ebfbee;color:#1b4d2b}.quiz-result.pay{background:#e7f5ff;color:#1c3a52}[data-theme=dark] .quiz-result.ok{background:#1b3b26;color:#d3f9d8}[data-theme=dark] .quiz-result.pay{background:#1c3a52;color:#d0ebff}.quiz-result .primary{padding:9px 16px}.quiz-result small{flex-basis:100%;color:inherit;opacity:.85}.link-btn{padding:0;background:none!important;color:var(--accent-ink);text-decoration:underline;font-size:inherit}.compare-more{margin:4px 0 10px}.compare-more summary{cursor:pointer;padding:6px 0;color:var(--accent-ink);font-size:14px}.compare-foot{color:var(--muted);font-size:12px}.faq{display:flex;flex-direction:column;gap:2px;font-size:14px}.faq>b{margin-bottom:4px;font-size:15px}.faq details{border-bottom:1px solid var(--border)}.faq summary{cursor:pointer;padding:8px 2px;font-weight:600}.faq details p{margin:0 0 10px;padding:0 2px;color:var(--soft);line-height:1.5}.plan-rule{color:#a35200!important;font-weight:600;line-height:1.4}[data-theme=dark] .plan-rule{color:#ffc078!important}.plan-pill{flex-shrink:0;margin-left:6px;padding:3px 9px;border-radius:999px;font-size:12.5px;white-space:nowrap;background:#ebfbee;color:#2b8a3e}.plan-pill:hover{filter:brightness(.96);background:#ebfbee}.plan-pill.tier-nho,.plan-pill.tier-lon{background:#fff4e6;color:#a35200}.plan-pill.near{background:#fff4e6;color:#d9480f}.plan-pill.full{background:#ffe3e3;color:#c92a2a;animation:pill-pulse 1.6s ease-in-out infinite}@keyframes pill-pulse{50%{box-shadow:0 0 0 4px #fa525233}}[data-theme=dark] .plan-pill{background:#1b3b26;color:#b2f2bb}[data-theme=dark] .plan-pill.near,[data-theme=dark] .plan-pill.tier-nho,[data-theme=dark] .plan-pill.tier-lon{background:#3d2a12;color:#ffc078}[data-theme=dark] .plan-pill.full{background:#4a1d1d;color:#ffa8a8}.pricing .pricing-hero{padding:26px 26px 18px;border-radius:6px;background:#fff9db;color:#212529;box-shadow:1px 6px 18px #0002;margin-bottom:18px}.pricing .pricing-hero h1{margin:0 0 12px;font-size:clamp(26px,4.5vw,38px);line-height:1.2}.pricing .pricing-rule{background:#fff;color:#5c3c00;font-size:15px}.pricing-facts{margin:12px 0 0;padding:0;list-style:none;font-size:15px;line-height:1.55}.pricing-facts li{margin:4px 0}.landing-note.center{text-align:center}@media (max-width: 640px){.bands{grid-template-columns:1fr}.band{flex-direction:row;flex-wrap:wrap;align-items:baseline;column-gap:10px;padding:10px 12px}.band small{flex-basis:100%}.band-price{font-size:17px;margin-left:auto}.band-owned{position:static;flex-basis:100%}.plan-pill{padding:3px 7px}}@media (max-width: 640px){header{gap:4px;height:54px;padding:0 8px 0 6px}header h1 span,.label,header .count{display:none}header button{flex-shrink:0;white-space:nowrap}header>button:not(.primary):not(.donate-btn){height:38px;padding:0 9px}.search{min-width:0}.hide-mobile,.zoom-ctl,.me-badge,.desktop-only{display:none!important}.mobile-only{display:flex!important}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:100002;display:grid;grid-template-columns:repeat(5,1fr);align-items:end;padding:6px 6px calc(6px + env(safe-area-inset-bottom));background:var(--header);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);box-shadow:0 -1px 0 var(--border),0 -10px 24px -16px #3a2a1440}.bottom-nav button{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px 0 2px;border-radius:12px;background:transparent;color:var(--muted)}.bottom-nav button:active{transform:scale(.92)}.bottom-nav button>span{display:grid;place-items:center;height:26px;line-height:1}.bottom-nav button small{font-size:11px;font-weight:600}.bottom-nav button.on{color:var(--accent)}.bottom-nav .nav-create>span{width:52px;height:52px;margin-top:-26px;border-radius:18px;rotate:-4deg;background:linear-gradient(160deg,#4f86ef,var(--accent-btn, #2f6ce5));color:#fff;box-shadow:0 10px 22px -6px #2f6ce599,0 0 0 4px var(--bg),inset 0 1px #ffffff40;transition:rotate .3s cubic-bezier(.3,1.8,.5,1)}.bottom-nav .nav-create:active>span{rotate:6deg}.bottom-nav .nav-create small{color:var(--accent);font-weight:700}.bottom-nav .has-news:after{content:"";position:absolute;top:2px;right:calc(50% - 16px);width:9px;height:9px;border-radius:50%;background:#fa5252;box-shadow:0 0 0 2px var(--panel)}.settings-pop{left:8px;right:8px;bottom:calc(78px + env(safe-area-inset-bottom));width:auto;max-height:calc(100dvh - 160px);border-radius:20px;animation-name:sheet-up}.settings-item{padding:9px 8px}.trash{top:auto;bottom:calc(78px + env(safe-area-inset-bottom));left:8px;right:8px;width:auto;max-height:64dvh;border-radius:20px;animation-name:sheet-up}.toast{bottom:calc(88px + env(safe-area-inset-bottom));max-width:calc(100vw - 24px)}.welcome{bottom:calc(86px + env(safe-area-inset-bottom))}.news-card{bottom:calc(84px + env(safe-area-inset-bottom))}.prompt-bar{flex-wrap:nowrap;gap:6px;padding:4px 4px 4px 10px;border-radius:12px}.prompt-q{min-width:0;font-size:12.5px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.prompt-q b,.prompt-count{display:none}.prompt-bar .primary{padding:6px 10px;white-space:nowrap}.style-toggle{display:inline-flex}.viewers small{display:none}.doge-body{font-size:36px}.doge-word{font-size:13px}.doge-emote{font-size:24px;top:-28px}.style-group{display:none}.style-group.open{display:flex;flex-wrap:wrap;align-items:center;gap:4px;flex-basis:100%;padding-top:4px}.style-group.open .sep:first-child{display:none}.emoji-bar{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-14px;padding-inline:14px;mask:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 24px),transparent)}.emoji-bar button,.emoji-bar .char-count{flex-shrink:0}.pulse{top:60px;left:8px;max-width:calc(100vw - 16px)}.pulse .long{display:none}.pulse{gap:6px;padding-right:10px}.pulse-stats{gap:8px;font-size:12px}.pulse{flex-wrap:nowrap}.pulse-stats{min-width:0;overflow:hidden;white-space:nowrap}.pulse .donate-pill,.pulse .plan-pill{margin-left:auto}.presence-panel{top:100px;left:8px;right:8px;width:auto;max-height:calc(100vh - 190px)}.activity{bottom:82px}.season-sitter{display:none}.prompt-bar{top:102px;left:8px;right:8px;max-width:none}.search small{display:none}.note .corner button{opacity:1}.overlay{place-items:stretch}.sheet{width:100vw;max-height:none;height:100dvh;border-radius:0;padding:calc(10px + env(safe-area-inset-top)) 14px 14px}.title-input{font-size:20px}.bar>button{width:38px;height:38px}.toolbar button{min-width:34px;height:34px}.empty{top:46%}.editor .ProseMirror{min-height:40vh}.history-body{grid-template-columns:1fr}.history-list{max-height:30vh}}@media (prefers-reduced-motion: reduce){.doge,.season-flyer{display:none}*{animation:none!important;transition:none!important}}.menu small a{padding:0;color:var(--accent);text-decoration:underline}.overlay.upgrade-overlay{place-items:center}.donate-pill{flex-shrink:0;margin-left:6px;padding:3px 10px;border-radius:999px;font-size:12.5px;white-space:nowrap;background:#fff4e6;color:#a35200;font-weight:600}.donate-pill:hover{background:#ffe8cc}[data-theme=dark] .donate-pill{background:#3d2a12;color:#ffc078}.donate{width:min(520px,calc(100vw - 24px));--cafe-ink: #5c3b1e;--cafe-line: #e9dcc3;--cafe-paper: #fffaf0;background:repeating-linear-gradient(180deg,transparent 0 27px,var(--cafe-line) 27px 28px),var(--cafe-paper);color:#3b2a1a}[data-theme=dark] .donate{--cafe-ink: #ffd8a8;--cafe-line: #3a2f22;--cafe-paper: #241c14;color:#f1e3cf}.donate h3{font-family:Patrick Hand,Comic Sans MS,system-ui,sans-serif;font-weight:400;color:var(--cafe-ink)}.cafe-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}.cafe-head h3{margin:0;font-size:28px;line-height:1.1}.cafe-head small{color:var(--muted);font-size:13px}.cafe-cup{position:relative;font-size:40px;line-height:1}.cafe-cup i{position:absolute;bottom:70%;width:4px;height:14px;border-radius:4px;background:#adb5bd88;animation:steam 2.4s ease-in-out infinite}.cafe-cup i:nth-child(1){left:12px}.cafe-cup i:nth-child(2){left:19px;animation-delay:.6s}.cafe-cup i:nth-child(3){left:26px;animation-delay:1.2s}@keyframes steam{0%{opacity:0;transform:translateY(6px) scaleY(.6)}40%{opacity:.9}to{opacity:0;transform:translateY(-14px) scaleY(1.2) skew(10deg)}}.cafe-quote{position:relative;margin:0 0 10px;padding:12px 14px 10px;border-radius:4px;background:#fff3bf;color:#4a3b00;rotate:-.8deg;box-shadow:1px 3px 8px #0002;animation:pop .25s ease-out}[data-theme=dark] .cafe-quote{background:#3b3410;color:#ffec99}.cafe-quote blockquote{margin:0;font-family:Patrick Hand,Comic Sans MS,system-ui,sans-serif;font-size:20px;line-height:1.3}.cafe-quote figcaption{margin-top:4px;font-size:12.5px;font-style:italic;opacity:.75;padding-right:80px}.cafe-more{position:absolute;right:8px;bottom:6px;padding:2px 8px;font-size:12px;background:#fff9;color:inherit}.cafe-why{margin:0 0 10px;font-size:13.5px;color:var(--soft)}.cafe-menu{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.cafe-item{position:relative;display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;text-align:left;border-radius:10px;background:transparent;color:inherit;border:2px dashed transparent;transition:background .15s,border-color .15s}.cafe-item:hover{background:#f08c0012}.cafe-item.on{border-color:#f08c00;background:#fff4e6cc}[data-theme=dark] .cafe-item.on{background:#3d2a12cc}.cafe-icon{font-size:26px;flex-shrink:0;transition:transform .2s}.cafe-item.on .cafe-icon{transform:rotate(-10deg) scale(1.15)}.cafe-name{display:flex;flex-direction:column;min-width:0;flex:0 1 auto}.cafe-name b{font-family:Patrick Hand,Comic Sans MS,system-ui,sans-serif;font-weight:400;font-size:19px;color:var(--cafe-ink);line-height:1.15}.cafe-name small{font-size:12.5px;color:var(--soft);line-height:1.3}.cafe-dots{flex:1 1 12px;min-width:12px;align-self:center;border-bottom:2px dotted #c9b48a;margin-top:8px}.cafe-price{flex-shrink:0;font-weight:800;font-size:15px;color:var(--cafe-ink)}.cafe-stamp{position:absolute;right:8px;top:-8px;padding:0 6px;border:2px solid #e03131;border-radius:4px;color:#e03131;background:var(--cafe-paper);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;rotate:8deg;animation:stamp .25s ease-out}@keyframes stamp{0%{transform:scale(1.8);opacity:0}to{transform:scale(1);opacity:1}}.cafe-bounce{animation:cafe-bounce 1s ease-in-out infinite alternate;display:inline-block}@keyframes cafe-bounce{0%{transform:translateY(0) rotate(-6deg)}to{transform:translateY(-8px) rotate(6deg)}}@media (max-width: 640px){.cafe-name small{font-size:12px}.cafe-dots{display:none}.cafe-quote blockquote{font-size:18px}}@media (prefers-reduced-motion: reduce){.cafe-cup i,.cafe-bounce,.cafe-stamp,.cafe-quote{animation:none}}.donate-custom{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:14px;color:var(--soft)}.donate-custom input{flex:1;min-width:0;padding:9px 12px;border:1px solid var(--border);border-radius:10px;font-size:15px;background:var(--bg);color:var(--fg);outline:none}.donate-custom input:focus{border-color:#f08c00}.donate-go{width:100%;padding:11px;font-size:15px;background:#f08c00}.donate-go:hover{background:#e8590c}.donate-box{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}.donate-box span{flex:1 1 220px;color:var(--soft);font-size:14px}.donate-box button{background:#fff4e6;color:#a35200;font-weight:600;padding:8px 14px}@media (max-width: 640px){.donate-amounts button{flex-basis:calc(50% - 8px)}}header .donate-btn{flex-shrink:0;height:36px;display:inline-flex;align-items:center;gap:6px;padding:0 12px 0 10px;border-radius:10px;white-space:nowrap;background:#fff4e6;color:#a35200;font-weight:700;box-shadow:inset 0 0 0 1px #ffc078}header .donate-btn:hover .ico{animation:cup-tilt .5s ease-in-out}@keyframes cup-tilt{40%{rotate:-14deg}75%{rotate:6deg}}header .donate-btn:hover{background:#ffe8cc}[data-theme=dark] header .donate-btn{background:#3d2a12;color:#ffc078;box-shadow:inset 0 0 0 1px #8a5a1f}@media (max-width: 640px){header .donate-btn{height:38px;padding:0 10px 0 8px;gap:4px}}.pay-qr-wrap{display:flex;flex-direction:column;align-items:center;gap:8px}.pay-save{display:inline-block;padding:6px 12px;border-radius:8px;background:var(--btn);color:var(--fg);font-size:13px;font-weight:600;text-decoration:none}.pay-save:hover{background:var(--btn-h)}.pay-qr-err{display:grid;place-items:center;padding:16px;text-align:center;font-size:13px;color:var(--muted)}.pay-info .pay-how{grid-column:1 / -1;display:block;margin-top:4px;color:var(--muted);font-size:12.5px;line-height:1.45}.pay-phone{display:none}@media (pointer: coarse),(max-width: 640px){.pay-phone{display:inline}}@media (max-width: 640px){.pay-box{justify-content:center}.pay-info{flex-basis:100%}}.menu-h{margin:10px 0 0;padding:12px 2px 2px;border-top:1px solid var(--border);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.menu>.menu-h:first-child{margin-top:0;padding-top:0;border-top:0}@media (max-width: 640px){.menu{position:fixed;top:auto;left:8px;right:8px;bottom:calc(78px + env(safe-area-inset-bottom));width:auto;max-height:72dvh;border-radius:20px;box-shadow:var(--shadow-lg);animation:sheet-up .22s cubic-bezier(.2,.9,.3,1.1)}}@media (max-width: 640px){header h1{display:none}header .board-name{min-width:0;flex-shrink:1}header .boards>.board-name{height:40px;padding:0 6px 0 8px}header .board-name .label{display:inline-block!important;max-width:42vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;font-size:15.5px}.search{flex:0 0 auto;max-width:none;margin-left:auto;margin-right:0}.search>.ico{left:50%;translate:-50% -50%}.search-key{display:none}.search input{width:40px;height:40px;padding:0;border-radius:12px;text-align:center;cursor:pointer}.search input:not(:focus)::placeholder{color:transparent}.search input:focus{position:fixed;top:8px;left:8px;right:8px;z-index:10;width:auto;padding:0 14px 0 40px;text-align:left;cursor:text;box-shadow:var(--shadow-lg),0 0 0 4px var(--ring)}.search:focus-within>.ico{position:fixed;top:28px;left:22px;translate:0 -50%;z-index:11;color:var(--accent)}.search.has-q:not(:focus-within)>.ico{display:none}.search.has-q input:not(:focus){width:72px;padding:0 8px;background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink);font-weight:600;text-overflow:ellipsis}.search small{display:none}.search:focus-within small{display:block;position:fixed;top:28px;right:22px;translate:0 -50%;z-index:11}}header>button.on,header>button.waiting-chip.active{background:var(--accent-soft)!important;color:var(--accent-ink)!important}header>button.pending-chip.active{background:#fff4e6!important;color:#a35200!important}header .badge-num{margin-left:0}.board-emoji{font-size:17px;line-height:1}.settings-me{flex-wrap:wrap;gap:2px 6px}.settings-me-note{flex-basis:100%;font-size:11.5px;color:var(--muted)}.mine h3 small,.stats h4{font-weight:600}.tpl-grid .tpl{height:30px;padding:0 11px;border-radius:999px;font-size:13px;font-weight:500;background:var(--surface);box-shadow:inset 0 0 0 1px var(--border)}.tpl-grid .tpl:hover{background:var(--btn-h)}.tpl-grid .tpl.active{box-shadow:none}.host-box{border:1px solid #f5d98b66}.host-box button{border-radius:10px}.plan-status{border-radius:12px;padding:11px 12px;background:var(--surface)}.plan-status button{height:36px;padding:0 12px;border-radius:10px;font-weight:600}.inbox-item{border-radius:12px;padding:9px 10px}.inbox-waiting,.push-line{border-radius:12px}.stat-row{border-radius:10px}.welcome{border-radius:4px;box-shadow:0 1px 1px #3a2a1414,0 30px 60px -20px #3a2a1466,0 12px 24px -12px #3a2a1440}.welcome h3{font-size:19px;letter-spacing:-.01em}.welcome-actions button{height:36px;padding:0 12px;border-radius:10px;font-weight:600}.upgrade{border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-lg)}.upgrade-x{width:34px;height:34px;padding:0;display:grid;place-items:center;border-radius:10px}.upgrade-x:hover{background:var(--btn-h);color:var(--fg)}.new-badge{box-shadow:0 2px 6px #2f6ce566;letter-spacing:.02em}.menu,.trash,.settings-pop,.presence-panel,.upgrade{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.landing{padding-top:36px}.landing-hero,.pricing .pricing-hero{border-radius:6px;box-shadow:0 1px 1px #3a2a1414,0 24px 50px -24px #3a2a1459,0 8px 16px -10px #3a2a1426}.landing-hero h1,.pricing .pricing-hero h1{letter-spacing:-.025em;line-height:1.15}.landing-kicker{display:inline-flex;align-items:center;gap:6px;letter-spacing:.01em}.landing-kinds button{height:36px;padding:0 12px;border-radius:10px;font-weight:500;box-shadow:inset 0 0 0 1px #0000001a}.landing-kinds button:hover{background:#fffdf5;box-shadow:inset 0 0 0 1px #0003}.landing-kinds button.active{box-shadow:0 4px 12px -4px #2f6ce580}.landing-row input{height:46px;padding:0 14px;border-radius:12px;outline:none;transition:border-color .15s,box-shadow .15s}.landing-row input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--ring)}.landing-row .primary{height:46px;padding:0 18px;border-radius:12px;font-size:15px}.landing-steps div,.landing-features,.landing-contact{border:1px solid var(--border);box-shadow:var(--shadow-sm)}.landing-steps div{border-radius:16px;padding:18px;transition:transform .2s,box-shadow .2s}.landing-steps div:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.landing-steps b{width:30px;height:30px;box-shadow:0 4px 10px -3px #2f6ce580}.landing-features,.landing-contact{border-radius:16px;padding:20px 22px}.landing-features h2,.landing-contact h2{letter-spacing:-.015em}.band,.quiz-result{border-radius:14px}.quiz-result .primary,.prepay .primary{height:42px;padding:0 18px;border-radius:12px}.compare-table{font-variant-numeric:tabular-nums}.faq details{transition:background .15s}.faq summary{list-style:none;display:flex;align-items:center;gap:8px}.faq summary::-webkit-details-marker{display:none}.faq summary:before{content:"+";display:grid;place-items:center;flex-shrink:0;width:22px;height:22px;border-radius:7px;background:var(--btn-h);color:var(--soft);font-weight:700;transition:rotate .2s}.faq details[open] summary:before{content:"−"}.faq details p{padding-left:32px}.toolbar .style-toggle{display:none}@media (max-width: 640px){.toolbar .style-toggle{display:inline-grid}}.letter-empty{border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-lg);padding:28px 26px 22px}.letter-empty button{height:38px;padding:0 18px;margin-top:4px;border-radius:10px;font-weight:600;background:var(--btn-h)}[data-theme=dark] .band.tier-free .band-price{color:#69db7c}[data-theme=dark] .band.tier-nho .band-price{color:#8fb6ff}[data-theme=dark] .band.tier-lon .band-price{color:#ffa94d}@media (min-width: 641px){.sheet{width:min(720px,94vw)}.toolbar button{min-width:30px;height:30px;padding:0 6px}.toolbar .swatch{width:22px;height:22px}.toolbar .sep{margin:0 3px}}.show-head h1{letter-spacing:-.02em;text-shadow:0 2px 20px #0006}.show-head p{font-weight:500}.show-progress{position:absolute;left:0;top:0;height:4px;width:100%;transform-origin:left;background:linear-gradient(90deg,#ffe066,#ffa94d);box-shadow:0 0 12px #ffd43b88;animation:show-progress linear forwards}.show-progress.paused{animation:none;transform:scaleX(0)}@keyframes show-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.show-card{box-shadow:0 2px 4px #0003,0 40px 90px -20px #000c}.show-ctl{justify-self:start;gap:2px;padding:5px;border-radius:16px;background:#ffffff14;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px #ffffff1f;opacity:.35}.show-ctl button{width:40px;height:40px;padding:0;display:grid;place-items:center;background:transparent;color:#fff;border-radius:11px}.show-ctl button:hover,.show-ctl .show-play{background:#ffffff26}.show-ctl .show-sep{width:1px;height:22px;margin:0 4px;background:#fff3}.show-pos{padding:0 8px 0 10px;font-weight:600;font-size:14px}.show-qr{border-radius:18px;padding:12px 12px 10px}.keepsake{background:#efebe4}.keepsake-bar{gap:8px 10px;padding:10px 18px;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 1px #e7e1d7,0 6px 20px -12px #3a2a1440}.keepsake-bar button{height:38px;display:inline-flex;align-items:center;gap:6px;padding:0 14px;border-radius:10px;font-weight:600}.keepsake-page{border-radius:4px;box-shadow:0 1px 2px #3a2a141a,0 30px 60px -24px #3a2a1459}.keepsake-note{border-radius:3px;box-shadow:0 1px 2px #0000001a,0 6px 14px -8px #3a2a1440}.keepsake-note h3{letter-spacing:-.01em}.pay-info .pay-how{word-break:normal;overflow-wrap:break-word}.pay-info{gap:10px 14px}.pay-info dd button{height:28px;padding:0 10px;border-radius:8px;font-size:12.5px;font-weight:600;background:var(--surface);box-shadow:inset 0 0 0 1px var(--border)}.pay-info dd button:hover{background:var(--btn-h)}.pay-code{padding:2px 8px;border-radius:8px;background:#fff4e6}[data-theme=dark] .pay-code{background:#3d2a12;color:#ffa94d}.pay-qr{border-radius:14px;box-shadow:0 0 0 1px var(--border),var(--shadow-md)}.pay-save{height:34px;display:inline-flex;align-items:center;gap:6px;border-radius:10px;box-shadow:inset 0 0 0 1px var(--border)}.pay-wait{border-radius:12px}.src-ask{border-radius:14px}.src-ask .src-chips button{height:30px;border-radius:999px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--border)}.src-ask .src-chips button.on{box-shadow:none}@media (max-width: 640px){.doge-word,.doge-emote,.cursor{display:none}.activity{left:8px;right:8px;max-width:none}.activity-item{max-width:100%;padding:7px 12px;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:feed-in .3s ease-out,feed-out .4s ease-in 4s forwards}.viewing-badge{top:-9px;right:8px;padding:0 7px;font-size:10px;max-width:70%;overflow:hidden;text-overflow:ellipsis}}@media (max-width: 640px){header,.bottom-nav{background:#fbfaf7}[data-theme=dark] header,[data-theme=dark] .bottom-nav{background:#1c1a17}header:before,.bottom-nav{-webkit-backdrop-filter:none;backdrop-filter:none}.pulse,.prompt-bar{background:var(--panel);-webkit-backdrop-filter:none;backdrop-filter:none;transition:translate .25s ease,opacity .2s ease}.bars-hidden .pulse,.bars-hidden .prompt-bar{translate:0 -150px;opacity:0;pointer-events:none}}@media (max-width: 640px){.bottom-nav .nav-create>span{width:48px;height:48px;margin-top:-12px;border-radius:16px;box-shadow:0 8px 18px -6px #2f6ce599,inset 0 1px #ffffff40}}.note .expiring{padding:1px 7px;border-radius:999px;background:#fff4e6d9;color:#c2410c;font-weight:700;white-space:nowrap}.admin{max-width:860px;margin:0 auto;padding:20px 16px 60px;color:var(--fg);font-family:inherit;position:relative;z-index:1}.admin-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.admin-head h1,.admin-login h1{font-size:22px;margin:0}.admin-spacer{flex:1}.admin-sub{color:var(--muted)}.admin-err{color:#c92a2a}.admin-login{max-width:380px;padding-top:80px}.admin-login form{display:flex;gap:8px;margin:12px 0}.admin-login input{flex:1}.admin-bar{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.admin-bar button.active{background:var(--accent-btn, #e8590c);color:#fff}.admin-bar button b{margin-left:4px;opacity:.8}.admin-bar input{flex:1;min-width:180px}.admin-toast{background:var(--surface, #fff);border-radius:10px;padding:8px 12px;box-shadow:var(--shadow-sm)}.admin-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.admin-list>li{display:flex;gap:10px;align-items:flex-start;background:var(--surface, #fff);border-radius:12px;padding:10px 12px;box-shadow:var(--shadow-sm)}.admin-list>li.gone{opacity:.65}.admin-chip{width:10px;align-self:stretch;border-radius:4px;flex:none}.admin-main{flex:1;min-width:0}.admin-main p{margin:4px 0;white-space:pre-wrap;overflow-wrap:anywhere}.admin-main small{color:var(--muted)}.admin-actions{display:flex;flex-direction:column;gap:6px;flex:none}.admin-actions .danger{background:#c92a2a;color:#fff}.admin-replies{list-style:none;margin:8px 0 0;padding:8px 0 0;border-top:1px dashed #0003;display:flex;flex-direction:column;gap:6px}.admin-replies li{display:flex;gap:8px;justify-content:space-between;align-items:flex-start;overflow-wrap:anywhere}@media (max-width: 560px){.admin-list>li{flex-wrap:wrap}.admin-actions{flex-direction:row;width:100%}}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-bottom:14px}.admin-stats>div{background:var(--surface, #fff);border-radius:12px;padding:10px 12px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}.admin-stats b{font-size:22px}.admin-stats small{color:var(--muted)}.admin-sel{position:sticky;top:0;z-index:5;display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:var(--surface, #fff);border-radius:12px;padding:8px 12px;margin-bottom:8px;box-shadow:var(--shadow-md)}.admin-who{color:var(--muted)}.admin-list>li>input[type=checkbox]{margin-top:4px;flex:none}.admin-main small button.link{background:none;padding:0;color:inherit;text-decoration:underline dotted;cursor:pointer}.admin-detail pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;margin:6px 0;padding:8px;background:#0000000d;border-radius:8px}.admin-detail dl{display:grid;grid-template-columns:max-content 1fr;gap:2px 12px;margin:6px 0;font-size:12.5px}.admin-detail dt{color:var(--muted)}.admin-detail dd{margin:0}.admin{--viz-1: #2a78d6;--viz-2: #eb6834;--viz-3: #1baf7a;--viz-4: #eda100;--viz-5: #e87ba4;--viz-grid: #0000001a;--viz-ink: var(--muted)}[data-theme=dark] .admin{--viz-1: #3987e5;--viz-2: #d95926;--viz-3: #199e70;--viz-4: #c98500;--viz-5: #d55181;--viz-grid: #ffffff1f}.admin.admin-shell{max-width:1240px;display:grid;grid-template-columns:210px minmax(0,1fr);gap:22px;align-items:start}.admin-nav{position:sticky;top:16px;display:flex;flex-direction:column;gap:4px;background:var(--surface, #fff);border-radius:14px;padding:14px 10px;box-shadow:var(--shadow-sm);min-height:340px}.admin-nav h1{font-size:18px;margin:0 6px}.admin-nav-sub{color:var(--muted);margin:0 6px 10px}.admin-nav>button{display:flex;align-items:center;gap:8px;justify-content:flex-start;text-align:left;padding:9px 10px;border-radius:10px;background:transparent;color:var(--fg)}.admin-nav>button:hover{background:var(--btn-h)}.admin-nav>button.active{background:var(--accent-btn, #e8590c);color:#fff}.admin-nav-label{flex:1}.admin-nav>button b{background:#c92a2a;color:#fff;border-radius:999px;font-size:11px;padding:1px 7px}.admin-nav a{padding:6px 10px;color:var(--muted)}.admin-logout{color:var(--muted)!important}.admin-content{min-width:0}.admin-title{font-size:20px;margin:2px 0 14px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-bottom:14px}.kpi{background:var(--surface, #fff);border-radius:14px;padding:12px 14px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:2px}.kpi small{color:var(--muted)}.kpi b{font-size:30px;line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.kpi-note{font-size:12px;color:var(--muted)}.kpi-note.up{color:#1b7f3b}.kpi-note.down{color:#c92a2a}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card{background:var(--surface, #fff);border-radius:14px;padding:14px 16px 12px;box-shadow:var(--shadow-sm);min-width:0}.card.wide{grid-column:1 / -1}.card h2{font-size:14.5px;margin:0 0 8px;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.card h2 small{color:var(--muted);font-weight:500;font-size:12px}.viz-wrap{position:relative}.viz-svg{display:block;overflow:visible;max-width:100%}.viz-grid{stroke:var(--viz-grid);stroke-width:1}.viz-axis{fill:var(--viz-ink);font-size:10.5px}.viz-peak{fill:var(--fg);font-size:11px;font-weight:700}.viz-tip{position:absolute;top:-4px;transform:translate(-50%,-100%);pointer-events:none;background:var(--fg);color:var(--bg);border-radius:8px;padding:5px 9px;font-size:12px;white-space:nowrap;display:flex;flex-direction:column;box-shadow:var(--shadow-md);z-index:3}.viz-tip small{opacity:.75}.viz-empty{color:var(--muted);margin:6px 0}.viz-hbars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}.viz-hbars li{display:grid;grid-template-columns:minmax(70px,38%) 1fr 36px;align-items:center;gap:8px}.viz-hlabel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viz-htrack{height:14px;display:block}.viz-hbar{display:block;height:100%;background:var(--viz-1);border-radius:0 4px 4px 0}.viz-hval{text-align:right;font-variant-numeric:tabular-nums}.viz-stack{display:flex;gap:2px;height:22px}.viz-stack span{min-width:4px;border-radius:4px}.viz-legend{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.viz-legend li{display:flex;align-items:center;gap:8px}.viz-legend i{width:10px;height:10px;border-radius:3px;flex:none}.viz-legend small{color:var(--muted)}.viz-note{color:var(--muted);font-size:12px;margin:12px 2px 0}.admin-report{background:var(--surface, #fff);border-radius:14px;padding:18px 22px;box-shadow:var(--shadow-sm);max-width:760px}.admin-report h2{font-size:18px;margin:0 0 6px}.admin-report h3{font-size:14.5px;margin:18px 0 6px}.admin-report h3 small{color:var(--muted);font-weight:500}.report-actions{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}.report-points{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:5px;line-height:1.5}.report-table{border-collapse:collapse;width:100%;max-width:420px}.report-table th,.report-table td{text-align:left;padding:5px 8px;border-bottom:1px solid var(--viz-grid)}.report-table td:last-child,.report-table th:last-child{text-align:right;font-variant-numeric:tabular-nums}@media (max-width: 860px){.admin.admin-shell{grid-template-columns:1fr;gap:12px}.admin-nav{position:static;flex-direction:row;flex-wrap:wrap;min-height:0;align-items:center;padding:8px}.admin-nav h1,.admin-nav-sub,.admin-nav .admin-spacer{display:none}.admin-grid{grid-template-columns:1fr}}@media print{body{overflow:visible!important;background:#fff}.admin-nav,.no-print,.admin-title{display:none!important}.admin.admin-shell{display:block;max-width:none;padding:0}.admin-report{box-shadow:none;max-width:none;padding:0}}.admin-bar input[type=search],.admin-bar select,.admin-login input{height:36px;padding:0 12px;border-radius:10px;border:1px solid var(--viz-grid);background:var(--surface, #fff);color:var(--fg);font:inherit}.admin-bar input[type=search]{flex:1}.admin-main>b{display:block}.admin-main>small{display:block;margin-top:2px}
