@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-cyrillic-ext-400-normal-CuPM9foi.woff2)format("woff2"),url(/assets/nunito-cyrillic-ext-400-normal-xaE7D4Sw.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-cyrillic-400-normal-xAOo5cBP.woff2)format("woff2"),url(/assets/nunito-cyrillic-400-normal-D1j0u8EH.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-vietnamese-400-normal-BHkVbP3T.woff2)format("woff2"),url(/assets/nunito-vietnamese-400-normal-DtOtW02z.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-ext-400-normal-i-8OOpdj.woff2)format("woff2"),url(/assets/nunito-latin-ext-400-normal-CjMJVfGn.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-400-normal-r8SDr6Up.woff2)format("woff2"),url(/assets/nunito-latin-400-normal-DKg4f3fz.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-cyrillic-ext-700-normal-BuR0mlCG.woff2)format("woff2"),url(/assets/nunito-cyrillic-ext-700-normal-DfoqN4Gs.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-cyrillic-700-normal-DP36NgGt.woff2)format("woff2"),url(/assets/nunito-cyrillic-700-normal-DfHRUDv-.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-vietnamese-700-normal-Ch8EUCfz.woff2)format("woff2"),url(/assets/nunito-vietnamese-700-normal-C9SQsXvj.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-ext-700-normal-BWeMsAzO.woff2)format("woff2"),url(/assets/nunito-latin-ext-700-normal-D4woHhbd.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2)format("woff2"),url(/assets/nunito-latin-700-normal-OcDqTBcA.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-cyrillic-ext-800-normal-B-cvGohL.woff2)format("woff2"),url(/assets/nunito-cyrillic-ext-800-normal-pjRatrRO.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-cyrillic-800-normal-D3igD7Kl.woff2)format("woff2"),url(/assets/nunito-cyrillic-800-normal-DymMgApb.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-vietnamese-800-normal-D_CZYdm9.woff2)format("woff2"),url(/assets/nunito-vietnamese-800-normal-Dz0hZPb5.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-ext-800-normal-CtU8tJOV.woff2)format("woff2"),url(/assets/nunito-latin-ext-800-normal-CDcxIxx8.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-800-normal-Dz8SOQK_.woff2)format("woff2"),url(/assets/nunito-latin-800-normal-D-J0wlBY.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lora-cyrillic-ext-700-normal-CH2Ef3pd.woff2)format("woff2"),url(/assets/lora-cyrillic-ext-700-normal-B20D6wuF.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lora-cyrillic-700-normal-CicHrsUU.woff2)format("woff2"),url(/assets/lora-cyrillic-700-normal-CoUvLzhc.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lora-math-700-normal-BdgFUNlJ.woff2)format("woff2"),url(/assets/lora-math-700-normal-JjB0YUk-.woff)format("woff");unicode-range:U+302-303,U+305,U+307-308,U+310,U+312,U+315,U+31A,U+326-327,U+32C,U+32F-330,U+332-333,U+338,U+33A,U+346,U+34D,U+391-3A1,U+3A3-3A9,U+3B1-3C9,U+3D1,U+3D5-3D6,U+3F0-3F1,U+3F4-3F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE??}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lora-symbols-700-normal-zYsi5zvy.woff2)format("woff2"),url(/assets/lora-symbols-700-normal-DaE8wqnc.woff)format("woff");unicode-range:U+1-C,U+E-1F,U+7F-9F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+28??,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B??,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F0??,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F7??,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB??}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lora-vietnamese-700-normal-BHDzxyiD.woff2)format("woff2"),url(/assets/lora-vietnamese-700-normal-DyKKCAD2.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lora-latin-ext-700-normal-DbHby4fw.woff2)format("woff2"),url(/assets/lora-latin-ext-700-normal-XBj10pPw.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Lora;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lora-latin-700-normal-BHK4Pzk4.woff2)format("woff2"),url(/assets/lora-latin-700-normal-Yfa97ytg.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#a7bb98;--ink:#2f3137;--muted:#7a7d85;--marker:#2c5aa3;--card:#fcfcf9f0;--chip:#faf9f5c7;--chip-ink:#3a3d44;--shadow:0 10px 30px #282d2329, 0 2px 6px #282d2314;--font:"Nunito", ui-rounded, system-ui, -apple-system, sans-serif;--font-serif:"Lora", Georgia, serif;--font-marker:"Caveat", "Marker Felt", cursive}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;overflow:hidden}.stage{touch-action:none;position:fixed;inset:0}.stage canvas{display:block}.board-panel{z-index:10;pointer-events:none;transform-origin:0 0;--board-ink:#3a291c;--board-link:#2c5aa3;position:fixed;top:0;left:0;container-type:size}.board-panel.open{pointer-events:auto}.board-panel[data-mode=sheet]{inset:17vh 0 0;container-type:inline-size}.board-card{width:100%;height:100%;color:var(--board-ink);flex-direction:column;font-size:max(13px,2.3cqw);animation:.42s ease-out both ink-in;display:flex;position:relative}@keyframes ink-in{0%{opacity:0}}.board-panel[data-mode=board] .board-scroll{padding-bottom:2.5em;-webkit-mask-image:linear-gradient(#000 calc(100% - 2.2em),#0000);mask-image:linear-gradient(#000 calc(100% - 2.2em),#0000)}.board-panel[data-mode=sheet] .board-card{color:#3a291c;background:#f6efe5;border-radius:26px 26px 0 0;font-size:15px;transition:transform .22s;animation:.42s cubic-bezier(.2,.8,.2,1) backwards sheet-in;overflow:hidden;box-shadow:0 -10px 30px #282d232e}@keyframes sheet-in{0%{transform:translateY(100%)}}.board-handle{display:none}.board-panel[data-mode=sheet] .board-handle{background:color-mix(in srgb, currentColor 22%, transparent);touch-action:none;border-radius:3px;flex:none;width:40px;height:5px;margin:10px auto 0;display:block;box-shadow:0 0 0 12px #0000}.board-head{flex:none;justify-content:space-between;align-items:center;gap:1em;padding:1.2cqw 1.2cqw 0;display:flex}.board-head .marker{margin:0}.board-panel[data-mode=sheet] .board-head{touch-action:none;flex-direction:column;align-items:flex-start;gap:14px;padding:12px 22px 0}.board-panel[data-mode=sheet] .board-back{order:-1}.board-scroll{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--board-ink) 30%, transparent) transparent;flex:1;min-height:0;padding:.7em 2cqw 1.2cqw 1.2cqw;line-height:1.55;overflow:auto}.board-panel[data-mode=sheet] .board-scroll{padding:12px 22px calc(var(--dock-h,0px) + 24px)}.board-scroll p{max-width:46em;margin:0 0 .85em}.marker{font-family:var(--font-serif);color:inherit;letter-spacing:-.01em;outline:none;margin:0 0 .5em;font-size:2em;font-weight:700;line-height:1.1}.marker:focus,.marker:focus-visible{outline:none}.lead{font-weight:700}.muted{color:var(--muted)}.board-card .muted,.board-card .work-role{color:color-mix(in srgb, currentColor 62%, transparent)}.board-scroll a{color:var(--board-link);background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0% 2px;font-weight:700;text-decoration:none;transition:background-size .22s}.board-scroll a:hover,.board-scroll a:focus-visible{background-size:100% 2px}.work-list,.contact-list{margin:0;padding:0;list-style:none}.work-list li{border-top:1.5px dashed color-mix(in srgb, currentColor 22%, transparent);padding:.6em 0}.work-list li:first-child{border-top:0;padding-top:0}.work-list p{margin:.15em 0 0}.work-role{font-size:.88em;font-weight:700}.work-top{justify-content:space-between;align-items:baseline;gap:1em;font-size:1.08em;display:flex}.contact-list{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:1.6em;margin-top:.4em;display:grid}.contact-list li:first-child{grid-column:1/-1}@container (width<=760px){.contact-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (width<=420px){.contact-list{grid-template-columns:1fr}}.board-scroll .contact-list a{border-bottom:1.5px dashed color-mix(in srgb, currentColor 22%, transparent);color:inherit;background:0 0;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:.6em;padding:.55em 0 .6em;line-height:1.3;display:grid}.contact-name{font-weight:800}.contact-value{text-overflow:ellipsis;white-space:nowrap;color:color-mix(in srgb, currentColor 62%, transparent);grid-row:2;font-size:.88em;font-weight:600;overflow:hidden}.out-arrow{width:1.3em;height:1.3em;color:var(--board-link);grid-area:1/2/span 2;transition:transform .2s}.contact-list li:first-child .contact-name{font-size:1.15em}.contact-list li:first-child .contact-value{color:var(--board-link);font-size:1em}.contact-list a:hover .contact-name,.contact-list a:focus-visible .contact-name{color:var(--board-link)}.more-links{margin:.5em 0 0;padding:0;list-style:none}.more-link{align-items:center;gap:.35em;margin-bottom:.45em;display:inline-flex}.more-link .out-arrow{width:1.1em;height:1.1em}.more-link:hover .out-arrow,.more-link:focus-visible .out-arrow,.contact-list a:hover .out-arrow,.contact-list a:focus-visible .out-arrow{transform:translate(.14em,-.14em)}.board-back{border:2px solid color-mix(in srgb, currentColor 45%, transparent);color:inherit;font:700 .82em / 1 var(--font);cursor:pointer;background:0 0;border-radius:999px;flex:none;align-items:center;gap:.45em;padding:.5em 1em .5em .8em;transition:border-color .16s,background .16s;display:inline-flex}.board-back svg{width:1.1em;height:1.1em;transition:transform .16s}.board-back:hover{background:color-mix(in srgb, currentColor 8%, transparent);border-color:currentColor}.board-back:hover svg{transform:translate(-2px)}.board-panel[data-mode=sheet] .board-back{padding:.55em 1em .55em .85em;font-size:14px}.thought{z-index:12;pointer-events:none;will-change:transform;position:fixed;top:0;left:0}.thought-cloud{color:var(--ink);font:800 15px/1 var(--font);white-space:nowrap;transform-origin:0 100%;opacity:0;background:#fffefb;border-radius:999px;padding:9px 15px 10px;transition:transform .26s cubic-bezier(.3,1.5,.5,1),opacity .18s;position:absolute;bottom:18px;left:6px;transform:scale(.6)translateY(6px);box-shadow:0 6px 18px #282d2329,0 0 0 1px #00000008}.thought-dot{opacity:0;background:#fffefb;border-radius:50%;transition:opacity .18s;position:absolute;box-shadow:0 3px 8px #282d2324}.thought-dot.a{width:10px;height:10px;bottom:6px;left:2px}.thought-dot.b{width:6px;height:6px;bottom:-2px;left:-4px}.thought.show .thought-cloud{opacity:1;transform:none}.thought.show .thought-dot{opacity:1}.dev-badge{z-index:20;background:var(--chip);height:36px;color:var(--chip-ink);font:700 13px/1 var(--font);-webkit-backdrop-filter:blur(8px);pointer-events:none;white-space:nowrap;border-radius:18px;align-items:center;gap:8px;padding:0 14px;display:inline-flex;position:fixed;bottom:16px;left:16px;box-shadow:0 2px 10px #1e231e1f}.dev-dot{background:#f0a43a;border-radius:50%;width:8px;height:8px;animation:2.4s ease-out infinite dev-pulse;box-shadow:0 0 #f0a43a80}@keyframes dev-pulse{70%{box-shadow:0 0 0 7px #f0a43a00}to{box-shadow:0 0 #f0a43a00}}@media (width<=480px){.dev-badge{height:30px;padding:0 11px;font-size:12px;bottom:60px;left:12px}.hint{bottom:104px}}@media (prefers-reduced-motion:reduce){.dev-dot{animation:none}}.dock{left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:15;-webkit-backdrop-filter:blur(14px)saturate(1.1);background:#faf5eccc;border-radius:26px;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;padding:14px;display:grid;position:fixed;box-shadow:0 8px 26px #282d2329,inset 0 1px #fff9}.dock-tab{background:var(--tab);color:#3a3428;height:48px;font:700 16px/1 var(--font);cursor:pointer;-webkit-tap-highlight-color:transparent;border:0;border-radius:999px;grid-column:span 2;transition:transform .14s,box-shadow .14s;box-shadow:inset 0 -3px #3c321e1f,inset 0 2px #ffffff8c,0 3px 8px #3c321e29}.dock-tab:nth-child(4){grid-column:2/span 2}.dock-tab:active{transform:translateY(1px)scale(.98)}.dock-tab.active{box-shadow:inset 0 0 0 2px #3a3428,inset 0 -3px #3c321e1f,0 3px 8px #3c321e29}.controls{z-index:20;gap:8px;display:flex;position:fixed;bottom:16px;right:16px}.chip{background:var(--chip);height:36px;color:var(--chip-ink);font:700 13px/1 var(--font);-webkit-backdrop-filter:blur(8px);cursor:pointer;border:0;border-radius:18px;align-items:center;gap:7px;padding:0 14px;transition:transform .16s,background .16s;display:inline-flex;box-shadow:0 2px 10px #1e231e1f}.chip:hover{background:#ffffffeb;transform:translateY(-1px)}.chip.icon{justify-content:center;width:36px;padding:0}.controls.compact{top:calc(12px + env(safe-area-inset-top));bottom:auto;right:12px}.controls.compact .chip.icon{border-radius:50%;width:40px;height:40px}.controls.compact .dot{width:12px;height:12px}.chip-sub{color:var(--muted);font-weight:400}.chip-next{color:var(--muted);margin-left:1px;font-size:16px;line-height:1}.dot{border-radius:50%;width:9px;height:9px}.dot-morning{background:#f5c98a}.dot-afternoon{background:#f2d35e}.dot-evening{background:#f08a5d}.dot-night{background:#6b7fd1}.tooltip{z-index:30;color:#f6f5f1;font:700 12px/1 var(--font);pointer-events:none;opacity:0;white-space:nowrap;background:#282a30d1;border-radius:10px;padding:6px 10px;transition:opacity .14s;position:fixed;top:0;left:0}.tooltip.show{opacity:1}.hint{z-index:15;background:var(--chip);color:var(--chip-ink);font:700 13px/1 var(--font);-webkit-backdrop-filter:blur(8px);opacity:0;pointer-events:none;white-space:nowrap;border-radius:16px;padding:8px 14px;transition:opacity .7s,transform .7s;position:fixed;bottom:22px;left:50%;transform:translate(-50%,6px)}.hint.show{opacity:1;transform:translate(-50%)}@media (width<=640px){.hint{bottom:64px}}.loader{z-index:50;background:var(--bg);place-items:center;transition:opacity .9s .15s,visibility 0s linear 1.1s;display:grid;position:fixed;inset:0}.loader.done{opacity:0;visibility:hidden}.loader-dot{background:#f6f2e9;border-radius:50%;width:14px;height:14px;animation:1.6s ease-in-out infinite breathe}@keyframes breathe{50%{opacity:.6;transform:scale(1.6)}}.a11y-nav{z-index:40;gap:6px;transition:transform .2s;display:flex;position:fixed;top:12px;left:12px;transform:translateY(-200%)}.a11y-nav:focus-within{transform:none}.a11y-nav button{height:34px;color:var(--ink);font:700 13px/1 var(--font);box-shadow:var(--shadow);cursor:pointer;background:#fff;border:0;border-radius:17px;padding:0 14px}:focus-visible{outline-offset:2px;outline:3px solid #2c5aa3}.fallback{position:fixed;inset:0;overflow:auto}.fallback img{object-fit:cover;filter:saturate(.9);width:100%;height:100%;position:fixed;inset:0}.fallback-card{background:var(--card);max-width:420px;box-shadow:var(--shadow);border-radius:20px;margin:10vh auto;padding:28px 30px;position:relative}@media (prefers-reduced-motion:reduce){.board-card,.board-panel[data-mode=sheet] .board-card{animation:none}.hint,.loader{transition:none}}@media (width<=480px){.hint{bottom:102px}}
