@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-cyrillic-ext-wght-normal-DOFToQv1.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-cyrillic-wght-normal-DayYxulF.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-math-wght-normal-Bl4ZGkZl.woff2) format("woff2-variations");unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,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+1EE00-1EEFF}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-symbols-wght-normal-DxQzqQfC.woff2) format("woff2-variations");unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,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+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,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+1F000-1F0FF,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+1F700-1F7FF,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+1FB00-1FBFF}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-vietnamese-wght-normal-BBxOatbv.woff2) format("woff2-variations");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:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-latin-ext-wght-normal-QAhDxQuo.woff2) format("woff2-variations");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:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-latin-wght-normal-Dun_Rd-l.woff2) format("woff2-variations");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:Geologica Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geologica-cyrillic-ext-wght-normal-C8B9Chlh.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geologica Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geologica-cyrillic-wght-normal-DbeVG3Ps.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geologica Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geologica-greek-wght-normal-DPM5d9ub.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Geologica Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geologica-vietnamese-wght-normal-DcI17N1q.woff2) format("woff2-variations");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:Geologica Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geologica-latin-ext-wght-normal-DZyYlgcm.woff2) format("woff2-variations");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:Geologica Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geologica-latin-wght-normal-BBL8hQxZ.woff2) format("woff2-variations");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:Martian Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAxkABMAAAAAFZAAAAwBAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVIEmJyoAgQwvZBEICoosiE0LNgAwjiQBNgIkA2IEIAWGeAeBWwwHGzATIxG2k5OySvEXCbYhWv3gJrFpmoZGMZIax+NtVJ3VzdFgGn7fE9wAFrgQPhkhySw8fWvlr+qe4WMCdQFAhQrQRScSHDiUmxhzPjLv/P78e9afzDi32H3iHarWIEmFcQqmTmchdp/gP4Ff0P/pzP5oRmBgGWEpQNClugqo6PKuKNc3BxVg1QeQbG9WJpCJZQkp3XpLlszhJjDgHQblcAZnMRpJyPe/AGdh/3O/T5uzzPL9mc1sFlA4UqJCV+WnmJ8lyhK+X1ykEowHlJ26CncLgAoAlKiqsLbw7+L+G1JOWa5ZM17mPNKpEQOSOjN7vLaxCBCzeb2KIhiEiEyCACHFisn0LO2HNixAEkDRtcMoFDztZPkCiGBL8vWtfkd/QTPoc+ZLgCUkyAGSpNdrRKBwHlAPUNioPz3+Q+FZiOwP4qqmgp3kH3gHQPcNBihnEAQfBbIFQDW9d5pPEwTcO9I8AQh3ZS3yslBoVNrFOglyrXSk+vo91dP9eFeOYBwVR94uJadaae40JCBROZ0BKvHHAcH/DbfgfeC5vH5HXwpAutT3EWVzHNquU0wAFDBANoOgeMv9f50rncGl3IRrPUcw9hN5TT6SPn5QQzDrR/KKfCC9C9XrWbzTkM0yhyyCIjGppMt07og0YtKlkCFVq7NDOkXI5uOr2gNxoEWbKYdhq0LAb4BEYDZcmuHgLVwctXpw8rUPvrNg9SkQkyyAKVyg+wlyIWOA/AXgCWAbAAZNepMMjbq3hHAqDOWbEWuNb4uNQ6HullXc6u1NTanW2rxqQ63ilqiwWbDQLEQb0DpykZyfI4TA7n+X2PYeOvDOOwHy3XfJ/W/D1nfQgfdC6G0fg1qFIICpmwL/g0828ErPewSxjd787AVkohIMhQaSIO98e/e9m7E+xKJtpA7oOmFOaNrmiZOia3cneVeBrZeeIVhCEeQnc/P3RnQF0VW3rT13nL+0wde1KETzH8tfXrO7au/pKjWs85pCrtBL7xHb7n6xEZMp5TiQ9j9fC3+SEENhat5w1VNH6zMXo8GwYC6E/EsGNDKG8ENPwdbgk16E6jehA3cQ227vVSzgBvxB1/3v3z9xHecEmeAt/Dj/Udbc+yJ534sCETfLQUF85PCrb7xx/NWT7qrVsr15ISOc9S5aF0L1a67x1iMmJiTwZZrDxo0lExzEH+RSv8vj8j8WcvDNCvvA+acOdHcO9A9PDQw5hk5o7Gb9kPX8m1YyTTZbrCZ3ltaXM4dyyovKdJdK6R4cZmTU0nJYCDmxdw1lPrgctR7eyARmijpjoYFKCGxuyuAKlJMxX4FS0ZafEk12c5JTwf3pjDUxmbFTvkI85ys7pZTkaOoXRyQ9ZvavpYxHEsum/WsoD5ObVO9lUSt5K1hDK5c967govrbW8/HdOpdVTod8za74va+ce9Yd97x+GNAJ/Pjj8Y6lw9+e937x/p3/jFBvDTo8AeRP7nr2rDPffxtSYro4rosIxB0MbXsjLqdHzKMX/p/pUk/J3uBQfAfH2bNSfUQz3uWkbF/G5dph88jopEKvskq+4lByc/bSXq/Da79muzysthq6/R2dtm62eTpAuVzIcHkQ3Rerb91WhwfvC9Q3VutLx9vdeawOttODPwfX42HbuEFjGR30afMIp9mwSJRh3QkNtSCAR55SCVdiLmBP7VKwQrjCgcCqwDAxX165Jw2YxnVE5H5BfsAIDG6U36F9+xx0Q58SK1rMsVGrbRfe5dQvwZnWieqQ9fEWVdU0THVzGEPqLXU+6Gk+9jozBQEICiw6D8AqIEe3cbQjbgkvq3Id+sSYtZDpZSSMgZnRoC4rt33aLzBvCrEc58bhWVhvEJOKkAp8YH00KklDb2ihf+iHynhNZivp8MDzfAzRIw+kVQ1vBIOVCv2Z27kTDna7B6khd/N0OI2nEVkWxXLO8+fw3Ol8TnOAMHI+BAimYAQNZADL2GHwy1Yw0nuFLMIxdswFv2IMOGlS+sUNKRyzKY13unxDsa8slfLVAfUTgmGhSEAsIYnTaQEo3hzy6Y/RWCWdZqWXg+zNid3n+/ixMXdu1XSX0khlQiGRxVUwqARBHXY6G/fTJIgePf2SKJqwQjXq4VjEQDe7tVbYzrROzmfxVWDfu8OS2fqnrs39IMLX7KuhsCUQUKvP3VNSjb7QEPO8I33KBNfFTuop5Bi6uuJyOt0eSP2COnJ+t2Mhf7wt4VGqog/vEROmJDcbdAoshKTBZNJjWh12a9JnumVz0+CNyGPm1YZEDzXBk1gplBrDuS2ugpL0/nNNrhclstyiDkd/ttC7Q1slBLkxjEtiY5zkBIfn6jY+yfA8+YnFvGB1uih0Iuw0DjuF3eBMNbqgDcqkJaUy3qBpXn6t2ynOLNGgtFEcUAMh6nS+GHckjNWkxbfXeucb48zpwWCoECo6EGLI5UPG4PUzYJBjVs+rgjOYy/WQPYYHhXzYbXQooPd4bJNJK0dXcO/exFM9o2iKC7gwNV4wLS1Z542UubImrsZ+D6lPNdbhJ4sdz0dyqUCBmt6/F/y70sR59p5QSDpURNZps/lsVNvLYsFgE0Ua90OjMV4Yo9B6rZP5GHIbYNorSxKqw4XgiTVHwv6uazaTcYG0seDb3RPU6/G5NkQjglH0oO2P7ePh8ELBLrbrmYAzniEt5mD5xo0P32pL0VKuUG8MJmsUDwY3byYtg0qHmNPc3Hx9Z8qzNwPqzEaMry//IfGF61DQpIx3bV+NhXye+q80UQyHu8SIQTHHFImsbG/ftkWsEjux8zm4KrqKcmBXbPPFy42uIu7Z3R/PVawz03V0797P5mJ9Kredz7+7z5M8/UhdK72441Luo8CJU/KITSnlwlG/aOHQp7B9+7pEM1YIs66y7YdI+OgNKlfM1e5237hb3ujgyz7aspKACRZbCwaMi7GBDEPStyYIICFGXAy4SEr13mgsGnEb9a5V6JAJerlsPG6FSS2rnlytP7ouz9pSrYl4LtcLhfL59W3QfYTApN9pN6vVNmeLHDhtTkKvxwrN6E02u+j12mft1E3N3PhjpBBvpeKFy9B9aCKXK+XGYD4tvIHekIfG5W3l6gDpXQEJHhNniO4+a0DfS70O+E2FQjAIt0H3KQoyijarxaC28p/ev3iIk5blGaFhKLfb3SG2B1d3HNbMVVEUlK7F0oU6Cjcuwiz6YnUCIEQQYhgkZPPdSKUKHq8gl7OyPNPPZDC5vQYYVmtBvw3aV02zM7C8OAGnU2BbBSfVDkYYHxQv7a/UKMhJkCmuzfd7KVYDAfXkQYQ4k48fbNQSy+9K9DokS6by6VKA6+vOxKKSrZQGQNieCLEjAuDyF6RswakesYWCclthzQGRFuylSVGWO/0FkbMYjeT8lertoQoaNZuAQQxm7hKGfhJTzWS2QZNj++Vyo1taN2IGKRoQgWjT6QwQACCAyW+ZO3+w6IYCxlUAgEyl/T+vAHD49c4fyWr1pTsWXBRkK7/KqvV7J+w/dQgg2Oi82rdglu7Bg4NggpdhqzAvKmSkYPPuDBEA+Pu04EssfPMeIKBQD8MA2wyjzhtl+QcYsQHwOXkHFzpzL1dS5QM3bMfJLZMRcIdC/7nLqK/pqfR6kEsg5iYXQs5zxec4N2Rb5paQyQqnIQq4S0wv90hXy318SnlApvhtxMTAqqKKPBbHbi1eBcuiiBNH1ifRrMo4wSCua5Wmw0kpaXyWpQHtnz0ZBSEbx9MZkqCovTPxSqo02rQFG1MxW8In8aNuac5UQ8+cMmaNA43B7paXMVvAWGpBUTXFlMIm3lQ7YpP1KTWcWAczU8mvzEisQ6v27dayV+Fi//C4BLw0o3/IKtd0PO20jd7StbMbaq2Kaec6Fe3XY53a90z5STrSBJzdrqsEne2aWIbWCbXTZ4paHhqrP5Wt52RotiZ6+k8pyletZ6ycUplsUZ2u1hVXlr0DlM3yJk8ChF+iEFT7QzDUqjfNYcp8GsWKI6544ksgoUQYiSVFUiVN0tFqznyyklhJtNauZsb3SaQoymyOto0HKSIcEm8r2BI8EawMlNbtMovXS3ZZZIYqtvyBptGxde3sqRrvWAFte8ctaKZE+SjSdpPfAQ==) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Martian Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/martian-mono-cyrillic-wght-normal-B84CD5C_.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Martian Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/martian-mono-latin-ext-wght-normal-DlL6xMw5.woff2) format("woff2-variations");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:Martian Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/martian-mono-latin-wght-normal-5W32yIyr.woff2) format("woff2-variations");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: oklch(.978 .0025 75);--bg-sidebar: oklch(.962 .0025 75);--surface: oklch(.998 .0025 75);--surface-2: oklch(.965 .0025 75);--surface-hover: oklch(.938 .0025 75);--field: oklch(.998 .0025 75);--border: oklch(.915 .0025 75);--border-strong: oklch(.86 .0025 75);--border-hover: oklch(.78 .003 75);--text: oklch(.215 .0025 75);--text-secondary: oklch(.38 .0025 75);--text-muted: oklch(.53 .0025 75);--text-faint: oklch(.68 .0025 75);--accent: var(--text);--accent-contrast: oklch(.99 .002 75);--signal: oklch(.62 .115 165);--signal-bright: oklch(.74 .13 165);--signal-glint: oklch(.91 .08 165);--reward: oklch(.72 .15 78);--reward-contrast: oklch(.22 .02 78);--info: oklch(.56 .1 255);--epic: oklch(.55 .13 300);--success: oklch(.56 .13 150);--warning: oklch(.62 .13 78);--danger: oklch(.56 .13 27);--shadow: oklch(.2 .01 75 / .32);--scrim: oklch(.2 .01 75 / .45);--psy-fear: oklch(.716 .141 357.4);--psy-shadow: oklch(.433 .167 283.6);--psy-pattern: oklch(.764 .161 75.1);--psy-trigger: oklch(.529 .18 142.5);--psy-series: oklch(.575 .163 255.5);--font-sans: "Onest Variable", "Segoe UI", system-ui, sans-serif;--font-display: "Geologica Variable", "Onest Variable", "Segoe UI", system-ui, sans-serif;--font-mono: "Martian Mono Variable", ui-monospace, Consolas, monospace;--text-2xs: 11px;--text-xs: 12px;--text-sm: 13px;--text-md: 14px;--text-lg: 16px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 32px;--weight-regular: 400;--weight-medium: 510;--weight-semibold: 590;--glow-k: .65;--moment-gradient: linear-gradient(135deg, var(--signal), var(--reward));--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-pill: 999px;--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-travel: cubic-bezier(.3, .3, .6, 1);--ease-drawer: cubic-bezier(.32, .72, 0, 1);--ease-progress: cubic-bezier(.05, .7, .1, 1);--dur-fast: .12s;--dur-base: .2s;--dur-slow: .3s;font-family:var(--font-sans);font-optical-sizing:auto;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: oklch(.168 .005 75);--bg-sidebar: oklch(.148 .005 75);--surface: oklch(.198 .005 75);--surface-2: oklch(.228 .005 75);--surface-hover: oklch(.262 .005 75);--field: oklch(.175 .005 75);--border: oklch(.285 .005 75);--border-strong: oklch(.35 .005 75);--border-hover: oklch(.43 .005 75);--text: oklch(.955 .005 75);--text-secondary: oklch(.85 .005 75);--text-muted: oklch(.715 .005 75);--text-faint: oklch(.52 .005 75);--accent-contrast: oklch(.18 .01 75);--signal: oklch(.76 .12 165);--signal-bright: oklch(.87 .1 165);--signal-glint: oklch(.97 .045 165);--reward: oklch(.82 .14 78);--reward-contrast: oklch(.2 .02 78);--info: oklch(.74 .09 255);--epic: oklch(.74 .11 300);--success: oklch(.74 .12 150);--warning: oklch(.74 .12 78);--danger: oklch(.74 .12 27);--shadow: oklch(0 0 0 / 1);--scrim: oklch(.05 0 0 / .85);--psy-fear: oklch(.622 .171 .8);--psy-shadow: oklch(.67 .145 286.8);--psy-pattern: oklch(.67 .143 73.2);--psy-trigger: oklch(.529 .18 142.5);--psy-series: oklch(.622 .161 255.1);--glow-k: 1}}:root[data-theme=dark]{color-scheme:dark;--bg: oklch(.168 .005 75);--bg-sidebar: oklch(.148 .005 75);--surface: oklch(.198 .005 75);--surface-2: oklch(.228 .005 75);--surface-hover: oklch(.262 .005 75);--field: oklch(.175 .005 75);--border: oklch(.285 .005 75);--border-strong: oklch(.35 .005 75);--border-hover: oklch(.43 .005 75);--text: oklch(.955 .005 75);--text-secondary: oklch(.85 .005 75);--text-muted: oklch(.715 .005 75);--text-faint: oklch(.52 .005 75);--accent-contrast: oklch(.18 .01 75);--signal: oklch(.76 .12 165);--signal-bright: oklch(.87 .1 165);--signal-glint: oklch(.97 .045 165);--reward: oklch(.82 .14 78);--reward-contrast: oklch(.2 .02 78);--info: oklch(.74 .09 255);--epic: oklch(.74 .11 300);--success: oklch(.74 .12 150);--warning: oklch(.74 .12 78);--danger: oklch(.74 .12 27);--shadow: oklch(0 0 0 / 1);--scrim: oklch(.05 0 0 / .85);--psy-fear: oklch(.622 .171 .8);--psy-shadow: oklch(.67 .145 286.8);--psy-pattern: oklch(.67 .143 73.2);--psy-trigger: oklch(.529 .18 142.5);--psy-series: oklch(.622 .161 255.1);--glow-k: 1}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;font-size:var(--text-md);line-height:1.5}h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--weight-semibold);letter-spacing:-.012em}.summary-card strong,.metric-card strong,.progress-meta span,.reward-result-showcase strong,.celebration-card strong,.profile-title,.auth-brand strong,.brand strong,.progress-copy h2{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.avatar-level-badge,.celebration-xp-values,.chip-count,.chip-goal-count,.chip-skill-xp,.column-count,.focus-ring-time,.goal-xp-cell,.habit-count-pill,.habit-overview-xp,.metric-value,.panel-counter,.skill-xp-cell,.topbar-xp-label,.streak-chip b,.race-points,.race-place,.xp-to-level,.estimate-chip,.due-chip{font-family:var(--font-mono);font-size-adjust:.5;font-variant-numeric:tabular-nums;letter-spacing:-.01em}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}button,input,select{font:inherit}button{cursor:pointer;transition:transform .12s ease,border-color .12s ease,background .12s ease,box-shadow .12s ease}button:active{transform:translateY(1px) scale(.99)}.app-shell{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh;background:var(--bg)}.app-shell.sidebar-collapsed{grid-template-columns:76px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;padding:24px 18px;border-right:1px solid var(--border);background:var(--bg-sidebar)}.sidebar.collapsed{padding-inline:12px}.brand{display:flex;gap:12px;align-items:center;margin-bottom:28px}.brand-copy{min-width:0}.brand-mark{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border-radius:var(--radius-md);color:var(--accent-contrast);background:var(--accent);font-weight:var(--weight-semibold)}.brand-mark-svg{width:22px;height:22px}.brand strong{display:block}.sidebar-toggle{margin-left:auto}.sidebar.collapsed .brand{justify-content:center}.sidebar.collapsed .brand-copy,.sidebar.collapsed .nav-list button span{display:none}.sidebar.collapsed .sidebar-toggle{margin-left:0}.nav-list{display:grid;gap:6px}.nav-list button{display:flex;gap:10px;align-items:center;min-height:40px;border:1px solid transparent;padding:0 10px;border-radius:var(--radius-md);color:var(--text-secondary);background:transparent;text-align:left}.sidebar.collapsed .nav-list button{justify-content:center;padding:0}.nav-list button:hover,.nav-list button.active{border-color:var(--border-strong);background:var(--surface-hover)}.nav-list button.active{color:var(--text);font-weight:var(--weight-semibold)}.workspace{padding:28px;display:flex;flex-direction:column;min-height:100vh;box-sizing:border-box}.workspace-head{display:flex;align-items:center;gap:14px;margin-bottom:22px}.topbar{display:flex;align-items:center;gap:16px;flex:1;min-width:0;padding:14px 18px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.topbar-character{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;width:116px;flex-shrink:0}.character-stage{position:relative;width:100%}.character-stage-canvas{width:100%;height:132px;cursor:grab;touch-action:none}.character-stage-canvas:active{cursor:grabbing}.character-stage-canvas canvas{display:block;width:100%;height:100%}.character-stage-flat{display:flex;align-items:center;justify-content:center;height:132px}.character-stage-actions{position:absolute;right:0;bottom:2px;display:flex;gap:4px;opacity:0;transition:opacity .16s}.character-stage:hover .character-stage-actions,.character-stage:focus-within .character-stage-actions{opacity:1}.character-open{padding:3px 12px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-2xs);cursor:pointer;transition:border-color .15s,color .15s}.character-open.is-unpicked{padding:3px 8px;border-color:color-mix(in srgb,var(--signal) 45%,var(--border));color:var(--text);font-family:var(--font-sans);font-size:var(--text-2xs);font-weight:var(--weight-medium);white-space:nowrap}.character-open:hover{border-color:var(--border-hover);color:var(--text)}@media(hover:none){.character-stage-actions{opacity:1}}.topbar-actions{position:relative;display:flex;align-items:center;gap:8px;flex-shrink:0;padding-left:16px;border-left:1px solid var(--border)}.avatar-ring-wrap{position:relative;width:76px;height:76px;flex-shrink:0}.avatar-ring-btn{background:none;border:none;padding:0;cursor:pointer;border-radius:50%}.avatar-ring-btn:hover .avatar-circle{background:var(--border-strong)}.avatar-circle{display:flex;align-items:center;justify-content:center;width:76px;height:76px;border:none;border-radius:50%;background:var(--surface-hover);color:var(--text-muted);overflow:hidden;transition:background .15s}.avatar-ring-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.avatar-level-badge{position:absolute;bottom:0;right:-2px;width:22px;height:22px;border-radius:50%;background:var(--surface);border:1px solid var(--border-strong);font-size:var(--text-2xs);font-weight:var(--weight-semibold);display:flex;align-items:center;justify-content:center;color:var(--text)}.topbar-center{flex:1;min-width:0;display:flex;flex-direction:column;gap:14px}.topbar-identity{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:var(--text-sm)}.character-level-title{font-weight:var(--weight-semibold);color:var(--text)}.character-sep{color:var(--text-faint)}.character-top-skill{color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--weight-medium)}.topbar-progress{display:flex;flex-direction:column;gap:7px;min-width:0}.topbar-progress-header{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.topbar-level-label{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--text);white-space:nowrap}.topbar-xp-label{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap}.topbar-bar{width:100%;height:14px}.stat-chips-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.stat-chip-wrap{position:relative}.stat-chip{display:flex;align-items:center;gap:5px;padding:5px 11px;border-radius:var(--radius-xl);border:1px solid var(--border);background:var(--surface);font-size:var(--text-xs);color:var(--text-secondary);cursor:pointer;transition:border-color .15s,background .15s,color .15s}.stat-chip:hover{border-color:var(--border-hover);background:var(--surface-hover);color:var(--text)}.chip-count{font-weight:var(--weight-semibold);color:var(--text);margin-left:1px}.stat-chip-panel{position:absolute;top:calc(100% + 6px);left:0;z-index:50;min-width:220px;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 8px 24px color-mix(in srgb,var(--shadow) 45%,transparent)}.chip-panel-title{margin:0 0 9px;font-size:var(--text-2xs);font-weight:var(--weight-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.chip-skill-row{display:flex;align-items:center;gap:7px;margin-bottom:7px}.chip-skill-name{flex:1;font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-skill-xp{font-size:var(--text-2xs);color:var(--text-muted);white-space:nowrap}.chip-mini-bar{flex:1;height:4px;border-radius:2px;background:var(--border-strong);overflow:hidden;min-width:40px}.chip-mini-bar>div{height:100%;border-radius:2px;transition:width .4s ease}.chip-goal-row{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px solid var(--border);font-size:var(--text-sm)}.chip-goal-row:last-child{border-bottom:none}.chip-goal-type{color:var(--text-secondary)}.chip-goal-count{font-weight:var(--weight-semibold);color:var(--text)}.chip-task-stat{display:flex;justify-content:space-between;font-size:var(--text-sm);padding:4px 0}.chip-task-bar{margin-top:8px;flex:unset;width:100%}.chip-habit-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;font-size:var(--text-sm);border-bottom:1px solid var(--border)}.chip-habit-row:last-child{border-bottom:none}.chip-habit-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary)}.streak-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border:1px solid var(--border);border-radius:var(--radius-pill);font-size:var(--text-xs);color:var(--text-secondary);white-space:nowrap}.streak-chip.done{border-color:color-mix(in srgb,var(--reward) 45%,transparent);color:var(--reward);background:color-mix(in srgb,var(--reward) 10%,transparent)}.streak-chip b{font-weight:var(--weight-semibold)}.streak-reserve{display:inline-flex;align-items:center;gap:2px;padding-left:5px;border-left:1px solid var(--border);color:var(--text-muted)}.races-stack{display:grid;gap:14px}.race-line{margin:0;font-size:var(--text-sm);color:var(--text-secondary)}.race-form{display:grid;gap:12px;margin-top:12px}.race-modes{display:flex;gap:6px}.mode-option{padding:7px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer}.mode-option.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--text)}.race-invite-link{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0;padding:10px;border:1px dashed var(--border-strong);border-radius:var(--radius-sm)}.race-invite-link code{font-family:var(--font-mono);font-size:var(--text-xs);word-break:break-all}.race-copied{font-size:var(--text-xs);color:var(--success)}.race-target{display:grid;gap:6px;margin:12px 0;font-size:var(--text-sm);color:var(--text-secondary)}.race-target-bar{height:10px;border-radius:var(--radius-pill);background:var(--surface-hover);overflow:hidden}.race-target-bar span{display:block;height:100%;border-radius:var(--radius-pill);background:var(--moment-gradient)}.race-table{display:grid;gap:4px;margin:12px 0 8px;padding:0;list-style:none}.race-row{display:grid;grid-template-columns:28px 1fr auto auto;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-sm)}.race-row.me{border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.race-row.left{opacity:.55}.race-place{font-family:var(--font-mono);color:var(--text-muted)}.race-streak{display:inline-flex;align-items:center;gap:3px;color:var(--text-muted);font-size:var(--text-xs)}.race-points{font-weight:var(--weight-semibold)}.race-join{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin:10px 0}.race-invite-line{margin:0 0 6px;font-size:var(--text-sm)}@media(max-width:560px){.race-row{grid-template-columns:24px 1fr auto}.race-streak{display:none}}.streak-settings{display:grid;gap:12px}.streak-facts{display:flex;flex-wrap:wrap;gap:14px;font-size:var(--text-sm);color:var(--text-secondary)}.streak-weekdays{display:flex;flex-wrap:wrap;gap:6px}.weekday-option{min-width:42px;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-secondary);font-size:var(--text-xs);cursor:pointer}.weekday-option.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--text)}.streak-vacation{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.chip-empty{font-size:var(--text-xs);color:var(--text-faint);margin:4px 0 0;text-align:center}.panel-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.eyebrow{margin:0 0 6px;color:var(--info);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase}.notice{display:flex;gap:10px;align-items:center;margin-bottom:18px;padding:12px 16px;border:1px solid var(--danger);border-radius:var(--radius-md);background:var(--surface-2);color:var(--danger);font-size:var(--text-sm);font-weight:var(--weight-medium)}.notice>span{flex:1;min-width:0}.notice-toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:60;width:min(420px,calc(100vw - 24px));margin:0;box-shadow:0 12px 32px color-mix(in srgb,var(--shadow) 45%,transparent)}.notice-retry{flex-shrink:0;padding:4px 12px;border:1px solid color-mix(in srgb,var(--danger) 40%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--danger) 8%,transparent);color:var(--danger);font-size:var(--text-xs);font-weight:var(--weight-semibold);cursor:pointer;transition:background .15s}.notice-retry:hover{background:color-mix(in srgb,var(--danger) 16%,transparent)}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:260px;color:var(--text-muted);font-size:var(--text-sm)}.loading-spinner{width:28px;height:28px;border:3px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.view-stack{display:grid;gap:16px;align-self:flex-start}.progress-hero{position:sticky;top:0;z-index:12;display:grid;grid-template-columns:minmax(220px,.55fr) minmax(360px,1.45fr);gap:18px;align-items:center;margin-bottom:16px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-md);background:linear-gradient(135deg,color-mix(in srgb,var(--signal) 8%,transparent),color-mix(in srgb,var(--info) 8%,transparent)),var(--surface);box-shadow:0 18px 40px color-mix(in srgb,var(--shadow) 24%,transparent)}.progress-copy h2{margin:0;font-size:var(--text-3xl);letter-spacing:0}.progress-copy p{max-width:540px;margin:6px 0 0;color:var(--text-secondary)}.progress-module{min-width:0}.progress-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.progress-meta div{display:grid;gap:2px}.progress-meta span{font-size:var(--text-2xl);font-weight:var(--weight-semibold)}.progress-settings{flex:0 0 auto}.progress-meta small,.milestone-row,.metric-label,.metric-card small,.entity-row small,.kanban-card small,.reward-card small{color:var(--text-muted)}.axon-bar{--axon-cycle: 4s;--axon-landing: .72;isolation:isolate;display:flex;pointer-events:none;align-items:stretch;width:100%;height:100%}.axon-bar svg{height:100%;overflow:visible}.axon-bar-cell{flex:none;width:auto;aspect-ratio:30 / 20}.axon-bar-line{display:block;flex:1;min-width:0}.axon-bar-fibre{fill:color-mix(in srgb,var(--border-strong) 72%,var(--surface-hover))}.axon-reveal{transition:width var(--dur-slow) var(--ease-progress)}.axon-bar-halo{fill:var(--signal);filter:blur(3.5px);opacity:calc((.22 + .3 * var(--charge, 0)) * var(--glow-k))}.axon-bar-fill{fill:var(--signal)}.axon-stalk-cell{stop-color:var(--signal)}.axon-stalk-track{stop-color:color-mix(in srgb,var(--border-strong) 72%,var(--surface-hover))}.axon-bar[data-active=true] .axon-stalk-track{stop-color:var(--signal)}.axon-pulse-glow{stroke:var(--signal-bright);stroke-opacity:calc(.5 * var(--glow-k) * var(--glow-k));filter:blur(4px)}.axon-pulse-tail{stroke:var(--signal-bright);stroke-opacity:.5;filter:blur(3px)}.axon-pulse-middle{stroke:var(--signal-glint);stroke-opacity:.75;filter:blur(2px)}.axon-pulse-head{stroke:var(--signal-glint);filter:blur(.6px)}.axon-bar-wave:is(.axon-pulse-glow,.axon-pulse-tail,.axon-pulse-middle,.axon-pulse-head){animation-timing-function:var(--ease-travel)}.axon-bar-core{fill:none;stroke:var(--signal-bright);stroke-linecap:round;opacity:.3;filter:blur(.6px)}.axon-bar-wave{fill:none;stroke:var(--signal-bright);stroke-dasharray:var(--wave, 20) 100;stroke-linecap:round;filter:blur(4px);animation:axon-wave-sweep var(--axon-cycle) var(--ease-out) infinite}.axon-bar-invite{fill:none;stroke:color-mix(in srgb,var(--signal) 80%,transparent);stroke-dasharray:var(--wave, 12) 100;stroke-linecap:round;filter:blur(2px);opacity:0;animation:axon-invite var(--axon-cycle) linear infinite;animation-delay:calc(var(--axon-cycle) * var(--axon-landing))}@keyframes axon-invite{0%{stroke-dashoffset:calc((var(--wave, 12) - var(--fill, 0)) * 1px);opacity:0}5%{opacity:calc(.6 * var(--glow-k))}26%{opacity:calc(.5 * var(--glow-k))}32%,to{stroke-dashoffset:calc((var(--wave, 12) - 100) * 1px);opacity:0}}@keyframes axon-wave-sweep{0%,18%{stroke-dashoffset:calc(var(--wave, 20) * 1px);opacity:0}24%{opacity:calc(.6 + .35 * var(--charge, 0))}72%{stroke-dashoffset:calc((var(--wave, 20) - var(--fill, 0)) * 1px);opacity:calc(.6 + .35 * var(--charge, 0))}84%,to{stroke-dashoffset:calc((var(--wave, 20) - var(--fill, 0)) * 1px);opacity:0}}@keyframes axon-halo-pulse{0%,to{opacity:calc((.2 + .3 * var(--charge, 0)) * var(--glow-k))}50%{opacity:calc((.35 + .45 * var(--charge, 0)) * var(--glow-k))}}.animated-progress{position:relative;height:46px}.animated-progress.near-levelup .axon-bar-halo{animation:axon-halo-pulse 3s ease-in-out infinite}.milestone-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px;font-size:var(--text-xs)}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:14px}.metric-card,.panel,.kanban-column{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.metric-card{min-height:126px;padding:16px}.metric-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;margin-bottom:12px;border-radius:var(--radius-md);color:var(--signal);background:var(--surface-hover)}.metric-card strong{display:block;margin-top:6px;font-size:var(--text-2xl)}.split-grid,.rewards-layout{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr);gap:14px}.rewards-layout.workspace-section{align-items:start}.reward-form-field-labeled{display:flex;flex-direction:column;gap:4px}.reward-form-field-labeled span{font-size:var(--text-xs);color:var(--text-muted);font-weight:var(--weight-medium)}.overview-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.48fr);gap:16px;align-items:start}.overview-workspace.rail-collapsed{grid-template-columns:minmax(0,1fr)}.overview-rail{display:grid;gap:16px}.skills-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:14px;align-items:start}.skills-layout.contextual{grid-template-columns:minmax(220px,.72fr) minmax(0,1.45fr) minmax(280px,.78fr)}.skills-dashboard{display:grid;grid-template-columns:minmax(410px,2fr) minmax(0,3fr);gap:16px;align-items:start}.skills-dashboard>*{min-width:0}.skills-right-rail{display:grid;gap:16px;order:-1;min-width:0}.skill-goals-main{display:flex;flex-direction:column}.skill-sidebar .skill-row-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-select-row{min-width:0}.panel{padding:16px}.panel-header,.section-heading,.reward-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-header{justify-content:flex-start;margin-bottom:14px}.panel-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-title-row .panel-header{margin-bottom:0}.panel-counter{display:inline-flex;align-items:center;min-height:28px;border:1px solid var(--border-strong);border-radius:var(--radius-pill);color:var(--text-secondary);background:var(--surface-2);padding:0 10px;font-size:var(--text-xs);font-weight:var(--weight-semibold);white-space:nowrap}.panel-counter.warning{border-color:var(--reward);color:var(--reward)}.segmented-control{display:inline-flex;overflow:hidden;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-2)}.segmented-control button{min-height:34px;border:0;border-right:1px solid var(--border);background:transparent;color:var(--text-secondary);padding:0 12px;font-size:var(--text-xs);font-weight:var(--weight-semibold)}.segmented-control button:last-child{border-right:0}.segmented-control button:hover{background:var(--surface-hover);color:var(--text)}.segmented-control button.active{background:var(--border-strong);color:var(--text);box-shadow:inset 0 0 0 1px var(--border-strong)}.compact-warning{display:flex;align-items:center;gap:8px;min-height:36px;margin-bottom:12px;border:1px solid color-mix(in srgb,var(--reward) 42%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--reward) 8%,transparent);color:var(--reward);padding:0 10px;font-size:var(--text-xs);font-weight:var(--weight-semibold)}.goal-filter-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;border-bottom:1px solid var(--border);padding-bottom:10px}.goal-filter-chip{display:inline-flex;align-items:center;gap:7px;min-height:30px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-secondary);padding:0 10px;font-size:var(--text-xs);font-weight:var(--weight-semibold)}.goal-filter-chip small{color:var(--text-muted)}.goal-filter-chip.active,.goal-filter-chip:hover{background:var(--surface-hover);color:var(--text)}.goal-filter-chip.recurring{border-color:color-mix(in srgb,var(--signal) 52%,transparent)}.goal-filter-chip.short_term{border-color:color-mix(in srgb,var(--info) 52%,transparent)}.goal-filter-chip.medium_term{border-color:color-mix(in srgb,var(--reward) 52%,transparent)}.goal-filter-chip.long_term{border-color:color-mix(in srgb,var(--danger) 52%,transparent)}.skill-goal-add-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;color:var(--text);font-size:var(--text-xs)}.skill-goal-add-row strong{color:var(--text-secondary)}.skill-goal-hierarchy{flex:1;margin-top:10px}.skill-goal-bottom-actions{display:flex;justify-content:center;margin-top:auto;border-top:1px solid var(--border);padding-top:14px}.skill-goals-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:40px 20px;color:var(--text-faint);text-align:center}.skill-goals-empty-title{margin:0;font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--text-muted)}.skill-goals-empty-hint{margin:0;font-size:var(--text-sm);color:var(--text-faint);max-width:300px;line-height:1.5}.skill-goals-next{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 20px;text-align:center}.skill-goals-next-text{margin:0;font-size:var(--text-md);color:var(--text-muted)}.done-goals-section{margin-top:12px;border-top:1px solid var(--border);padding-top:8px}.done-goals-toggle{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:var(--radius-sm);border:none;background:none;color:var(--text-faint);font-size:var(--text-xs);font-weight:var(--weight-medium);cursor:pointer;transition:color .15s,background .15s;width:100%;text-align:left}.done-goals-toggle:hover{color:var(--text-muted);background:var(--surface-hover)}.done-goals-toggle .rotated{transform:rotate(180deg)}.xp-to-level{display:block;font-size:var(--text-2xs);color:var(--text-faint);line-height:1.3;margin-top:1px}.xp-to-level.ready{color:var(--signal)}.goal-table,.skill-table{display:grid;min-width:0}.goal-table>.empty-state,.skill-table>.empty-state{grid-column:1 / -1}.goal-table-header,.goal-table-row{display:grid;grid-template-columns:minmax(260px,1fr) minmax(140px,220px) 92px 136px;align-items:center;gap:12px}.goal-table-header{padding-left:36px}.goal-table.compact .goal-table-header,.goal-table.compact .goal-table-row{grid-template-columns:minmax(0,1fr) 136px}.goal-table.skill-scoped .goal-table-header,.goal-table.skill-scoped .goal-table-row,.goal-table-row.skill-scoped,.goal-table-header.skill-scoped{grid-template-columns:minmax(0,1fr) 52px 116px}.goal-table-header,.skill-table-header{min-height:36px;border-bottom:1px solid var(--border-strong);color:var(--text);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.skill-table-header span:nth-child(2),.skill-table-header span:nth-child(3),.skill-table-header span:nth-child(5){text-align:center}.skill-table-row>span:nth-child(2),.skill-table-row>span:nth-child(3){text-align:center}.goal-table-row{position:relative;min-height:46px;border-bottom:1px solid var(--border);padding:6px 0 6px 36px;border-left:3px solid transparent}.goal-hierarchy-node>.goal-table-row,.goal-table-row.skill-scoped{padding-left:36px}.goal-table-row.type-recurring{border-left-color:var(--signal)}.goal-table-row.type-short_term{border-left-color:var(--info)}.goal-table-row.type-medium_term{border-left-color:var(--reward)}.goal-table-row.type-long_term{border-left-color:var(--danger)}.goal-table-row:hover{background:color-mix(in srgb,var(--text) 2.5%,transparent)}.goal-table-row.done{opacity:.72}.goal-table-row.done .goal-name-cell strong{color:var(--text-muted);text-decoration:line-through}.goal-table-row.done .goal-status-button{border-color:var(--signal);color:var(--signal);background:color-mix(in srgb,var(--signal) 10%,transparent)}.goal-table-row.ready{background:color-mix(in srgb,var(--accent) 5.5%,transparent)}.goal-table-row.ready .goal-status-button{border-color:var(--accent);color:var(--accent);box-shadow:0 0 14px color-mix(in srgb,var(--signal) calc(22% * var(--glow-k)),transparent)}.goal-status-button{position:absolute;left:0;display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--border-strong);border-radius:50%;background:transparent;color:var(--text-muted)}.goal-status-button:hover{border-color:var(--accent);color:var(--accent)}.goal-name-cell,.skill-name-cell{min-width:0;border:0;background:transparent;color:var(--text);padding:0;text-align:left}.goal-name-cell{display:grid;gap:5px}.goal-name-cell:hover,.skill-name-cell:hover{background:transparent}.goal-name-cell strong,.goal-name-cell small,.goal-skill-cell,.skill-name-cell strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.goal-name-cell>span{display:flex;align-items:center;gap:8px;min-width:0}.goal-name-cell small,.goal-skill-cell{color:var(--text-muted);font-size:var(--text-xs)}.goal-ready-pill{display:inline-flex;align-items:center;min-height:20px;border:1px solid var(--border-strong);border-radius:var(--radius-pill);padding:0 8px;font-weight:var(--weight-semibold)}.goal-ready-pill{border-color:color-mix(in srgb,var(--accent) 50%,transparent);color:var(--accent)!important;background:color-mix(in srgb,var(--accent) 8%,transparent)}.goal-xp-cell{color:var(--signal);font-size:var(--text-sm)}.goal-row-actions{display:flex;justify-content:flex-end;gap:6px}.goal-linked-card-section{display:grid;gap:10px}.goal-linked-card-header{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--text);font-weight:var(--weight-semibold)}.goal-linked-card-list{display:grid;gap:7px}.goal-linked-card{display:grid;grid-template-columns:minmax(0,1fr) auto 32px;align-items:center;gap:10px;min-height:46px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-2);padding:7px 8px}.goal-linked-card.habit{grid-template-columns:minmax(0,1fr) auto auto}.goal-linked-card.done{opacity:.65}.goal-linked-card-title{display:grid;gap:2px;min-width:0;border:0;background:transparent;color:var(--text);padding:0;text-align:left}.goal-linked-card-title strong,.goal-linked-card-title small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.goal-linked-card-title small,.goal-linked-card>span{color:var(--text-muted);font-size:var(--text-xs)}.goal-linked-card.done .goal-linked-card-title strong{color:var(--text-muted);text-decoration:line-through}.goal-linked-card-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px}.habit-done-pill.just-done{animation:done-pop .36s var(--ease-out),done-ring .56s var(--ease-out)}@keyframes done-pop{0%{transform:scale(.88)}}@keyframes done-ring{0%{box-shadow:0 0 color-mix(in srgb,var(--signal) calc(45% * var(--glow-k)),transparent)}to{box-shadow:0 0 0 8px transparent}}.habit-done-pill{display:inline-flex;align-items:center;min-height:24px;border:1px solid color-mix(in srgb,var(--signal) 45%,transparent);border-radius:var(--radius-pill);padding:0 8px;color:var(--signal);font-size:var(--text-2xs);font-weight:var(--weight-semibold)}.goal-task-grid.habit-grid{grid-template-columns:minmax(0,1fr) 120px}.habits-overview-panel{display:grid;gap:14px}.habit-count-pill{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:24px;border:1px solid color-mix(in srgb,var(--signal) 35%,transparent);border-radius:var(--radius-pill);padding:0 9px;color:var(--signal);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.habit-overview-list{position:relative;display:grid;gap:8px}.habit-overview-row{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(190px,.9fr) 54px auto;align-items:center;gap:12px;min-height:58px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);padding:9px 10px}.habit-overview-row.done{border-color:color-mix(in srgb,var(--signal) 35%,transparent);background:var(--surface)}.habit-overview-main{display:grid;gap:4px;min-width:0;border:0;background:transparent;color:inherit;padding:0;text-align:left}.habit-overview-main:hover{background:transparent}.habit-overview-main strong,.habit-overview-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.habit-overview-main span{color:var(--text-muted);font-size:var(--text-xs)}.habit-overview-links{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.habit-overview-links .goal-chip,.habit-overview-links .skill-chip{max-width:100%}.habit-overview-xp{color:var(--signal);font-size:var(--text-sm);text-align:right}.habit-overview-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px}@media(max-width:560px){.goal-linked-card.habit,.goal-task-grid.habit-grid{grid-template-columns:1fr}.habit-overview-row{grid-template-columns:1fr;align-items:stretch}.habit-overview-xp{text-align:left}.habit-overview-actions{justify-content:flex-start}}.goal-hierarchy{display:grid;gap:8px}.goal-hierarchy-node{display:grid;gap:1px}.goal-collapse-inline{position:absolute;left:30px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:16px;height:16px;background:none;border:none;color:var(--text-faint);cursor:pointer;padding:0;z-index:1}.goal-collapse-inline svg{transition:transform .2s;transform:rotate(-90deg)}.goal-collapse-inline.open svg{transform:rotate(0)}.goal-collapse-inline:hover{color:var(--text-secondary)}.goal-hierarchy-children{margin-left:46px;padding-left:12px;border-left:1px solid var(--border)}.profile-panel{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:16px}.profile-avatar{display:grid;place-items:center;width:70px;height:70px;border:2px solid var(--border-hover);border-radius:50%;color:var(--accent-contrast);background:var(--accent);font-size:var(--text-3xl);font-weight:var(--weight-semibold)}.profile-info{display:grid;min-width:0;gap:7px}.profile-info strong{overflow:hidden;font-size:var(--text-lg);text-overflow:ellipsis;white-space:nowrap}.profile-info span,.profile-info small{color:var(--text-secondary)}.compact-progress,.mini-progress{height:24px}.mini-progress.near-levelup .axon-bar-halo{animation:axon-halo-pulse 3s ease-in-out infinite}.skill-table-header,.skill-table-row{display:grid;grid-template-columns:minmax(140px,1.6fr) 40px 48px minmax(92px,.9fr) 60px;align-items:center;gap:10px}.skill-table-header span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.skill-table-row{min-height:50px;border-bottom:1px solid var(--border)}.skill-table-row.selected,.skill-table-row:hover{background:color-mix(in srgb,var(--accent) 4%,transparent)}.skill-name-cell{display:flex;align-items:center;gap:8px}.skill-name-cell svg{color:var(--text-secondary);flex:0 0 auto}.skill-xp-cell{display:grid;gap:4px}.skill-table-row>span:nth-child(2){display:flex;justify-content:center;font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--text)}.skill-xp-cell small{color:var(--text-muted);font-size:var(--text-2xs)}.skill-row-actions{display:flex;justify-content:flex-end;gap:6px}.panel-header h2{margin:0;font-size:var(--text-lg)}.panel-header span{display:inline-flex;color:var(--accent)}.inline-form,.goal-form,.reward-form,.xp-adjust-form{display:grid;gap:8px}.inline-form{grid-template-columns:minmax(0,1fr) 38px;margin-bottom:12px}.goal-form{grid-template-columns:minmax(0,1fr) 132px 38px;margin-bottom:12px}.inline-form.compact{width:min(360px,100%);margin-bottom:0}.kanban-create-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(160px,220px) minmax(160px,220px) 96px 38px;gap:8px;width:min(860px,100%);margin-bottom:0}.reward-form{grid-template-columns:1fr 1fr}.xp-adjust-form{grid-template-columns:120px minmax(220px,1fr) minmax(180px,260px) auto}.reward-form .icon-text-button,.reward-form .file-picker{grid-column:span 2}input,select{min-height:38px;width:100%;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg);color:var(--text);padding:0 10px}input:focus,select:focus{border-color:var(--signal);outline:2px solid color-mix(in srgb,var(--signal) 16%,transparent)}.icon-button,.icon-text-button,.micro-button,.file-picker{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--text);background:var(--surface);transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform .1s var(--ease-out)}.icon-button{width:38px;height:38px}.icon-text-button{gap:8px;min-height:38px;padding:0 12px;white-space:nowrap}.icon-button:hover,.icon-text-button:hover,.micro-button:hover,.file-picker:hover{border-color:var(--border-hover);background:var(--surface-hover)}.bottom-cta-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;border:1px dashed var(--border-strong);border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);padding:0 18px;font-size:var(--text-md);font-weight:var(--weight-semibold);transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.bottom-cta-button.full{width:100%}.bottom-cta-button:hover{border-color:var(--border-hover);background:var(--surface-hover);color:var(--text)}.bottom-cta-button svg{color:var(--accent)}.skill-add-bottom{margin-top:16px}.add-skill-card{display:grid;gap:12px;margin-top:16px;border:1px solid color-mix(in srgb,var(--accent) 34%,transparent);border-radius:var(--radius-md);background:var(--surface-2);padding:14px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--signal) calc(4% * var(--glow-k)),transparent)}.add-skill-card .modal-actions{padding-top:2px}.skill-create-modal{max-width:440px}.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.field-label-row small{color:var(--text-muted);font-size:var(--text-2xs)}.icon-text-button.small{font-size:var(--text-2xs);padding:2px 8px;height:auto}.stage-meter{display:inline-flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:var(--text-xs);white-space:nowrap}.stage-bars{display:inline-flex;gap:2px}.stage-bars i{width:7px;height:4px;border-radius:var(--radius-pill);background:var(--surface-hover);box-shadow:inset 0 0 0 1px var(--border)}.stage-bars i.on{background:var(--text);box-shadow:none}.stage-meter.labeled .stage-bars i{width:10px}.skill-table-row>.stage-meter{justify-self:center}.rarity-dots{display:inline-flex;gap:3px;margin-right:6px;vertical-align:middle}.rarity-dots i{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--border-strong)}.rarity-dots i.on{background:var(--text-secondary)}.rarity-dots.rarity-legendary i.on{background:var(--reward)}.skill-neuron{flex:none;color:var(--text-secondary);overflow:visible}.habit-path-meta{display:inline-flex;align-items:center;gap:6px;margin-left:8px;vertical-align:middle}.habit-path{flex:none;color:var(--signal);overflow:visible}.habit-path line{stroke:currentColor;stroke-linecap:round}.habit-path .habit-path-rest{stroke:var(--border-strong);stroke-width:1;stroke-dasharray:1 3}button:disabled{cursor:not-allowed;opacity:.58}.stack-list{display:grid;gap:8px}.entity-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:44px;width:100%;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);color:var(--text);padding:0 10px;text-align:left}.goal-row{grid-template-columns:minmax(0,1fr) auto 28px}.row-main{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;border:0;background:transparent;color:inherit;padding:0;text-align:left}.row-main:hover{background:transparent}.type-pill{display:inline-flex;align-items:center;justify-content:center;min-height:24px;border:1px solid var(--border-strong);border-radius:var(--radius-pill);padding:0 9px;color:var(--text);font-size:var(--text-2xs);font-weight:var(--weight-semibold);white-space:nowrap}.type-pill.recurring{border-color:var(--signal);color:var(--signal)}.type-pill.short_term{border-color:var(--info);color:var(--info)}.type-pill.medium_term{border-color:var(--reward);color:var(--reward)}.type-pill.long_term{border-color:var(--danger);color:var(--danger)}.type-pill.active{background:color-mix(in srgb,var(--text) 7%,transparent);color:var(--text)}.entity-row:hover,.entity-row.selected{border-color:var(--border-hover);background:var(--surface-hover)}.entity-row span,.kanban-card span,.reward-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-select-row.selected{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.skill-row-main{display:grid;min-width:0;border:0;background:transparent;color:inherit;padding:0;text-align:left}.skill-row-main:hover{background:transparent}.goal-row.selected{border-color:var(--info);box-shadow:inset 3px 0 0 var(--info)}.goal-card{display:grid;grid-template-columns:minmax(0,1fr) 28px;align-items:start;gap:10px;min-height:94px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);padding:10px}.goal-card:hover,.goal-card.selected{border-color:var(--border-hover);background:var(--surface-hover)}.goal-card.selected{box-shadow:inset 3px 0 0 var(--info)}.goal-card-main{display:grid;justify-items:start;min-width:0;gap:7px;border:0;background:transparent;color:inherit;padding:0;text-align:left}.goal-card-main:hover{background:transparent}.goal-card-main strong,.goal-card-main small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.goal-card-main em{display:inline-flex;align-items:center;gap:5px;color:var(--accent);font-size:var(--text-xs);font-style:normal}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.summary-card{display:grid;gap:10px;min-height:122px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);padding:12px}.summary-card strong{font-size:var(--text-3xl);line-height:1}.summary-card small{color:var(--text-muted)}.checklist{display:grid;gap:8px}.checklist-row{display:grid;grid-template-columns:28px minmax(0,1fr) 28px;align-items:center;gap:8px;min-height:38px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);padding:5px}.checklist-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.checklist-row.done span{color:var(--text-muted);text-decoration:line-through}.xp-adjust-panel{min-width:0}.xp-mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px}.xp-mode-switch button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-2);color:var(--text-secondary);font-weight:var(--weight-semibold)}.xp-mode-switch button:hover{border-color:var(--border-hover);background:var(--surface-hover);color:var(--text)}.xp-mode-switch button.active.add{border-color:color-mix(in srgb,var(--signal) 64%,transparent);background:color-mix(in srgb,var(--signal) 12%,transparent);color:var(--signal)}.xp-mode-switch button.active.remove{border-color:color-mix(in srgb,var(--danger) 64%,transparent);background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--danger)}.empty-state{display:grid;place-items:center;gap:6px;min-height:72px;padding:20px 16px;border:1px dashed var(--border-strong);border-radius:var(--radius-md);color:var(--text-muted);text-align:center}.empty-state strong{color:var(--text);font-weight:var(--weight-medium)}.empty-state span{max-width:46ch;font-size:var(--text-sm)}.empty-state .icon-text-button{margin-top:6px}.skill-tree-canvas{position:relative;cursor:grab;min-height:560px;margin-top:14px;overflow:auto;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.skill-tree-canvas[data-panning=true]{cursor:grabbing;-webkit-user-select:none;user-select:none}.grid-surface{position:absolute;inset:0;background-image:linear-gradient(color-mix(in srgb,var(--text) 4.5%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--text) 4.5%,transparent) 1px,transparent 1px);background-size:32px 32px;opacity:.75}.skill-tree{position:relative;min-width:max-content;padding:34px}.tree-level{display:flex;justify-content:center;gap:var(--axon-gap);padding:0;margin:0;list-style:none}.tree-item{position:relative;display:flex;flex-direction:column;align-items:center}.tree-children{padding-top:var(--axon-length)}.neuron-field{--soma-size: 66px;--axon-gap: 22px;--axon-length: 54px;position:relative}.neuron-links{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.axon{fill:none;stroke:color-mix(in srgb,var(--signal) 45%,transparent);stroke-linecap:round;stroke-width:2.2}.axon-myelin{fill:none;stroke:color-mix(in srgb,var(--signal) 16%,transparent);stroke-dasharray:7 7;stroke-linecap:butt;stroke-width:6}.axon-signal{fill:none;stroke:var(--signal);stroke-dasharray:5 95;stroke-linecap:round;stroke-width:3;filter:drop-shadow(0px 0px 5px color-mix(in srgb,var(--signal) calc(60% * var(--glow-k)),transparent));animation:axon-signal 3.2s linear infinite}@keyframes axon-signal{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}.axon-link.done .axon{stroke:color-mix(in srgb,var(--signal) 75%,transparent)}.axon-link.planned .axon{stroke:color-mix(in srgb,var(--border-strong) 85%,transparent);stroke-dasharray:2 6}.axon-link.planned .axon-myelin{display:none}.synapse{fill:color-mix(in srgb,var(--signal) 70%,transparent)}.axon-link.planned .synapse{fill:var(--border-strong)}.neuron-node{position:relative;z-index:1;display:grid;justify-items:center;gap:3px;width:116px}.soma{position:relative;display:grid;place-items:center;width:var(--soma-size);height:var(--soma-size);padding:0;border:0;background:none;font:inherit;color:var(--text-secondary)}button.soma{cursor:pointer}.soma .skill-neuron{position:absolute;inset:0;width:100%;height:100%;color:color-mix(in srgb,var(--signal) 40%,transparent)}.soma-ring{position:absolute;inset:9px;overflow:visible;transform:rotate(-90deg)}.soma-ring circle{fill:var(--surface-2);stroke:var(--border-strong);stroke-width:3}.soma-ring circle+circle{fill:none;stroke:var(--signal);stroke-linecap:round;stroke-width:3;transition:stroke-dasharray var(--dur-slow) var(--ease-progress)}.soma>span{position:relative;z-index:1;display:grid;place-items:center;font-family:var(--font-display);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.neuron-node.done .soma{color:var(--signal)}.neuron-node.done .soma .skill-neuron{color:color-mix(in srgb,var(--signal) 70%,transparent)}.neuron-node.done .soma-ring circle{stroke:color-mix(in srgb,var(--signal) 45%,transparent)}@keyframes soma-pulse{0%,to{filter:drop-shadow(0px 0px 2px color-mix(in srgb,var(--signal) calc(30% * var(--glow-k)),transparent))}50%{filter:drop-shadow(0px 0px 8px color-mix(in srgb,var(--signal) calc(55% * var(--glow-k)),transparent))}}.neuron-node.near-levelup .soma-ring{animation:soma-pulse 3s ease-in-out infinite}.neuron-node strong{max-width:100%;overflow:hidden;font-size:var(--text-xs);text-align:center;text-overflow:ellipsis;white-space:nowrap}.neuron-node small{color:var(--text-muted);font-size:var(--text-2xs);font-variant-numeric:tabular-nums}.node-actions .micro-button{width:24px;height:24px}@media(hover:hover)and (pointer:fine){.node-actions{opacity:0;transition:opacity var(--dur-fast) var(--ease-out)}.neuron-node:hover .node-actions,.neuron-node:focus-within .node-actions,.neuron-node.open .node-actions{opacity:1}}.node-actions{display:flex;gap:4px}@media(hover:none),(pointer:coarse){.node-actions{display:none}.neuron-node.open .node-actions{display:flex}}.micro-button{width:28px;height:28px;color:var(--accent)}.micro-button.danger{color:var(--danger)}.rewards-table-panel{min-width:0}.rewards-column{display:grid;gap:14px;align-content:start;min-width:0}.wallet-figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:10px}.wallet-figure{display:grid;gap:2px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);padding:10px}.wallet-figure strong{font-family:var(--font-mono);font-size:var(--text-lg);font-variant-numeric:tabular-nums}.wallet-figure small{color:var(--text-muted);font-size:var(--text-xs)}.wallet-monthly{display:flex;align-items:center;gap:8px}.wallet-monthly input{flex:1;min-width:0}.reward-price{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right}.reward-buy{white-space:nowrap}.reward-claim-actions{display:flex;align-items:center;gap:4px}.reward-claim-actions select{min-height:28px;padding:2px 6px;font-size:var(--text-xs)}.stake-form{display:grid;gap:10px;border-bottom:1px solid var(--border);padding-bottom:14px}.stake-list{display:grid;margin:0;padding:0;list-style:none}.stake-item{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid var(--border);padding:10px 0}.stake-item:last-child{border-bottom:0}.stake-item.lost{border-left:2px solid var(--danger);padding-left:10px}.stake-item.won{border-left:2px solid var(--signal);padding-left:10px}.stake-main{display:grid;gap:2px;min-width:0}.stake-main span{color:var(--text-secondary);font-size:var(--text-xs)}.stake-main small{color:var(--text-muted);font-size:var(--text-2xs)}.stake-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.stake-actions .toggle-row{font-size:var(--text-xs)}.stake-item.awaiting_funds{border-left:2px solid var(--border-strong);padding-left:10px}.stake-item.expired,.stake-item.cancelled{opacity:.65}.stake-locked{display:inline-flex;align-items:center;gap:4px;color:var(--text-muted);font-size:var(--text-2xs)}.stake-invite{display:grid;gap:8px;border:1px solid var(--accent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--accent) 6%,transparent);padding:12px}.stake-invite code{overflow-wrap:anywhere;font-family:var(--font-mono);font-size:var(--text-2xs)}.stake-invite-actions{display:flex;align-items:center;gap:8px}.stake-invite small{color:var(--text-muted);font-size:var(--text-xs)}.guarantor-page{display:grid;place-items:start center;min-height:100vh;background:var(--bg);padding:32px 16px}.guarantor-card{display:grid;gap:16px;width:min(560px,100%)}.guarantor-card h1{margin:0;font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-semibold)}.guarantor-facts{display:grid;gap:10px;margin:0}.guarantor-facts div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:12px;align-items:baseline}.guarantor-facts dt{color:var(--text-muted);font-size:var(--text-xs)}.guarantor-facts dd{margin:0;overflow-wrap:anywhere}.guarantor-amount{font-family:var(--font-mono);font-size:var(--text-lg);font-variant-numeric:tabular-nums}.guarantor-actions{display:grid;gap:10px;border-top:1px solid var(--border);padding-top:16px}.guarantor-actions small,.guarantor-role{color:var(--text-muted);font-size:var(--text-xs)}.guarantor-status{margin:0;font-weight:var(--weight-medium)}.guarantor-evidence{display:grid;gap:4px;margin:0;border-radius:var(--radius-md);background:var(--surface-2);padding:10px;font-size:var(--text-sm)}.guarantor-verdict{display:flex;flex-wrap:wrap;gap:8px}.guarantor-role{margin:0;border-top:1px solid var(--border);padding-top:12px}.link-button{justify-self:start;border:0;background:none;padding:0;color:var(--text-muted);font-size:var(--text-xs);text-decoration:underline;cursor:pointer}.reward-heading-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px}.reward-claims-list{display:grid;margin:0;padding:0;list-style:none}.reward-claim-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:baseline;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.reward-claim-item:last-child{border-bottom:0}.reward-claim-title{overflow:hidden;font-weight:var(--weight-medium);text-overflow:ellipsis;white-space:nowrap}.reward-claim-trigger,.reward-claim-date{color:var(--text-muted);font-size:var(--text-xs)}.reward-claim-date{font-family:var(--font-mono);font-size-adjust:.5;font-variant-numeric:tabular-nums}.form-hint{color:var(--text-muted);font-size:var(--text-xs);text-align:center}.chance-total{color:var(--text-muted);font-size:var(--text-sm)}.file-picker{gap:8px;min-height:38px;padding:0 12px}.file-picker input{display:none}.reward-grid{display:grid;gap:10px}.reward-card{display:grid;grid-template-columns:52px minmax(0,1fr) 90px auto auto;align-items:center;gap:12px;min-height:68px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);padding:8px}.reward-card.rare,.reward-card.epic{border-color:var(--border-strong)}.reward-card.legendary{border-color:var(--reward)}.reward-image{display:grid;place-items:center;width:48px;height:48px;overflow:hidden;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--field);color:var(--accent)}.reward-image img{width:100%;height:100%;object-fit:cover}.reward-card span{display:block;margin-top:3px;color:var(--text-muted);font-size:var(--text-xs)}.kanban-section{flex:1;display:flex;flex-direction:column;min-height:0;padding:16px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);overflow:visible}.kanban-section .section-heading{align-items:flex-start;flex-wrap:wrap;flex-shrink:0}.section-heading{margin-bottom:14px}.kanban-board{flex:1;display:flex;gap:12px;overflow-x:auto;overflow-y:visible;padding-bottom:8px;align-items:flex-start;min-height:300px}.kanban-column{flex:0 0 260px;min-height:120px;padding:10px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2);border-top:4px solid var(--col-color, var(--border));transition:border-color .2s}.kanban-column.dragging{opacity:.4;cursor:grabbing}.kanban-column.collapsed{flex:0 0 44px;min-height:200px;padding:8px 4px;overflow:hidden}.kanban-column-header{display:flex;align-items:center;gap:6px;margin-bottom:10px}.kanban-column.collapsed .kanban-column-header{margin-bottom:0}.collapsed-header{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}.column-name-vertical{writing-mode:vertical-rl;transform:rotate(180deg);max-height:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.column-name{flex:1;min-width:0;overflow:hidden;color:var(--text);font-size:var(--text-sm);font-weight:var(--weight-semibold);text-overflow:ellipsis;white-space:nowrap}.column-header-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.column-count{font-size:var(--text-2xs);color:var(--text-muted);min-width:16px;text-align:center}.column-menu-wrap{position:relative}.dots-icon{font-size:var(--text-md);letter-spacing:2px;font-weight:var(--weight-semibold);line-height:1}.column-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:40;width:240px;padding:10px 0;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-2);box-shadow:0 12px 32px color-mix(in srgb,var(--shadow) 50%,transparent)}.column-menu-title{margin:0 0 6px;padding:0 14px 8px;border-bottom:1px solid var(--border);color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-align:center}.column-menu-item{display:block;width:100%;padding:8px 14px;border:none;background:transparent;color:var(--text-secondary);font-size:var(--text-sm);text-align:left}.column-menu-item:hover{background:color-mix(in srgb,var(--text) 6%,transparent)}.column-menu-item.danger{color:var(--danger)}.column-menu-item.danger:hover{background:color-mix(in srgb,var(--danger) 10%,transparent)}.column-menu-divider{border:none;border-top:1px solid var(--border);margin:6px 0}.column-menu-section{padding:8px 14px 4px;color:var(--text-muted);font-size:var(--text-2xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.04em}.color-swatch-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;padding:4px 14px 8px}.color-swatch{width:100%;aspect-ratio:1;border:2px solid transparent;border-radius:var(--radius-sm)}.color-swatch.active{border-color:var(--border-hover)}.color-swatch:hover{filter:brightness(1.2)}.kanban-add-column-btn{flex:0 0 auto;align-self:flex-start;display:flex;align-items:center;gap:6px;min-width:180px;padding:8px 14px;border:2px dashed var(--border);border-radius:var(--radius-lg);background:transparent;color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium);white-space:nowrap;transition:border-color .12s,color .12s}.kanban-add-column-btn:hover{border-color:var(--border-hover);color:var(--text-secondary)}.kanban-column-add-form{flex:0 0 240px;align-self:flex-start;padding:10px;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-2);display:grid;gap:8px}.kanban-column-add-form input{padding:7px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font-size:var(--text-sm);width:100%}.card-list{display:grid;gap:8px;margin-bottom:6px}.kanban-card{padding:10px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);cursor:default;transition:border-color .12s,box-shadow .12s,transform .12s}.kanban-card:hover{border-color:var(--border-hover);box-shadow:0 4px 14px color-mix(in srgb,var(--shadow) 35%,transparent);transform:translateY(-1px)}.kanban-card.done{opacity:.62}.card-title-btn{width:100%;border:none;padding:0;background:transparent;color:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);text-align:left;cursor:pointer;line-height:1.4}.kanban-card.done .card-title-btn{color:var(--text-muted);text-decoration:line-through}.card-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.skill-chip,.goal-chip,.habit-chip,.due-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:var(--radius-pill);font-size:var(--text-2xs);font-weight:var(--weight-medium);white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis}.skill-chip{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent)}.goal-chip{background:color-mix(in srgb,var(--info) 12%,transparent);color:var(--info)}.habit-chip{background:color-mix(in srgb,var(--signal) 12%,transparent);color:var(--signal)}.due-chip{background:color-mix(in srgb,var(--text-muted) 12%,transparent);color:var(--text-muted)}.due-chip.overdue{background:color-mix(in srgb,var(--danger) 15%,transparent);color:var(--danger)}.due-chip.today{background:color-mix(in srgb,var(--warning) 15%,transparent);color:var(--warning)}.card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px}.card-footer-actions{display:flex;align-items:center;gap:4px}.micro-button.focus-active{color:var(--reward);border-color:color-mix(in srgb,var(--reward) 50%,transparent);background:color-mix(in srgb,var(--reward) 12%,transparent);animation:focus-pulse 3s ease-in-out infinite}@keyframes focus-pulse{0%,to{opacity:1}50%{opacity:.7}}.focus-picker{display:flex;gap:4px;align-items:center}.focus-pick-btn{padding:2px 7px;border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--reward) 35%,transparent);background:color-mix(in srgb,var(--reward) 8%,transparent);color:var(--reward);font-size:var(--text-2xs);font-weight:var(--weight-medium);cursor:pointer;transition:background .12s}.focus-pick-btn:hover{background:color-mix(in srgb,var(--reward) 20%,transparent)}.focus-bar{position:fixed;bottom:24px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:14px;background:var(--surface);border:1px solid color-mix(in srgb,var(--reward) 35%,transparent);border-radius:var(--radius-pill);padding:8px 20px 8px 10px;box-shadow:0 6px 28px color-mix(in srgb,var(--shadow) 55%,transparent),0 0 0 1px color-mix(in srgb,var(--reward) calc(8% * var(--glow-k)),transparent);z-index:900}.focus-ring-wrap{position:relative;width:52px;height:52px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.focus-ring-wrap svg{position:absolute;inset:0}.focus-ring-track{fill:none;stroke:color-mix(in srgb,var(--reward) 15%,transparent);stroke-width:3.5}.focus-ring-progress{fill:none;stroke:var(--reward);stroke-width:3.5;stroke-linecap:round;transition:stroke-dasharray .8s linear}.focus-ring-time{position:relative;font-size:var(--text-2xs);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;color:var(--reward);letter-spacing:.02em;z-index:1}.focus-bar-title{flex:1;font-size:var(--text-sm);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}.column-add-btn{display:flex;align-items:center;gap:6px;width:100%;padding:7px 6px;border:1px dashed var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium);text-align:left;margin-top:6px;transition:background .12s,color .12s,border-color .12s}.column-add-btn:hover{background:color-mix(in srgb,var(--text) 4%,transparent);border-color:var(--border-hover);color:var(--text-secondary)}.column-add-form{display:grid;gap:6px;margin-top:8px;padding:8px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface)}.column-add-form input,.column-add-form select{padding:5px 8px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font-size:var(--text-xs);width:100%;min-width:0;box-sizing:border-box}.column-add-actions{display:flex;gap:6px}.card-modal-backdrop{align-items:flex-start;padding-top:5vh}.card-modal{width:min(820px,calc(100vw - 40px));max-height:88vh;overflow-y:auto;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface);box-shadow:0 24px 60px color-mix(in srgb,var(--shadow) 60%,transparent);padding:24px}.goal-task-modal{width:min(560px,calc(100vw - 36px));max-height:calc(100vh - 36px);overflow-y:auto;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-2);box-shadow:0 24px 80px color-mix(in srgb,var(--shadow) 48%,transparent)}.goal-task-modal .modal-header span{display:block;margin-top:4px;color:var(--text-muted);font-size:var(--text-xs)}.goal-task-grid{display:grid;grid-template-columns:minmax(0,1.2fr) 112px minmax(130px,.8fr);gap:10px}.card-modal-body{display:grid;grid-template-columns:1fr 200px;gap:24px;margin-top:16px}.card-modal-main{display:grid;gap:18px}.card-modal-field{display:grid;gap:6px}.card-modal-input{padding:8px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font-size:var(--text-md);font-weight:var(--weight-medium)}.card-modal-textarea{padding:8px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg);color:var(--text-secondary);font-size:var(--text-sm);resize:vertical;line-height:1.5}.modal-checklist{display:grid;gap:6px}.modal-checklist-item{display:flex;align-items:center;gap:8px;padding:4px 0}.modal-checklist-item span{flex:1;font-size:var(--text-sm)}.modal-checklist-item .done-text{color:var(--text-muted);text-decoration:line-through}.checklist-check{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg);color:var(--signal);padding:0}.checklist-check.done{border-color:var(--signal);background:color-mix(in srgb,var(--signal) 12%,transparent)}.check-empty{width:10px;height:10px}.modal-checklist-add{display:flex;gap:8px;margin-top:6px}.modal-checklist-add input{flex:1;padding:6px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font-size:var(--text-sm)}.card-modal-sidebar{display:grid;gap:14px;align-content:start}.card-modal-meta{display:grid;gap:5px}.meta-label{font-size:var(--text-2xs);color:var(--text-muted);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.04em}.meta-date-input,.meta-select{padding:5px 8px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg);color:var(--text-secondary);font-size:var(--text-xs);width:100%}.field-label{font-size:var(--text-2xs);color:var(--text-muted);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.04em}.action-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:14px}.view-toggle{display:flex;gap:3px;padding:3px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg)}.view-toggle-btn{display:flex;align-items:center;gap:5px;padding:5px 12px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium);transition:background .12s,color .12s}.view-toggle-btn.active{background:var(--border-strong);color:var(--text)}.calendar-view{display:flex;flex-direction:column;gap:12px;flex:1;min-height:0}.calendar-nav{display:flex;align-items:center;gap:6px;flex-shrink:0;margin-bottom:4px}.calendar-today-btn{display:inline-flex;align-items:center;padding:4px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-hover);color:var(--text);font-size:var(--text-xs);font-weight:var(--weight-medium);white-space:nowrap;margin-right:4px}.calendar-today-btn:hover{border-color:var(--border-hover);background:var(--border-strong)}.calendar-month-label{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--text);text-transform:capitalize;min-width:140px;text-align:center}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;flex:1;align-content:start}.calendar-dow{padding:6px 4px;text-align:center;font-size:var(--text-2xs);font-weight:var(--weight-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.calendar-day{min-height:88px;padding:6px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);display:flex;flex-direction:column;gap:3px}.calendar-day.empty{border-color:transparent;background:transparent;pointer-events:none}.calendar-day.today{border-color:var(--border-strong);background:var(--surface-2)}.calendar-day.today .day-num{color:var(--accent);font-weight:var(--weight-semibold)}.calendar-day.past{opacity:.55}.day-num{font-size:var(--text-2xs);font-weight:var(--weight-semibold);color:var(--text-muted);line-height:1;flex-shrink:0;margin-bottom:2px}.day-items{display:flex;flex-direction:column;gap:3px}.day-item{display:block;width:100%;padding:3px 5px;border:none;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--info) 18%,transparent);color:var(--info);font-size:var(--text-2xs);font-weight:var(--weight-medium);text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;transition:background .1s}.day-item:hover{background:color-mix(in srgb,var(--info) 32%,transparent)}.day-item.done{background:color-mix(in srgb,var(--border-strong) 12%,transparent);color:var(--text-faint);text-decoration:line-through}.day-item-more{font-size:var(--text-2xs);color:var(--text-muted);padding:2px 4px}.celebration-stack{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:30;display:grid;justify-items:center;gap:10px;width:min(420px,calc(100vw - 24px));pointer-events:none}.celebration-stack>*{width:100%}@media(max-width:720px){.celebration-stack,.notice-toast{bottom:calc(76px + env(safe-area-inset-bottom,0px))}}.celebration-card{position:relative;display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:16px;overflow:hidden;min-height:82px;border:1px solid color-mix(in srgb,var(--signal) 52%,transparent);border-radius:var(--radius-md);background:linear-gradient(135deg,color-mix(in srgb,var(--signal) 10%,transparent),transparent 70%),var(--surface);box-shadow:0 22px 70px color-mix(in srgb,var(--shadow) 48%,transparent),0 0 28px color-mix(in srgb,var(--signal) calc(14% * var(--glow-k)),transparent);padding:14px 18px;animation:celebration-in .36s cubic-bezier(.2,.9,.2,1.1),celebration-float 2.25s ease forwards}.celebration-card.with-progress{animation:celebration-in .36s cubic-bezier(.2,.9,.2,1.1),celebration-float 3.8s ease forwards}.celebration-card>span{position:relative;display:grid;place-items:center;width:58px;height:58px;color:color-mix(in srgb,var(--signal) 55%,transparent)}.celebration-soma{position:relative}.celebration-soma .skill-neuron{position:absolute;z-index:0;inset:0;width:100%;height:100%;color:color-mix(in srgb,var(--signal) 60%,transparent)}.celebration-card.level .celebration-soma .skill-neuron{color:color-mix(in srgb,var(--reward) 65%,transparent)}.celebration-soma:before{content:"";position:absolute;z-index:1;inset:12px;border:2px solid color-mix(in srgb,var(--signal) 60%,transparent);border-radius:var(--radius-pill);background:var(--surface-2);box-shadow:0 0 18px color-mix(in srgb,var(--signal) calc(26% * var(--glow-k)),transparent);animation:toast-soma-fire .7s var(--ease-out) 1}.celebration-soma i{position:relative;z-index:2;display:grid;place-items:center;color:var(--signal)}.celebration-card.level>span{color:color-mix(in srgb,var(--reward) 60%,transparent)}.celebration-card.level .celebration-soma:before{border-color:color-mix(in srgb,var(--reward) 65%,transparent);box-shadow:0 0 22px color-mix(in srgb,var(--reward) calc(30% * var(--glow-k)),transparent)}.celebration-card.level .celebration-soma i{color:var(--reward)}.celebration-card:before,.day-summary:before,.sound-prompt:before,.notice-toast:before{content:"";position:absolute;right:14px;bottom:0;left:14px;height:3px;border-radius:var(--radius-pill);background:linear-gradient(90deg,transparent 0%,var(--signal-bright) 50%,transparent 100%) no-repeat,color-mix(in srgb,var(--signal) 32%,transparent);background-size:32% 100%;background-position:-60% 0;animation:toast-axon 1.15s var(--ease-travel) .22s 1}.celebration-card.level:before{background:linear-gradient(90deg,transparent 0%,var(--reward) 50%,transparent 100%) no-repeat,color-mix(in srgb,var(--reward) 32%,transparent);background-size:32% 100%;background-position:-60% 0}@keyframes toast-axon{0%{background-position:-60% 0}to{background-position:160% 0}}@keyframes toast-soma-fire{0%{box-shadow:0 0 color-mix(in srgb,var(--signal) calc(30% * var(--glow-k)),transparent)}35%{box-shadow:0 0 34px color-mix(in srgb,var(--signal) calc(85% * var(--glow-k)),transparent)}to{box-shadow:0 0 18px color-mix(in srgb,var(--signal) calc(26% * var(--glow-k)),transparent)}}.celebration-card strong,.celebration-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.celebration-card strong{font-size:var(--text-lg)}.celebration-card small{margin-top:4px;color:var(--text-secondary);font-size:var(--text-sm)}.celebration-progress-list{display:grid;gap:9px;margin-top:12px}.celebration-progress-row{display:grid;gap:5px;opacity:0;animation:celebration-row-in .35s ease calc(var(--bar-index, 0) * .38s + .15s) forwards}.celebration-progress-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.celebration-progress-meta span,.celebration-progress-meta small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.celebration-progress-meta span{color:var(--text);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.celebration-progress-meta small{margin:0;color:var(--text-muted);font-size:var(--text-2xs)}.celebration-progress-track{height:12px}.celebration-axon .axon-bar-fibre{fill:color-mix(in srgb,var(--bar-color, var(--signal)) 30%,var(--border-strong))}.celebration-axon .axon-bar-fill,.celebration-axon .axon-bar-halo{fill:var(--bar-color, var(--signal))}.celebration-axon .axon-reveal{animation:axon-reveal-from 1.15s var(--ease-progress) calc(var(--xp-delay, 0ms) + .25s) both}@keyframes axon-reveal-from{0%{width:var(--reveal-from, 0px)}}.celebration-axon .axon-bar-wave{stroke:color-mix(in srgb,var(--surface) 40%,var(--bar-color, var(--signal)));animation-delay:calc(var(--xp-delay, 0ms) + .25s)}.celebration-xp-card{position:relative;overflow:hidden;display:grid;gap:8px;padding:11px 16px;border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--signal) 26%,transparent);background:var(--surface);box-shadow:0 8px 28px color-mix(in srgb,var(--shadow) 45%,transparent),0 0 18px color-mix(in srgb,var(--bar-color, var(--signal)) calc(12% * var(--glow-k)),transparent);opacity:0;animation:celebration-in .36s cubic-bezier(.2,.9,.2,1.1) var(--xp-delay, .38s) both}.celebration-xp-header{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.celebration-xp-label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.celebration-xp-values{font-size:var(--text-2xs);color:var(--text-muted);white-space:nowrap;flex-shrink:0}@keyframes celebration-row-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes celebration-in{0%{opacity:0;transform:translateY(28px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes celebration-float{0%,72%{opacity:1}to{opacity:0;transform:translateY(-14px) scale(.985)}}.modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:18px;background:color-mix(in srgb,var(--scrim) 72%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.goal-modal{width:min(438px,100%);max-height:calc(100vh - 36px);overflow:auto;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-hover);box-shadow:0 24px 80px color-mix(in srgb,var(--shadow) 48%,transparent)}.profile-modal{width:min(420px,calc(100vw - 36px));border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-2);box-shadow:0 24px 80px color-mix(in srgb,var(--shadow) 52%,transparent);overflow:hidden}.profile-modal-body{padding:28px 28px 32px;display:flex;flex-direction:column;align-items:center;gap:28px}.profile-avatar-preview{display:flex;flex-direction:column;align-items:center;gap:14px}.profile-avatar-ring-wrap{position:relative;width:120px;height:120px}.profile-avatar-circle{width:120px!important;height:120px!important}.profile-level-badge{width:28px!important;height:28px!important;font-size:var(--text-sm)!important}.profile-identity{display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center}.profile-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--text)}.profile-top-skill{color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--weight-medium)}.character-panel{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}.character-title{margin:0;font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.character-status{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%}.character-status-line{display:flex;align-items:baseline;gap:8px}.character-status-mood{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--text)}.character-status-stage{font-size:var(--text-xs);color:var(--text-muted)}.character-status-hint{margin:0;font-size:var(--text-xs);color:var(--text-secondary);text-align:center}.character-energy{display:flex;align-items:center;gap:10px;width:min(280px,100%)}.character-energy-track{flex:1;height:6px;border-radius:var(--radius-pill);background:var(--surface-hover);overflow:hidden}.character-energy-fill{display:block;height:100%;border-radius:var(--radius-pill);background:var(--signal);transition:width .6s ease}.character-energy-value{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--text-muted);white-space:nowrap}.character-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%}.character-option{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px 8px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-secondary);font-size:var(--text-2xs);cursor:pointer;transition:border-color .15s,color .15s,background .15s}.character-option:hover{border-color:var(--border-hover);color:var(--text);background:var(--surface-hover)}.character-option.is-active{border-color:var(--accent);color:var(--text);background:color-mix(in srgb,var(--accent) 7%,transparent)}.profile-avatar-circle .character-thumb{width:100%;height:100%;object-fit:contain}.character-credits{margin:0;font-size:var(--text-2xs);color:var(--text-faint);text-align:center}.character-option-scene{display:block;width:100%;height:78px}.character-option-scene .character-stage-canvas,.character-option-scene .character-stage-flat{height:78px}.character-thumb{display:block;width:100%;height:100%;object-fit:contain}.character-thumb.is-loading{border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface-hover) 60%,transparent)}.character-flat{display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted)}.character-hint{margin:0;font-size:var(--text-2xs);color:var(--text-faint);text-align:center}.character-art{display:block;color:var(--text)}.character-mood-asleep{color:var(--text-muted);animation:character-breathe 4.5s ease-in-out infinite}.character-mood-celebrating{animation:character-hop 1.6s ease-in-out 2}@keyframes character-breathe{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(1px) scale(.985)}}@keyframes character-hop{0%,to{transform:translateY(0)}40%{transform:translateY(-3px)}}@media(prefers-reduced-motion:reduce){.character-mood-asleep,.character-mood-celebrating{animation:none}}.settings-modal{width:min(980px,100%);max-height:calc(100vh - 36px);overflow:auto;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-2);box-shadow:0 24px 80px color-mix(in srgb,var(--shadow) 48%,transparent)}.skill-tree-modal{width:min(1480px,calc(100vw - 36px));height:min(900px,calc(100vh - 36px));display:grid;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-2);box-shadow:0 24px 80px color-mix(in srgb,var(--shadow) 50%,transparent)}.skill-tree-modal-body{min-height:0;padding:12px 16px 16px}.tree-modal-header{display:flex;align-items:center;gap:12px}.tree-modal-header h2{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-header-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.skill-tree-modal .skill-tree-canvas{min-height:0;height:100%;margin-top:0}.node-draft{position:absolute;z-index:2;top:12px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;max-width:calc(100% - 24px);padding:8px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);box-shadow:0 12px 32px color-mix(in srgb,var(--shadow) 35%,transparent)}.node-draft-parent{padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-2);cursor:pointer;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs);color:var(--text-muted)}.node-draft-parent:disabled{cursor:default;opacity:.75}.node-draft input[type=number]{width:76px}.modal-backdrop.modal-top{z-index:30}.reward-prompt-backdrop{z-index:40;background:radial-gradient(circle at 50% 46%,color-mix(in srgb,var(--signal) 18%,transparent),transparent 28%),color-mix(in srgb,var(--scrim) 72%,transparent)}.reward-wheel-backdrop{z-index:40}.reward-prompt-card{position:relative;display:grid;justify-items:center;width:min(460px,100%);overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 52%,transparent);border-radius:var(--radius-md);background:linear-gradient(135deg,color-mix(in srgb,var(--signal) 12%,transparent),color-mix(in srgb,var(--info) 12%,transparent)),var(--surface);box-shadow:0 28px 90px color-mix(in srgb,var(--shadow) 58%,transparent),0 0 28px color-mix(in srgb,var(--signal) calc(16% * var(--glow-k)),transparent);padding:28px;text-align:center;animation:reward-prompt-in .34s cubic-bezier(.2,.9,.2,1.08) both}.reward-prompt-card:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 0%,color-mix(in srgb,var(--text) 16%,transparent) 48%,transparent 72%);transform:translate(-100%);animation:reward-prompt-shine 1.3s ease .18s both;pointer-events:none}.reward-prompt-close{position:absolute;top:12px;right:12px;z-index:2;display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid color-mix(in srgb,var(--accent) 38%,transparent);border-radius:var(--radius-md);color:var(--text);background:color-mix(in srgb,var(--surface) 62%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.reward-prompt-close:hover{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.reward-prompt-badge{position:relative;z-index:1;display:grid;place-items:center;width:74px;height:74px;border:1px solid color-mix(in srgb,var(--reward) 68%,transparent);border-radius:50%;color:var(--reward-contrast);background:var(--moment-gradient);box-shadow:0 0 0 8px color-mix(in srgb,var(--reward) calc(8% * var(--glow-k)),transparent),0 0 28px color-mix(in srgb,var(--reward) calc(22% * var(--glow-k)),transparent)}.reward-prompt-copy{position:relative;z-index:1;display:grid;gap:8px;margin-top:16px}.reward-prompt-copy>span{color:var(--info);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase}.reward-prompt-copy h2{margin:0;font-size:var(--text-3xl);line-height:1.1}.reward-prompt-copy p{margin:0;color:var(--text-secondary)}.reward-prompt-copy small{color:var(--accent);font-weight:var(--weight-semibold)}.reward-prompt-actions{position:relative;z-index:1;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px}.claim-reward-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:1px solid var(--reward);border-radius:var(--radius-md);color:var(--reward-contrast);background:var(--moment-gradient);box-shadow:0 12px 28px color-mix(in srgb,var(--signal) calc(18% * var(--glow-k)),transparent),0 0 color-mix(in srgb,var(--reward) calc(16% * var(--glow-k)),transparent);padding:0 18px;font-weight:var(--weight-semibold);animation:claim-button-pulse 2.4s var(--ease-out) infinite}.claim-reward-button:hover{border-color:var(--reward);filter:brightness(1.04)}@keyframes reward-prompt-in{0%{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes reward-prompt-shine{to{transform:translate(100%)}}@keyframes claim-button-pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--reward) calc(40% * var(--glow-k)),transparent)}70%,to{box-shadow:0 0 0 10px transparent}}.reward-wheel-modal{width:min(1180px,calc(100vw - 28px));max-height:calc(100vh - 36px);overflow:auto;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:linear-gradient(135deg,color-mix(in srgb,var(--signal) 6%,transparent),transparent 60%),var(--surface);box-shadow:0 28px 90px color-mix(in srgb,var(--shadow) 58%,transparent)}.reward-wheel-modal .modal-header span{display:block;margin-top:4px;color:var(--text-muted);font-size:var(--text-xs)}.reward-wheel-stage{display:grid;grid-template-columns:minmax(420px,560px) minmax(240px,1fr);align-items:center;gap:28px;margin:16px;border:1px solid color-mix(in srgb,var(--info) 45%,transparent);border-radius:var(--radius-md);background:radial-gradient(circle at 30% 40%,color-mix(in srgb,var(--signal) 13%,transparent),transparent 34%),linear-gradient(135deg,color-mix(in srgb,var(--surface) 90%,transparent),color-mix(in srgb,var(--surface) 92%,transparent)),var(--bg);padding:30px}.wheel-shell{position:relative;display:grid;place-items:center;width:min(520px,76vw);aspect-ratio:1;justify-self:center;isolation:isolate}.wheel-shell:before{content:"";position:absolute;inset:-22px;z-index:-1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--signal) 22%,transparent),transparent 58%),conic-gradient(from 120deg,color-mix(in srgb,var(--reward) 20%,transparent),color-mix(in srgb,var(--info) 22%,transparent),color-mix(in srgb,var(--signal) 20%,transparent),color-mix(in srgb,var(--reward) 20%,transparent));opacity:.78}.wheel-shell:after{content:"";position:absolute;inset:7%;z-index:3;border-radius:50%;background:radial-gradient(circle at 34% 24%,color-mix(in srgb,var(--text) 26%,transparent),transparent 16%),linear-gradient(140deg,color-mix(in srgb,var(--text) 12%,transparent),transparent 42%);mix-blend-mode:screen;pointer-events:none}.reward-wheel-dial{--wheel-gradient: conic-gradient(var(--signal) 0deg 360deg);--wheel-rotation: 1800deg;position:absolute;inset:0;border:1px solid color-mix(in srgb,var(--text) 16%,transparent);border-radius:50%;background:radial-gradient(circle,var(--surface) 0 18%,transparent 18.5%),repeating-conic-gradient(color-mix(in srgb,var(--text) 18%,transparent) 0 .7deg,transparent .7deg 7deg),var(--wheel-gradient);box-shadow:inset 0 0 0 14px color-mix(in srgb,var(--shadow) 78%,transparent),inset 0 0 0 24px color-mix(in srgb,var(--text) 4%,transparent),inset 0 0 46px color-mix(in srgb,var(--shadow) 36%,transparent),0 24px 70px color-mix(in srgb,var(--shadow) 36%,transparent);transform:translateZ(0) rotate(0);backface-visibility:hidden;contain:layout paint}.reward-wheel-dial.spinning{will-change:transform;animation:reward-wheel-spin 2.4s cubic-bezier(.12,.78,.16,1) forwards}@keyframes reward-wheel-spin{to{transform:translateZ(0) rotate(var(--wheel-rotation))}}.wheel-ring{position:absolute;inset:22px;border:2px solid color-mix(in srgb,var(--text) 16%,transparent);border-radius:50%;pointer-events:none}.wheel-label{position:absolute;inset:0;display:grid;place-items:start center;transform:rotate(var(--label-angle));pointer-events:none}.wheel-label span{max-width:110px;margin-top:48px;overflow:hidden;color:var(--reward-contrast);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-align:center;text-overflow:ellipsis;text-shadow:0 1px color-mix(in srgb,var(--text) 30%,transparent);white-space:nowrap;transform:rotate(calc(-1 * var(--label-angle)))}.wheel-pointer{position:absolute;top:-8px;left:50%;z-index:5;width:0;height:0;border-right:18px solid transparent;border-left:18px solid transparent;border-top:36px solid var(--danger);transform:translate(-50%);filter:drop-shadow(0 0 6px color-mix(in srgb,var(--danger) calc(40% * var(--glow-k)),transparent))}.wheel-center{position:relative;z-index:4;display:grid;place-items:center;width:132px;height:132px;overflow:hidden;border:1px solid var(--border-strong);border-radius:50%;background:var(--surface);color:var(--accent);box-shadow:0 0 0 9px color-mix(in srgb,var(--shadow) 72%,transparent),0 0 28px color-mix(in srgb,var(--signal) calc(24% * var(--glow-k)),transparent)}.wheel-center.revealed{animation:wheel-center-reveal .55s cubic-bezier(.2,.9,.2,1.12) both;box-shadow:0 0 0 9px color-mix(in srgb,var(--shadow) 72%,transparent),0 0 28px color-mix(in srgb,var(--signal) calc(28% * var(--glow-k)),transparent)}@keyframes wheel-center-reveal{0%{transform:scale(.55);opacity:0}to{transform:scale(1);opacity:1}}.wheel-center img{width:100%;height:100%;object-fit:cover}.wheel-prize-list{display:grid;max-height:480px;overflow:auto;gap:8px}.wheel-prize-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:52px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface) 76%,transparent);padding:6px}.wheel-prize-row.rare,.guaranteed-reward.rare,.wheel-prize-row.epic,.guaranteed-reward.epic{border-color:var(--border-strong)}.wheel-prize-row.legendary,.guaranteed-reward.legendary{border-color:var(--reward)}.wheel-prize-row strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wheel-prize-row small{color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.reward-carousel-stage{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,320px);gap:18px;margin:16px;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 48%,transparent);border-radius:var(--radius-lg);background:radial-gradient(circle at 50% 34%,color-mix(in srgb,var(--reward) 18%,transparent),transparent 28%),radial-gradient(circle at 20% 72%,color-mix(in srgb,var(--signal) 16%,transparent),transparent 28%),linear-gradient(135deg,color-mix(in srgb,var(--surface) 94%,transparent),color-mix(in srgb,var(--surface) 92%,transparent)),var(--bg);padding:18px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text) 4%,transparent)}.reward-carousel-stage.complete{border-color:color-mix(in srgb,var(--reward) 72%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--reward) calc(12% * var(--glow-k)),transparent),0 0 28px color-mix(in srgb,var(--reward) calc(12% * var(--glow-k)),transparent)}.reward-carousel-heading{grid-column:1 / -1;display:inline-flex;align-items:center;gap:8px;color:var(--reward);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase}.reward-carousel-viewport{position:relative;min-height:234px;overflow:hidden;border:1px solid color-mix(in srgb,var(--info) 36%,transparent);border-radius:var(--radius-lg);background:linear-gradient(90deg,color-mix(in srgb,var(--surface) 98%,transparent),transparent 18%,transparent 82%,color-mix(in srgb,var(--surface) 98%,transparent)),color-mix(in srgb,var(--surface) 72%,transparent)}.reward-carousel-viewport:before,.reward-carousel-viewport:after{content:"";position:absolute;top:0;bottom:0;z-index:4;width:80px;pointer-events:none}.reward-carousel-viewport:before{left:0;background:linear-gradient(90deg,var(--bg),transparent)}.reward-carousel-viewport:after{right:0;background:linear-gradient(270deg,var(--bg),transparent)}.reward-carousel-pointer{position:absolute;top:0;left:50%;z-index:6;display:grid;place-items:center;width:46px;height:52px;border:1px solid color-mix(in srgb,var(--reward) 72%,transparent);border-top:0;border-radius:0 0 var(--radius-xl) var(--radius-xl);color:var(--reward-contrast);background:var(--moment-gradient);box-shadow:0 0 28px color-mix(in srgb,var(--reward) calc(28% * var(--glow-k)),transparent);transform:translate(-50%)}.reward-carousel-pointer:after{content:"";position:absolute;bottom:-146px;left:50%;width:2px;height:146px;background:linear-gradient(180deg,var(--reward),transparent);transform:translate(-50%)}.reward-carousel-track{--target-offset: 0px;position:absolute;top:58px;left:50%;display:flex;gap:14px;transform:translate3d(280px,0,0);will-change:transform}.reward-carousel-track.spinning{animation:reward-carousel-run 2.35s cubic-bezier(.12,.84,.14,1) forwards}.reward-carousel-track.settled{transform:translate3d(calc(-1 * var(--target-offset)),0,0)}@keyframes reward-carousel-run{0%{transform:translate3d(320px,0,0)}76%{transform:translate3d(calc(-1 * var(--target-offset) - 36px),0,0)}to{transform:translate3d(calc(-1 * var(--target-offset)),0,0)}}.reward-carousel-card{display:grid;justify-items:center;align-content:start;gap:8px;width:176px;height:148px;flex:0 0 176px;border:1px solid color-mix(in srgb,var(--accent) 36%,transparent);border-radius:var(--radius-lg);background:linear-gradient(180deg,color-mix(in srgb,var(--text) 6%,transparent),transparent),color-mix(in srgb,var(--surface) 94%,transparent);padding:10px;text-align:center;box-shadow:0 16px 34px color-mix(in srgb,var(--shadow) 28%,transparent)}.reward-carousel-card.rare,.reward-carousel-card.epic{border-color:var(--border-strong)}.reward-carousel-card.legendary{border-color:color-mix(in srgb,var(--reward) 78%,transparent)}.reward-carousel-card.winner{animation:reward-card-win .56s cubic-bezier(.2,.9,.2,1.12) both;border-color:var(--reward);box-shadow:0 0 0 2px color-mix(in srgb,var(--reward) calc(16% * var(--glow-k)),transparent),0 0 28px color-mix(in srgb,var(--reward) calc(28% * var(--glow-k)),transparent)}@keyframes reward-card-win{0%{transform:scale(.96)}to{transform:scale(1.08)}}.reward-carousel-image{display:grid;place-items:center;width:74px;height:74px;overflow:hidden;border:1px solid color-mix(in srgb,var(--text) 12%,transparent);border-radius:var(--radius-lg);background:var(--field);color:var(--accent)}.reward-carousel-image img,.reward-result-image img{width:100%;height:100%;object-fit:cover}.reward-carousel-card strong{max-width:100%;overflow:hidden;color:var(--text);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap}.reward-carousel-card small{color:var(--text-secondary);font-size:var(--text-2xs);font-weight:var(--weight-semibold);text-transform:uppercase}.reward-carousel-prize-list{display:grid;align-content:start;max-height:234px;overflow:auto;gap:8px}.reward-carousel-prize-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:52px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface) 76%,transparent);padding:6px}.reward-carousel-prize-row.rare,.guaranteed-reward.rare,.reward-carousel-prize-row.epic,.guaranteed-reward.epic{border-color:var(--border-strong)}.reward-carousel-prize-row.legendary,.guaranteed-reward.legendary{border-color:var(--reward)}.reward-carousel-prize-row strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reward-carousel-prize-row small{color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.reward-result-showcase{position:relative;display:grid;grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:16px;min-height:118px;margin:0 16px 16px;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 56%,transparent);border-radius:var(--radius-lg);background:linear-gradient(135deg,color-mix(in srgb,var(--signal) 16%,transparent),color-mix(in srgb,var(--reward) 12%,transparent)),var(--surface);color:var(--accent);padding:14px 18px;animation:reward-result-in .36s ease both}.reward-result-showcase.legendary{border-color:color-mix(in srgb,var(--reward) 80%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--reward) 22%,transparent),color-mix(in srgb,var(--signal) 13%,transparent)),var(--surface);animation:reward-result-in .36s ease both,legendary-pulse 3s ease-in-out .34s infinite}.reward-result-glow{position:absolute;inset:-35%;background:radial-gradient(circle at 22% 50%,color-mix(in srgb,var(--reward) 28%,transparent),transparent 24%),linear-gradient(110deg,transparent 0%,color-mix(in srgb,var(--text) 16%,transparent) 48%,transparent 72%);animation:reward-prompt-shine 1.5s ease both;pointer-events:none}.reward-result-image{position:relative;z-index:1;display:grid;place-items:center;width:86px;height:86px;overflow:hidden;border:1px solid color-mix(in srgb,var(--reward) 62%,transparent);border-radius:var(--radius-lg);background:var(--field);color:var(--reward);box-shadow:0 0 28px color-mix(in srgb,var(--reward) calc(22% * var(--glow-k)),transparent)}.reward-result-showcase>div:not(.reward-result-glow){position:relative;z-index:1}.reward-result-showcase span{display:block;color:var(--reward);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase}.reward-result-showcase strong{display:block;margin-top:4px;overflow-wrap:anywhere;color:var(--text);font-size:var(--text-2xl);line-height:1.1}.reward-result-showcase small{display:inline-flex;margin-top:8px;border:1px solid color-mix(in srgb,var(--text) 16%,transparent);border-radius:var(--radius-pill);color:var(--text-secondary);padding:3px 9px;font-size:var(--text-2xs);font-weight:var(--weight-semibold);text-transform:uppercase}.reward-result-showcase>svg{position:relative;z-index:1;color:var(--reward)}.reward-result{display:flex;align-items:center;gap:10px;min-height:54px;margin:0 16px 16px;border:1px solid color-mix(in srgb,var(--accent) 48%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--accent);padding:0 16px;animation:reward-result-in .32s ease both}.reward-result.rare,.reward-result.epic{border-color:var(--border-strong)}.reward-result.legendary{border-color:color-mix(in srgb,var(--reward) 70%,transparent);background:color-mix(in srgb,var(--reward) 9%,transparent);animation:reward-result-in .32s ease both,legendary-pulse 3s ease-in-out .34s infinite}@keyframes legendary-pulse{0%,to{box-shadow:0 0 0 1px color-mix(in srgb,var(--reward) calc(24% * var(--glow-k)),transparent),0 0 10px color-mix(in srgb,var(--reward) calc(12% * var(--glow-k)),transparent)}50%{box-shadow:0 0 0 1px color-mix(in srgb,var(--reward) calc(40% * var(--glow-k)),transparent),0 0 22px color-mix(in srgb,var(--reward) calc(26% * var(--glow-k)),transparent)}}.reward-result span{color:var(--text-muted)}@keyframes reward-result-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.guaranteed-rewards{display:grid;gap:10px;margin:0 16px 16px}.guaranteed-rewards h3{margin:0;font-size:var(--text-md)}.guaranteed-rewards>div{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}.guaranteed-reward{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);padding:8px}.guaranteed-reward .reward-image{width:40px;height:40px}.guaranteed-reward strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-modal-body{display:grid;gap:14px;padding:14px}.settings-section{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,.8fr);gap:14px;align-items:center;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:16px}.settings-section .panel-header{margin-bottom:6px}.settings-section p{margin:0;color:var(--text-muted);font-size:var(--text-sm)}.language-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.language-option{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;min-height:46px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-2);color:var(--text);padding:0 10px;text-align:left}.language-option strong{display:grid;place-items:center;width:32px;height:28px;border-radius:var(--radius-sm);background:var(--surface-hover);color:var(--info);font-size:var(--text-xs)}.language-option span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.language-option.active{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.theme-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.theme-grid .language-option{grid-template-columns:16px minmax(0,1fr)}@media(max-width:560px){.theme-grid{grid-template-columns:minmax(0,1fr)}}.sound-theme-row{display:grid;gap:8px;font-size:var(--text-sm)}.sound-theme-grid .language-option{grid-template-columns:16px minmax(0,1fr);min-height:52px;padding:8px 10px}.sound-theme-grid .language-option em{grid-column:2;overflow:hidden;color:var(--text-muted);font-size:var(--text-2xs);font-style:normal;text-overflow:ellipsis;white-space:nowrap}.sound-theme-grid .language-option:disabled{opacity:.5}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 10px 12px;margin:0 10px;border-bottom:1px solid var(--border-strong)}.modal-header h2{margin:0;font-size:var(--text-xl)}.modal-form{display:grid;gap:12px;padding:14px 10px 16px}.field-stack{display:grid;gap:6px}.field-stack>span{color:var(--text);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.field-stack small{color:var(--text-muted);font-size:var(--text-2xs)}.segmented-pills{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.preset-row,.draft-checklist{display:flex;flex-wrap:wrap;gap:7px}.segmented-pills .type-pill{background:var(--surface-hover);justify-content:center;text-align:center;white-space:normal;font-size:var(--text-2xs);min-height:32px;padding:4px 6px}.preset-row button,.draft-checklist span{display:inline-flex;align-items:center;min-height:28px;border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--bg);color:var(--text);padding:0 11px;font-size:var(--text-xs);font-weight:var(--weight-semibold)}.preset-row button.active{border-color:var(--info);box-shadow:0 0 0 2px color-mix(in srgb,var(--info) calc(14% * var(--glow-k)),transparent)}.preset-custom{display:inline-flex;align-items:center;min-height:28px;padding:0 11px;font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-muted);border:1px dashed var(--border-strong);border-radius:var(--radius-pill)}.frequency-box{display:grid;gap:10px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-hover);padding:10px}.frequency-chip{display:inline-flex;align-items:center;width:max-content;gap:8px;min-height:30px;border:1px solid var(--info);border-radius:var(--radius-pill);color:var(--text);padding:0 12px;font-size:var(--text-xs);font-weight:var(--weight-semibold)}.frequency-inputs,.checklist-add-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.checklist-add-row{grid-template-columns:minmax(0,1fr) auto}.modal-divider{height:1px;background:var(--border-strong)}.draft-checklist span{gap:8px;border-radius:var(--radius-md);background:var(--surface-2);font-weight:var(--weight-semibold)}.draft-checklist span.done{color:var(--text-muted);text-decoration:line-through}.draft-checklist button{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--danger);padding:0}.reward-wheel-modal>.modal-actions{padding:10px 14px 14px}.modal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;padding-top:10px}.confirm-modal{width:min(380px,100%);padding:28px 28px 24px;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-hover);box-shadow:0 24px 80px color-mix(in srgb,var(--shadow) 52%,transparent)}.confirm-modal h3{margin:0 0 6px;font-size:var(--text-lg);font-weight:var(--weight-semibold)}.confirm-hint{margin:0 0 14px;font-size:var(--text-sm);color:var(--text-muted)}.confirm-target{margin:0 0 22px;padding:10px 14px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-hover);font-size:var(--text-md);font-weight:var(--weight-medium);word-break:break-word}.icon-text-button.primary{border-color:var(--accent);background:var(--accent);color:var(--accent-contrast);font-weight:var(--weight-semibold)}.icon-text-button.danger{border-color:var(--danger);color:var(--danger)}.icon-text-button.muted{background:var(--border-strong)}.onboarding-modal{width:560px;max-width:96vw;max-height:86vh;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.onboarding-body{overflow-y:auto;padding:20px 24px 24px;display:flex;flex-direction:column;gap:20px}.onboarding-principle{padding:16px 18px;background:color-mix(in srgb,var(--accent) 7%,transparent);border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);border-radius:var(--radius-md)}.onboarding-principle h3{margin:0 0 8px;font-size:var(--text-2xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.5px;color:var(--accent)}.onboarding-principle p{margin:0;font-size:var(--text-md);line-height:1.6;color:var(--text)}.onboarding-blocks{display:flex;flex-direction:column;gap:14px}.onboarding-block{display:flex;gap:14px;align-items:flex-start}.onboarding-icon{display:grid;place-items:center;flex-shrink:0;width:28px;margin-top:1px;color:var(--text-secondary)}.onboarding-block strong{display:block;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text);margin-bottom:3px}.onboarding-block p{margin:0;font-size:var(--text-sm);color:var(--text-muted);line-height:1.5}.onboarding-tip{padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md)}.onboarding-tip strong{display:block;font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text);margin-bottom:10px}.onboarding-tip ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}.onboarding-tip li{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.4}@media(max-width:1120px){.app-shell,.app-shell.sidebar-collapsed,.skills-layout,.skills-dashboard,.overview-workspace,.settings-section,.split-grid,.rewards-layout,.progress-hero{grid-template-columns:minmax(0,1fr)}.sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--border)}.nav-list{grid-template-columns:none;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}.sidebar.collapsed .nav-list{grid-auto-columns:44px}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.workspace{padding:18px}.topbar-character{width:84px}.character-stage-canvas,.character-stage-flat{height:96px}.character-open{padding:2px 9px}.topbar{flex-wrap:wrap;gap:10px}.topbar-progress-header{flex-wrap:wrap}.topbar-actions{flex-wrap:wrap;flex-shrink:1;padding-left:0;border-left:0}.card-modal-body{grid-template-columns:minmax(0,1fr)}.section-heading,.reward-heading{display:grid}.metrics-grid,.goal-form,.reward-form,.reward-wheel-stage,.reward-carousel-stage,.goal-table-header,.goal-table-row,.skill-table-header,.skill-table-row,.summary-grid,.xp-adjust-form,.frequency-inputs,.checklist-add-row,.reward-card{grid-template-columns:1fr}.kanban-create-form{grid-template-columns:1fr auto;grid-template-rows:auto auto}.kanban-create-form input:first-child{grid-column:1 / -1}.kanban-create-form select{grid-column:span 1}.kanban-create-form button[type=submit]{grid-row:2;grid-column:2;align-self:end}.goal-table-header,.skill-table-header{display:none}.goal-table-row{padding-left:36px}.goal-row-actions{justify-content:flex-start}.reward-carousel-stage{margin:12px;padding:12px}.reward-carousel-viewport{min-height:214px}.reward-carousel-track{top:54px}.reward-carousel-prize-list{max-height:180px}.reward-result-showcase{grid-template-columns:72px minmax(0,1fr);margin:0 12px 12px}.reward-result-showcase>svg{display:none}.reward-result-image{width:68px;height:68px}.reward-result-showcase strong{font-size:var(--text-xl)}.wheel-shell{width:min(430px,82vw)}.profile-panel,.language-grid{grid-template-columns:1fr}.wheel-label span{max-width:76px;margin-top:36px;font-size:var(--text-2xs)}.wheel-center{width:96px;height:96px}.reward-form .icon-text-button,.reward-form .file-picker{grid-column:auto}.nav-list{grid-template-columns:1fr 1fr}.milestone-row{font-size:var(--text-2xs);gap:4px}.milestone-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.auth-screen{display:grid;place-items:center;min-height:100vh;padding:16px;background:radial-gradient(circle at top,var(--surface-2) 0%,var(--bg) 60%)}.auth-checking{min-height:100vh}.auth-card{display:grid;gap:16px;width:min(400px,100%);border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-2);box-shadow:0 24px 80px color-mix(in srgb,var(--shadow) 48%,transparent);padding:20px}.auth-brand{display:flex;align-items:center;gap:12px}.auth-brand strong{display:block;font-size:var(--text-lg)}.auth-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.auth-tabs .icon-text-button,.auth-submit{justify-content:center}.auth-form{padding:0}.auth-error{margin:0;color:var(--danger);font-size:var(--text-sm)}.auth-submit:disabled{cursor:progress;opacity:.7}.auth-notice{margin:0;color:var(--text-muted);font-size:var(--text-sm)}.auth-lead{margin:0;color:var(--text-muted);font-size:var(--text-sm);line-height:1.5}.auth-providers{display:grid;gap:8px}.provider-button{display:flex;gap:10px;align-items:center;justify-content:center;padding:10px 16px;border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface);color:var(--text);font-size:var(--text-sm);font-weight:var(--weight-medium);text-decoration:none;transition:background .15s,border-color .15s}.provider-button:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--surface))}.auth-divider{display:flex;gap:12px;align-items:center;color:var(--text-muted);font-size:var(--text-xs)}.auth-divider:before,.auth-divider:after{flex:1;height:1px;background:var(--border);content:""}.auth-links{display:flex;justify-content:center}.link-button{padding:0;border:0;background:none;color:var(--text-muted);font-family:inherit;font-size:var(--text-xs);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.link-button:hover{color:var(--accent)}.notice-verify{border-color:var(--signal);color:var(--signal)}.notice-verify .notice-retry{border-color:color-mix(in srgb,var(--signal) 40%,transparent);background:color-mix(in srgb,var(--signal) 8%,transparent);color:var(--signal)}.notice-verify .notice-retry:hover{background:color-mix(in srgb,var(--signal) 16%,transparent)}.security-block{display:grid;gap:10px;grid-column:1 / -1;border-top:1px solid var(--border);padding-top:14px}.security-block h3{margin:0;font-family:var(--font-display);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.security-form{display:grid;gap:10px 12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:start;padding:0}.security-form button{grid-column:1 / -1;justify-self:start}.security-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.security-list li{display:flex;gap:12px;align-items:center;justify-content:space-between;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);padding:10px 12px}.security-list li>span{display:grid;gap:2px;min-width:0}.security-list strong{display:flex;gap:8px;align-items:center;font-size:var(--text-sm);font-weight:var(--weight-medium)}.security-list em{border-radius:var(--radius-pill);background:color-mix(in srgb,var(--accent) 14%,transparent);padding:1px 8px;color:var(--accent);font-size:var(--text-2xs);font-style:normal}.security-list small{color:var(--text-muted);font-size:var(--text-xs)}@media(max-width:720px){.security-list li{flex-direction:column;align-items:stretch}}.settings-account-actions{display:flex;justify-content:flex-end}.metrics-panel{display:grid;gap:12px}.metrics-hint{margin:0;color:var(--text-muted);font-size:var(--text-sm)}.metric-list{display:grid;gap:8px}.metric-row{display:grid;grid-template-columns:minmax(160px,1fr) auto 120px auto;align-items:center;gap:14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:10px 12px}.metric-name strong,.metric-name span{display:block}.metric-name strong{font-size:var(--text-md)}.metric-name span{margin-top:2px;color:var(--text-muted);font-size:var(--text-xs)}.metric-scale{display:grid;grid-template-columns:repeat(10,30px);gap:4px}.metric-value{height:30px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.metric-value:hover{border-color:var(--signal)}.metric-value.active{border-color:var(--signal);background:color-mix(in srgb,var(--signal) 16%,transparent);color:var(--signal)}.metric-history{display:flex;align-items:flex-end;gap:4px;height:32px}.metric-bar{flex:1;min-width:8px;border-radius:3px 3px 0 0;background:var(--accent)}.metric-bar.empty{background:var(--border-strong)}.metric-bar.today:not(.empty){background:var(--signal)}.metric-actions{display:flex;gap:6px}.metric-add{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.metric-preset{display:inline-flex;align-items:center;gap:4px;min-height:30px;border:1px dashed var(--border-strong);border-radius:var(--radius-pill);background:transparent;color:var(--text-secondary);padding:0 12px;font-size:var(--text-xs)}.metric-preset:hover{border-color:var(--signal);color:var(--signal)}.metric-add-form{display:flex;gap:8px;margin-left:auto}.metric-add-form input{min-width:180px}.day-load{display:grid;gap:8px;margin-bottom:14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:12px 14px}.day-load-summary,.day-load-footer{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;color:var(--text-secondary);font-size:var(--text-sm)}.day-load-summary strong{color:var(--text)}.day-load-hint{color:var(--text-muted)}.day-load-bar{height:16px}.thread-bar .axon-bar-halo,.goal-progress-bar .axon-bar-wave{display:none}.day-load.tight .day-load-bar .axon-bar-fill{fill:var(--reward)}.day-load.overload .day-load-bar .axon-bar-fill{fill:var(--danger)}.day-load-status{color:var(--signal);font-weight:var(--weight-semibold)}.day-load.tight .day-load-status{color:var(--reward)}.day-load.overload .day-load-status{color:var(--danger)}.day-load-capacity{display:inline-flex;align-items:center;gap:6px;margin-left:auto}.day-load-capacity input{width:70px;min-height:30px}.estimate-chip-inline{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);font-size:var(--text-2xs);font-weight:var(--weight-medium);white-space:nowrap}.estimate-chips{display:flex;flex-wrap:wrap;gap:6px}.estimate-chip{min-height:28px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);padding:0 8px;font-size:var(--text-xs)}.estimate-chip.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 18%,transparent)}.spent-add{display:flex;align-items:center;gap:6px}.spent-add input{min-height:30px}@media(max-width:1120px){.metric-row{grid-template-columns:minmax(0,1fr) auto;grid-auto-flow:row dense}.metric-scale,.metric-history{grid-column:1 / -1}}@media(max-width:560px){.metric-scale{grid-template-columns:repeat(5,1fr)}.metric-add-form{width:100%;margin-left:0}.metric-add-form input{min-width:0;flex:1}.day-load-capacity{margin-left:0}}.xp-pulse{position:absolute;top:-14px;left:16px;color:var(--signal);font-family:var(--font-mono);font-size:var(--text-xs);font-size-adjust:.5;font-variant-numeric:tabular-nums;pointer-events:none;animation:xp-pulse 1.4s var(--ease-out) forwards}@keyframes xp-pulse{0%{opacity:0;transform:translateY(6px)}15%{opacity:1;transform:translateY(0)}70%{opacity:1}to{opacity:0;transform:translateY(-6px)}}.animated-progress.moment .axon-bar-fill{fill:var(--reward)}.animated-progress.moment .axon-bar-halo{opacity:calc(.45 * var(--glow-k));fill:var(--reward)}.animated-progress.moment .axon-bar-wave{stroke:color-mix(in srgb,var(--surface) 40%,var(--reward));animation-duration:1.6s}.confetti-canvas{position:fixed;inset:0;z-index:60;width:100%;height:100%;pointer-events:none}.celebration-card.leaving,.celebration-xp-card.leaving{animation:toast-leave .18s var(--ease-out) forwards}@keyframes toast-leave{to{opacity:0}}.celebration-card.level>span .skill-neuron{color:currentColor}.celebration-card.level>span .skill-neuron path{stroke-dasharray:60;stroke-dashoffset:60;animation:neuron-grow .8s var(--ease-out) .15s forwards}@keyframes neuron-grow{to{stroke-dashoffset:0}}.sound-prompt{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px 12px;align-items:start;padding:14px;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface);color:var(--text);box-shadow:0 12px 32px color-mix(in srgb,var(--shadow) 30%,transparent);pointer-events:auto;animation:celebration-in .3s var(--ease-out)}.sound-prompt strong{display:block;font-size:var(--text-sm)}.sound-prompt small{color:var(--text-muted);font-size:var(--text-xs)}.sound-prompt-actions{display:flex;grid-column:2;gap:8px}.sound-settings{display:grid;gap:10px;align-content:start}.toggle-row,.volume-row{display:flex;align-items:center;gap:10px;font-size:var(--text-sm)}.toggle-row input{flex:none;width:16px;height:16px;min-height:0;padding:0;accent-color:var(--accent)}.volume-row input[type=range]{flex:1;min-width:120px;min-height:0;padding:0;border:0;background:transparent;accent-color:var(--accent)}.volume-value{min-width:52px;color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-xs);font-size-adjust:.5;text-align:right}.sound-settings .icon-text-button{justify-self:start}@media(prefers-reduced-motion:reduce){.celebration-card.level>span .skill-neuron path{stroke-dashoffset:0}}.hide-momentum .momentum-value,.hide-momentum .habit-overview-xp,.hide-momentum .goal-xp-cell{visibility:hidden}.feature-row{align-items:flex-start}.feature-row input{margin-top:2px}.feature-row span{display:grid;gap:2px}.feature-row strong{font-weight:var(--weight-medium)}.feature-row small{color:var(--text-muted);font-size:var(--text-xs)}.goal-progress-inline{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted)}.goal-progress-bar{display:inline-flex;width:62px;height:14px}.row-actions-toggle{display:none}.row-actions-items{display:flex;align-items:center;justify-content:flex-end;gap:6px}@media(hover:hover)and (pointer:fine){.row-actions-items,.habit-overview-actions .micro-button.danger{opacity:0;transition:opacity var(--dur-fast) var(--ease-out)}.goal-table-row:hover .row-actions-items,.goal-table-row:focus-within .row-actions-items,.skill-table-row:hover .row-actions-items,.skill-table-row:focus-within .row-actions-items,.skill-table-row.selected .row-actions-items,.habit-overview-row:hover .micro-button.danger,.habit-overview-row:focus-within .micro-button.danger{opacity:1}}@media(hover:none),(pointer:coarse){.row-actions-toggle{display:inline-grid}.row-actions-items{display:none}.row-actions.open{flex-wrap:wrap}.row-actions.open .row-actions-items{display:flex;flex-wrap:wrap}.micro-button{min-width:44px;min-height:44px}.icon-text-button,.nav-list button{min-height:44px}.goal-status-button:after{content:"";position:absolute;inset:-8px}}.kanban-empty-hint{margin:0 0 12px;padding:10px 12px;border:1px dashed var(--border-strong);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-sm)}.skeleton-screen{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.skeleton-panel{display:grid;gap:12px;padding:20px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.skeleton-line{width:80%;height:12px;border-radius:var(--radius-pill);background:linear-gradient(90deg,var(--surface-2),var(--surface-hover),var(--surface-2));background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite}.skeleton-line.wide{width:45%;height:16px}.skeleton-line.short{width:55%}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.refresh-line{position:fixed;top:0;left:0;z-index:70;width:100%;height:2px;background:linear-gradient(90deg,transparent,var(--signal),transparent);background-repeat:no-repeat;background-size:50% 100%;animation:refresh-sweep 1s var(--ease-out) infinite}@keyframes refresh-sweep{0%{background-position:-50% 0}to{background-position:150% 0}}.day-summary{position:relative;display:grid;gap:10px;padding:16px;border:1px solid color-mix(in srgb,var(--reward) 45%,var(--border));border-radius:var(--radius-lg);background:linear-gradient(135deg,color-mix(in srgb,var(--signal) 8%,transparent),color-mix(in srgb,var(--reward) 6%,transparent)),var(--surface);box-shadow:0 12px 32px color-mix(in srgb,var(--shadow) 30%,transparent);pointer-events:auto;animation:celebration-in .36s var(--ease-out)}.day-summary-head{display:flex;align-items:center;justify-content:space-between}.day-summary-head strong{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:-.012em}.day-summary p{margin:0;color:var(--text-muted);font-size:var(--text-sm)}.day-summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:8px;margin:0}.day-summary-stats div{display:grid;gap:2px;padding:8px 10px;border-radius:var(--radius-md);background:var(--surface-2)}.day-summary-stats dt{color:var(--text-muted);font-size:var(--text-2xs)}.day-summary-stats dd{margin:0;font-family:var(--font-display);font-size:var(--text-xl);font-variant-numeric:tabular-nums}@media(max-width:720px){.workspace{padding:12px 12px calc(84px + env(safe-area-inset-bottom,0px))}.skill-tree-modal-backdrop{z-index:45;padding:8px}.skill-tree-modal{width:100%;height:100%}.tree-modal-header{flex-wrap:wrap;gap:8px}.tree-header-actions{width:100%;margin-left:0}.tree-header-actions .icon-text-button{flex:1;justify-content:center}.skill-tree-modal-body{padding:8px}.node-draft{flex-wrap:wrap;max-width:calc(100% - 16px)}.sidebar,.sidebar.collapsed{position:fixed;inset:auto 0 0;z-index:40;height:auto;padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);border-bottom:0;background:color-mix(in srgb,var(--bg-sidebar) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.sidebar .brand{display:none}.nav-list,.sidebar.collapsed .nav-list{grid-template-columns:none;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:2px}.nav-list button,.sidebar.collapsed .nav-list button{flex-direction:column;justify-content:center;gap:3px;min-height:52px;padding:4px 2px;border:0;font-size:var(--text-2xs)}.nav-list button span,.sidebar.collapsed .nav-list button span{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:8px;padding:10px 12px;margin-bottom:14px}.topbar-actions{justify-content:flex-end}.topbar .avatar-ring-wrap,.topbar .avatar-circle{width:48px;height:48px}.topbar .avatar-level-badge{width:18px;height:18px}.topbar-identity{flex-wrap:nowrap;overflow:hidden;white-space:nowrap}.topbar-identity .character-sep{display:none}.topbar-identity .character-top-skill{overflow:hidden;text-overflow:ellipsis}.topbar-actions{flex-wrap:nowrap;gap:4px;padding-left:0;border-left:0}.topbar-actions .topbar-xp-label,.topbar-actions .xp-pulse{display:none}.topbar-actions .icon-text-button{width:44px;padding:0;gap:0;font-size:0}.skill-table-row{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"name stage actions" "xp xp xp";row-gap:8px;padding:10px 0}.skill-table-row>.skill-name-cell{grid-area:name}.skill-table-row>span:nth-child(2){display:none}.skill-table-row>.stage-meter{grid-area:stage}.skill-table-row>.skill-xp-cell{grid-area:xp}.skill-table-row>.row-actions{grid-area:actions}.goal-table-row,.goal-table-row.compact,.goal-table-row.skill-scoped{grid-template-columns:minmax(0,1fr) auto auto;align-items:center}.goal-table-row .goal-skill-cell,.goal-table-header.skill-scoped{display:none}.celebration-stack{bottom:calc(76px + env(safe-area-inset-bottom,0px))}}.psy-root{gap:14px}.psy-stack{display:grid;gap:12px}.psy-disclaimer{display:grid;gap:4px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2);padding:10px 14px;color:var(--text-secondary);font-size:var(--text-xs)}.psy-disclaimer p{margin:0}.psy-disclaimer a,.psy-hotlines a{color:var(--text);font-family:var(--font-mono);font-weight:var(--weight-medium)}.psy-crisis{display:grid;gap:8px;border-color:color-mix(in srgb,var(--danger) 55%,transparent);background:color-mix(in srgb,var(--danger) 8%,var(--surface))}.psy-crisis p{margin:0}.psy-hotlines{display:grid;gap:4px;margin:0;padding-left:18px}.psy-tabs{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid var(--border)}.psy-tab{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--text-muted);padding:8px 12px;font-size:var(--text-sm);font-weight:var(--weight-medium)}.psy-tab:hover{background:transparent;color:var(--text)}.psy-tab[aria-selected=true]{border-bottom-color:var(--text);color:var(--text)}.psy-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.psy-row.end{justify-content:flex-end}.psy-row>.field-stack{flex:1 1 200px}.psy-label{margin:0;color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium)}.psy-hint{margin:0;color:var(--text-muted);font-size:var(--text-xs)}.psy-subtitle{margin:0;font-family:var(--font-display);font-size:var(--text-md);font-weight:var(--weight-semibold)}.psy-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.psy-big-number{font-family:var(--font-display);font-size:var(--text-3xl);font-variant-numeric:tabular-nums;line-height:1}.psy-check{display:inline-flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:var(--text-sm)}.psy-check input[type=checkbox]{flex:none;width:16px;height:16px;min-height:0;padding:0}.psy-compose{display:grid;gap:10px}.psy-compose textarea,.psy-work-start textarea,.psy-work-active textarea{width:100%;resize:vertical;font:inherit}.psy-compose-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.psy-entry{display:grid;gap:8px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:12px 14px}.psy-entry-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px;color:var(--text-muted);font-size:var(--text-xs)}.psy-entry-actions{display:inline-flex;gap:6px;margin-left:auto}.psy-status{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--border);border-radius:var(--radius-pill);padding:1px 8px}.psy-status.done{border-color:color-mix(in srgb,var(--success) 45%,transparent);color:var(--text-secondary)}.psy-status.error{border-color:color-mix(in srgb,var(--danger) 55%,transparent);color:var(--text)}.psy-spin{animation:psy-spin 1s linear infinite}@keyframes psy-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.psy-spin{animation:none}}.psy-entry-text{margin:0;white-space:pre-wrap;line-height:1.55}.psy-entry-summary{margin:0;color:var(--text-secondary);font-size:var(--text-sm)}.psy-mark{border-radius:3px;color:inherit;padding:0 1px}.psy-mark.kind-fear{background:color-mix(in srgb,var(--psy-fear) 22%,transparent);box-shadow:inset 0 -2px 0 var(--psy-fear)}.psy-mark.kind-shadow{background:color-mix(in srgb,var(--psy-shadow) 22%,transparent);box-shadow:inset 0 -2px 0 var(--psy-shadow)}.psy-mark.kind-pattern{background:color-mix(in srgb,var(--psy-pattern) 22%,transparent);box-shadow:inset 0 -2px 0 var(--psy-pattern)}.psy-mark.kind-trigger{background:color-mix(in srgb,var(--psy-trigger) 22%,transparent);box-shadow:inset 0 -2px 0 var(--psy-trigger)}.psy-mark.kind-feeling{background:color-mix(in srgb,var(--text-muted) 16%,transparent);box-shadow:inset 0 -2px 0 var(--text-muted)}.psy-chips,.psy-filters{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.psy-chip,.psy-filter{display:inline-flex;align-items:center;gap:6px;min-height:28px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--text-secondary);padding:0 10px;font-size:var(--text-xs)}.psy-chip:hover,.psy-filter:hover{border-color:var(--border-hover);color:var(--text)}.psy-filter[aria-pressed=false]{opacity:.45}.psy-kind-icon{flex:none}.psy-link-legend{display:inline-flex;flex-wrap:wrap;align-items:center;gap:10px;margin-left:auto;color:var(--text-muted);font-size:var(--text-xs)}.psy-link-sample:before{display:inline-block;width:22px;margin-right:6px;border-top:2px solid var(--text-faint);vertical-align:middle;content:""}.psy-link-sample.hides:before{border-top-style:dashed}.psy-link-sample.triggers:before{width:18px;border-right:6px solid var(--text-faint)}.psy-graph-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:12px;align-items:start}.psy-graph-panel{padding:8px}.psy-graph,.psy-chart{position:relative;width:100%}.psy-graph svg,.psy-chart svg{display:block}.psy-node{cursor:pointer;outline:none;transition:opacity var(--dur-base) var(--ease-out)}.psy-node:focus-visible .psy-node-label{text-decoration:underline}.psy-node-label{fill:var(--text-muted);paint-order:stroke;pointer-events:none;stroke:var(--surface);stroke-linejoin:round;stroke-width:3px}.psy-node-label.strong{fill:var(--text);font-weight:var(--weight-semibold)}.psy-tooltip{position:absolute;z-index:5;display:grid;gap:2px;min-width:140px;max-width:260px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);box-shadow:0 6px 20px color-mix(in srgb,var(--shadow) 35%,transparent);color:var(--text);padding:8px 10px;font-size:var(--text-xs);pointer-events:none;transform:translate(-50%,calc(-100% - 10px))}.psy-tooltip span{color:var(--text-secondary)}.psy-node-panel{position:sticky;top:12px}.psy-node-detail{display:grid;gap:10px}.psy-inline-form{display:flex;gap:6px}.psy-inline-form input,.psy-inline-form select{flex:1;min-width:0}.psy-node-meta{margin:0;color:var(--text-secondary);font-size:var(--text-xs);line-height:1.6}.psy-badge{margin-left:6px;border:1px solid var(--border-strong);border-radius:var(--radius-pill);padding:0 6px}.psy-quotes{display:grid;gap:8px;max-height:320px;margin:0;overflow:auto;padding:0;list-style:none}.psy-quotes li{display:grid;gap:2px;border-left:2px solid var(--border-strong);padding-left:8px}.psy-quotes small{color:var(--text-muted)}.psy-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.psy-table th{color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium);text-align:left}.psy-table th,.psy-table td{border-bottom:1px solid var(--border);padding:6px 8px;vertical-align:middle}.psy-table .num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.psy-table td small{display:block;color:var(--text-muted)}.psy-kind-cell{display:inline-flex;align-items:center;gap:6px}.psy-link{border:0;background:transparent;color:var(--text);padding:0;text-align:left;text-decoration:underline;text-decoration-color:var(--border-strong)}.psy-cell-title{margin:0;font-weight:var(--weight-medium)}.psy-note{font-style:italic}.psy-work-start,.psy-work-active{display:grid;gap:12px}.psy-work-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px}.psy-work-target{margin:2px 0 0;font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-medium)}.psy-clock{display:grid;justify-items:end;gap:6px}.psy-clock-value{font-family:var(--font-mono);font-size:var(--text-3xl);font-variant-numeric:tabular-nums}.psy-clock-controls{display:flex;gap:6px}.psy-ratings{display:grid;grid-template-columns:repeat(11,minmax(36px,1fr));gap:4px}.psy-rating{min-height:40px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-secondary);font-family:var(--font-mono)}.psy-rating:hover{border-color:var(--border-hover);color:var(--text)}.psy-rating[aria-pressed=true]{border-color:var(--text);background:var(--accent);color:var(--accent-contrast)}.psy-work-now{display:flex;align-items:baseline;gap:10px}.psy-change{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-sm)}.psy-notice{margin:0;border:1px solid color-mix(in srgb,var(--warning) 50%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--warning) 10%,transparent);padding:6px 10px;font-size:var(--text-sm)}.psy-stats{display:flex;flex-wrap:wrap;gap:24px;margin:8px 0 0}.psy-stats dt{color:var(--text-muted);font-size:var(--text-xs)}.psy-stats dd{margin:2px 0 0;font-family:var(--font-mono);font-size:var(--text-lg)}.psy-axis,.psy-axis text{fill:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-2xs)}.psy-threshold{stroke:var(--text-faint);stroke-dasharray:4 4}.psy-legend{display:flex;gap:14px;color:var(--text-secondary);font-size:var(--text-xs)}.psy-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--psy-series);vertical-align:middle}.psy-dot.hollow{border:2px solid var(--text-muted);background:var(--surface)}.psy-sparkline{width:auto}.psy-sparkline .psy-tooltip{min-width:0;white-space:nowrap}.psy-tests{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px;align-items:start}.psy-test,.psy-test-form{display:grid;gap:10px}.psy-test-head{display:grid;gap:2px}.psy-test-instruction{margin:0;font-weight:var(--weight-medium)}.psy-test-items{display:grid;gap:12px;margin:0;padding-left:20px}.psy-test-items fieldset{margin:0;border:0;padding:0}.psy-test-items legend{margin-bottom:6px;font-size:var(--text-sm)}.psy-options{display:flex;flex-wrap:wrap;gap:6px}.psy-option{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:var(--radius-pill);padding:4px 10px;color:var(--text-secondary);font-size:var(--text-xs);cursor:pointer}.psy-option.checked{border-color:var(--text);color:var(--text)}.psy-option input{margin:0}.psy-result{display:grid;gap:4px;border:1px solid var(--border);border-radius:var(--radius-md);padding:10px 12px}.psy-result p{margin:0}.psy-result.attention{border-color:color-mix(in srgb,var(--warning) 55%,transparent);background:color-mix(in srgb,var(--warning) 8%,transparent)}.psy-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.psy-tile{display:grid;gap:6px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:12px 14px}.psy-trend{display:inline-flex;align-items:center;gap:4px;color:var(--text-secondary);font-size:var(--text-xs);white-space:nowrap}.psy-trend.growing,.psy-trend.new{color:var(--text);font-weight:var(--weight-medium)}.psy-topics{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}.psy-topic{display:grid;gap:4px}@media(max-width:900px){.psy-graph-layout{grid-template-columns:1fr}.psy-node-panel{position:static}.psy-link-legend{margin-left:0}}@media(max-width:560px){.psy-ratings{grid-template-columns:repeat(6,minmax(36px,1fr))}.psy-clock{justify-items:start}}.habit-overview-xp{white-space:nowrap}.habit-overview-body{display:grid;gap:6px;min-width:0}.habit-plan{display:grid;gap:2px;min-width:0;font-size:12px;opacity:.75}.habit-plan span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.habit-progress{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:11px}.habit-strip{display:flex;gap:3px}.habit-cell{width:9px;height:9px;border-radius:2px;background:currentColor;opacity:.14}.habit-cell.done{opacity:.85}.habit-cell.pending{background:transparent;box-shadow:inset 0 0 0 1px currentColor;opacity:.5}.habit-cell.before{opacity:.05}.habit-consistency,.habit-reserve{display:inline-flex;align-items:center;gap:4px;opacity:.75;white-space:nowrap}.habit-comeback{font-weight:700}.habit-plan-hint,.habit-plan-warning{margin:0;font-size:12px;line-height:1.4}.habit-plan-hint{opacity:.7}.habit-plan-warning{border-left:2px solid currentColor;padding-left:8px}.goal-task-grid.habit-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:560px){.goal-task-grid.habit-plan-grid{grid-template-columns:1fr}}.psy-modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.psy-mode{display:grid;gap:4px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:10px 12px;text-align:left}.psy-mode:hover{border-color:var(--border-hover);background:var(--surface-hover)}.psy-mode[aria-checked=true]{border-color:var(--text)}.psy-mode strong{font-weight:var(--weight-semibold)}.psy-mode small{color:var(--text-muted);font-size:var(--text-2xs);line-height:1.4}.psy-breath{display:grid;justify-items:center;gap:8px;padding:8px 0}.psy-breath-circle{width:80px;height:80px;border:2px solid var(--psy-series);border-radius:50%;background:color-mix(in srgb,var(--psy-series) 12%,transparent);transition-property:transform;transition-timing-function:ease-in-out}.psy-breath-circle.in{transform:scale(1.35)}.psy-breath-circle.out{transform:scale(.85)}.psy-breath-label{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-sm)}@media(prefers-reduced-motion:reduce){.psy-breath-circle{transition:none;transform:none}}.psy-face-fields{display:grid;gap:8px;border:1px solid var(--border);border-radius:var(--radius-md);padding:10px 12px}.psy-outcome{display:inline-flex;align-items:center;margin-top:4px;border:1px solid var(--border-strong);border-radius:var(--radius-pill);padding:0 8px;font-size:var(--text-2xs)}.psy-outcome.not_happened{border-color:color-mix(in srgb,var(--success) 55%,transparent)}.psy-outcome.happened{border-color:color-mix(in srgb,var(--warning) 55%,transparent)}.psy-compose-actions{display:inline-flex;gap:8px}.psy-interim{margin:0;border-left:2px solid var(--psy-series);padding-left:8px;color:var(--text-muted);font-style:italic}.psy-listening{border-color:var(--psy-series);color:var(--text)}.psy-mic-dot{width:8px;height:8px;border-radius:50%;background:var(--psy-series);animation:psy-mic-pulse 1.6s ease-in-out infinite}@keyframes psy-mic-pulse{0%,to{opacity:.35}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.psy-mic-dot{animation:none;opacity:1}}.admin-view{align-self:stretch}.admin-panel{width:100%;padding:18px}.admin-hint{margin:0;color:var(--text-muted);font-size:var(--text-xs)}.admin-users{display:grid;gap:10px;margin-top:14px}.admin-user{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);padding:12px 14px}.admin-user.blocked{border-color:color-mix(in srgb,var(--danger) 45%,transparent)}.admin-user-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr) auto;gap:12px;align-items:center}.admin-user-id{display:grid;gap:4px;min-width:0}.admin-user-id strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-user-id small{color:var(--text-muted);font-size:var(--text-2xs)}.admin-badges{display:flex;flex-wrap:wrap;gap:4px}.admin-badge{border:1px solid var(--border);border-radius:var(--radius-pill);padding:1px 8px;color:var(--text-muted);font-size:var(--text-2xs)}.admin-badge.admin{border-color:color-mix(in srgb,var(--signal) 45%,transparent);color:var(--signal)}.admin-badge.blocked{border-color:color-mix(in srgb,var(--reward) 50%,transparent);color:var(--reward)}.admin-user-stats{display:flex;flex-wrap:wrap;gap:4px 14px;color:var(--text-muted);font-size:var(--text-2xs)}.admin-user-stats b{color:var(--text);font-family:var(--font-mono);font-weight:var(--weight-medium)}.admin-user-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.admin-features{display:grid;gap:10px;margin-top:12px;border-top:1px solid var(--border);padding-top:12px}.admin-feature-group{display:grid;gap:6px}.admin-feature-group>strong{color:var(--text-muted);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.04em}.admin-stats{display:grid;gap:16px;margin-top:14px}.admin-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.admin-tile{display:grid;gap:4px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);padding:12px}.admin-tile span{color:var(--text-muted);font-size:var(--text-2xs)}.admin-tile strong{font-family:var(--font-mono);font-size:var(--text-xl);font-weight:var(--weight-medium)}.admin-chart{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);padding:12px 14px}.admin-chart-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.admin-chart-total{font-family:var(--font-mono);color:var(--text-muted);font-size:var(--text-xs)}.admin-chart-bars{display:flex;align-items:flex-end;gap:2px;height:92px;margin-top:10px}.admin-chart-bar{display:flex;align-items:flex-end;flex:1 1 0;height:100%;min-width:0}.admin-chart-bar>i{display:block;width:100%;min-height:2px;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:color-mix(in srgb,var(--signal) 70%,transparent)}.admin-chart-bars.tone-cards .admin-chart-bar>i{background:color-mix(in srgb,var(--reward) 70%,transparent)}.admin-chart-axis{display:flex;justify-content:space-between;margin-top:6px;color:var(--text-muted);font-size:var(--text-2xs)}@media(max-width:1120px){.admin-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.admin-user-head{grid-template-columns:minmax(0,1fr)}.admin-user-actions{justify-content:flex-start}}.goal-map{min-height:420px;contain:inline-size}@media(hover:none),(pointer:coarse){.goal-node .node-actions{display:none}}.goal-node-open{display:grid;justify-items:center;gap:3px;width:100%;padding:0;border:0;background:none;color:inherit;cursor:pointer}.goal-node-open:focus-visible .soma{outline:2px solid var(--accent);outline-offset:4px;border-radius:var(--radius-pill)}.goal-node.long_term .soma{width:82px;height:82px}.goal-node.medium_term .soma{width:68px;height:68px}.goal-node.short_term .soma{width:54px;height:54px}.goal-node small{color:var(--text-muted);font-size:var(--text-2xs)}.layout-switch{display:inline-flex;padding:3px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-2)}.layout-switch button{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 10px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-size:var(--text-sm)}.layout-switch button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 3px color-mix(in srgb,var(--shadow) 30%,transparent)}@media(max-width:720px){.layout-switch button span{display:none}}@media(max-width:720px){.animated-progress{height:30px}}.sketch-panel{display:grid;gap:var(--space-3)}.sketch-title{margin:0;font-size:var(--text-md)}.sketch-hint{margin:0;color:var(--text-muted);font-size:var(--text-xs)}.sketch-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.sketch-row{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);padding:6px 8px}.sketch-open{display:flex;flex:1;align-items:center;gap:8px;min-width:0;border:none;background:none;color:var(--text);padding:2px 0;text-align:left}.sketch-open strong{overflow:hidden;font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap}.sketch-open span{margin-left:auto;color:var(--text-muted);font-size:var(--text-2xs);white-space:nowrap}.sketch-badge{border:1px solid var(--border-strong);border-radius:999px;color:var(--text-muted);padding:0 6px;font-size:var(--text-2xs);font-style:normal;white-space:nowrap}.sketch-open:hover strong{color:var(--accent)}.sketch-row-actions{display:flex;gap:4px}.sketch-add{display:flex;gap:8px}.sketch-add input{flex:1;min-width:0}.sketch-list-inline{display:grid;gap:6px}.sketch-status{display:block;margin-top:2px;color:var(--text-muted);font-size:var(--text-2xs)}.sketch-status.failed{color:var(--danger, #d64545)}.sketch-modal-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}.sketch-modal{display:grid;grid-template-rows:auto minmax(0,1fr);width:min(1480px,calc(100vw - 36px));height:min(920px,calc(100vh - 36px));overflow:hidden;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-2);box-shadow:0 24px 80px color-mix(in srgb,var(--shadow) 50%,transparent)}.sketch-canvas{min-height:0;height:100%}.sketch-canvas .excalidraw{height:100%}.sketch-canvas-loading{display:grid;place-items:center;height:100%;color:var(--text-muted);font-size:var(--text-sm)}@media(max-width:720px){.sketch-modal{width:100vw;height:100vh;border:none;border-radius:0}.sketch-add{flex-wrap:wrap}}.neuron-source{aspect-ratio:60 / 28;transform:scale(1.5);transform-origin:right center;position:relative;z-index:1}.neuron-grad-core{stop-color:var(--signal-bright)}.neuron-grad-rim{stop-color:var(--signal)}.neuron-dendrite{fill:none;stroke:color-mix(in srgb,var(--signal) 88%,var(--surface));stroke-linecap:round}.neuron-branchlet{fill:none;stroke:color-mix(in srgb,var(--signal) 74%,var(--surface));stroke-linecap:round}.neuron-sweep{animation:neuron-sweep var(--axon-cycle) linear infinite}@keyframes neuron-sweep{0%{transform:translate(0)}18%,to{transform:translate(44px)}}.neuron-lit{opacity:calc(.55 + .35 * var(--charge, 0))}.neuron-lit-branch,.neuron-lit-spine{fill:none;stroke:var(--signal-glint);stroke-linecap:round}.neuron-lit-spine{stroke-width:.32}.neuron-lit-soma{fill:var(--signal-glint)}.neuron-spine{fill:none;stroke:color-mix(in srgb,var(--signal) 74%,var(--surface));stroke-linecap:round;stroke-width:.32}.neuron-partner{fill:none;stroke:color-mix(in srgb,var(--text-muted) 50%,transparent);stroke-linecap:round;stroke-width:.45}.neuron-partner.done{stroke:color-mix(in srgb,var(--signal) 60%,transparent)}.neuron-bouton{fill:var(--surface);stroke:color-mix(in srgb,var(--text-muted) 70%,transparent);stroke-width:.35}.neuron-bouton.done{fill:var(--signal-bright);stroke:var(--signal)}.neuron-spine-head{fill:none;stroke:color-mix(in srgb,var(--signal) 78%,var(--surface));stroke-linecap:round;stroke-width:.6}.neuron-neighbour{opacity:.5}.neuron-neighbour-arbour,.neuron-neighbour-fibre{fill:none;stroke:color-mix(in srgb,var(--signal) 80%,var(--surface));stroke-linecap:round}.neuron-neighbour-fibre{stroke-width:.5}.neuron-neighbour-soma{fill:var(--signal)}@keyframes neuron-neighbour-fire{0%,10%,to{opacity:.5}1%{opacity:.95}}.axon-bar .neuron-neighbour{animation:neuron-neighbour-fire var(--axon-cycle) var(--ease-out) infinite}.neuron-aura{fill:var(--signal-bright);filter:blur(4px);opacity:calc((.16 + .14 * var(--charge, 0)) * var(--glow-k))}.axon-bar-myelin{fill:none;stroke:color-mix(in srgb,var(--signal) 80%,var(--signal-bright));stroke-linecap:round}.axon-node-impulse{stroke:var(--signal-glint);filter:blur(3px);animation-timing-function:linear}.axon-node-window{filter:blur(2px)}.neuron-nucleus{fill:color-mix(in srgb,var(--signal) 58%,var(--shadow));opacity:.7}.neuron-nucleolus{fill:var(--signal-bright)}.neuron-bloom{fill:var(--signal-bright);opacity:0;filter:blur(3px);transform-box:fill-box;transform-origin:center}@keyframes neuron-bloom{0%,6%{opacity:0;transform:scale(.7)}13%{opacity:calc((.4 + .35 * var(--charge, 0)) * var(--glow-k));transform:scale(1.05)}30%,to{opacity:0;transform:scale(1.2)}}.axon-bar .neuron-bloom{animation:neuron-bloom var(--axon-cycle) var(--ease-out) infinite}.axon-bar-beacon{fill:var(--signal-bright);filter:blur(3px);opacity:0;transform-box:fill-box;transform-origin:center;animation:axon-beacon var(--axon-cycle) ease-in-out infinite}@keyframes axon-beacon{0%,64%{opacity:0;transform:scale(.85)}72%{opacity:calc((.45 + .55 * var(--charge, 0)) * var(--glow-k));transform:scale(1.45)}88%,to{opacity:0;transform:scale(.95)}}.axon-beacon-core{fill:var(--signal-glint);filter:blur(.8px);opacity:0;animation:axon-beacon-core var(--axon-cycle) ease-in-out infinite}@keyframes axon-beacon-core{0%,64%,to{opacity:calc(.45 + .3 * var(--charge, 0))}72%{opacity:1}}.axon-bar[data-complete=true] .axon-beacon-core{animation:none;opacity:.9}.axon-bar[data-complete=true] .axon-bar-beacon{animation-name:axon-beacon-full}@keyframes axon-beacon-full{0%,to{opacity:.75;transform:scale(1.1)}50%{opacity:1;transform:scale(1.6)}}.thread-bar :is(.axon-bar-beacon,.axon-beacon-core){display:none}.finance-view{gap:14px}.finance-muted{color:var(--text-muted);font-size:var(--text-sm);margin:0}.finance-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:6px}.finance-section-head h3{margin:0;font-family:var(--font-display);font-size:var(--text-md)}.finance-sum{font-family:var(--font-mono);font-size:var(--text-md);font-weight:var(--weight-medium)}.finance-head-actions{display:flex;align-items:center;gap:8px}.finance-head-actions .micro-button,.finance-head-actions .icon-text-button{white-space:nowrap;flex:none}.finance-headline{display:grid;gap:12px}.finance-headline-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:16px}.finance-big{display:flex;flex-direction:column;gap:2px}.finance-big-label{color:var(--text-muted);font-size:var(--text-sm)}.finance-big-value{font-family:var(--font-display);font-size:var(--text-3xl);line-height:1.05;font-weight:var(--weight-medium)}.finance-days{color:var(--signal);display:flex;align-items:baseline;gap:4px}.finance-days-unit{font-family:var(--font-sans);font-size:var(--text-md);color:var(--text-muted)}.finance-delta{font-size:var(--text-sm);color:var(--text-muted)}.finance-delta.is-up{color:var(--signal)}.finance-goal{display:grid;gap:4px}.finance-goal-bar{height:6px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--signal) 12%,transparent);overflow:hidden}.finance-goal-bar>span{display:block;height:100%;border-radius:var(--radius-pill);background:var(--signal);transition:width .4s ease}.finance-headline-facts{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-end}.finance-fact{display:flex;flex-direction:column;gap:2px;font-size:var(--text-sm);color:var(--text-muted)}.finance-fact strong{font-family:var(--font-mono);font-size:var(--text-md);color:var(--text);font-weight:var(--weight-medium)}.finance-field{display:flex;flex-direction:column;gap:4px;font-size:var(--text-sm);color:var(--text-muted)}.finance-amount{max-width:8rem;font-family:var(--font-mono);text-align:right}.finance-ledger{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:24px}.finance-column{display:flex;flex-direction:column}.finance-rows{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:2px}.finance-row{display:flex;align-items:center;gap:10px;padding:5px 0;border-bottom:1px solid var(--border)}.finance-row-name{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.finance-row-name em{font-style:normal;font-size:var(--text-2xs)}.finance-flag{align-self:flex-start;padding:1px 6px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--reward) 14%,transparent);color:var(--text);font-size:var(--text-2xs)}.finance-inline-form{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;align-items:center}.finance-source-share{min-width:2.5rem;text-align:right;font-family:var(--font-mono)}.finance-share-bar{display:block;height:4px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--signal) 10%,transparent);overflow:hidden}.finance-share-bar>span{display:block;height:100%;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--signal) 70%,transparent)}.finance-matrix-scroll{overflow-x:auto;margin:4px -4px 12px;padding:0 4px}.finance-matrix{border-collapse:collapse;font-size:var(--text-sm);white-space:nowrap}.finance-matrix th,.finance-matrix td{padding:4px 8px;text-align:right;border-bottom:1px solid var(--border)}.finance-matrix thead th{color:var(--text-muted);font-weight:var(--weight-regular);font-size:var(--text-2xs);text-transform:lowercase}.finance-matrix tbody th[scope=row]{text-align:left;font-weight:var(--weight-regular);position:sticky;left:0;background:var(--surface);min-width:11rem;white-space:nowrap}.finance-matrix tbody th[scope=row] .finance-expand{margin-right:6px}.finance-matrix td{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.finance-matrix .is-current{background:color-mix(in srgb,var(--signal) 6%,transparent)}.finance-matrix-corner{text-align:left;color:var(--text-muted)}.finance-matrix-income td,.finance-matrix-total td,.finance-matrix-income th[scope=row],.finance-matrix-total th[scope=row],.finance-matrix-row.is-open th[scope=row]{font-weight:var(--weight-medium)}.finance-matrix-detail th[scope=row]{padding-left:26px;color:var(--text-muted)}.finance-matrix-detail td{color:var(--text-muted)}.finance-expand{border:none;background:none;cursor:pointer;color:var(--text-muted);padding:0;font-size:var(--text-2xs);line-height:1}.finance-expand:hover{color:var(--text)}.finance-plan-input{width:5.5rem;padding:1px 4px;min-height:0;font-family:var(--font-mono);font-size:var(--text-2xs);text-align:right}.finance-cell-fact{display:block;font-size:var(--text-sm)}.finance-cell-plan{display:block;font-size:var(--text-2xs);color:var(--text-muted)}.finance-actions{display:flex;gap:8px;margin-bottom:6px}.finance-notice{margin:0 0 8px;font-size:var(--text-sm);color:var(--signal)}.fold,.finance-fold{border-top:1px solid var(--border);padding-top:8px;margin-top:8px}.fold:first-child,.finance-fold:first-child{border-top:none;padding-top:0;margin-top:0}.fold>summary,.finance-fold>summary{display:flex;align-items:baseline;gap:10px;cursor:pointer;list-style:none;font-size:var(--text-sm)}.fold>summary::-webkit-details-marker,.finance-fold>summary::-webkit-details-marker{display:none}.fold>summary:before,.finance-fold>summary:before{content:"▸";color:var(--text-muted);font-size:var(--text-2xs)}.fold[open]>summary:before,.finance-fold[open]>summary:before{content:"▾"}.fold-title,.finance-fold-title{font-weight:var(--weight-medium)}.fold-body,.finance-fold-body{padding:8px 0 4px}.finance-steps{list-style:none;margin:0;padding:0;display:grid;gap:6px}.finance-step label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:var(--text-sm)}.finance-step input[type=checkbox]{flex:none;width:16px;height:16px;min-height:0;margin:0;padding:0}.finance-step.is-done span{color:var(--text-muted);text-decoration:line-through}.finance-minted{display:grid;gap:6px;margin:10px 0;padding:10px;border:1px solid var(--border);border-radius:var(--radius-md)}.finance-minted code{overflow-wrap:anywhere;font-family:var(--font-mono);font-size:var(--text-xs)}.finance-shared{display:grid;gap:12px;max-width:34rem}@media(max-width:720px){.finance-matrix tbody th[scope=row]{min-width:8rem}}.body-view{gap:16px}.body-lead{margin:0;color:var(--text-muted);font-size:var(--text-sm);max-width:62ch}.body-muted{margin:0;color:var(--text-muted);font-size:var(--text-sm)}.body-note{margin:10px 0 0;color:var(--text-muted);font-size:var(--text-2xs);max-width:62ch}.body-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}.body-section-head h3{margin:0;font-family:var(--font-display);font-size:var(--text-md)}.body-subhead{margin:16px 0 0;font-family:var(--font-display);font-size:var(--text-sm);color:var(--text-muted)}.body-facts{display:flex;flex-wrap:wrap;gap:20px}.body-fact{display:flex;flex-direction:column;gap:2px}.body-fact-value{font-family:var(--font-display);font-size:var(--text-xl);line-height:1;color:var(--signal)}.body-fact-label{font-size:var(--text-sm);color:var(--text-muted)}.body-fact-hint{font-size:var(--text-2xs);color:var(--text-muted)}.body-next{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;margin:0;padding-top:12px;border-top:1px solid var(--border);font-size:var(--text-sm)}.body-next-label{padding:1px 6px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--signal) 14%,transparent);font-size:var(--text-2xs);text-transform:lowercase}.body-flag{padding:1px 8px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--reward) 16%,transparent);color:var(--text);font-size:var(--text-2xs)}.body-kinds{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 4px}.body-kind{padding:6px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface-2);color:var(--text);font:inherit;font-size:var(--text-sm);cursor:pointer;transition:border-color .12s var(--ease-out),background .12s var(--ease-out)}.body-kind:hover:not(:disabled){border-color:var(--signal);background:color-mix(in srgb,var(--signal) 10%,var(--surface-2))}.body-kind.selected{border-color:var(--signal);background:color-mix(in srgb,var(--signal) 18%,var(--surface-2))}.body-kind:disabled{opacity:.6;cursor:default}.body-inline-form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-top:12px}.body-field{display:flex;flex-direction:column;gap:4px;font-size:var(--text-sm);color:var(--text-muted)}.body-field em{font-style:normal;font-size:var(--text-2xs)}.body-field input{max-width:8rem}.body-field-wide{flex:1;min-width:12rem}.body-field-wide input{max-width:none}.body-check{display:flex;align-items:center;gap:6px;font-size:var(--text-sm);cursor:pointer}.body-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:2px}.body-row{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--border);font-size:var(--text-sm)}.body-row-main{min-width:7rem;font-weight:var(--weight-medium)}.body-row-facts{flex:1;color:var(--text-muted)}.body-strip{display:flex;gap:4px;margin-top:4px}.body-strip-cell{width:14px;height:22px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border)}.body-strip-cell.moved{background:color-mix(in srgb,var(--signal) 45%,transparent);border-color:color-mix(in srgb,var(--signal) 60%,transparent)}.psy-body-hint{display:grid;gap:6px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--signal) 6%,var(--surface))}.psy-body-hint h4{display:flex;align-items:center;gap:6px;margin:0;font-family:var(--font-display);font-size:var(--text-sm)}.psy-body-hint p{margin:0;font-size:var(--text-sm);color:var(--text-muted);max-width:68ch}.psy-body-hint-state{color:var(--text)}.psy-body-hint-kinds{font-size:var(--text-2xs)}.psy-body-hint button{justify-self:start;margin-top:4px}@media(max-width:720px){.body-facts{gap:14px 20px}.body-row{flex-wrap:wrap}.body-row-main{min-width:0}.body-field input{max-width:none}}.learning-view{gap:16px}.learning-muted{margin:0;font-size:var(--text-sm);color:var(--text-muted)}.learning-hint{flex-basis:100%}.learning-big{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-semibold)}.learning-mastered{margin:0;font-size:var(--text-sm);color:var(--accent)}.learning-hero{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}.learning-readiness{display:grid;gap:6px}.learning-readiness-main{display:flex;align-items:baseline;gap:8px;margin:0}.learning-criterion{font-size:var(--text-2xs)}.learning-facts{display:flex;flex-wrap:wrap;gap:20px;margin:0}.learning-facts div{display:grid;gap:2px}.learning-facts dt{font-size:var(--text-2xs);color:var(--text-muted)}.learning-facts dd{margin:0;font-family:var(--font-mono);font-size:var(--text-md)}.learning-paths{display:grid;gap:12px;margin:0;padding:0;list-style:none}.learning-path-card{display:grid;gap:10px}.learning-path-open{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;padding:0;background:none;border:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.learning-path-open strong{font-family:var(--font-display);font-size:var(--text-lg)}.learning-path-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px}.learning-path-head .micro-button{white-space:nowrap}.learning-path-head h2{margin:0}.learning-section{display:grid;gap:10px}.learning-section-head h3,.learning-section-head h4{margin:0 0 4px}.learning-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.learning-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2)}.learning-row-main{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;min-width:0}.learning-row-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.learning-kind{font-size:var(--text-2xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.learning-check{display:flex;align-items:center;gap:6px;font-size:var(--text-2xs);color:var(--text-muted)}.learning-inline-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.learning-card-form input{min-width:200px;flex:1 1 200px}.learning-field{display:grid;gap:4px;font-size:var(--text-2xs);color:var(--text-muted)}.learning-generate textarea{width:100%;resize:vertical}.learning-drafts{display:grid;gap:8px;padding:10px 12px;border:1px dashed var(--border-strong);border-radius:var(--radius-md)}.learning-drafts h4{margin:0}.learning-review{display:grid;gap:14px}.learning-review-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.learning-review-end{display:grid;gap:10px;justify-items:start}.learning-question{margin:0;font-family:var(--font-display);font-size:var(--text-xl);line-height:1.35}.learning-answer{display:grid;gap:10px;padding-top:10px;border-top:1px solid var(--border)}.learning-answer-text{margin:0;font-size:var(--text-lg)}.learning-ratings{display:flex;flex-wrap:wrap;gap:8px}.learning-rating-again{border-color:color-mix(in srgb,var(--danger) 40%,transparent)}.learning-rating-good,.learning-rating-easy{border-color:color-mix(in srgb,var(--accent) 40%,transparent)}@media(max-width:720px){.learning-row{align-items:flex-start;flex-direction:column}.learning-card-form input{flex-basis:100%}}.today-view{gap:12px;width:100%}.today-streak{display:flex;align-items:center;gap:14px}.today-streak .today-flame{color:var(--text-faint);flex:none;transition:color .24s var(--ease-out)}.today-streak.is-done .today-flame{color:var(--reward)}.today-streak-text{display:flex;flex-direction:column;gap:2px;min-width:0}.today-streak-text strong{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-semibold)}.today-streak-text span{color:var(--text-muted);font-size:var(--text-sm)}.today-reserve{align-items:center;border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-muted);display:inline-flex;font-size:var(--text-xs);gap:4px;margin-inline-start:auto;padding:3px 9px}.today-head{align-items:baseline;display:flex;gap:10px;justify-content:space-between;margin-bottom:10px}.today-head h2{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-semibold);margin:0}.today-count{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.today-list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.today-row{align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);display:flex;gap:10px;padding:10px 12px}.today-row.is-overdue{border-color:color-mix(in srgb,var(--warning) 45%,var(--border))}.today-row-text{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;min-width:0}.today-row-text strong{font-size:var(--text-md);font-weight:var(--weight-medium)}.today-title{background:none;border:0;color:var(--text);cursor:pointer;font:inherit;font-weight:var(--weight-medium);padding:0;text-align:start}.today-title:hover{text-decoration:underline}.today-tag{color:var(--text-muted);font-size:var(--text-2xs);align-items:center;display:inline-flex;gap:3px}.today-tag.is-overdue{color:var(--warning)}.today-cue{color:var(--text-faint);font-size:var(--text-xs)}.today-xp{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-xs);margin-inline-start:auto}.today-do{align-items:center;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-pill);color:var(--text);cursor:pointer;display:inline-flex;flex:none;font-size:var(--text-sm);gap:6px;margin-inline-start:auto;padding:6px 13px;transition:border-color .16s var(--ease-out),background .16s var(--ease-out)}.today-xp+.today-do{margin-inline-start:0}.today-do:hover{background:var(--surface-hover);border-color:var(--border-hover)}.today-do.is-comeback{border-color:color-mix(in srgb,var(--signal) 55%,var(--border-strong));color:var(--signal)}.today-clear,.today-start{align-items:center;display:flex;gap:14px}.today-clear strong,.today-start strong{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-semibold)}.today-clear svg{color:var(--signal);flex:none}.today-clear p,.today-start p{color:var(--text-muted);font-size:var(--text-sm);margin:4px 0 0}.today-start{align-items:flex-start;flex-direction:column;gap:6px}.today-start-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}@media(max-width:720px){.today-row{align-items:flex-start;flex-wrap:wrap}.today-do{margin-inline-start:auto}}.skill-module-pane{display:grid;gap:16px;min-width:0}.skill-module-mark{align-items:center;color:var(--text-faint);display:inline-flex;margin-inline-start:6px}.skill-table-row.selected .skill-module-mark{color:var(--signal)}.tariff-line{align-items:baseline;display:flex;flex-wrap:wrap;gap:2px 8px;min-width:0}.tariff-line strong{font-family:var(--font-mono);font-size:var(--text-md);white-space:nowrap}.tariff-line small{color:var(--text-muted);font-size:var(--text-xs)}.axon-bar[data-palette=amethyst]{--signal: oklch(.58 .13 300);--signal-bright: oklch(.71 .15 300);--signal-glint: oklch(.9 .09 300)}.axon-bar[data-palette=ember]{--signal: oklch(.63 .13 55);--signal-bright: oklch(.75 .14 55);--signal-glint: oklch(.91 .09 55)}.axon-bar[data-palette=frost]{--signal: oklch(.6 .12 245);--signal-bright: oklch(.73 .13 245);--signal-glint: oklch(.91 .08 245)}.axon-bar[data-palette=moss]{--signal: oklch(.55 .11 130);--signal-bright: oklch(.68 .13 130);--signal-glint: oklch(.89 .08 130)}.axon-bar[data-palette=coral]{--signal: oklch(.62 .14 20);--signal-bright: oklch(.74 .15 20);--signal-glint: oklch(.91 .09 20)}.fold-note{color:var(--text-muted);font-size:var(--text-xs);margin-inline-start:auto}.prize-panel{display:grid;gap:10px}.prize-row{align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);display:flex;gap:8px;padding:9px 12px}.prize-row svg{color:var(--signal);flex:none}.prize-row .momentum-value{font-family:var(--font-mono);margin-inline-start:auto}.prize-group{display:grid;gap:5px}.prize-group-label{color:var(--text-muted);font-size:var(--text-xs)}.prize-slots{display:flex;flex-wrap:wrap;gap:6px}.prize-slot{align-items:center;border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-faint);display:inline-flex;font-size:var(--text-xs);justify-content:center;min-width:26px;padding:3px 10px}.prize-slot.is-won{border-color:color-mix(in srgb,var(--signal) 45%,var(--border));color:var(--text)}.prize-slot.is-won[data-palette]{border-color:color-mix(in srgb,var(--signal-bright) 60%,var(--border));color:var(--signal)}.mark-list{display:grid;gap:4px;list-style:none;margin:0;padding:0}.mark{align-items:baseline;color:var(--text-muted);display:flex;font-size:var(--text-xs);gap:7px}.mark svg{color:var(--text-faint);flex:none;transform:translateY(2px)}.mark strong{color:var(--text-muted);font-weight:var(--weight-medium)}.mark.is-earned{color:var(--text)}.mark.is-earned svg{color:var(--signal)}.mark.is-earned strong{color:var(--text)}.skill-picker{display:grid;gap:6px;justify-items:start}.skill-picker .field-stack,.skill-picker>input{justify-self:stretch}.skill-suggestion{align-items:center;display:inline-flex;gap:6px;padding:4px 10px;border:1px dashed color-mix(in srgb,var(--signal) 60%,transparent);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--signal) 8%,transparent);color:var(--text);font-size:var(--text-xs);cursor:pointer}.skill-suggestion:hover{background:color-mix(in srgb,var(--signal) 16%,transparent)}.skill-picker-hint{color:var(--text-muted);font-size:var(--text-xs);line-height:1.4}.skill-practice-line{margin:0;padding:0 20px 8px;color:var(--text-muted);font-size:var(--text-xs)}small.skill-practice-line{display:block;padding:4px 0 0}.reminder-hint,.reminder-problem{color:var(--text-muted);font-size:var(--text-xs);line-height:1.4}.reminder-problem{color:var(--danger)}.reminder-time,.reminder-test{align-items:center;display:flex;flex-wrap:wrap;gap:8px 12px}.reminder-offer{align-items:center;display:grid;gap:12px 16px;grid-template-columns:auto 1fr auto;margin-bottom:12px}.reminder-offer p{margin:4px 0 0;color:var(--text-muted);font-size:var(--text-sm)}.reminder-offer>svg{color:var(--signal)}.reminder-offer-actions{display:flex;gap:8px}@media(max-width:720px){.reminder-offer{grid-template-columns:auto 1fr}.reminder-offer-actions{grid-column:1 / -1}}.reward-milestone{color:var(--text-muted);font-size:var(--text-xs)}.reward-milestone.reached{color:var(--signal)}.reward-condition{display:grid;gap:6px}.reward-condition-row{display:grid;gap:6px;grid-template-columns:1fr 72px}
