*{box-sizing:border-box}
:root{--card-stack-gap:9px}
html{min-height:100%;background:var(--bg);scroll-behavior:smooth}
body{margin:0;min-height:100vh;min-height:100dvh;background:var(--bg);color:var(--text);font:15px/1.48 var(--font-ui);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background .24s ease,color .24s ease}
:root[data-design="aura"] body{background:radial-gradient(circle at 12% -5%,rgba(126,153,255,.25),transparent 34%),radial-gradient(circle at 95% 18%,rgba(113,207,185,.18),transparent 34%),var(--bg);background-attachment:fixed}
:root[data-design="aura"][data-theme="dark"] body{background:radial-gradient(circle at 8% -8%,rgba(77,104,215,.22),transparent 34%),radial-gradient(circle at 96% 18%,rgba(45,143,130,.12),transparent 34%),var(--bg);background-attachment:fixed}
.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}
.ui-icon,.nav-icon,.selection-icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;overflow:visible}
button,input,textarea,select{font:inherit}
button{cursor:pointer;-webkit-tap-highlight-color:transparent}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--primary);outline-offset:2px}
button:active{transform:scale(.985)}
button[disabled]{cursor:not-allowed;opacity:.55}
.app-shell{width:100%;max-width:var(--screen-max);min-height:100vh;min-height:100dvh;margin:0 auto;background:transparent;display:flex;flex-direction:column}
#screen{flex:1;padding:calc(20px + env(safe-area-inset-top)) var(--screen-gutter) 122px}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-family:var(--font-display);letter-spacing:-.025em}
h1{font-size:29px;line-height:1.08;font-weight:650}
h2{font-size:21px;line-height:1.18;font-weight:650}
h3{font-size:17px;line-height:1.28;font-weight:620}
strong{font-weight:630}
.eyebrow{font-size:10.5px;line-height:1.3;font-weight:650;letter-spacing:.115em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}
.muted{color:var(--muted)}
.small{font-size:13px;line-height:1.4}
.error{min-height:20px;color:var(--danger);font-size:13px}
.topbar,.row,.sheet-head,.form-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}
.topbar{min-height:51px;margin-bottom:22px}
.topbar>div:first-child{min-width:0}
.top-actions{display:flex;align-items:center;gap:8px}
.section{margin-top:25px}
.section-head{margin-bottom:10px}
.card{display:block;width:100%;border:var(--card-border);border-radius:var(--card-radius);background:var(--surface);color:var(--text);padding:16px;text-align:left;box-shadow:var(--card-shadow);transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .12s ease}
button.card:hover{border-color:color-mix(in srgb,var(--primary) 33%,var(--line))}
/* Keep every adjacent card-like surface separated, including swipe-wrapped events. */
.card+.card,
.card+.swipe-row,
.swipe-row+.card,
.swipe-row+.swipe-row{margin-top:var(--card-stack-gap)}
.good-card{display:flex;align-items:flex-start;gap:13px;background:var(--success-bg);border-color:color-mix(in srgb,var(--success) 30%,transparent);color:var(--success-text);box-shadow:none}
.good-icon,.mini-icon{display:grid;place-items:center;flex:0 0 auto;background:var(--success);color:var(--primary-text)}
.good-icon{width:42px;height:42px;border-radius:14px}
.good-icon .ui-icon{width:22px;height:22px;stroke-width:2}
.good-card .muted{color:color-mix(in srgb,var(--success-text) 72%,var(--muted))}
.mini-icon{width:36px;height:36px;border-radius:11px;background:var(--accent-soft);color:var(--primary)}
.event-row{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:11px;align-items:start;position:relative;z-index:1}
.event-time{display:grid;gap:2px;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.event-time strong{color:var(--text);font-size:13px}.event-time small{font-size:11px}
.event-owner{display:flex;align-items:center;gap:6px;margin-top:5px;color:var(--muted);font-size:13px}
.sleep-day-nav{display:flex;align-items:center;justify-content:space-between;margin:4px 0 18px;padding:8px 4px}.sleep-day-nav>div{display:grid;gap:3px;text-align:center}.sleep-day-nav strong{text-transform:capitalize}.sleep-day-nav small{color:var(--muted);font-size:12px}.sleep-hero{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,var(--surface),color-mix(in srgb,#778cff 10%,var(--surface)));border-color:color-mix(in srgb,#778cff 24%,var(--line))}.sleep-hero.sleep-active{background:linear-gradient(135deg,color-mix(in srgb,#778cff 18%,var(--surface)),color-mix(in srgb,#aa8cff 16%,var(--surface)))}.sleep-orb,.sleep-entry-icon{display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:color-mix(in srgb,#778cff 20%,var(--surface));color:#8794ff}.sleep-orb{width:52px;height:52px}.sleep-orb .ui-icon{width:27px;height:27px}.sleep-hero h2{margin:3px 0 2px}.sleep-elapsed{margin:0;color:var(--muted);font-variant-numeric:tabular-nums}.sleep-start-card{margin-top:12px}.sleep-stop{margin-top:12px;background:#ff3b30;border-color:#ff3b30}.sleep-entry{display:flex;align-items:center;gap:11px;margin-top:9px;padding:13px}.sleep-entry-icon{width:36px;height:36px}.sleep-entry-icon .ui-icon{width:18px;height:18px}.sleep-entry>div{min-width:0;flex:1}.sleep-entry-duration{color:var(--text);font-size:13px}.sleep-entry-actions{display:flex;align-items:center;gap:4px;margin-left:3px}.sleep-action{display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:9px;background:var(--surface-raised);color:var(--muted)}.sleep-action .ui-icon{width:16px;height:16px}.sleep-action.danger-text{color:var(--danger)}.sleep-hint{margin:18px 2px;text-align:center}
.avatar{display:inline-grid;place-items:center;width:25px;height:25px;flex:0 0 25px;border-radius:50%;background:var(--accent-soft);color:var(--primary);font-size:11px;font-weight:700;object-fit:cover}.member>.avatar{width:38px;height:38px;flex-basis:38px;font-size:14px}.avatar-photo{border:1px solid var(--line)}
.swipe-row{--swipe-x:0px;--delete-width:10px;--delete-height:10px;--delete-opacity:0;--delete-content-opacity:0;position:relative;overflow:hidden;border-radius:var(--card-radius);touch-action:pan-y}.swipe-delete{position:absolute;z-index:0;top:50%;right:10px;width:var(--delete-width);height:var(--delete-height);transform:translate3d(0,-50%,0);border:0;border-radius:999px;background:#ff3b30;color:#fff;display:grid;place-items:center;padding:0;opacity:var(--delete-opacity);pointer-events:none;overflow:hidden;box-shadow:0 8px 20px color-mix(in srgb,#ff3b30 34%,transparent);transition:width .22s cubic-bezier(.2,.8,.2,1),height .22s cubic-bezier(.2,.8,.2,1),opacity .14s ease}.swipe-delete-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;white-space:nowrap;opacity:var(--delete-content-opacity);transition:opacity .12s ease}.swipe-delete .ui-icon{width:19px;height:19px}.swipe-row>.event-row{position:relative;z-index:1;transform:translate3d(var(--swipe-x),0,0);will-change:transform;transition:transform .24s cubic-bezier(.2,.8,.2,1)}.swipe-row.swiping>.event-row,.swipe-row.swiping>.swipe-delete{transition:none}.swipe-row.revealed{--swipe-x:-118px;--delete-width:98px;--delete-height:58px;--delete-opacity:1;--delete-content-opacity:1}.swipe-row.revealed>.swipe-delete{pointer-events:auto}
.check-line{display:flex;align-items:flex-start;gap:10px}
.check-line>.ui-icon{width:20px;height:20px;flex:0 0 20px;color:var(--muted);margin-top:1px}
.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.quick-grid button:last-child:nth-child(odd){grid-column:1/-1}
.quick-grid button{min-height:76px;display:flex;align-items:center;gap:11px;border:var(--card-border);border-radius:var(--control-radius);background:var(--surface-raised);color:var(--text);padding:13px;text-align:left}
.quick-grid button>span:last-child{display:grid;gap:1px;font-weight:620}
.quick-grid small{color:var(--muted);font-size:11.5px;font-weight:450}
.quick-icon{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border-radius:12px;background:var(--accent-soft);color:var(--primary)}
.quick-icon .ui-icon{width:20px;height:20px}
.primary-button,.secondary-button,.icon-button,.chip,.view-button,.danger-button{min-height:44px;border:0;border-radius:var(--control-radius);padding:10px 15px;transition:background .18s ease,color .18s ease,transform .12s ease,border-color .18s ease}
.primary-button{background:var(--primary);color:var(--primary-text);font-weight:650;box-shadow:0 8px 24px color-mix(in srgb,var(--primary) 22%,transparent)}
.secondary-button{background:var(--secondary);color:var(--text);font-weight:560}
.icon-button{display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:50%;background:var(--secondary);color:var(--text)}
.icon-button .ui-icon{width:20px;height:20px}
.block{width:100%;margin-top:15px}
.view-switch{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:var(--secondary);padding:4px;border-radius:calc(var(--control-radius) + 1px)}
.view-button{background:transparent!important;color:var(--muted);padding:8px;font-size:13px;box-shadow:none!important}
.view-button.active{background:var(--surface-raised)!important;color:var(--text);box-shadow:0 2px 9px color-mix(in srgb,var(--text) 8%,transparent)!important}
.calendar-switch{grid-template-columns:repeat(4,1fr)}
.week-navigation{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px;margin-top:15px}
.week-period{min-width:0;min-height:42px;border:0;border-radius:var(--control-radius);background:transparent;color:var(--text);font-size:13px;font-weight:620;text-align:center}
.week-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:8px}
.day-chip{min-height:57px;border:0;border-radius:14px;padding:7px 2px;background:transparent;color:var(--muted);display:grid;justify-items:center;align-content:center;gap:2px}
.day-chip strong{font-size:15px;font-variant-numeric:tabular-nums}
.day-chip.active{background:var(--primary);color:var(--primary-text);box-shadow:0 8px 20px color-mix(in srgb,var(--primary) 18%,transparent)}
.dot{width:4px;height:4px;border-radius:50%;background:currentColor}
.timeline{margin-top:21px}
.timeline-row{display:grid;grid-template-columns:50px 1fr;gap:9px;min-height:62px;border-top:1px solid var(--line);padding-top:9px}
.timeline-row.add-event-row{border-top:0}
.timeline-event{border:0;border-left:3px solid var(--primary);border-radius:3px var(--control-radius) var(--control-radius) 3px;background:var(--accent-soft);color:var(--text);padding:10px 12px;text-align:left}
.free-slot{min-height:46px;border:1px dashed color-mix(in srgb,var(--muted) 42%,transparent);border-radius:var(--control-radius);background:transparent;color:var(--muted);padding:10px;text-align:left}
.free-time-icon{display:grid;place-items:center;width:25px;height:25px;color:var(--muted)}
.free-time-icon .ui-icon{width:18px;height:18px}
.month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:16px}
.month-label{text-align:center;color:var(--muted);font-size:10px;font-weight:650;letter-spacing:.06em;padding:5px}
.month-cell{min-height:53px;border:0;border-radius:12px;background:transparent;color:var(--text);display:grid;justify-items:center;align-content:start;gap:4px;padding:8px 2px;font-variant-numeric:tabular-nums}
.month-cell.outside{color:color-mix(in srgb,var(--muted) 58%,transparent)}
.month-cell.today{background:var(--primary);color:var(--primary-text)}
.month-mark{width:5px;height:5px;border-radius:50%;background:var(--warning)}
.month-cell.today .month-mark{background:currentColor}
.list-day{margin-top:21px}
.list-day+.list-day{padding-top:17px;border-top:1px solid var(--line)}
.field{display:grid;gap:7px;margin-top:16px;color:var(--muted);font-size:12.5px;font-weight:560}
.field input,.field textarea,.field select,label>input,label>select{width:100%;min-width:0;min-height:48px;border:1px solid var(--line);border-radius:var(--control-radius);background:var(--surface);color:var(--text);padding:12px 13px;box-shadow:inset 0 1px 2px color-mix(in srgb,var(--text) 3%,transparent)}
.field textarea{resize:vertical;min-height:96px}
.field input::placeholder,.field textarea::placeholder{color:color-mix(in srgb,var(--muted) 72%,transparent)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}
.chip{min-height:44px;border:1px solid var(--line);background:var(--surface);color:var(--text);padding:8px 12px;border-radius:999px}
.chip.active{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}
.detail-list{display:grid;gap:9px}
.detail-item{display:flex;align-items:center;gap:11px}
.choice-card{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}
.choice-card.selected{border-color:var(--primary);background:var(--accent-soft)}
.bubble{max-width:89%;padding:12px 14px;border-radius:18px 18px 18px 6px;background:var(--secondary);margin-top:10px}
.bubble.user{margin-left:auto;border-radius:18px 18px 6px 18px;background:var(--primary);color:var(--primary-text)}
.assistant-orb{width:44px;height:44px;display:grid;place-items:center;border-radius:15px;background:var(--accent-soft);color:var(--primary);margin-bottom:14px}
.composer{position:sticky;bottom:calc(104px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:4px;border:var(--card-border);border-radius:18px;background:var(--surface-raised);padding:6px;margin-top:19px;box-shadow:var(--card-shadow)}
.composer input{flex:1;min-width:0;border:0;background:transparent;color:var(--text);padding:8px;outline:0}
.composer button{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:13px;background:transparent;color:var(--primary);padding:0}
.composer button:last-child{background:var(--primary);color:var(--primary-text)}
.composer .ui-icon{width:19px;height:19px}
.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.photo-card{min-height:108px;display:grid;place-items:center;text-align:center;border:1px dashed var(--line);border-radius:var(--card-radius);background:var(--secondary);color:var(--muted);padding:10px}
.reading{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}
.reading:last-child{border:0}
.member{display:flex;align-items:center;gap:11px;padding:13px 0;border-bottom:1px solid var(--line)}
.member:last-child{border:0}
.member-copy{flex:1;min-width:0}
.bottom-nav{position:fixed;z-index:20;bottom:calc(10px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(calc(100% - 20px),calc(var(--screen-max) - 20px));min-height:71px;display:none;grid-template-columns:1fr 1fr 58px 1fr 1fr;align-items:center;background:var(--nav-bg);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border:1px solid var(--line);border-radius:var(--nav-radius);padding:7px 8px;box-shadow:var(--nav-shadow)}
.app-shell.is-authenticated .bottom-nav{display:grid}
.nav-item{min-width:0;min-height:54px;border:0;border-radius:16px;background:transparent;color:var(--muted);display:grid;justify-items:center;align-content:center;gap:3px;padding:4px}
.nav-icon{width:22px;height:22px}
.nav-item small{font-size:10.5px;font-weight:560;white-space:nowrap}
.nav-item.active{color:var(--primary);background:var(--accent-soft)}
.nav-ai{align-self:center;justify-self:center;width:48px;height:48px;min-height:48px;border-radius:50%;background:var(--primary);color:var(--primary-text);box-shadow:0 10px 26px color-mix(in srgb,var(--primary) 34%,transparent);gap:1px;padding:3px}
.nav-ai.active{background:var(--primary);color:var(--primary-text)}
.nav-ai .nav-icon{width:22px;height:22px}
.nav-ai small{font-size:9px;line-height:1;font-weight:700;letter-spacing:.02em}
.nav-add{align-self:center;justify-self:center;display:grid;place-items:center;width:48px;height:48px;border:0;border-radius:16px;background:var(--primary);color:var(--primary-text);box-shadow:0 10px 24px color-mix(in srgb,var(--primary) 28%,transparent)}
.nav-add .ui-icon{width:23px;height:23px;stroke-width:2}
dialog{color:var(--text)}
.sheet{width:min(calc(100% - 18px),500px);max-height:calc(100dvh - 18px);overflow:auto;border:1px solid var(--line);border-radius:var(--sheet-radius);background:var(--surface-raised);padding:21px;margin:auto auto 9px;box-shadow:var(--shadow)}
.sheet::backdrop{background:var(--backdrop);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}
.sheet-head{margin-bottom:18px}.sheet-head>div{min-width:0;flex:1}.sheet-head .icon-button{flex:0 0 44px;min-width:44px}
.sheet label{display:grid;gap:6px;color:var(--muted);font-size:13px;margin-top:13px}
.form-actions{margin-top:19px;flex-wrap:wrap}
.form-actions .primary-button{margin-left:auto}
.toast{position:fixed;z-index:40;left:50%;bottom:calc(104px + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(calc(100% - 32px),460px);display:flex;align-items:center;gap:10px;background:var(--surface-raised);color:var(--text);padding:12px 14px;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);font-size:14px;font-weight:600;text-align:left}
.toast[hidden]{display:none}
.toast-icon{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:10px;background:var(--success);color:var(--primary-text)}
.toast[data-type="error"]{border-color:color-mix(in srgb,var(--danger) 42%,var(--line))}.toast[data-type="error"] .toast-icon{background:var(--danger);color:#fff}.toast[data-type="info"] .toast-icon{background:var(--accent-soft);color:var(--primary)}
.danger{min-height:44px;color:var(--danger);background:transparent;border:0;padding:10px 12px;display:inline-flex;align-items:center;justify-content:center;gap:7px}
.danger-button{background:var(--danger);color:#fff;font-weight:650}
.family-delete-button{background:#ff3b30;color:#fff;box-shadow:0 8px 24px rgba(255,59,48,.24)}
.family-delete-button:hover{background:#e83228}
.family-delete-note{margin:14px 2px 0}
:root[data-theme="dark"] .family-delete-button{background:#ff453a;box-shadow:0 8px 24px rgba(255,69,58,.28)}
:root[data-theme="dark"] .family-delete-button:hover{background:#ff5a52}
.empty{text-align:center;color:var(--muted);padding:37px 13px}
.auth-card{text-align:center;padding:34px 19px;overflow:hidden}
.auth-card .good-icon{margin:0 auto 15px}
.auth-card .section{margin:20px auto 0;max-width:620px}
.auth-card .primary-button{display:inline-flex;align-items:center;justify-content:center;width:auto;margin:24px auto 0;padding-inline:28px;text-decoration:none}
.history-item{display:flex;gap:11px;align-items:flex-start;padding:13px 0;border-bottom:1px solid var(--line)}
.history-item:last-child{border:0}
.history-item.completed strong{text-decoration:line-through;text-decoration-thickness:1.5px;color:var(--muted)}
.history-item.completed .mini-icon{background:var(--success-bg);color:var(--success)}
.member-controls{display:flex;gap:5px;align-items:center}
.member-controls button{font-size:12px;padding:7px 9px}
.member-controls .danger{display:grid;place-items:center;width:44px;padding:0}
.theme-toggle{font-size:18px}
.slot-grid{display:grid;gap:8px}
.slot-grid .choice-card{padding:13px}
.confirm-sheet{max-width:430px}
.appearance-card .appearance-copy{display:flex;align-items:center;gap:11px}
.appearance-meta{display:flex;align-items:center;gap:3px;color:var(--muted);font-size:13px}
.appearance-meta .ui-icon{width:17px;height:17px}
.design-grid{display:grid;gap:9px;margin-top:18px}
.design-option{display:grid;grid-template-columns:72px 1fr 24px;align-items:center;gap:12px;width:100%;border:1px solid var(--line);border-radius:var(--control-radius);background:var(--surface);color:var(--text);padding:10px;text-align:left}
.design-option>span:nth-child(2){display:grid;gap:2px}
.design-option small{color:var(--muted);font-size:12px}
.design-option .selection-icon{width:20px;height:20px;color:transparent}
.design-option.active{border-color:var(--primary);background:var(--accent-soft)}
.design-option.active .selection-icon{color:var(--primary)}
.design-preview{height:49px;border-radius:10px;padding:7px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:10px 1fr;gap:5px;border:1px solid rgba(0,0,0,.07);overflow:hidden}
.design-preview i{display:block;border-radius:4px}
.design-preview i:first-child{grid-column:1/-1}
.preview-serene{background:#f3f5f1}.preview-serene i{background:#fff}.preview-serene i:first-child{background:#246a4d}.preview-serene i:last-child{background:#e5f2e9}
.preview-aura{background:linear-gradient(145deg,#e3e9ff,#edf8f5)}.preview-aura i{background:rgba(255,255,255,.82);box-shadow:0 4px 10px #7184c333}.preview-aura i:first-child{background:#4b63d3}.preview-aura i:last-child{background:#dce9ff}
.preview-atelier{background:#f2eee7}.preview-atelier i{background:#fcfaf6;border:1px solid #ddd4c9;border-radius:2px}.preview-atelier i:first-child{background:#8b633f;border:0}
.theme-switch{grid-template-columns:1fr 1fr;margin-top:8px}
.theme-switch .view-button{display:flex;align-items:center;justify-content:center;gap:7px}
.theme-switch .ui-icon{width:18px;height:18px}
.event-search{display:flex;align-items:center;gap:8px;min-height:48px;margin-top:17px;border:1px solid var(--line);border-radius:var(--control-radius);background:var(--surface);color:var(--muted);padding:0 11px;box-shadow:inset 0 1px 2px color-mix(in srgb,var(--text) 3%,transparent)}
.event-search .ui-icon{width:19px;height:19px;flex:0 0 auto}.event-search input{width:100%;min-width:0;border:0;background:transparent;color:var(--text);outline:0}.event-search button{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border:0;border-radius:10px;background:var(--secondary);color:var(--muted);padding:0}
.form-topbar{display:grid;grid-template-columns:44px minmax(0,1fr) 44px}.form-topbar h2{text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-form{display:grid;gap:16px}.event-form .field,.event-form .section{margin-top:0}.form-section{min-width:0;border:var(--card-border);border-radius:var(--card-radius);background:var(--surface);padding:15px;box-shadow:var(--card-shadow)}.field.compact{margin-top:0}.event-time-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.event-time-grid input{max-width:100%;font-size:16px}.repeat-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(86px,.45fr);gap:10px}.availability-section .section-head{align-items:flex-start}.availability-section .secondary-button{min-height:40px;padding:8px 11px;white-space:nowrap}.availability-section #slotSuggestions{margin-top:12px}.yandex-connected{display:flex;align-items:center;gap:11px}.yandex-logo{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#fc3f1d;color:#fff;font:700 21px/1 Arial,sans-serif}.singularity-logo{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:linear-gradient(145deg,#7c5cff,#4e39b8);color:#fff;font:700 22px/1 Arial,sans-serif}

:root[data-design="aura"] .sheet,
:root[data-design="aura"] .composer{box-shadow:var(--card-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
:root[data-design="aura"] .good-card{box-shadow:inset 0 1px rgba(255,255,255,.4)}
:root[data-design="aura"] .bottom-nav{border-color:color-mix(in srgb,var(--line) 72%,transparent)}
:root[data-design="aura"] .nav-add{border-radius:50%}

:root[data-design="atelier"] h1{font-size:31px;font-weight:620;letter-spacing:-.035em}
:root[data-design="atelier"] .eyebrow{letter-spacing:.15em}
:root[data-design="atelier"] .card{box-shadow:none}
:root[data-design="atelier"] .card+.card{border-top:0}
:root[data-design="atelier"] .bottom-nav{bottom:0;width:min(100%,var(--screen-max));min-height:78px;border-width:1px 0 0;border-radius:0;padding-bottom:calc(8px + env(safe-area-inset-bottom));box-shadow:var(--nav-shadow);-webkit-backdrop-filter:none;backdrop-filter:none}
:root[data-design="atelier"] .nav-item{border-radius:0}
:root[data-design="atelier"] .nav-item.active{background:transparent;box-shadow:inset 0 2px var(--primary)}
:root[data-design="atelier"] .nav-add{border-radius:8px;box-shadow:none}
:root[data-design="atelier"] .good-icon,:root[data-design="atelier"] .mini-icon,:root[data-design="atelier"] .quick-icon{border-radius:7px}
:root[data-design="atelier"] .day-chip{border-radius:8px}
:root[data-design="atelier"] .day-chip.active{box-shadow:none}

@media(max-width:360px){
  #screen{padding-left:12px;padding-right:12px}
  .quick-grid{grid-template-columns:1fr}
  .two{grid-template-columns:1fr}
  .bottom-nav{grid-template-columns:1fr 1fr 50px 1fr 1fr;width:calc(100% - 12px)}
  .nav-item small{font-size:9.5px}
  .member-controls{flex-direction:column;align-items:flex-end}
  .event-time-grid{grid-template-columns:1fr}
  .availability-section .section-head{display:grid;grid-template-columns:minmax(0,1fr) auto}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
@supports not (backdrop-filter:blur(1px)){
  .bottom-nav,.sheet,.composer{background:var(--surface-raised)}
}

/* Interaction polish and layout guards. Keep action surfaces light and make
   every card resilient to long Russian labels on narrow Telegram screens. */
.task-card{display:flex;align-items:flex-start;gap:11px;min-width:0;padding:13px 14px}
.task-card .task-check{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;margin-top:1px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted)}
.task-card .task-check .ui-icon{width:21px;height:21px}
.task-card .task-check:hover{color:var(--primary);background:var(--accent-soft)}
.task-card .task-main{display:grid;gap:2px;min-width:0;flex:1}
.task-card .task-main strong{overflow-wrap:anywhere}
.task-card.completed{background:color-mix(in srgb,var(--success-bg) 48%,var(--surface));border-color:color-mix(in srgb,var(--success) 24%,var(--line))}
.task-card.completed .task-main strong{text-decoration:line-through;text-decoration-thickness:1.5px;color:var(--muted)}
.task-card.completed .task-check{color:var(--success)}
.completed-today-section{padding-bottom:5px}
.integration-list{display:grid;gap:9px;margin-top:10px}
.choice-card{min-width:0;overflow:hidden}
.choice-card>span:first-child,.yandex-connected>span:last-child{min-width:0}
.choice-card strong,.choice-card .muted{overflow-wrap:anywhere}
.link-button{display:inline-flex;align-items:center;min-height:38px;margin:10px 2px 0;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);font-size:13px;font-weight:560}
.link-button:hover{border-color:color-mix(in srgb,var(--danger) 44%,var(--line));color:var(--danger);background:var(--danger-bg)}
.primary-button{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 88%,#ffffff),var(--primary));border:1px solid color-mix(in srgb,var(--primary) 70%,transparent);box-shadow:0 8px 24px color-mix(in srgb,var(--primary) 20%,transparent)}
.secondary-button{background:transparent;border:1px solid var(--line);color:var(--text)}
.secondary-button:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--line));background:var(--accent-soft)}
.danger-button{background:transparent;border:1px solid color-mix(in srgb,var(--danger) 60%,var(--line));color:var(--danger)}
.danger-button:hover{background:var(--danger-bg)}
.family-delete-button{background:#ff3b30;border-color:#ff3b30;color:#fff}
.event-edit-title{overflow-wrap:anywhere}
.event-summary-card{margin-top:13px}
.event-form{display:grid;width:100%;max-width:100%;min-width:0}
.event-form .form-section{width:100%;max-width:100%;min-width:0;overflow:hidden}
/*
   iOS Telegram renders datetime-local controls with a wider intrinsic
   minimum than their CSS box.  Constrain every level of the time field so
   the native control cannot push the card past the screen edge.
*/
.event-time-grid{display:grid;width:100%;max-width:100%;min-width:0;grid-template-columns:minmax(0,1fr)!important}
.event-time-grid label{display:grid;width:100%;max-width:100%;min-width:0;overflow:hidden}
.event-time-grid input[type="datetime-local"]{display:block;width:100%;inline-size:100%;min-width:0;min-inline-size:0;max-width:100%;max-inline-size:100%;box-sizing:border-box;padding-inline:10px;font-size:clamp(13px,3.8vw,16px);overflow:hidden;text-overflow:ellipsis}
.event-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:stretch}
.event-actions .primary-button{margin:0}
.event-actions .danger-button{display:inline-flex;align-items:center;justify-content:center;gap:7px}
.task-form{display:grid;gap:16px;min-width:0}
.task-form .form-section{overflow:hidden}
.task-form input[type="datetime-local"]{display:block;width:100%;min-width:0;max-width:100%;font-size:16px}
.task-actions{display:flex;justify-content:flex-end}
.calendar-switch{grid-template-columns:repeat(3,minmax(0,1fr))}
.nav-ai{background:linear-gradient(135deg,#7f73ff 0%,#5d7cff 45%,#d77aff 100%);color:#fff;box-shadow:0 10px 28px rgba(118,105,255,.42),0 0 0 1px rgba(255,255,255,.18) inset}
.nav-ai.active{background:linear-gradient(135deg,#8d7fff 0%,#6a84ff 45%,#df83ff 100%);color:#fff}
