@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-vietnamese-400-normal-TxZB8OSn.woff2) format("woff2"),url(/assets/public-sans-vietnamese-400-normal-BO1meqcx.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:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-latin-ext-400-normal-mk90oQqJ.woff2) format("woff2"),url(/assets/public-sans-latin-ext-400-normal-B02wwOdZ.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:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-latin-400-normal-8Rpg0ruU.woff2) format("woff2"),url(/assets/public-sans-latin-400-normal-SBbinRkI.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:Public Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/public-sans-vietnamese-500-normal-DjztbcKe.woff2) format("woff2"),url(/assets/public-sans-vietnamese-500-normal-CXYe29CY.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:Public Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/public-sans-latin-ext-500-normal-DC-z7ASZ.woff2) format("woff2"),url(/assets/public-sans-latin-ext-500-normal-BHCCp-na.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:Public Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/public-sans-latin-500-normal-NlrCPXnF.woff2) format("woff2"),url(/assets/public-sans-latin-500-normal-vCxiVFAq.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:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-vietnamese-600-normal-P4BtCUdw.woff2) format("woff2"),url(/assets/public-sans-vietnamese-600-normal-CcnAzmUX.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:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-latin-ext-600-normal-DchWdWJ_.woff2) format("woff2"),url(/assets/public-sans-latin-ext-600-normal-DfkbVac2.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:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-latin-600-normal-Fru-LXNs.woff2) format("woff2"),url(/assets/public-sans-latin-600-normal-BR59oU-I.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:Public Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/public-sans-vietnamese-700-normal-D97ShjGS.woff2) format("woff2"),url(/assets/public-sans-vietnamese-700-normal-Dq5VrXjD.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:Public Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/public-sans-latin-ext-700-normal-CgolUQuG.woff2) format("woff2"),url(/assets/public-sans-latin-ext-700-normal-jWHjnMgZ.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:Public Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/public-sans-latin-700-normal-BqJmxWdE.woff2) format("woff2"),url(/assets/public-sans-latin-700-normal-Dm-oTPSL.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:"Source Serif 4";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/source-serif-4-cyrillic-ext-500-normal-DaDZE_Na.woff2) format("woff2"),url(/assets/source-serif-4-cyrillic-ext-500-normal-8-8HP2PF.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/source-serif-4-cyrillic-500-normal-BdVUvljg.woff2) format("woff2"),url(/assets/source-serif-4-cyrillic-500-normal-Bb4u56_6.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/source-serif-4-greek-500-normal-By8GFJzz.woff2) format("woff2"),url(/assets/source-serif-4-greek-500-normal-z-Q6FFuG.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/source-serif-4-vietnamese-500-normal-Bi3OSTTW.woff2) format("woff2"),url(/assets/source-serif-4-vietnamese-500-normal-8N8MYVKB.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:"Source Serif 4";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/source-serif-4-latin-ext-500-normal-BYjRCDVy.woff2) format("woff2"),url(/assets/source-serif-4-latin-ext-500-normal-D-qasQTj.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:"Source Serif 4";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/source-serif-4-latin-500-normal-CUHe9xxf.woff2) format("woff2"),url(/assets/source-serif-4-latin-500-normal-DVVamBqs.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:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-serif-4-cyrillic-ext-600-normal-D_E8FDgP.woff2) format("woff2"),url(/assets/source-serif-4-cyrillic-ext-600-normal-DiT2IGQm.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-serif-4-cyrillic-600-normal-BDP5YDHD.woff2) format("woff2"),url(/assets/source-serif-4-cyrillic-600-normal-DFnC3vAY.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-serif-4-greek-600-normal-DdRkKr-1.woff2) format("woff2"),url(/assets/source-serif-4-greek-600-normal-DhXQw1Kl.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-serif-4-vietnamese-600-normal-CznyfUKR.woff2) format("woff2"),url(/assets/source-serif-4-vietnamese-600-normal-B0WJbuqT.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:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-serif-4-latin-ext-600-normal-0sIUyHMO.woff2) format("woff2"),url(/assets/source-serif-4-latin-ext-600-normal-C6NNqpJh.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:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-serif-4-latin-600-normal-DouSKlru.woff2) format("woff2"),url(/assets/source-serif-4-latin-600-normal-DMD1h6_f.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.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}:root{color-scheme:light;--bg: #faf7f2;--surface: #ffffff;--surface2: #f1ece3;--border: #e5ddd0;--text: #2a2420;--muted: #7a6f62;--sage: #5c8a72;--sage-soft: rgba(92, 138, 114, .12);--terracotta: #c1693f;--terracotta-soft: rgba(193, 105, 63, .12);--good: #4f8a63;--good-soft: rgba(79, 138, 99, .14);--danger: #b3261e;--danger-soft: rgba(179, 38, 30, .12);--mark-accent: #5c7a8a;--on-accent: #fff;--frost: rgba(255, 255, 255, .88);--shadow-sm: 0 6px 18px rgba(60, 50, 30, .1);--shadow-md: 0 12px 28px rgba(60, 50, 30, .16);--shadow-lg: 0 18px 44px rgba(50, 42, 26, .22);--shadow-cta: 0 10px 22px rgba(120, 60, 20, .24);--font-body: "Public Sans", -apple-system, "Segoe UI", sans-serif;--font-serif: "Source Serif 4", Georgia, serif;--font-mono: "IBM Plex Mono", "SF Mono", "Cascadia Mono", monospace;font-family:var(--font-body);background:var(--bg);color:var(--text)}:root[data-theme=dark]{color-scheme:dark;--bg: #1c1b19;--surface: #242320;--surface2: #2b2a26;--border: #3a3834;--text: #ece8e1;--muted: #9c968a;--sage: #6f8f78;--sage-soft: rgba(111, 143, 120, .16);--terracotta: #b97b5a;--terracotta-soft: rgba(185, 123, 90, .16);--good: #6fa87f;--good-soft: rgba(111, 168, 127, .16);--danger: #c17362;--danger-soft: rgba(193, 115, 98, .16);--mark-accent: #7a93a0;--on-accent: #16140f;--frost: rgba(36, 35, 32, .88);--shadow-sm: 0 6px 18px rgba(0, 0, 0, .35);--shadow-md: 0 12px 28px rgba(0, 0, 0, .45);--shadow-lg: 0 20px 48px rgba(0, 0, 0, .55);--shadow-cta: 0 10px 24px rgba(0, 0, 0, .5)}*{box-sizing:border-box}body{margin:0;min-height:100vh;overscroll-behavior:none}button,input,textarea{font:inherit}:focus-visible{outline:2px solid var(--sage);outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed}a{color:var(--sage);text-decoration:none}a:hover{color:var(--terracotta)}input[type=range],input[type=checkbox]{accent-color:var(--sage)}h1,h2{font-family:var(--font-serif);font-weight:600}#root{min-height:100vh}.app-background{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;pointer-events:none;background:radial-gradient(120% 90% at 50% 0%,#f8f5ec,#f1efe0 45%,#e6ead8)}.ab-glow{position:absolute;top:-18%;left:-8%;width:46%;height:60%;border-radius:50%;background:radial-gradient(circle at 40% 40%,#fff7d699,#fff0be00 70%);animation:abSun 14s ease-in-out infinite}.ab-hill{position:absolute;filter:blur(1px);transform-origin:50% 100%;animation:abSway 20s ease-in-out infinite}.ab-hill-left{left:-10%;bottom:-22%;width:40%;height:60%;border-radius:48% 52% 46% 54%;background:linear-gradient(160deg,#c3d8b3,#a9c497);opacity:.5}.ab-hill-right{right:-12%;bottom:-26%;width:44%;height:66%;border-radius:52% 48% 56% 44%;background:linear-gradient(200deg,#bcd2a9,#9fbd8c);opacity:.45;animation-name:abSway;animation-duration:25s;animation-direction:reverse}.ab-highlight{position:absolute;right:6%;top:-8%;width:24%;height:36%;border-radius:50%;background:radial-gradient(circle at 60% 60%,#92b78447,#92b78400 72%);animation:abDrift 26s ease-in-out infinite}.ab-petal{position:absolute;top:-5%;width:9px;height:9px;border-radius:50% 50% 50% 0;background:#c1693f59;animation:abPetal 20s linear infinite}.ab-petal-1{left:18%}.ab-petal-2{left:52%;width:7px;height:7px;background:#e0a87866;animation-duration:24s;animation-delay:5s}.ab-petal-3{left:82%;width:8px;height:8px;background:#c1693f4d;animation-duration:22s;animation-delay:10s}@keyframes abSun{0%,to{opacity:.35}50%{opacity:.65}}@keyframes abSway{0%,to{transform:rotate(-1.5deg)}50%{transform:rotate(1.8deg)}}@keyframes abDrift{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(-16px,12px,0) scale(1.04)}}@keyframes abPetal{0%{transform:translateZ(0) rotate(0);opacity:0}10%{opacity:.8}to{transform:translate3d(60px,110vh,0) rotate(260deg);opacity:0}}@media(prefers-reduced-motion:reduce){.ab-glow,.ab-hill,.ab-highlight,.ab-petal{animation:none}}:root[data-theme=dark] .app-background{background:radial-gradient(120% 90% at 50% 0%,#2a2823,#201e19 45%,#16140f)}:root[data-theme=dark] .ab-glow{background:radial-gradient(circle at 40% 40%,#e8e0d238,#e8e0d200 70%)}:root[data-theme=dark] .ab-hill-left{background:linear-gradient(160deg,#322f28,#211f1a);opacity:.7}:root[data-theme=dark] .ab-hill-right{background:linear-gradient(200deg,#2c2a24,#1c1a16);opacity:.65}:root[data-theme=dark] .ab-highlight{background:radial-gradient(circle at 60% 60%,#5a544a4d,#5a544a00 74%)}:root[data-theme=dark] .ab-petal{background:#e0b27a;box-shadow:0 0 10px 3px #e0b27a66}.app-shell{min-height:100vh;overflow:hidden;padding:24px;display:grid;grid-template-rows:auto 1fr;gap:24px}.eyebrow{margin:0 0 10px;letter-spacing:.24em;text-transform:uppercase;color:var(--terracotta);font-size:.78rem;font-weight:600}.intro{max-width:58ch;color:var(--muted)}.board-stage{position:relative;display:flex;flex-direction:column;flex:1;min-height:0;border-radius:24px;overflow:hidden;background:var(--surface2);border:1px solid var(--border);box-shadow:var(--shadow-md)}.board-hint,.toolbar,.zoom-control,.light-control{position:absolute;z-index:5}.board-controls{display:contents}.controls-handle{display:none}.board-hint{top:22px;left:24px;padding:10px 14px;border-radius:999px;background:var(--frost);border:1px solid var(--border);color:var(--muted);font-size:.9rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-sm)}.toolbar{top:22px;right:24px;display:flex;align-items:center;gap:10px}.zoom-control{top:50%;left:18px;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;padding:14px 10px;border-radius:16px;background:var(--frost);border:1px solid var(--border);color:var(--text);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-sm)}.zoom-label,.zoom-value{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.zoom-value{font-weight:700;color:var(--text)}.zoom-slider{writing-mode:vertical-rl;direction:rtl;width:24px;height:180px}.light-control{top:50%;right:18px;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;padding:14px 10px;border-radius:16px;background:var(--frost);border:1px solid var(--border);color:var(--text);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-sm)}.light-label,.light-value{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.light-value{font-weight:700;color:var(--text)}.light-slider{writing-mode:vertical-rl;direction:rtl;width:24px;height:180px}.add-piece-button,.quick-label,.menu-submit{border:0;cursor:pointer}.add-piece-button{border-radius:999px;min-height:48px;padding:0 22px;background:var(--terracotta);color:var(--on-accent);font-weight:600;font-size:15px;box-shadow:var(--shadow-cta)}.table-palette{position:relative}.palette-trigger{width:44px;height:44px;border:1px solid var(--border);border-radius:999px;background:var(--frost);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;display:grid;place-items:center;box-shadow:var(--shadow-sm)}.palette-preview{width:24px;height:24px;border-radius:999px;overflow:hidden;display:flex;border:1px solid var(--border)}.palette-preview span{flex:1;height:100%}.palette-popover{position:absolute;z-index:6;top:calc(100% + 10px);right:0;display:grid;gap:14px;width:max-content;max-width:calc(100vw - 48px);padding:14px;border-radius:16px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-md)}.palette-section .menu-label{margin-bottom:10px}.palette-row{display:flex;gap:10px}.scene-shell{position:relative;flex:1;min-height:0;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.scene-shell canvas{display:block;touch-action:none}.read-only-badge{padding:8px 14px;border-radius:999px;font-size:13px;letter-spacing:.03em;background:var(--surface2);border:1px solid var(--border);color:var(--muted)}.piece-badge{padding:6px 10px;border-radius:14px;font-weight:700;background:var(--frost);color:var(--text);font-size:.73rem;white-space:nowrap;box-shadow:var(--shadow-sm);border:1px solid var(--border);pointer-events:none}.piece-sheet{position:fixed;z-index:20;left:50%;bottom:0;transform:translate(-50%);width:min(860px,100vw);display:flex;flex-direction:column;padding:0 16px calc(14px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;background:var(--surface);border:1px solid var(--border);border-bottom:0;box-shadow:var(--shadow-lg)}.sheet-handle{display:flex;justify-content:center;align-items:center;height:26px;margin:0 -16px;cursor:grab;touch-action:none}.sheet-grip{width:44px;height:4px;border-radius:999px;background:var(--border)}.sheet-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding-bottom:12px}.label-field{position:relative;flex:1 1 220px;min-width:180px}.sheet-label{padding-right:46px;font-size:.98rem;font-weight:700;color:var(--text)}.label-toggle{position:absolute;top:50%;right:6px;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:10px;background:var(--surface2);color:var(--muted);cursor:pointer;display:grid;place-items:center}.sheet-select{position:relative;flex:none}.select-trigger{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface2);color:var(--text);cursor:pointer}.select-value{display:grid;text-align:left}.select-value>*{grid-area:1 / 1}.select-value-sizer{display:grid;height:0;overflow:hidden;visibility:hidden}.select-color{width:22px;height:22px;border-radius:999px;border:2px solid rgba(255,255,255,.7);box-shadow:0 0 0 1px var(--border)}.caret{flex:none;color:var(--muted);transition:transform .12s ease}.caret.is-open{transform:rotate(180deg)}.sheet-popover{position:absolute;z-index:3;bottom:calc(100% + 8px);width:max-content;max-width:calc(100vw - 32px);display:grid;gap:8px;padding:10px;border-radius:16px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-md)}.sheet-popover.at-left{left:0}.sheet-popover.at-right{right:0}.popover-labels{grid-template-columns:repeat(4,minmax(104px,1fr))}.popover-shapes{grid-template-columns:repeat(2,minmax(104px,1fr))}.popover-colors{grid-template-columns:repeat(4,auto)}.popover-option{min-height:38px;padding:8px 12px;border:0;border-radius:999px;background:var(--surface2);color:var(--text);cursor:pointer;white-space:nowrap}.popover-option.is-active{background:var(--sage-soft);color:var(--sage);font-weight:600}.sheet-action{flex:none;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:12px;cursor:pointer;line-height:1;background:var(--surface2);color:var(--text)}.sheet-remove{background:var(--danger-soft);color:var(--danger)}.sheet-remove.is-armed{background:var(--danger);color:#fff;font-weight:700}.sheet-close{background:var(--surface2);color:var(--text);font-size:1.2rem}.sheet-submit{flex:none;min-height:44px;padding:0 16px;border:0;border-radius:12px;background:var(--sage);color:var(--on-accent);font-weight:700;cursor:pointer;white-space:nowrap}.sheet-peek{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding-bottom:14px}.peek-slider{flex:1 1 200px;min-width:170px}.peek-slider .menu-label{margin-bottom:4px}.menu-section+.menu-section{margin-top:14px}.menu-label{display:block;margin-bottom:8px;font-size:.83rem;color:var(--muted)}.menu-input{width:100%}.menu-input{min-height:44px;border:1px solid var(--border);border-radius:12px;padding:10px 12px;color:var(--text);background:var(--surface)}.quick-label{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:14px}.quick-label.is-active{border-color:var(--sage);background:var(--sage-soft);color:var(--sage);font-weight:600}.lang-switcher{display:flex;gap:6px}.lang-switcher .quick-label{min-height:auto;padding:5px 10px;font-size:12px;color:var(--muted)}.lang-switcher .quick-label.is-active{color:var(--sage);border-color:var(--sage);background:var(--sage-soft);font-weight:600}.theme-toggle{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--muted);cursor:pointer}.theme-toggle:hover{color:var(--sage);border-color:var(--sage)}.swatch{width:28px;height:28px;border-radius:999px;border:2px solid var(--surface);box-shadow:0 0 0 1px var(--border);cursor:pointer}.swatch.is-active{box-shadow:0 0 0 1px var(--surface),0 0 0 3px var(--sage)}.menu-submit{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;margin-top:14px;border-radius:12px;padding:12px 14px;background:var(--sage);color:var(--on-accent);font-weight:700}@media(max-width:900px){.app-shell{padding:16px}.board-hint{position:static}.board-stage{padding-top:16px}.board-controls{display:flex;flex-direction:column;position:fixed;left:0;right:0;bottom:0;z-index:15;background:var(--surface);border-radius:20px 20px 0 0;border:1px solid var(--border);border-bottom:0;box-shadow:var(--shadow-lg)}.controls-handle{display:flex;justify-content:center;align-items:center;height:30px;border:0;background:none;cursor:pointer}.controls-body{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:14px;overflow:hidden;max-height:0;padding:0 16px;transition:max-height .25s ease}.board-controls.is-open .controls-body{max-height:70vh;padding:0 16px calc(16px + env(safe-area-inset-bottom));overflow-y:auto}.board-controls .toolbar,.board-controls .zoom-control,.board-controls .light-control{position:static;transform:none}.board-controls .toolbar{width:100%;justify-content:center;flex-wrap:wrap}.session-tools-panel{top:auto;right:8px;left:8px;bottom:8px;width:auto;max-height:min(70vh,560px)}.waiting-room-floating{left:8px;right:8px;transform:none;width:auto}}.app-nav{display:flex;align-items:center;gap:20px;padding:14px 20px;border-radius:18px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.nav-brand{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-serif);font-weight:600;letter-spacing:.05em;text-transform:uppercase;font-size:13px;color:var(--text)}.app-nav nav{display:flex;gap:14px;flex:1}.app-nav nav a{color:var(--muted);font-size:14px;font-weight:600}.app-nav nav a:hover{color:var(--sage)}.app-footer{display:flex;justify-content:center;gap:20px;padding:16px 0 4px}.app-footer a{color:var(--muted);font-size:12px}.app-footer a:hover{color:var(--sage)}.nav-account{display:flex;align-items:center;gap:12px}.page{display:flex;flex-direction:column;gap:18px;width:100%;max-width:64rem;margin-inline:auto}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.page-header h1{margin:4px 0 0;font-size:26px}.section-title{margin:8px 0 0;font-size:16px;color:var(--muted)}.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px}.legal-content{padding:28px 32px;line-height:1.65}.legal-content h1{margin:0 0 4px}.legal-content h2{margin:28px 0 10px;font-size:17px;color:var(--terracotta)}.legal-content p{margin:0 0 12px;color:var(--muted)}.form-card{display:flex;flex-direction:column;gap:12px}.form-actions{display:flex;gap:10px;justify-content:flex-end}.field-hint{margin:6px 0 0;font-size:12px;color:var(--muted)}.record-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:16px;background:var(--surface);overflow:hidden}.record-list .record{border:0;border-radius:0;border-bottom:1px solid var(--border);padding:16px 20px}.record-list .record:last-child{border-bottom:0}.record{display:flex;align-items:center;gap:14px}.record.is-archived{opacity:.55}.record-main{flex:1;display:flex;flex-direction:column;gap:3px;color:inherit}.record-note{font-size:13px;color:var(--muted)}.muted{color:var(--muted);font-size:14px}.centered{text-align:center;padding:48px 0}.back-link{display:inline-block;margin-bottom:6px;color:var(--muted)}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{max-width:460px;padding:32px;border-radius:22px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-md);text-align:center}.auth-lang{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:12px}.auth-google{display:inline-block;margin-top:20px}.auth-error{margin-top:14px;padding:10px 14px;border-radius:12px;background:var(--danger-soft);border:1px solid var(--danger);color:var(--danger);font-size:14px}.auth-divider{margin:22px 0 16px;color:var(--muted);font-size:13px}.magic-link-form{display:flex;flex-direction:column;gap:10px}.magic-link-form input,.magic-link-form textarea{width:100%;min-height:44px;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-family:inherit;resize:vertical}.magic-link-form label{display:flex;flex-direction:column;gap:6px;font-size:14px;text-align:left}.magic-link-notice{font-size:14px;color:var(--muted)}.contact-card{max-width:520px;margin-inline:auto;text-align:left}.join-consent{display:flex;align-items:flex-start;gap:10px;margin:16px 0;text-align:left;font-size:13px;color:var(--muted)}.join-consent input{margin-top:2px;flex-shrink:0}.plan-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;padding:14px 18px;border-radius:16px;background:var(--terracotta-soft);border:1px solid var(--terracotta)}.plan-banner strong{display:block;font-size:15px}.plan-banner p{margin:4px 0 0;font-size:13px;color:var(--muted)}.plan-banner-cta{flex-shrink:0;white-space:nowrap;border-radius:12px;padding:10px 16px;background:var(--terracotta);color:var(--on-accent);font-weight:700}.board-page{height:100dvh;box-sizing:border-box;padding:16px;display:flex;flex-direction:column;gap:12px;overflow:hidden}.session-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;border-radius:16px;background:var(--surface2);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.session-heading{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.session-heading .back-link{margin-bottom:0}.session-bar strong{font-family:var(--font-serif);font-size:17px}.session-controls{display:flex;align-items:center;gap:10px}.conn-badge{padding:6px 12px;border-radius:999px;font-size:12px;letter-spacing:.04em;border:1px solid transparent}.conn-badge.is-open{background:var(--good-soft);border-color:var(--good);color:var(--good)}.conn-badge.is-connecting,.conn-badge.is-reconnecting{background:var(--terracotta-soft);border-color:var(--terracotta);color:var(--terracotta)}.conn-badge.is-closed{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.quick-label.danger{background:var(--terracotta-soft);border-color:var(--terracotta-soft);color:var(--terracotta)}.waiting-room ul{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.waiting-room li{display:flex;align-items:center;justify-content:space-between;gap:12px}.menu-submit.inline{width:auto;margin-top:0;padding:0 16px}.menu-submit.secondary{background:var(--bg);color:var(--text);border:1px solid var(--border)}.form-actions{align-items:stretch}.form-actions .menu-submit{margin-top:0;min-height:44px;padding-top:0;padding-bottom:0}.waiting-room-floating{position:absolute;z-index:8;top:16px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;width:min(420px,calc(100% - 32px))}.waiting-room-floating .waiting-pill{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px 10px 18px;border-radius:999px;background:var(--frost);border:1px solid var(--sage);box-shadow:var(--shadow-md);font-size:13px}.access-panel{display:flex;align-items:center;justify-content:space-between;gap:16px}.access-panel.is-open{flex-direction:column;align-items:stretch}.access-panel p{margin:4px 0 0}.access-row+.access-row{margin-top:14px}.access-value{display:flex;gap:8px}.access-value .menu-input{flex:1}.join-code,.join-code-input{font-family:var(--font-mono);letter-spacing:.22em;text-align:center;font-size:1.15rem}.join-code-input{margin-top:18px}.access-warning{margin-top:14px;color:var(--terracotta)}.snapshot-timeline{display:flex;flex-direction:column;gap:12px}.snapshot-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.snapshot-list{list-style:none;margin:0;padding:0 0 4px;display:flex;gap:8px;overflow-x:auto}.snapshot-chip{display:flex;flex-direction:column;gap:2px;align-items:flex-start;padding:9px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface2);color:var(--text);cursor:pointer;white-space:nowrap}.snapshot-chip.is-active{border-color:var(--sage);background:var(--sage-soft)}.snapshot-label{font-weight:600;font-size:13px}.snapshot-time{font-size:11px;color:var(--muted)}.snapshot-save{display:flex;gap:8px}.snapshot-save .menu-input{flex:1}.session-notes{display:flex;flex-direction:column;gap:10px}.session-notes-add{display:flex;flex-direction:column;gap:8px}.session-notes-input{resize:vertical;font-family:inherit}.session-notes-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;max-height:240px;overflow-y:auto}.session-note{padding:8px 10px;border:1px solid var(--border);border-radius:12px;background:var(--surface2)}.session-note-time{font-size:11px;color:var(--muted)}.session-note-body{margin:4px 0 0;white-space:pre-wrap;font-size:14px}.session-tools-panel{position:absolute;z-index:9;top:78px;right:16px;width:336px;max-height:calc(100% - 94px);box-sizing:border-box;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-lg);padding:18px;display:flex;flex-direction:column;gap:14px;overflow-y:auto}.session-tools-head{display:flex;align-items:center;justify-content:space-between}.panel-title{font-family:var(--font-serif);font-size:15px}.tools-section{display:flex;flex-direction:column;gap:8px}.tools-section .card{background:var(--surface2);border-radius:14px;padding:14px 16px}.view-toggle{display:flex;gap:8px;flex-wrap:wrap}.view-toggle button{min-height:40px;padding:0 14px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:13px;cursor:pointer}.view-toggle button.is-active{border-color:var(--sage);background:var(--sage-soft);color:var(--sage);font-weight:600}.compare-view{flex:1;min-height:0;display:flex;flex-direction:column;gap:12px;border-radius:24px;overflow:hidden;background:var(--surface2);border:1px solid var(--border);box-shadow:var(--shadow-md);padding:16px;box-sizing:border-box}.compare-header{display:flex;align-items:center;gap:16px}.compare-header .panel-title{flex:1}.compare-columns{flex:1;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:16px}.compare-panel{display:flex;flex-direction:column;gap:8px;min-height:0;min-width:0}.compare-panel-head .menu-label{margin-bottom:4px}.compare-select{position:relative}.compare-select:after{content:"▾";position:absolute;top:50%;right:16px;transform:translateY(-50%);color:var(--muted);pointer-events:none}.compare-panel-head select.menu-input{padding:10px 40px 10px 16px;-moz-appearance:none;appearance:none;-webkit-appearance:none}.compare-scene-shell{position:relative;flex:1;min-height:0;border-radius:16px;overflow:hidden;background:var(--frost);border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.compare-scene-shell canvas{display:block;touch-action:none}.compare-loading{margin:0;display:flex;align-items:center;justify-content:center;height:100%}@media(max-width:900px){.compare-columns{grid-template-columns:1fr;overflow-y:auto}.compare-panel{min-height:260px}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.schedule-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.schedule-views{display:inline-flex;gap:.25rem;padding:.25rem;border:1px solid var(--border);border-radius:999px;background:var(--surface2)}.schedule-dialog{width:min(34rem,calc(100vw - 2rem));max-height:calc(100vh - 4rem);padding:0;border:0;background:transparent;color:var(--text);overflow:visible}.schedule-dialog::backdrop{background:#141a178c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.schedule-form{max-height:calc(100vh - 4rem);overflow-y:auto}.schedule-days>section+section{margin-top:1.5rem}.schedule-entry-time{font-family:var(--font-mono);margin-right:.6rem;color:var(--muted)}.schedule-entry-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.schedule-entry.is-cancelled{opacity:.55}.schedule-entry.is-cancelled .record-main strong{text-decoration:line-through}.schedule-calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.schedule-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;background:var(--border);border:1px solid var(--border);border-radius:12px;overflow:hidden}.schedule-grid-weekday{padding:.4rem .5rem;background:var(--surface2);color:var(--muted);font-size:.78rem;text-align:center}.schedule-cell{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;min-height:5.5rem;padding:.35rem;border:0;background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer}.schedule-cell:hover{background:var(--surface2)}.schedule-cell.is-outside{color:var(--muted);background:var(--surface2)}.schedule-cell.is-today .schedule-cell-day{background:var(--sage);color:var(--on-accent)}.schedule-cell.is-selected{outline:2px solid var(--sage);outline-offset:-2px}.schedule-cell-day{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;height:1.6rem;border-radius:999px;font-size:.85rem}.schedule-chip{display:block;width:100%;padding:.1rem .35rem;border-radius:6px;background:var(--sage-soft);color:var(--text);font-family:var(--font-mono);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-chip.is-cancelled{background:var(--surface2);color:var(--muted);text-decoration:line-through}.schedule-chip.is-more{background:transparent;color:var(--muted)}.schedule-selected{margin-top:1.5rem}.schedule-selected-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.schedule-selected-header .section-title{margin:0}@media(max-width:700px){.schedule-toolbar{width:100%;justify-content:space-between}.schedule-cell{min-height:4rem;padding:.2rem}.schedule-cell-day{min-width:1.3rem;height:1.3rem;font-size:.75rem}.schedule-chip{width:.4rem;height:.4rem;padding:0;border-radius:999px;background:var(--sage);text-indent:-9999px}.schedule-chip.is-more{display:none}}.form-hint{margin:.35rem 0 0;font-size:.8rem}.dtp{position:relative}.dtp-field{display:flex;align-items:center;gap:6px}.dtp-field .menu-input{flex:1;min-width:0}.dtp-field input::-webkit-calendar-picker-indicator{display:none}.dtp-trigger{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex:none;border:1px solid var(--border);border-radius:10px;background:var(--surface2);color:var(--text);cursor:pointer}.dtp-trigger:hover{border-color:var(--sage);color:var(--sage)}.dtp-dialog{width:min(22rem,calc(100vw - 2rem));padding:0;border:0;background:transparent;color:var(--text)}.dtp-dialog::backdrop{background:#141a1773}.dtp-panel{padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-md)}.dtp-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.dtp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.dtp-weekday{padding-bottom:4px;color:var(--muted);font-size:.7rem;text-align:center}.dtp-day{padding:7px 0;border:0;border-radius:8px;background:transparent;color:var(--text);font:inherit;font-size:.82rem;cursor:pointer}.dtp-day:hover{background:var(--surface2)}.dtp-day.is-outside{color:var(--muted);opacity:.6}.dtp-day.is-today{box-shadow:inset 0 0 0 1px var(--sage)}.dtp-day.is-selected{background:var(--sage);color:var(--on-accent)}.dtp-time{display:grid;grid-template-columns:2fr 1fr;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.dtp-time-label{display:block;margin-bottom:4px;color:var(--muted);font-size:.7rem}.dtp-hours{display:grid;grid-template-columns:repeat(4,1fr);gap:2px}.dtp-minutes{display:grid;gap:2px}.dtp-slot{padding:5px 4px;border:0;border-radius:7px;background:var(--surface2);color:var(--text);font:inherit;font-family:var(--font-mono);font-size:.76rem;cursor:pointer}.dtp-slot:hover{background:var(--sage-soft)}.dtp-slot.is-selected{background:var(--sage);color:var(--on-accent)}
