@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-cyrillic-ext-400-normal-CuPM9foi.woff2) format("woff2"),url(/assets/nunito-cyrillic-ext-400-normal-xaE7D4Sw.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-cyrillic-400-normal-xAOo5cBP.woff2) format("woff2"),url(/assets/nunito-cyrillic-400-normal-D1j0u8EH.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-vietnamese-400-normal-BHkVbP3T.woff2) format("woff2"),url(/assets/nunito-vietnamese-400-normal-DtOtW02z.woff) format("woff");unicode-range:U+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:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-ext-400-normal-i-8OOpdj.woff2) format("woff2"),url(/assets/nunito-latin-ext-400-normal-CjMJVfGn.woff) format("woff");unicode-range:U+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:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-400-normal-r8SDr6Up.woff2) format("woff2"),url(/assets/nunito-latin-400-normal-DKg4f3fz.woff) format("woff");unicode-range:U+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:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-cyrillic-ext-700-normal-BuR0mlCG.woff2) format("woff2"),url(/assets/nunito-cyrillic-ext-700-normal-DfoqN4Gs.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-cyrillic-700-normal-DP36NgGt.woff2) format("woff2"),url(/assets/nunito-cyrillic-700-normal-DfHRUDv-.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-vietnamese-700-normal-Ch8EUCfz.woff2) format("woff2"),url(/assets/nunito-vietnamese-700-normal-C9SQsXvj.woff) format("woff");unicode-range:U+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:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-ext-700-normal-BWeMsAzO.woff2) format("woff2"),url(/assets/nunito-latin-ext-700-normal-D4woHhbd.woff) format("woff");unicode-range:U+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:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2) format("woff2"),url(/assets/nunito-latin-700-normal-OcDqTBcA.woff) format("woff");unicode-range:U+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:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-cyrillic-ext-800-normal-B-cvGohL.woff2) format("woff2"),url(/assets/nunito-cyrillic-ext-800-normal-pjRatrRO.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-cyrillic-800-normal-D3igD7Kl.woff2) format("woff2"),url(/assets/nunito-cyrillic-800-normal-DymMgApb.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-vietnamese-800-normal-D_CZYdm9.woff2) format("woff2"),url(/assets/nunito-vietnamese-800-normal-Dz0hZPb5.woff) format("woff");unicode-range:U+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:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-ext-800-normal-CtU8tJOV.woff2) format("woff2"),url(/assets/nunito-latin-ext-800-normal-CDcxIxx8.woff) format("woff");unicode-range:U+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:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-800-normal-Dz8SOQK_.woff2) format("woff2"),url(/assets/nunito-latin-800-normal-D-J0wlBY.woff) format("woff");unicode-range:U+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:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/nunito-cyrillic-ext-900-normal-BLeVovcl.woff2) format("woff2"),url(/assets/nunito-cyrillic-ext-900-normal-DKFql_-q.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/nunito-cyrillic-900-normal-CWPcV0_V.woff2) format("woff2"),url(/assets/nunito-cyrillic-900-normal-Dr1fjxoU.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/nunito-vietnamese-900-normal-D6LWQAy_.woff2) format("woff2"),url(/assets/nunito-vietnamese-900-normal-WV2-fBew.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/nunito-latin-ext-900-normal-Dllsvgjo.woff2) format("woff2"),url(/assets/nunito-latin-ext-900-normal-CTBZd6bf.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/nunito-latin-900-normal-BVB1fGs6.woff2) format("woff2"),url(/assets/nunito-latin-900-normal-CVn49sIn.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--hero-bg: linear-gradient(160deg, #ffc23d 0%, #ff7a59 100%);--hero-ink: #2b2140;--hero-muted: #4a3f5e;--hero-line: transparent;--accent: #ffffff;--sheet: #f3faf6;--ground: #f3faf6;--card: #ffffff;--ink: #2b2140;--muted: #6e6585;--line: #e6e1ee;--line-soft: #efeaf4;--field: #ffffff;--field-line: #c8442a;--primary: #2b2140;--primary-ink: #ffffff;--link: #b23f27;--me: #c8442a;--me-ink: #ffffff;--friend-label: #6e6585;--seg: #efeaf4;--seg-on: #ffffff;--seg-on-ink: #2b2140;--help-bg: #fff3d1;--help-line: #ffc23d;--help-ink: #7a4b00;--help-btn-bg: #ffffff;--help-btn-ink: #b42318;--danger: #b42318;--danger-bg: #b42318;--open-bg: #fbf8ff;--chip-on: #2b2140;--chip-on-line: #2b2140;--chip-on-ink: #ffffff;--note-bg: #fff7ed;--note-line: #fed7aa;--note-ink: #9a3412;--calm-bg: #e8eef6;--calm-ink: #3a4a63;--glass: rgba(255, 255, 255, .6);--shadow: 0 2px 8px rgba(43, 33, 64, .1);--card-shadow: 0 16px 44px rgba(43, 33, 64, .2);--ghost: .22;--fc1: #ffc23d;--fc2: #ff7a59;--ft: #fff3d1;color-scheme:light;font-size:16px}:root[data-text=large]{font-size:19px}:root[data-theme=dark]{--sheet: #19132a;--ground: #19132a;--card: #241c3a;--ink: #f4effc;--muted: #b8aed0;--line: #3a2f55;--line-soft: #3a2f55;--field: #241c3a;--field-line: #ff9a7a;--primary: #f4effc;--primary-ink: #19132a;--link: #ffb59e;--friend-label: #b8aed0;--seg: #19132a;--seg-on: #3a2f55;--seg-on-ink: #f4effc;--help-bg: #3b3017;--help-line: #8a6a00;--help-ink: #fcd34d;--danger: #fca5a5;--open-bg: #221a36;--chip-on: #f4effc;--chip-on-line: #f4effc;--chip-on-ink: #19132a;--note-bg: #2e1d0e;--note-line: #7c2d12;--note-ink: #fdba74;--calm-bg: #1f2838;--calm-ink: #c9d6ea;--shadow: none;--card-shadow: 0 16px 44px rgba(0, 0, 0, .45);--ghost: .08;color-scheme:dark}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--sheet: #19132a;--ground: #19132a;--card: #241c3a;--ink: #f4effc;--muted: #b8aed0;--line: #3a2f55;--line-soft: #3a2f55;--field: #241c3a;--field-line: #ff9a7a;--primary: #f4effc;--primary-ink: #19132a;--link: #ffb59e;--friend-label: #b8aed0;--seg: #19132a;--seg-on: #3a2f55;--seg-on-ink: #f4effc;--help-bg: #3b3017;--help-line: #8a6a00;--help-ink: #fcd34d;--danger: #fca5a5;--open-bg: #221a36;--chip-on: #f4effc;--chip-on-line: #f4effc;--chip-on-ink: #19132a;--note-bg: #2e1d0e;--note-line: #7c2d12;--note-ink: #fdba74;--calm-bg: #1f2838;--calm-ink: #c9d6ea;--shadow: none;--card-shadow: 0 16px 44px rgba(0, 0, 0, .45);--ghost: .08;color-scheme:dark}}.f-buddy{--fc1: #ffc23d;--fc2: #ff7a59;--ft: #fff3d1}.f-coach{--fc1: #ff8a5b;--fc2: #e2553a;--ft: #ffe6de}.f-study-mate{--fc1: #3cc9bb;--fc2: #1fa99d;--ft: #dcf5f2}.f-old-soul{--fc1: #b3a6ff;--fc2: #8a78f0;--ft: #ece8ff}.f-solace{--fc1: #8cc4ff;--fc2: #5aa9f5;--ft: #e3f0ff}.f-pathfinder{--fc1: #86d77c;--fc2: #4fae45;--ft: #e3f6df}:root[data-theme=dark] .f-buddy{--ft: #3b3017}:root[data-theme=dark] .f-coach{--ft: #3d2420}:root[data-theme=dark] .f-study-mate{--ft: #143633}:root[data-theme=dark] .f-old-soul{--ft: #2b2650}:root[data-theme=dark] .f-solace{--ft: #1d2c44}:root[data-theme=dark] .f-pathfinder{--ft: #1e3a1b}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .f-buddy{--ft: #3b3017}:root:not([data-theme=light]) .f-coach{--ft: #3d2420}:root:not([data-theme=light]) .f-study-mate{--ft: #143633}:root:not([data-theme=light]) .f-old-soul{--ft: #2b2650}:root:not([data-theme=light]) .f-solace{--ft: #1d2c44}:root:not([data-theme=light]) .f-pathfinder{--ft: #1e3a1b}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--ground);color:var(--ink);font-family:Nunito,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:1rem;line-height:1.5}a{color:var(--link)}h1,h2,h3,.display{font-family:Nunito,system-ui,sans-serif}h1{font-size:1.5rem;font-weight:900;margin:0}h2{font-size:1.15rem;font-weight:800;margin:.75rem 0 .4rem}h3{font-size:1.05rem;font-weight:800;margin:.75rem 0 .4rem}p{margin:.4rem 0}.shell{min-height:100vh;display:flex;flex-direction:column;max-width:480px;margin:0 auto;background:var(--sheet)}@media(min-width:760px){body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:var(--ghost);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='34' fill='%23ffc23d'/%3E%3Ccircle cx='39' cy='46' r='4' fill='%232b2140'/%3E%3Ccircle cx='61' cy='46' r='4' fill='%232b2140'/%3E%3Cpath d='M38 59 q12 12 24 0' stroke='%232b2140' stroke-width='3.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='34' fill='%23b3a6ff'/%3E%3Cpath d='M34 47 q5 4 10 0 M56 47 q5 4 10 0' stroke='%232b2140' stroke-width='3' fill='none' stroke-linecap='round'/%3E%3Cpath d='M42 61 q8 5 16 0' stroke='%232b2140' stroke-width='3' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='34' fill='%233cc9bb'/%3E%3Ccircle cx='39' cy='47' r='8' fill='none' stroke='%232b2140' stroke-width='2.5'/%3E%3Ccircle cx='61' cy='47' r='8' fill='none' stroke='%232b2140' stroke-width='2.5'/%3E%3Cpath d='M38 60 q12 12 24 0' stroke='%232b2140' stroke-width='3.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:150px,130px,140px;background-position:6% 12%,92% 18%,10% 82%}.shell{margin:20px auto;min-height:calc(100vh - 40px);border-radius:28px;overflow:hidden;box-shadow:var(--card-shadow);position:relative;z-index:1}}.banner{color:var(--muted);font-size:.75rem;font-weight:700;padding:8px 16px 6px;background:var(--sheet)}.page{flex:1;display:flex;flex-direction:column}.hero{color:var(--hero-ink);background:var(--hero-bg);border-radius:0 0 28px 28px;padding:12px 20px 26px;display:flex;flex-direction:column;gap:8px}.hero-bar{display:flex;align-items:center;gap:6px}.hero-bar .spacer{flex:1}.demo-home{flex:none;width:44px;height:44px;display:inline-grid;place-items:center;border-radius:12px}.demo-home svg{width:36px;height:36px;padding:4px;border-radius:10px;background:linear-gradient(155deg,#1b4a45,#0d2725);box-shadow:0 0 0 2px #ffffffd9,0 2px 6px #0000002e;box-sizing:border-box}.demo-home.small{width:32px;height:32px}.demo-home.small svg{width:28px;height:28px;padding:3px;border-radius:8px}.demo-home:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.hero .rule{width:44px;height:4px;border-radius:2px;background:var(--accent)}.hero .title{font-size:2.5rem;font-weight:900;letter-spacing:-.01em;line-height:1.1;margin:0}.hero .promise{font-size:1.1rem;color:var(--hero-muted);margin:0;font-weight:700}.sheet{flex:1;background:var(--sheet);padding:22px 18px 16px;display:flex;flex-direction:column;gap:14px}.sheet.ground{background:var(--ground)}.footer{background:var(--sheet);color:var(--muted);font-size:.75rem;text-align:center;padding:10px 16px 20px;border-top:1px solid var(--line-soft)}.footer p{margin:0 0 4px}.footer nav{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.page-top{display:flex;align-items:center;gap:4px;color:var(--hero-ink);background:var(--hero-bg);border-radius:0 0 24px 24px;padding:8px 10px 16px 4px}.page-top h1{flex:1;font-size:1.35rem}.page-top .done{color:var(--hero-ink);font-weight:800}button{font:inherit;cursor:pointer}button:disabled{opacity:.45;cursor:default}.primary{min-height:52px;border:0;border-radius:999px;background:var(--primary);color:var(--primary-ink);font-family:Nunito,sans-serif;font-weight:800;font-size:1.05rem;padding:0 20px}.icon-button{width:44px;height:44px;flex:none;border-radius:999px;border:0;background:var(--glass);color:var(--hero-ink);display:inline-flex;align-items:center;justify-content:center;padding:0}.icon-button.bare{background:transparent}.text-button{background:none;border:0;color:var(--link);font-weight:800;padding:10px 6px;min-height:44px}.text-button.danger{color:var(--danger)}.help-button{min-height:44px;border:0;border-radius:999px;background:var(--help-btn-bg);color:var(--help-btn-ink);font-weight:900;font-size:.9rem;padding:0 14px}.support-button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;width:100%;border-radius:999px;border:1px solid var(--help-line);background:var(--help-bg);color:var(--help-ink);font-weight:800;font-size:.875rem}.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:16px}.card h2{margin-top:0}.card ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px}.muted{color:var(--muted);font-size:.875rem}.lead{font-size:1.1rem}.ai-notice{color:var(--muted);font-size:.75rem;text-align:center;margin:0}.error{color:var(--danger)}.notice{background:var(--card);color:var(--ink);border:1px solid var(--line);padding:8px 12px;border-radius:14px;font-size:.875rem;margin:0 16px}.form{display:flex;flex-direction:column;gap:12px}.form label{display:flex;flex-direction:column;gap:6px;font-weight:700}.form label small{font-weight:400;color:var(--muted);font-size:.8rem}.form label.check{flex-direction:row;gap:10px;align-items:center;font-weight:400;font-size:.875rem}.form label.check input{width:20px;height:20px;flex:none;margin:0}input,textarea,select{font:inherit;color:var(--ink)}.field{height:50px;border:0;border-bottom:2px solid var(--field-line);background:var(--field);border-radius:10px 10px 0 0;padding:0 14px;font-size:1.05rem;width:100%}.turnstile{min-height:65px}.resources{list-style:none;padding:0;margin:8px 0;display:flex;flex-direction:column;gap:6px}.resource{border:1px solid var(--line);border-radius:12px;padding:8px 12px;background:var(--card);color:var(--ink)}.resource.crisis{border-color:var(--link)}.resource-name{font-weight:700}.resource-meta{color:var(--muted);font-size:.875rem}.resource-actions{display:flex;gap:16px;margin-top:4px;flex-wrap:wrap}.resource-actions .call{font-weight:700}.friend-icon{width:44px;height:44px;flex:none;display:inline-flex;align-items:center;justify-content:center}.friend-icon.small{width:32px;height:32px}.friend-icon .face-svg{width:100%;height:100%;display:block}.face-svg .fc{fill:var(--fc1)}.chat{flex:1;display:flex;flex-direction:column;background:var(--ground)}.chat-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:6px;padding:10px 10px 14px 12px;color:var(--hero-ink);background:linear-gradient(160deg,var(--fc1) 0%,var(--fc2) 100%);border-radius:0 0 24px 24px;box-shadow:0 6px 14px #2b21401a}.friend-name{flex:1;display:flex;align-items:center;gap:10px;min-height:44px;background:none;border:0;color:var(--hero-ink);text-align:left;padding:0}.head-face .friend-icon{width:50px;height:50px}.head-face.hop .friend-icon{animation:hop .9s ease-in-out 2;transform-origin:50% 90%}.head-face.bob .friend-icon{animation:bob .9s ease-in-out infinite}@keyframes hop{0%,to{transform:translateY(0) rotate(0)}30%{transform:translateY(-8px) rotate(-8deg)}60%{transform:translateY(0) rotate(8deg)}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.friend-name .names{display:flex;flex-direction:column;line-height:1.2}.friend-name .name{font-family:Nunito,sans-serif;font-weight:900;font-size:1.2rem;display:flex;align-items:center;gap:4px}.friend-name .sub{font-size:.8rem;font-weight:700;color:var(--hero-muted);white-space:nowrap}.friend-name .name{white-space:nowrap}.chat-body{flex:1;display:flex;flex-direction:column;background:var(--ground)}.lines{flex:1;display:flex;flex-direction:column;gap:12px;padding:16px 12px 12px;min-height:45vh}.occasion{align-self:center;margin:0;font-size:.8rem;font-weight:800;color:var(--ink);background:var(--card);border:1px dashed var(--fc2);border-radius:999px;padding:4px 12px}.line{max-width:88%;animation:rise .35s ease-out}@keyframes rise{0%{transform:translateY(8px);opacity:.4}to{transform:none;opacity:1}}.line p{margin:0;white-space:pre-wrap}.line.friend{align-self:flex-start;display:flex;gap:8px;align-items:flex-start;max-width:92%}.line.friend .mini{margin-top:4px}.line.friend .mini{flex:none}.line.friend .said{min-width:0;display:flex;flex-direction:column;gap:6px}.line.friend .bubble{position:relative;background:var(--ft);color:var(--ink);border-radius:20px 20px 20px 6px;padding:10px 13px;cursor:pointer}.line.friend .bubble:focus-visible{outline:3px solid var(--fc2);outline-offset:2px}.reaction{position:absolute;right:-6px;bottom:-12px;background:var(--card);border:1px solid var(--line);border-radius:999px;font-size:.8rem;padding:0 6px}.react-picker{display:flex;gap:4px}.react-picker button{border:1px solid var(--line);background:var(--card);border-radius:999px;font-size:1.05rem;min-width:44px;min-height:36px}.line.me{align-self:flex-end;background:var(--me);color:var(--me-ink);border-radius:20px 20px 6px;padding:10px 14px}.dots{display:inline-flex;gap:4px;padding:14px;background:var(--ft);border-radius:20px 20px 20px 6px}.dots i{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:dot 1s infinite;display:block}.dots i:nth-of-type(2){animation-delay:.15s}.dots i:nth-of-type(3){animation-delay:.3s}@keyframes dot{0%,to{transform:translateY(0);opacity:.5}50%{transform:translateY(-5px);opacity:1}}.thinking{color:var(--muted);font-style:italic}.emergency{display:block;margin-top:4px;text-align:center;background:var(--danger-bg);color:#fff;font-weight:800;padding:12px;border-radius:14px;text-decoration:none}.composer{display:flex;gap:8px;align-items:flex-end;margin:6px 12px 16px;padding:6px 6px 6px 16px;background:var(--field);border:1px solid var(--line);border-radius:26px}.composer textarea{flex:1;border:0;background:transparent;resize:none;padding:8px 0;font-size:1rem;min-height:40px}.composer textarea:focus{outline:none}.composer:focus-within{border-color:var(--field-line)}.composer .primary{min-height:44px;font-size:.95rem;background:var(--me);color:var(--me-ink)}.chat.calm{--ft: var(--card)}.chat.calm .chat-header{background:var(--calm-bg);color:var(--calm-ink);box-shadow:none}.chat.calm .friend-name,.chat.calm .friend-name .sub{color:var(--calm-ink)}.chat.calm .icon-button{background:var(--card);color:var(--calm-ink)}.chat.calm .help-button{background:var(--danger-bg);color:#fff;min-height:48px;padding:0 18px;font-size:1rem}.chat.calm .line,.chat.calm .head-face .friend-icon,.chat.calm .dots i{animation:none}.chat.calm .line.friend .bubble{cursor:default;border:1px solid var(--line)}@media(prefers-reduced-motion:reduce){.line,.head-face .friend-icon,.dots i{animation:none!important}}.overlay{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:flex-end;justify-content:center;z-index:10}.panel{background:var(--sheet);color:var(--ink);width:100%;max-width:480px;max-height:90vh;overflow-y:auto;border-radius:24px 24px 0 0;padding:10px 16px 24px}.panel .grip{width:40px;height:4px;border-radius:2px;background:var(--line);margin:0 auto 10px}.panel-head{display:flex;align-items:center;justify-content:space-between}.panel-head h2{margin:0}.panel-head .icon-button{border:0;background:transparent;color:var(--muted)}.friend-list{list-style:none;padding:0;margin:6px 0;display:flex;flex-direction:column;gap:2px}.friend-row{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:6px 8px;border:0;border-radius:14px;background:transparent;color:var(--ink);text-align:left}.friend-row.current{background:var(--me)}.friend-row .text{flex:1;display:flex;flex-direction:column;line-height:1.3}.friend-row .text strong{font-family:Nunito,sans-serif;font-weight:800}.friend-row .text span{color:var(--muted);font-size:.8rem}.friend-row .now{color:var(--link);font-weight:700;font-size:.75rem}.panel .more{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;border-top:1px solid var(--line-soft);margin-top:4px;font-weight:700}.section{display:flex;flex-direction:column;gap:8px}.section>h2{margin:0 6px;font-family:inherit;font-size:.75rem;font-weight:700;letter-spacing:.06em;color:var(--muted);text-transform:uppercase}.group{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}.group.padded{padding:14px;gap:14px}.group .divider{height:1px;background:var(--line-soft)}.setting{display:flex;flex-direction:column;gap:8px}.setting>.label{font-weight:700}.segmented{display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:4px;padding:4px;background:var(--seg);border-radius:12px}.segmented button{min-height:40px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-weight:700;font-size:.85rem;display:inline-flex;align-items:center;justify-content:center;gap:6px}.segmented button[aria-checked=true]{background:var(--seg-on);color:var(--seg-on-ink);box-shadow:var(--shadow)}.row-link{display:flex;align-items:center;gap:12px;width:100%;min-height:52px;padding:8px 14px;border:0;border-top:1px solid var(--line-soft);background:transparent;color:var(--ink);text-align:left;font-weight:700;text-decoration:none}.row-link:first-child{border-top:0}.row-link .text{flex:1;display:flex;flex-direction:column;line-height:1.3}.row-link .text span{font-weight:400;font-size:.8rem;color:var(--muted)}.row-link .value{color:var(--link)}.row-link .chev{color:var(--muted);flex:none}.row-link.danger{color:var(--danger)}.row-icon{width:32px;height:32px;flex:none;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;background:var(--seg);color:var(--link)}.row-icon.help{background:var(--help-bg);color:var(--help-ink)}.friend-open{background:var(--open-bg);border-top:1px solid var(--line-soft)}.friend-open .row-link{border-top:0}.friend-detail{padding:0 14px 16px 66px;display:flex;flex-direction:column;gap:12px;font-size:.875rem}.friend-detail .k{display:block;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--chip-on-line)}.friend-detail label{display:flex;gap:10px;align-items:flex-start}.friend-detail input[type=radio]{width:18px;height:18px;margin:2px 0 0;flex:none}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{min-height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:.8rem}.chip[aria-pressed=true]{border-color:var(--chip-on-line);background:var(--chip-on);color:var(--chip-on-ink);font-weight:700}.select-row select{border:1px solid var(--line);border-radius:10px;background:var(--card);padding:8px 10px}.foot-note{margin:0 6px;font-size:.8rem;color:var(--muted)}.settings-end{text-align:center;font-size:.75rem;color:var(--muted);display:flex;flex-direction:column;gap:2px}.info{display:flex;flex-direction:column;gap:12px}.info h2{margin-bottom:0}.rule-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:2px}.rule-card strong{font-family:Nunito,sans-serif;font-weight:800;font-size:1rem}.rule-card span{color:var(--muted);font-size:.875rem}.note-card{background:var(--note-bg);border:1px solid var(--note-line);border-radius:16px;padding:14px}.note-card strong{color:var(--note-ink);font-family:Nunito,sans-serif}.codes{font-size:1.1rem}.row{display:flex;gap:10px;flex-wrap:wrap}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}fieldset.plain{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}fieldset.plain legend{padding:0;margin-bottom:4px}.friend-title{display:flex;align-items:center;gap:8px}.rule-card ul{margin:4px 0 0;padding-left:18px;color:var(--muted);font-size:.875rem}.note-card p{margin:4px 0;font-size:.875rem}.select-row{cursor:default}.feedback-form{gap:16px}.scale-ends{display:flex;justify-content:space-between;font-size:.75rem}.field.area{height:auto;padding:10px 14px;resize:vertical}select.field{appearance:auto}.form label.check.share{align-items:flex-start}.form label.check.share span{display:flex;flex-direction:column;gap:4px}.chat-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 16px}.chat-foot .ai-notice{text-align:left;flex:1}.chat-foot .text-button{font-size:.8rem;padding:6px 0;white-space:nowrap}.owner-review{display:flex;flex-direction:column;gap:12px}.owner-head{align-items:center;justify-content:space-between}.owner-head h2{margin:0}.form label.inline{flex-direction:row;align-items:center;gap:8px;font-weight:400}.owner-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.owner-comment{margin:6px 0 0;white-space:pre-wrap}.owner-turns{margin:8px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:6px;font-size:.875rem}.owner-turns .me{color:var(--ink)}.owner-turns .friend{color:var(--muted)}details.rule-card summary{cursor:pointer;font-weight:700}.info .card button:not(.text-button):not(.danger){min-height:44px;border:0;border-radius:12px;background:var(--primary);color:var(--primary-ink);font-weight:700;padding:0 16px}.info .card button.danger{min-height:44px;border:1px solid var(--danger);border-radius:12px;background:transparent;color:var(--danger);font-weight:700;padding:0 16px}.info .card input,.info .card select{border:1px solid var(--line);border-radius:10px;background:var(--field);padding:10px 12px}.feedback-form .segmented{border:1px solid var(--line)}.card .owner-list{padding-left:0}.chat-header>.icon-button,.chat-header>.help-button{flex:none}.friend-name{min-width:0}.friend-name .names{min-width:0;overflow:hidden}.friend-name .name{min-width:0}.friend-name .name-text,.friend-name .sub{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-header>.exit-button{width:auto;padding:0 10px;gap:4px;font-weight:700;font-size:.8rem}.crew-block{display:flex;flex-direction:column;gap:8px}.crew-block h2,.crew-block .muted{margin:0}.crew{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.crew button{background:var(--card);border:2px solid var(--line);border-radius:18px;padding:10px 4px 8px;display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--ink);min-width:0}.crew button strong{font-weight:800;font-size:.9rem}.crew button small{font-size:.7rem;color:var(--muted);line-height:1.25;text-align:center}.crew button[aria-pressed=true]{border-color:var(--ink);box-shadow:var(--shadow)}.crew button:hover .friend-icon,.crew button:focus-visible .friend-icon{animation:hop .9s ease-in-out 1}@media(prefers-reduced-motion:reduce){.crew button .friend-icon{animation:none!important}}.about-me fieldset.plain{gap:8px}.about-me fieldset.follow-up{padding-left:12px;border-left:3px solid var(--line)}.about-me .notice{margin:0}.muted.block{display:block;margin-top:2px}.text-button.switch-mode{align-self:flex-start;padding-left:0}.helpline-link{display:flex;flex-direction:column;gap:4px}.helpline-link .text-button{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:4px 0;min-height:36px;font-size:.85rem}.card.disclaimer{border:2px solid var(--ink)}.card.disclaimer h2{font-size:1.25rem}.card.disclaimer ul{gap:8px}
