@font-face{font-family:Fredoka;src:url(/fredoka.woff2) format("woff2");font-weight:300 700;font-display:swap}:root{color-scheme:light;--accent: #2e7df6;--accent-strong: #2563eb;--accent-text: #1d4ed8;--accent-soft: rgba(46, 125, 246, .12);--purple: #594ce6;--pink: #f26b9e;--orange: #ffa626;--brand-gradient: linear-gradient(135deg, var(--accent), var(--purple) 55%, var(--pink));--bg: #fcfcfc;--surface: #ffffff;--surface-raised: #ffffff;--text: #1f2129;--text-secondary: rgba(31, 33, 41, .6);--text-tertiary: rgba(31, 33, 41, .42);--fill: rgba(31, 33, 41, .06);--fill-strong: rgba(31, 33, 41, .1);--stroke: rgba(31, 33, 41, .08);--stroke-strong: rgba(31, 33, 41, .14);--shadow-card: 0 2px 10px rgba(16, 24, 40, .05);--shadow-float: 0 12px 32px rgba(16, 24, 40, .12);--glass: rgba(255, 255, 255, .72);--glass-stroke: rgba(255, 255, 255, .9);--danger: #eb424d;--danger-soft: rgba(235, 66, 77, .1);--success: #33b873;--warning: #f59942;--status-available: #22c55e;--status-available-fill: #16a34a;--status-available-text: #15803d;--status-maybe: #f59e0b;--status-maybe-fill: #b45309;--status-maybe-text: #b45309;--status-busy: #ef4444;--status-busy-fill: #dc2626;--status-busy-text: #b91c1c;--status-none: rgba(128, 128, 128, .5);--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--radius-sm: 12px;--radius-md: 18px;--radius-lg: 26px;--radius-xl: 28px;--font-body: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display: "Fredoka", ui-rounded, "SF Pro Rounded", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--sidebar-width: 248px;--tabbar-height: 64px;--content-max: 1080px;--canvas: #fbf7f8;--wash-leading: rgba(255, 186, 150, .32);--wash-trailing: rgba(196, 186, 255, .3);--card-gradient: linear-gradient(135deg, #ffe7d6, #ffdde8 50%, #e6e3ff);--card-halo-top: rgba(255, 190, 150, .65);--card-halo-bottom: rgba(185, 196, 255, .6);--card-eyebrow: #963a5e;--card-title: #2b2140;--card-body: #5b4e68;--card-chip: rgba(255, 255, 255, .74);--card-chip-stroke: rgba(255, 255, 255, .95);--card-button: var(--accent-strong);--card-button-text: #ffffff;--card-shadow: rgba(222, 140, 150, .24);--sparkle-1: #f59e0b;--sparkle-2: #ec6a8c;--sparkle-3: #8b7cf6;--sun-display: none;--sparkles-display: block}:root[data-palette=peche]{--canvas: #fff8f3;--wash-leading: rgba(255, 176, 120, .3);--wash-trailing: rgba(255, 150, 150, .2);--card-gradient: linear-gradient(135deg, #ffebdc, #ffd8c6);--card-halo-top: rgba(255, 170, 120, .6);--card-halo-bottom: rgba(255, 224, 138, .65);--card-eyebrow: #a8401c;--card-title: #3b1f14;--card-body: #6b4638;--card-button: #ffffff;--card-button-text: #b83a18;--card-shadow: rgba(230, 120, 80, .22);--sparkle-1: #f97316;--sparkle-2: #f43f5e;--sparkle-3: #fbbf24}:root[data-palette=ciel]{--canvas: #f3f8ff;--wash-leading: rgba(120, 180, 255, .28);--wash-trailing: rgba(255, 214, 107, .22);--card-gradient: linear-gradient(135deg, #dcebff, #eaf2ff 50%, #fff4d8);--card-halo-top: rgba(255, 255, 255, .85);--card-halo-bottom: rgba(170, 205, 255, .6);--card-eyebrow: #2b5fb8;--card-title: #14284b;--card-body: #475873;--card-button: var(--accent-strong);--card-button-text: #ffffff;--card-shadow: rgba(47, 107, 234, .16);--sun-display: block;--sparkles-display: none}:root[data-palette=menthe]{--canvas: #f5fbf7;--wash-leading: rgba(110, 220, 170, .26);--wash-trailing: rgba(255, 220, 120, .22);--card-gradient: linear-gradient(135deg, #dcf6e9, #effae6 50%, #fff3d1);--card-halo-top: rgba(155, 232, 196, .6);--card-halo-bottom: rgba(255, 224, 138, .6);--card-eyebrow: #1c7a55;--card-title: #13352a;--card-body: #46655a;--card-button: #12805c;--card-button-text: #ffffff;--card-shadow: rgba(30, 158, 106, .16);--sparkle-1: #10b981;--sparkle-2: #f59e0b;--sparkle-3: #3b82f6}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--accent: #669eff;--accent-strong: #3b76f6;--accent-text: #8cb3ff;--accent-soft: rgba(102, 158, 255, .16);--bg: #121217;--surface: #1c1c21;--surface-raised: #26262c;--text: #f5f5fa;--text-secondary: rgba(245, 245, 250, .62);--text-tertiary: rgba(245, 245, 250, .4);--fill: rgba(245, 245, 250, .08);--fill-strong: rgba(245, 245, 250, .13);--stroke: rgba(245, 245, 250, .09);--stroke-strong: rgba(245, 245, 250, .16);--shadow-card: 0 2px 10px rgba(0, 0, 0, .3);--shadow-float: 0 16px 40px rgba(0, 0, 0, .5);--glass: rgba(30, 30, 36, .72);--glass-stroke: rgba(255, 255, 255, .1);--danger-soft: rgba(235, 66, 77, .18);--status-available-text: #4ade80;--status-maybe-text: #fcbf4d;--status-busy-text: #ff8080;--canvas: #0d0a12;--wash-leading: rgba(255, 158, 122, .32);--wash-trailing: rgba(140, 128, 255, .34);--card-gradient: linear-gradient(135deg, #3d2a33, #3a2840 50%, #2a2b4f);--card-halo-top: rgba(255, 158, 122, .25);--card-halo-bottom: rgba(124, 134, 255, .25);--card-eyebrow: #ffb8c8;--card-title: #ffffff;--card-body: rgba(255, 255, 255, .82);--card-chip: rgba(255, 255, 255, .1);--card-chip-stroke: rgba(255, 255, 255, .18);--card-shadow: rgba(0, 0, 0, .4)}:root[data-palette=peche]:not([data-theme=light]){--canvas: #100b0a;--wash-leading: rgba(255, 154, 92, .3);--wash-trailing: rgba(255, 122, 122, .24);--card-gradient: linear-gradient(135deg, #40261c, #3a2420);--card-halo-top: rgba(255, 138, 92, .22);--card-halo-bottom: rgba(255, 201, 77, .18);--card-eyebrow: #ffb892}:root[data-palette=ciel]:not([data-theme=light]){--canvas: #090c15;--wash-leading: rgba(92, 156, 255, .34);--wash-trailing: rgba(255, 214, 107, .18);--card-gradient: linear-gradient(135deg, #1c2b4a, #1e2f52 50%, #3a3420);--card-halo-top: rgba(120, 170, 255, .18);--card-halo-bottom: rgba(92, 140, 255, .2);--card-eyebrow: #9cc2ff}:root[data-palette=menthe]:not([data-theme=light]){--canvas: #090f0d;--wash-leading: rgba(79, 207, 150, .28);--wash-trailing: rgba(255, 210, 92, .18);--card-gradient: linear-gradient(135deg, #15352a, #1a3a2c 50%, #3a3520);--card-halo-top: rgba(79, 207, 150, .18);--card-halo-bottom: rgba(255, 210, 92, .15);--card-eyebrow: #8fe3bf}}:root[data-theme=dark]{color-scheme:dark;--accent: #669eff;--accent-strong: #3b76f6;--accent-text: #8cb3ff;--accent-soft: rgba(102, 158, 255, .16);--bg: #121217;--surface: #1c1c21;--surface-raised: #26262c;--text: #f5f5fa;--text-secondary: rgba(245, 245, 250, .62);--text-tertiary: rgba(245, 245, 250, .4);--fill: rgba(245, 245, 250, .08);--fill-strong: rgba(245, 245, 250, .13);--stroke: rgba(245, 245, 250, .09);--stroke-strong: rgba(245, 245, 250, .16);--shadow-card: 0 2px 10px rgba(0, 0, 0, .3);--shadow-float: 0 16px 40px rgba(0, 0, 0, .5);--glass: rgba(30, 30, 36, .72);--glass-stroke: rgba(255, 255, 255, .1);--danger-soft: rgba(235, 66, 77, .18);--status-available-text: #4ade80;--status-maybe-text: #fcbf4d;--status-busy-text: #ff8080;--canvas: #0d0a12;--wash-leading: rgba(255, 158, 122, .32);--wash-trailing: rgba(140, 128, 255, .34);--card-gradient: linear-gradient(135deg, #3d2a33, #3a2840 50%, #2a2b4f);--card-halo-top: rgba(255, 158, 122, .25);--card-halo-bottom: rgba(124, 134, 255, .25);--card-eyebrow: #ffb8c8;--card-title: #ffffff;--card-body: rgba(255, 255, 255, .82);--card-chip: rgba(255, 255, 255, .1);--card-chip-stroke: rgba(255, 255, 255, .18);--card-shadow: rgba(0, 0, 0, .4)}:root[data-theme=dark][data-palette=peche]{--canvas: #100b0a;--wash-leading: rgba(255, 154, 92, .3);--wash-trailing: rgba(255, 122, 122, .24);--card-gradient: linear-gradient(135deg, #40261c, #3a2420);--card-halo-top: rgba(255, 138, 92, .22);--card-halo-bottom: rgba(255, 201, 77, .18);--card-eyebrow: #ffb892}:root[data-theme=dark][data-palette=ciel]{--canvas: #090c15;--wash-leading: rgba(92, 156, 255, .34);--wash-trailing: rgba(255, 214, 107, .18);--card-gradient: linear-gradient(135deg, #1c2b4a, #1e2f52 50%, #3a3420);--card-halo-top: rgba(120, 170, 255, .18);--card-halo-bottom: rgba(92, 140, 255, .2);--card-eyebrow: #9cc2ff}:root[data-theme=dark][data-palette=menthe]{--canvas: #090f0d;--wash-leading: rgba(79, 207, 150, .28);--wash-trailing: rgba(255, 210, 92, .18);--card-gradient: linear-gradient(135deg, #15352a, #1a3a2c 50%, #3a3520);--card-halo-top: rgba(79, 207, 150, .18);--card-halo-bottom: rgba(255, 210, 92, .15);--card-eyebrow: #8fe3bf}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;min-height:100vh;min-height:100dvh;background:var(--canvas);color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}button:disabled{cursor:default}h1,h2,h3,h4,p{margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent-soft)}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.app-shell{min-height:100vh;min-height:100dvh}.screen-bg{position:fixed;inset:0 0 auto;height:440px;pointer-events:none;z-index:-1;background:radial-gradient(340px 340px at 0% -5%,var(--wash-leading),transparent 70%),radial-gradient(300px 300px at 100% 0%,var(--wash-trailing),transparent 70%)}@media(min-width:900px){.screen-bg{background:radial-gradient(520px 420px at calc(var(--sidebar-width) + 40px) -5%,var(--wash-leading),transparent 70%),radial-gradient(520px 420px at 100% 0%,var(--wash-trailing),transparent 70%)}}.main{position:relative;min-width:0;padding-bottom:calc(var(--tabbar-height) + 24px + env(safe-area-inset-bottom))}@media(min-width:900px){.main{margin-left:var(--sidebar-width);padding-bottom:48px}}.page{width:100%;max-width:var(--content-max);margin:0 auto;padding:16px 16px 0}@media(min-width:600px){.page{padding:24px 24px 0}}@media(min-width:900px){.page{padding:32px 40px 0}}.page--narrow{max-width:720px}.page--medium{max-width:880px}.stack{display:flex;flex-direction:column;gap:28px}.stack--sm{gap:12px}.stack--md{gap:18px}.row{display:flex;align-items:center;gap:10px}.row--wrap{flex-wrap:wrap}.row--between{justify-content:space-between}.grow{flex:1 1 auto;min-width:0}.muted{color:var(--text-secondary)}.meta{font-size:13px;color:var(--text-secondary)}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.error-text{color:var(--status-busy-text);font-size:13px;font-weight:500}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.sidebar{display:none}@media(min-width:900px){.sidebar{position:fixed;inset:0 auto 0 0;z-index:20;display:flex;flex-direction:column;width:var(--sidebar-width);padding:24px 16px 20px;background:var(--glass);border-right:1px solid var(--stroke);-webkit-backdrop-filter:saturate(180%) blur(24px);backdrop-filter:saturate(180%) blur(24px)}}.sidebar__brand{padding:0 8px 24px}.sidebar__nav{display:flex;flex-direction:column;gap:4px}.nav-item{position:relative;display:flex;align-items:center;gap:12px;min-height:44px;padding:0 12px;border-radius:14px;font-weight:600;font-size:15px;color:var(--text-secondary);transition:background .15s,color .15s}.nav-item:hover{background:var(--fill);color:var(--text)}.nav-item.is-active{background:var(--accent-soft);color:var(--accent-text)}.nav-item svg{width:22px;height:22px;flex:none}.nav-item__badge{margin-left:auto}.sidebar__footer{margin-top:auto;display:flex;flex-direction:column;gap:10px}.tabbar{position:fixed;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:30;display:grid;grid-template-columns:repeat(5,1fr);height:var(--tabbar-height);padding:6px;border-radius:999px;background:var(--glass);border:1px solid var(--glass-stroke);box-shadow:var(--shadow-float);-webkit-backdrop-filter:saturate(180%) blur(24px);backdrop-filter:saturate(180%) blur(24px)}@media(min-width:900px){.tabbar{display:none}}.tabbar__item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:999px;font-size:10.5px;font-weight:600;color:var(--text-secondary)}.tabbar__item svg{width:23px;height:23px}.tabbar__item.is-active{color:var(--accent-text);background:var(--accent-soft)}.tabbar__item .badge{position:absolute;top:3px;left:calc(50% + 6px)}.brand{display:inline-flex;align-items:center;gap:8px}.brand__logo{width:36px;height:36px;border-radius:10px;object-fit:cover}.brand__name{font-family:var(--font-display);font-size:28px;font-weight:700;letter-spacing:-.02em;line-height:1}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--danger);color:#fff;font-size:11px;font-weight:700;line-height:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:999px;font-size:15px;font-weight:600;white-space:nowrap;transition:transform .12s,background .15s,opacity .15s,box-shadow .15s;-webkit-user-select:none;user-select:none}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.5}.btn svg{width:18px;height:18px;flex:none}.btn--primary{background:var(--accent-strong);color:#fff;box-shadow:0 6px 16px #2563eb40}.btn--primary:hover:not(:disabled){background:color-mix(in srgb,var(--accent-strong) 90%,black)}.btn--secondary{background:var(--fill);color:var(--text)}.btn--secondary:hover:not(:disabled){background:var(--fill-strong)}.btn--tinted{background:var(--accent-soft);color:var(--accent-text)}.btn--ghost{color:var(--accent-text);padding:0 10px}.btn--ghost:hover:not(:disabled){background:var(--fill)}.btn--danger{background:var(--danger-soft);color:var(--status-busy-text)}.btn--success{background:var(--status-available-fill);color:#fff}.btn--sm{min-height:34px;padding:0 14px;font-size:13.5px}.btn--lg{min-height:52px;padding:0 24px;font-size:16px}.btn--block{width:100%}.icon-btn{display:inline-flex;align-items:center;justify-content:center;position:relative;width:40px;height:40px;flex:none;border-radius:999px;background:var(--glass);border:1px solid var(--stroke);color:var(--text);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:background .15s,transform .12s}.icon-btn:hover{background:var(--surface)}.icon-btn:active{transform:scale(.95)}.icon-btn svg{width:20px;height:20px}.icon-btn .badge{position:absolute;top:-4px;right:-4px}.icon-btn--plain{background:transparent;border-color:transparent}.icon-btn--plain:hover{background:var(--fill)}.card{background:var(--surface);border:1px solid var(--stroke);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.card--padded{padding:16px}.card--lg{border-radius:var(--radius-lg)}.card--interactive{transition:transform .15s,box-shadow .15s}.card--interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-float)}.page-header{display:flex;align-items:center;gap:12px;min-height:48px}.page-title{font-family:var(--font-display);font-size:30px;font-weight:700;letter-spacing:-.01em;line-height:1.1}.page-subtitle{margin-top:4px;color:var(--text-secondary);font-size:14px}.section{display:flex;flex-direction:column;gap:12px}.section__header{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.section__title{font-size:18px;font-weight:700;letter-spacing:-.01em}.section__action{font-size:14px;font-weight:600;color:var(--accent-text)}.back-link{display:inline-flex;align-items:center;gap:4px;min-height:36px;margin-left:-6px;padding:0 8px 0 4px;border-radius:999px;color:var(--accent-text);font-weight:600;font-size:15px}.back-link:hover{background:var(--fill)}.back-link svg{width:20px;height:20px}.avatar{position:relative;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--fill-strong);color:#fff;font-weight:700;overflow:visible}.avatar__img,.avatar__initials{width:100%;height:100%;border-radius:999px;object-fit:cover}.avatar__initials{display:flex;align-items:center;justify-content:center;text-transform:uppercase}.avatar--ring{padding:2.5px}.avatar--ring:before{content:"";position:absolute;inset:0;border-radius:999px;border:2.5px solid var(--ring, transparent)}.avatar--ring .avatar__img,.avatar--ring .avatar__initials{border:2px solid var(--canvas)}.avatar__dot{position:absolute;right:0;bottom:0;width:28%;height:28%;min-width:10px;min-height:10px;border-radius:999px;border:2px solid var(--surface);background:var(--dot, transparent)}.avatar-stack{display:inline-flex}.avatar-stack>*+*{margin-left:-10px}.avatar-stack .avatar__img,.avatar-stack .avatar__initials{box-shadow:0 0 0 2px var(--surface)}.avatar-stack__more{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--fill-strong);color:var(--text);font-size:12px;font-weight:700;box-shadow:0 0 0 2px var(--surface)}.pill{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap;background:var(--fill);color:var(--text-secondary)}.pill svg{width:13px;height:13px}.pill--available{background:color-mix(in srgb,var(--status-available) 14%,transparent);color:var(--status-available-text)}.pill--maybe{background:color-mix(in srgb,var(--status-maybe) 14%,transparent);color:var(--status-maybe-text)}.pill--busy{background:color-mix(in srgb,var(--status-busy) 10%,transparent);color:var(--status-busy-text)}.pill--accent{background:var(--accent-soft);color:var(--accent-text)}.pill--danger{background:var(--danger-soft);color:var(--status-busy-text)}.pill--solid{background:#00000073;color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.status-button{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;padding:8px 14px 8px 8px;border-radius:999px;background:var(--surface);border:1px solid var(--stroke);box-shadow:var(--shadow-card);text-align:left;transition:transform .12s,box-shadow .15s}.status-button:hover{box-shadow:var(--shadow-float)}.status-button__icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:none;border-radius:999px;background:var(--fill);color:var(--text-secondary)}.status-button__icon svg{width:18px;height:18px}.status-button--available .status-button__icon{background:var(--status-available-fill);color:#fff}.status-button--maybe .status-button__icon{background:var(--status-maybe-fill);color:#fff}.status-button--busy .status-button__icon{background:var(--status-busy-fill);color:#fff}.status-button__label{font-weight:650;font-size:14px;line-height:1.2}.status-button__sub{font-size:12px;color:var(--text-secondary)}.chip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 14px;border-radius:999px;background:var(--surface);border:1px solid var(--stroke-strong);font-size:14px;font-weight:600;white-space:nowrap;transition:background .15s,color .15s,border-color .15s}.chip:hover{background:var(--fill)}.chip.is-selected{background:var(--text);border-color:var(--text);color:var(--canvas)}.chip svg{width:16px;height:16px}.segmented{display:inline-flex;flex:none;max-width:max-content;gap:2px;padding:3px;border-radius:999px;background:var(--fill)}.segmented__item{display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;min-height:34px;padding:0 16px;border-radius:999px;font-size:14px;font-weight:600;color:var(--text-secondary);transition:background .15s,color .15s}.segmented__item.is-active{background:var(--surface);color:var(--text);box-shadow:0 1px 4px #00000014}.field{display:flex;flex-direction:column;gap:6px}.field__label{font-size:13px;font-weight:600;color:var(--text-secondary)}.field__hint{font-size:12.5px;color:var(--text-tertiary)}.input,.textarea,.select{width:100%;min-height:48px;padding:12px 14px;border-radius:14px;border:1px solid var(--stroke-strong);background:var(--surface);font-size:15px;transition:border-color .15s,box-shadow .15s}.input::placeholder,.textarea::placeholder{color:var(--text-tertiary)}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.textarea{min-height:96px;resize:vertical;line-height:1.45}.search-field{position:relative;display:flex;align-items:center}.search-field svg{position:absolute;left:14px;width:18px;height:18px;color:var(--text-tertiary);pointer-events:none}.search-field .input{padding-left:42px;border-radius:999px;background:var(--surface)}.checkbox{display:flex;align-items:flex-start;gap:10px;font-size:14px;cursor:pointer}.checkbox input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--accent-strong);flex:none}.switch{position:relative;width:51px;height:31px;flex:none;appearance:none;border-radius:999px;background:var(--fill-strong);cursor:pointer;transition:background .2s}.switch:after{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:999px;background:#fff;box-shadow:0 2px 6px #0003;transition:transform .2s}.switch:checked{background:var(--status-available)}.switch:checked:after{transform:translate(20px)}.list{display:flex;flex-direction:column}.list-row{display:flex;align-items:center;gap:12px;min-height:60px;padding:10px 16px;text-align:left;width:100%;transition:background .12s}.list>.list-row+.list-row{border-top:1px solid var(--stroke)}a.list-row:hover,button.list-row:hover{background:var(--fill)}.list-row__title{font-weight:600;font-size:15px}.list-row__sub{font-size:13px;color:var(--text-secondary)}.list-row__chevron{width:18px;height:18px;color:var(--text-tertiary);flex:none}.hscroll{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;margin:0 -16px;padding:4px 16px 8px}.hscroll::-webkit-scrollbar{display:none}.hscroll>*{scroll-snap-align:start;flex:none}@media(min-width:600px){.hscroll{margin:0 -24px;padding:4px 24px 8px}}@media(min-width:900px){.hscroll{margin:0 -40px;padding:4px 40px 8px}}.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.grid-cards--sm{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.empty-state{display:flex;flex-direction:column;align-items:center;gap:10px;padding:40px 24px;text-align:center}.empty-state__icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:999px;background:var(--accent-soft);color:var(--accent-text);font-size:28px}.empty-state__icon svg{width:28px;height:28px}.empty-state__title{font-size:17px;font-weight:700}.empty-state__text{max-width:360px;color:var(--text-secondary);font-size:14px}.skeleton{background:linear-gradient(90deg,var(--fill) 25%,var(--fill-strong) 50%,var(--fill) 75%);background-size:200% 100%;border-radius:var(--radius-md);animation:shimmer 1.4s ease-in-out infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.spinner{width:22px;height:22px;border-radius:999px;border:2.5px solid var(--fill-strong);border-top-color:var(--accent);animation:spin .7s linear infinite}.spinner--sm{width:16px;height:16px;border-width:2px}.spinner--light{border-color:#ffffff59;border-top-color:#fff}@keyframes spin{to{transform:rotate(360deg)}}.center-screen{display:flex;align-items:center;justify-content:center;min-height:50vh}.alert{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:14px;background:var(--danger-soft);color:var(--status-busy-text);font-size:14px;font-weight:500}.alert svg{width:18px;height:18px;flex:none;margin-top:1px}.alert--info{background:var(--accent-soft);color:var(--accent-text)}.alert--success{background:color-mix(in srgb,var(--status-available) 14%,transparent);color:var(--status-available-text)}.modal-backdrop{position:fixed;inset:0;z-index:100;display:flex;align-items:flex-end;justify-content:center;background:#0a0a1466;animation:fade-in .2s ease-out}@media(min-width:600px){.modal-backdrop{align-items:center;padding:24px}}.modal{display:flex;flex-direction:column;width:100%;max-height:92vh;max-height:92dvh;background:var(--surface);border-radius:28px 28px 0 0;box-shadow:var(--shadow-float);animation:sheet-up .28s cubic-bezier(.2,.9,.3,1);padding-bottom:env(safe-area-inset-bottom)}@media(min-width:600px){.modal{max-width:520px;border-radius:28px;animation:pop-in .22s cubic-bezier(.2,.9,.3,1)}}.modal--wide{max-width:640px}.modal__header{display:flex;align-items:center;gap:8px;padding:14px 14px 6px 22px}.modal__title{flex:1;font-size:18px;font-weight:700}.modal__body{flex:1 1 auto;overflow-y:auto;padding:8px 22px 20px}.modal__footer{display:flex;gap:10px;padding:12px 22px 20px;border-top:1px solid var(--stroke)}@keyframes fade-in{0%{opacity:0}}@keyframes sheet-up{0%{transform:translateY(40px);opacity:0}}@keyframes pop-in{0%{transform:scale(.96);opacity:0}}.toast-region{position:fixed;left:50%;bottom:calc(var(--tabbar-height) + 28px + env(safe-area-inset-bottom));z-index:200;display:flex;flex-direction:column;align-items:center;gap:8px;transform:translate(-50%);pointer-events:none}@media(min-width:900px){.toast-region{left:calc(50% + var(--sidebar-width) / 2);bottom:28px}}.toast{display:inline-flex;align-items:center;gap:8px;max-width:min(90vw,420px);padding:12px 18px;border-radius:999px;background:var(--text);color:var(--canvas);font-size:14px;font-weight:600;box-shadow:var(--shadow-float);animation:sheet-up .25s ease-out}.toast--error{background:var(--danger);color:#fff}.cover{position:relative;overflow:hidden;background:var(--fill)}.cover__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:fade-in .3s ease-out}.cover__fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:42px}.cover__fallback span{filter:drop-shadow(0 4px 10px rgba(0,0,0,.15))}.hide-sm{display:none}@media(min-width:600px){.hide-sm{display:inline}}.tabs-scroll{overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px}.tabs-scroll::-webkit-scrollbar{display:none}.live-dot{display:inline-block;width:7px;height:7px;border-radius:999px;background:#ff4d4f;box-shadow:0 0 #ff4d4f99;animation:pulse 1.6s infinite}@keyframes pulse{70%{box-shadow:0 0 0 7px #ff4d4f00}to{box-shadow:0 0 #ff4d4f00}}.thumb{width:52px;height:52px;flex:none;border-radius:14px;font-size:22px}.thumb .cover__fallback{font-size:22px}.thumb--lg{width:72px;height:72px;border-radius:16px}.thumb--sm{width:36px;height:36px;border-radius:10px}.thumb--sm .cover__fallback{font-size:16px}.rating{display:inline-flex;align-items:center;gap:3px;font-size:13px;font-weight:650}.rating svg{color:#f5a623}.list-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:none;border-radius:10px;color:#fff}.list-icon svg{width:18px;height:18px}.list-icon--blue{background:var(--accent-strong)}.list-icon--green{background:var(--status-available-fill)}.list-icon--gray{background:var(--fill-strong);color:var(--text)}.unread-dot{width:10px;height:10px;flex:none;border-radius:999px;background:var(--accent)}.badge--accent{background:var(--accent-strong)}.home-header{display:flex;align-items:center;gap:12px}.home-header__greeting{display:none}@media(min-width:900px){.home-header__brand{display:none}.home-header__greeting{display:block}.home-header__avatar,.home-status{display:none}}.friend-bubble{display:flex;flex-direction:column;align-items:center;gap:4px;width:76px;padding:4px 0;border-radius:16px;transition:transform .12s}.friend-bubble:hover:not(:disabled){transform:translateY(-2px)}.friend-bubble:disabled{opacity:.6}.friend-bubble__name{max-width:100%;font-size:13px;font-weight:600}.friend-bubble__caption{font-size:11px;font-weight:600;color:var(--text-tertiary);line-height:1}.friend-bubble__caption--available,.friend-bubble__caption--with{color:var(--status-available-text)}.friend-bubble__caption--maybe{color:var(--status-maybe-text)}.friend-bubble__caption--busy{color:var(--status-busy-text)}.next-outing{overflow:hidden;border-radius:var(--radius-xl)}.next-outing__cover{height:200px}@media(min-width:600px){.next-outing{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.next-outing__cover{height:auto;min-height:260px}}.next-outing__overlay{position:absolute;top:14px;left:14px;display:flex;gap:6px}.next-outing__body{display:flex;flex-direction:column;justify-content:center;gap:6px;padding:20px 22px 22px}.next-outing__title{font-family:var(--font-display);font-size:26px;font-weight:700;line-height:1.15}.launch-card{position:relative;overflow:hidden;padding:22px;border-radius:var(--radius-xl);background:var(--card-gradient);box-shadow:0 12px 40px var(--card-shadow);isolation:isolate}@media(min-width:600px){.launch-card{padding:30px 32px}}.launch-card__halo{position:absolute;z-index:-1;border-radius:999px;filter:blur(40px);pointer-events:none}.launch-card__halo--top{top:-70px;right:-60px;width:210px;height:210px;background:var(--card-halo-top)}.launch-card__halo--bottom{bottom:-90px;left:-70px;width:230px;height:230px;background:var(--card-halo-bottom)}.launch-card__sun{display:var(--sun-display);position:absolute;top:-18px;right:-14px;width:60px;height:60px;border-radius:999px;background:#ffd66b;box-shadow:0 0 0 14px #ffd66b33;z-index:-1}.launch-card__sparkles{display:var(--sparkles-display);position:absolute;top:0;right:0;width:100px;height:60px;pointer-events:none}.launch-card__sparkles i{position:absolute;border-radius:999px}.launch-card__sparkles i:nth-child(1){top:14px;right:30px;width:8px;height:8px;background:var(--sparkle-1)}.launch-card__sparkles i:nth-child(2){top:36px;right:14px;width:6px;height:6px;background:var(--sparkle-2)}.launch-card__sparkles i:nth-child(3){top:10px;right:64px;width:5px;height:5px;background:var(--sparkle-3)}.launch-card__sparkles i:nth-child(4){top:30px;right:50px;width:10px;height:4px;background:var(--sparkle-1);transform:rotate(30deg)}.launch-card__eyebrow{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--card-eyebrow)}.launch-card__title{margin-top:10px;font-family:var(--font-display);font-size:30px;font-weight:700;line-height:1.1;color:var(--card-title)}.launch-card__text{margin-top:8px;max-width:460px;color:var(--card-body);font-size:15px}.launch-card__chips{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:18px;max-width:560px}.launch-card__chip{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:66px;padding:6px;border-radius:18px;background:var(--card-chip);border:1px solid var(--card-chip-stroke);color:var(--card-title);font-size:12px;font-weight:600;text-align:center;transition:transform .12s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.launch-card__chip:hover{transform:translateY(-2px)}.launch-card__chip svg{width:20px;height:20px}.launch-card__button{display:flex;align-items:center;justify-content:center;gap:8px;max-width:560px;min-height:52px;margin-top:14px;border-radius:999px;background:var(--card-button);color:var(--card-button-text);font-weight:650;font-size:16px;box-shadow:0 5px 14px #0000001f;transition:transform .12s}.launch-card__button:active{transform:scale(.98)}.launch-card__button svg{width:18px;height:18px}.invitation{display:flex;flex-direction:column;gap:12px;padding:12px}@media(min-width:700px){.invitation{flex-direction:row;align-items:center}}.invitation__main{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.invitation__actions{display:flex;gap:8px;flex:none}.invitation__actions .btn{flex:1}.event-card{display:flex;flex-direction:column;overflow:hidden;height:100%}.event-card__cover{height:150px}.event-card__badges{position:absolute;top:10px;left:10px;display:flex;gap:6px}.event-card__body{display:flex;flex-direction:column;gap:4px;flex:1;padding:12px 14px 14px}.event-card__date{font-size:12.5px;font-weight:700;color:var(--accent-text);text-transform:none}.event-card__title{font-size:16px;font-weight:700;line-height:1.25}.event-card__place{display:flex;align-items:center;gap:4px;font-size:13px;color:var(--text-secondary)}.event-card__place svg{flex:none}.event-card__footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:8px}.place-card{display:flex;flex-direction:column;overflow:hidden;height:100%}.place-card__cover{height:140px}.place-card__open{position:absolute;top:10px;left:10px}.place-card__body{display:flex;flex-direction:column;gap:3px;padding:10px 12px 12px}.place-card__title{font-size:15px;font-weight:700}.category-chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:2px 16px 6px}.category-chips::-webkit-scrollbar{display:none}@media(min-width:900px){.category-chips{flex-wrap:wrap;margin:0;padding:0}}.event-hero{height:240px;border-radius:var(--radius-xl);box-shadow:var(--shadow-card)}.event-hero .cover__fallback{font-size:72px}@media(min-width:700px){.event-hero{height:340px}}.event-hero__badges{position:absolute;left:14px;bottom:14px;display:flex;flex-wrap:wrap;gap:6px}.event-detail{display:grid;gap:24px}@media(min-width:860px){.event-detail{grid-template-columns:minmax(0,1fr) 300px;align-items:start}.event-detail__side{position:sticky;top:24px}}.event-detail__title{margin-top:4px;font-family:var(--font-display);font-size:32px;font-weight:700;line-height:1.12;letter-spacing:-.01em}.event-detail__description{white-space:pre-wrap;line-height:1.55}.host-row{align-self:flex-start;padding:6px 14px 6px 6px;border-radius:999px;background:var(--surface);border:1px solid var(--stroke)}.rsvp{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:480px}.rsvp__option{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:48px;border-radius:16px;background:var(--surface);border:1.5px solid var(--stroke-strong);font-weight:650;transition:background .15s,border-color .15s,color .15s}.rsvp__option svg{width:16px;height:16px}.rsvp__option:hover:not(:disabled){background:var(--fill)}.rsvp__option:disabled{opacity:.55}.rsvp--yes.is-selected{background:var(--status-available-fill);border-color:var(--status-available-fill);color:#fff}.rsvp--maybe.is-selected{background:var(--status-maybe-fill);border-color:var(--status-maybe-fill);color:#fff}.rsvp--no.is-selected{background:var(--fill-strong);border-color:var(--stroke-strong)}.place-block{overflow:hidden}.place-block__cover{height:140px}.participants{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}.member-chip{display:flex;align-items:center;gap:10px;min-width:0;padding:6px 12px 6px 6px;border-radius:999px;background:var(--surface);border:1px solid var(--stroke);transition:background .12s}.member-chip:hover{background:var(--fill)}.reasons{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px;font-size:14px}.hours{margin:0;padding:0 16px 14px 48px;list-style:none;display:flex;flex-direction:column;gap:4px;font-size:13.5px;color:var(--text-secondary)}.hours .is-today{color:var(--text);font-weight:650}.cover-picker{position:relative;display:flex;align-items:center;justify-content:center;height:160px;overflow:hidden;border-radius:var(--radius-lg);border:2px dashed var(--stroke-strong);background:var(--surface);cursor:pointer;transition:border-color .15s}.cover-picker:hover{border-color:var(--accent)}.cover-picker__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cover-picker__empty{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--text-secondary);font-size:14px;font-weight:600}.cover-picker__empty svg{width:26px;height:26px}.input--lg{font-size:18px;font-weight:600}.input--code{text-align:center;font-size:26px;font-weight:700;letter-spacing:.4em}.form-grid{display:grid;gap:16px}@media(min-width:600px){.form-grid{grid-template-columns:1fr 1fr}}.switch-field{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.sticky-submit{position:sticky;bottom:calc(var(--tabbar-height) + 20px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:6px;padding:10px 0 4px;background:linear-gradient(to top,var(--canvas) 70%,transparent);z-index:5}@media(min-width:900px){.sticky-submit{bottom:0;padding-bottom:16px}}.chosen-place{display:flex;align-items:center;gap:12px;padding:10px;border-radius:16px;background:var(--fill)}.place-results{overflow:hidden}.place-results__icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:none;border-radius:12px;background:var(--fill);font-size:20px}.picker-row{cursor:pointer;padding-left:4px;padding-right:4px}.picker-check{width:22px;height:22px;flex:none;accent-color:var(--accent-strong)}.messages{display:flex;flex-direction:column}.messages__chat,.messages--has-chat .messages__list{display:none}.messages--has-chat .messages__chat{position:fixed;inset:0;z-index:40;display:flex;background:var(--canvas)}@media(min-width:900px){.messages{position:fixed;top:0;bottom:0;left:var(--sidebar-width);right:0;display:grid;grid-template-columns:360px minmax(0,1fr)}.messages--has-chat .messages__list{display:flex}.messages__list{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--stroke)}.messages__chat,.messages--has-chat .messages__chat{position:relative;inset:auto;z-index:auto;display:flex;min-height:0;background:transparent}}.messages__list-header{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 8px}@media(min-width:900px){.messages__list-header{padding:32px 20px 10px}}.messages__search{padding:0 16px 10px}.messages__placeholder{display:flex;align-items:center;justify-content:center;width:100%}.conv-list{display:flex;flex-direction:column;padding:0 8px 16px}@media(min-width:900px){.conv-list{flex:1;overflow-y:auto}}.conv-row{display:flex;align-items:center;gap:12px;padding:10px;border-radius:16px;transition:background .12s}.conv-row:hover{background:var(--fill)}.conv-row.is-active{background:var(--accent-soft)}.conv-row__title{font-weight:600;font-size:15px}.conv-row__time{flex:none;font-size:12px;color:var(--text-tertiary)}.conv-row__preview{font-size:13.5px;color:var(--text-secondary)}.conv-row.is-unread .conv-row__title,.conv-row.is-unread .conv-row__preview{font-weight:700;color:var(--text)}.conv-row.is-unread .conv-row__time{color:var(--accent-text);font-weight:600}.conv-avatar{flex:none;border-radius:999px}.conv-avatar.cover{border-radius:14px}.conv-avatar .cover__fallback{font-size:inherit}.conv-avatar--duo{position:relative;display:inline-block}.conv-avatar--duo>.avatar:first-child{position:absolute;top:0;left:0}.conv-avatar--duo>.avatar:last-child{position:absolute;right:0;bottom:0}.conv-avatar--duo>.avatar:last-child .avatar__img,.conv-avatar--duo>.avatar:last-child .avatar__initials{box-shadow:0 0 0 2px var(--canvas)}.chat{display:flex;flex-direction:column;width:100%;height:100%;min-height:0}.chat__header{display:flex;align-items:center;gap:10px;padding:10px 14px;padding-top:calc(10px + env(safe-area-inset-top));background:var(--glass);border-bottom:1px solid var(--stroke);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}@media(min-width:900px){.chat__header{padding:18px 20px}.chat__back{display:none!important}}.chat__title{display:block;font-weight:700;font-size:16px}.chat__subtitle{display:block;font-size:12.5px;color:var(--text-secondary)}.chat__subtitle--typing{color:var(--accent-text);font-weight:600}.chat__pinned{display:flex;align-items:center;gap:10px;margin:8px 14px 0;padding:8px 10px;border-radius:14px;background:var(--surface);border:1px solid var(--stroke);font-size:13.5px}.chat__messages{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:2px;padding:16px 14px 8px;overscroll-behavior:contain}@media(min-width:900px){.chat__messages{padding:20px 28px 10px}}.chat__empty{margin:auto;display:flex;flex-direction:column;align-items:center;gap:8px}.chat__day{align-self:center;margin:14px 0 8px;font-size:12px;font-weight:600;color:var(--text-tertiary)}.chat__system{align-self:center;max-width:80%;margin:8px 0;padding:4px 12px;border-radius:999px;background:var(--fill);font-size:12.5px;color:var(--text-secondary);text-align:center}.chat__seen{align-self:flex-end;margin-top:2px;font-size:11.5px;color:var(--text-tertiary)}.chat__composer{padding:8px 12px calc(10px + env(safe-area-inset-bottom));background:var(--glass);border-top:1px solid var(--stroke);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}@media(min-width:900px){.chat__composer{padding:12px 24px 18px}}.chat__reply{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding:6px 6px 6px 12px;border-radius:12px;background:var(--fill);font-size:13px;color:var(--text-secondary)}.chat__input-row{display:flex;align-items:flex-end;gap:6px}.chat__input{flex:1;min-height:42px;max-height:160px;padding:10px 16px;border-radius:22px;border:1px solid var(--stroke-strong);background:var(--surface);resize:none;field-sizing:content;line-height:1.4}.chat__input:focus{outline:none;border-color:var(--accent)}.chat__send{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;flex:none;border-radius:999px;background:var(--accent-strong);color:#fff;transition:opacity .15s,transform .12s}.chat__send:disabled{opacity:.4}.chat__send:active:not(:disabled){transform:scale(.94)}.chat__send svg{width:18px;height:18px}.msg{display:flex;align-items:flex-end;gap:8px;max-width:100%}.msg--mine{justify-content:flex-end}.msg__avatar{width:30px;flex:none}.msg__column{display:flex;flex-direction:column;align-items:flex-start;max-width:min(78%,560px);min-width:0}.msg--mine .msg__column{align-items:flex-end}.msg__sender{margin:8px 0 2px 12px;font-size:12px;font-weight:600;color:var(--text-secondary)}.msg__reply{display:flex;align-items:center;gap:4px;max-width:100%;margin:6px 0 -4px;padding:6px 12px 10px;border-radius:14px;background:var(--fill);font-size:12.5px;color:var(--text-secondary)}.msg__body{position:relative;display:flex;align-items:center;gap:4px;max-width:100%}.msg--mine .msg__body{flex-direction:row-reverse}.msg__stack{display:flex;flex-direction:column;gap:4px;min-width:0}.msg--mine .msg__stack{align-items:flex-end}.msg__bubble{padding:8px 13px;border-radius:20px;background:var(--surface);border:1px solid var(--stroke);font-size:15px;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere}.msg--mine .msg__bubble{background:var(--accent-strong);border-color:transparent;color:#fff}.msg__bubble--deleted{background:transparent!important;border:1px dashed var(--stroke-strong)!important;color:var(--text-tertiary)!important;font-style:italic}.msg__bubble--call{display:inline-flex;align-items:center;gap:6px}.msg__link{text-decoration:underline;text-underline-offset:2px}.msg__photo img{max-width:min(320px,70vw);max-height:360px;width:auto;border-radius:18px;object-fit:cover;background:var(--fill)}.msg__attachment{display:flex;flex-direction:column;gap:6px;max-width:280px}.msg__attachment--link{overflow:hidden;gap:0;width:260px}.msg__attachment-cover{height:110px}.msg__attachment-body{display:flex;flex-direction:column;gap:2px;min-width:0;padding:10px 12px}.msg__actions{position:relative;display:flex;gap:2px;opacity:0;transition:opacity .12s}.msg:hover .msg__actions,.msg__actions:focus-within{opacity:1}@media(hover:none){.msg__actions{opacity:.6}}.msg__action{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;color:var(--text-tertiary)}.msg__action:hover{background:var(--fill);color:var(--text)}.msg__action svg{width:16px;height:16px}.reaction-picker{position:absolute;bottom:calc(100% + 4px);left:0;z-index:10;display:flex;gap:2px;padding:4px;border-radius:999px;background:var(--surface-raised);border:1px solid var(--stroke);box-shadow:var(--shadow-float)}.msg--mine .reaction-picker{left:auto;right:0}.reaction-picker button{width:34px;height:34px;border-radius:999px;font-size:20px;transition:transform .1s}.reaction-picker button:hover{transform:scale(1.2)}.msg__reactions{display:flex;flex-wrap:wrap;gap:4px;margin-top:-2px;padding:0 6px}.reaction{display:inline-flex;align-items:center;gap:3px;height:24px;padding:0 8px;border-radius:999px;background:var(--surface);border:1px solid var(--stroke);font-size:13px}.reaction span{font-size:11.5px;font-weight:600;color:var(--text-secondary)}.reaction.is-mine{background:var(--accent-soft);border-color:var(--accent)}.msg__bubble--typing{display:inline-flex;gap:4px;padding:12px 14px}.msg__bubble--typing i{width:7px;height:7px;border-radius:999px;background:var(--text-tertiary);animation:typing 1.2s infinite ease-in-out}.msg__bubble--typing i:nth-child(2){animation-delay:.15s}.msg__bubble--typing i:nth-child(3){animation-delay:.3s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}.poll{display:flex;flex-direction:column;gap:10px;width:min(320px,70vw);padding:14px}.poll__question{font-weight:700;font-size:15px}.poll__option{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:40px;padding:0 12px;overflow:hidden;border-radius:12px;border:1px solid var(--stroke-strong);text-align:left;font-size:14px}.poll__option.is-mine{border-color:var(--accent)}.poll__bar{position:absolute;inset:0 auto 0 0;background:var(--accent-soft);transition:width .3s}.poll__label,.poll__count{position:relative;display:inline-flex;align-items:center;gap:4px}.poll__count{font-weight:650;color:var(--text-secondary)}.profile-card{display:flex;flex-direction:column;align-items:center;gap:16px;padding:24px;text-align:center}@media(min-width:600px){.profile-card{flex-direction:row;align-items:flex-start;text-align:left}}.profile-card__avatar{position:relative;flex:none;cursor:pointer;border-radius:999px}.profile-card__avatar-edit{position:absolute;right:0;bottom:0;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;background:var(--accent-strong);color:#fff;border:3px solid var(--surface)}.profile-card__avatar-edit svg{width:15px;height:15px}.profile-card__info{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:0;flex:1}@media(min-width:600px){.profile-card__info{align-items:flex-start}}.profile-card__name{font-family:var(--font-display);font-size:26px;font-weight:700;line-height:1.1}.profile-card__bio{white-space:pre-wrap;color:var(--text-secondary)}.profile-card__stats{display:flex;gap:24px}.profile-stat{display:flex;flex-direction:column;align-items:center;line-height:1.2}@media(min-width:600px){.profile-stat{align-items:flex-start}}.profile-stat strong{font-size:18px}.profile-stat span{font-size:12.5px;color:var(--text-secondary)}.wish-chip{padding-right:6px}.wish-chip button{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;color:var(--text-tertiary)}.wish-chip button:hover{background:var(--fill);color:var(--text)}.wish-chip button svg{width:13px;height:13px}.wish-form{display:flex;align-items:center;gap:6px;flex:1 1 260px}.wish-form .input{min-height:36px;padding:6px 14px;border-radius:999px;font-size:14px}.public-profile{display:flex;flex-direction:column;align-items:center;gap:12px;padding:28px 20px 24px;text-align:center}.theme-swatches{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.theme-swatch{display:flex;flex-direction:column;align-items:center;gap:6px}.theme-swatch__preview{position:relative;width:100%;height:64px;border-radius:16px;border:1px solid var(--stroke);overflow:hidden}.theme-swatch.is-selected .theme-swatch__preview{border:2.5px solid var(--accent)}.theme-swatch__preview--aube{background:radial-gradient(30px 30px at 85% 15%,rgba(255,190,150,.8),transparent),linear-gradient(135deg,#ffe7d6,#ffdde8 50%,#e6e3ff)}.theme-swatch__preview--peche{background:radial-gradient(30px 30px at 85% 15%,rgba(255,170,120,.8),transparent),linear-gradient(135deg,#ffebdc,#ffd8c6)}.theme-swatch__preview--ciel{background:radial-gradient(9px 9px at 85% 22%,#ffd66b 98%,transparent),linear-gradient(135deg,#dcebff,#eaf2ff 50%,#fff4d8)}.theme-swatch__preview--menthe{background:radial-gradient(30px 30px at 85% 15%,rgba(155,232,196,.8),transparent),linear-gradient(135deg,#dcf6e9,#effae6 50%,#fff3d1)}.theme-swatch__check{position:absolute;right:5px;bottom:5px;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;background:var(--accent);color:#fff}.theme-swatch__check svg{width:12px;height:12px}.theme-swatch__name{font-size:12.5px;color:var(--text-secondary)}.theme-swatch.is-selected .theme-swatch__name{color:var(--text);font-weight:650}.notif-avatar{position:relative;flex:none}.notif-avatar__icon{position:absolute;right:-3px;bottom:-3px;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;background:var(--accent-strong);color:#fff;border:2px solid var(--surface)}.notif-avatar__icon svg{width:11px;height:11px}.notif-text{font-size:14px;line-height:1.35}.status-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.status-tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:80px;border-radius:18px;font-weight:650;font-size:14px;transition:background .15s,color .15s,box-shadow .15s,transform .12s}.status-tile svg{width:22px;height:22px}.status-tile:active{transform:scale(.97)}.status-tile--available{background:color-mix(in srgb,var(--status-available) 12%,transparent);color:var(--status-available-text)}.status-tile--maybe{background:color-mix(in srgb,var(--status-maybe) 12%,transparent);color:var(--status-maybe-text)}.status-tile--busy{background:color-mix(in srgb,var(--status-busy) 8%,transparent);color:var(--status-busy-text)}.status-tile--available.is-selected{background:var(--status-available-fill);color:#fff;box-shadow:0 6px 16px color-mix(in srgb,var(--status-available-fill) 35%,transparent)}.status-tile--maybe.is-selected{background:var(--status-maybe-fill);color:#fff;box-shadow:0 6px 16px color-mix(in srgb,var(--status-maybe-fill) 35%,transparent)}.status-tile--busy.is-selected{background:var(--status-busy-fill);color:#fff;box-shadow:0 6px 16px color-mix(in srgb,var(--status-busy-fill) 35%,transparent)}.auth{position:relative;display:grid;min-height:100vh;min-height:100dvh}@media(min-width:900px){.auth{grid-template-columns:1fr minmax(420px,520px)}.auth--single{grid-template-columns:1fr}}.auth__hero{display:none}@media(min-width:900px){.auth__hero{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;padding:48px;overflow:hidden;background:var(--card-gradient)}}.auth__bubbles{position:relative;width:420px;height:420px}.auth__bubble{position:absolute;padding:14px 20px;border-radius:999px;background:var(--card-chip);border:1px solid var(--card-chip-stroke);box-shadow:0 16px 40px var(--card-shadow);color:var(--card-title);font-family:var(--font-display);font-size:22px;font-weight:600;white-space:nowrap;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:float 6s ease-in-out infinite}.auth__bubble--1{top:10%;left:0}.auth__bubble--2{top:32%;right:-10%;animation-delay:-1.5s}.auth__bubble--3{top:58%;left:6%;animation-delay:-3s}.auth__bubble--4{bottom:4%;right:4%;animation-delay:-4.5s}@keyframes float{50%{transform:translateY(-12px)}}.auth__panel{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;gap:18px;width:100%;max-width:460px;margin:0 auto;padding:48px 24px calc(32px + env(safe-area-inset-bottom))}.auth__title{font-family:var(--font-display);font-size:34px;font-weight:700;line-height:1.1;letter-spacing:-.01em}.auth__subtitle{color:var(--text-secondary);font-size:16px}.auth__legal{font-size:12.5px;color:var(--text-tertiary);text-align:center}.auth__legal a{text-decoration:underline;text-underline-offset:2px}.google-button{display:flex;justify-content:center;min-height:44px}
