.cal-layout{flex:1;grid-template-columns:minmax(0,1fr) 280px;min-height:0;display:grid}.cal{overflow:auto}.cal-grid{--hour:60px;grid-template-columns:56px repeat(var(--days), minmax(110px, 1fr));grid-template-rows:48px auto;min-width:min(100%,720px);display:grid}.slots{border-left:1px solid var(--color-line);overflow-y:auto}.cal-corner{z-index:3;background:var(--color-surface);border-bottom:1px solid var(--color-line);position:sticky;top:0}.cal-dayhead{z-index:3;justify-content:center;align-items:center;gap:var(--space-2);background:var(--color-surface);border-bottom:1px solid var(--color-line);border-left:1px solid var(--color-line);color:var(--color-ink-3);font-size:var(--text-sm);display:flex;position:sticky;top:0}.cal-dayhead strong{font-size:var(--text-md);color:var(--color-ink);font-weight:var(--weight-semibold)}.cal-dayhead.today strong{min-width:24px;height:24px;padding:0 var(--space-1);border-radius:var(--radius-sm);background:var(--color-primary);color:var(--color-on-primary);place-items:center;display:grid}.cal-hours{grid-auto-rows:var(--hour);display:grid}.cal-hours span{padding:0 var(--space-2) 0 0;white-space:nowrap;color:var(--color-ink-3);font-size:var(--text-xs);text-align:right;transform:translateY(-8px)}.cal-hours span:first-child{visibility:hidden}.cal-col{grid-auto-rows:var(--hour);border-left:1px solid var(--color-line);display:grid;position:relative}.cal-col.today{background:var(--color-sunken)}.cal-line{border-top:1px solid var(--color-line)}.cal-line:first-child{border-top:0}.ev{left:4px;right:4px;top:calc(var(--top) * 100%);height:calc(var(--h) * 100% - 2px);min-height:24px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--k-bg,var(--color-surface));color:var(--k-ink,var(--color-ink));box-shadow:inset 3px 0 0 var(--k,var(--color-line-strong)), inset 0 0 0 1px var(--k-line,var(--color-line));text-align:left;font-size:var(--text-xs);line-height:var(--leading-xs);transition:box-shadow var(--dur-1), transform var(--dur-1);align-content:start;gap:0;display:grid;position:absolute;overflow:hidden}.ev:hover{box-shadow:inset 3px 0 0 var(--k,var(--color-line-strong)), inset 0 0 0 1px var(--k,var(--color-line-strong)), var(--shadow-sm)}.ev strong{font-size:var(--text-sm);font-weight:var(--weight-semibold);-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ev span{color:inherit;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ev.short{align-content:center;padding-top:0;padding-bottom:0}.ev.short span{display:none}.ev.short strong{-webkit-line-clamp:1}.cal-col.past .ev,.ev.is-done{--k-bg:var(--color-sunken);--k-ink:var(--color-ink-2);--k-line:var(--color-line)}.cal-col.past .ev strong,.ev.is-done strong{font-weight:var(--weight-medium)}.now-line{left:0;right:0;top:calc(var(--t) * 100%);background:var(--color-hot);z-index:2;height:1.5px;position:absolute}.now-line:before{content:"";border-radius:var(--radius-full);background:var(--color-hot);width:8px;height:8px;position:absolute;top:-3px;left:-4px}.now-line:after{content:"";border-radius:var(--radius-full);background:var(--color-hot);width:8px;height:8px;animation:now-pulse 2.4s var(--ease-out) infinite;position:absolute;top:-3px;left:-4px}@keyframes now-pulse{0%{opacity:.5;transform:scale(1)}to{opacity:0;transform:scale(3)}}@media (prefers-reduced-motion:reduce){.now-line:after{animation:none;display:none}}.slots .badge .ico{width:12px;height:12px}.slot-list{padding:var(--space-1) 0}.slot{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-line);display:flex}.slot:last-child{border-bottom:0}.slot div{display:grid}.slot .muted{font-size:var(--text-sm)}.slot-empty{padding:var(--space-4)}@media (max-width:1279px){.cal-layout{grid-template-columns:minmax(0,1fr)}.slots{border-left:0;border-top:1px solid var(--color-line)}}@media (min-width:768px) and (max-width:1099px){.cal-grid{grid-template-columns:56px repeat(var(--days), minmax(84px, 1fr))}}@media (max-width:767px){.cal-grid{grid-template-columns:48px repeat(var(--days), minmax(96px, 1fr))}}.tint-0{--k:var(--ev-0);--k-bg:var(--ev-0-bg);--k-line:var(--ev-0-line);--k-ink:var(--ev-0-ink)}.tint-1{--k:var(--ev-1);--k-bg:var(--ev-1-bg);--k-line:var(--ev-1-line);--k-ink:var(--ev-1-ink)}.tint-2{--k:var(--ev-2);--k-bg:var(--ev-2-bg);--k-line:var(--ev-2-line);--k-ink:var(--ev-2-ink)}.tint-3{--k:var(--ev-3);--k-bg:var(--ev-3-bg);--k-line:var(--ev-3-line);--k-ink:var(--ev-3-ink)}.tint-4{--k:var(--ev-4);--k-bg:var(--ev-4-bg);--k-line:var(--ev-4-line);--k-ink:var(--ev-4-ink)}.tint-5{--k:var(--ev-5);--k-bg:var(--ev-5-bg);--k-line:var(--ev-5-line);--k-ink:var(--ev-5-ink)}.agenda-item[class*=tint-] .agenda-bar{background:var(--k)}.cal-col .ev{z-index:calc(1 + var(--lane,0));left:calc(4px + var(--x,0) * (100% - 8px));width:calc(var(--w,1) * (100% - 8px) - 2px);text-decoration:none;right:auto}.cal-col .ev.stacked{box-shadow:inset 3px 0 0 var(--k,var(--color-line-strong)), inset 0 0 0 1px var(--k-line,var(--color-line)), 0 0 0 1px var(--color-surface)}.cal-col .ev.stacked span{display:none}.cal-col .ev.stacked strong{-webkit-line-clamp:1}.cal-col .ev.paired strong,.cal-col .ev.stacked strong{white-space:nowrap;text-overflow:ellipsis;display:block}.cal-col .ev:hover,.cal-col .ev:focus-visible{z-index:20}.cal-col .ev.ev-more{white-space:nowrap;background:var(--color-primary-soft);height:auto;min-height:24px;color:var(--color-primary-text);box-shadow:none;font-size:var(--text-xs);font-weight:var(--weight-semibold);align-content:center;justify-items:start}.cal-col .ev.ev-more:hover{box-shadow:inset 0 0 0 1px var(--color-primary)}.ev.is-no-show strong{text-decoration:line-through}.cal-new{z-index:0;cursor:cell;position:absolute;inset:0}.cal-col .cal-line{pointer-events:none}.slots{flex-direction:column;display:flex}.slot-foot{gap:var(--space-2);padding:var(--space-4);border-top:1px solid var(--color-line);justify-items:start;margin-top:auto;display:grid}.booking-link{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:var(--text-sm);overflow:hidden}.slot div .heat{margin-top:var(--space-1)}.cal-agenda{display:none}.cal-agenda-day{padding:var(--space-4) var(--space-4) 0}.cal-agenda-date{font-size:var(--text-md);font-weight:var(--weight-semibold)}.cal-agenda .agenda{padding:var(--space-2) 0 0}.cal-agenda .agenda-item{color:inherit;text-decoration:none}.cal-agenda-empty{padding:var(--space-6) var(--space-4)}@media (max-width:767px){.cal-grid.week{display:none}.cal-agenda{padding-bottom:var(--space-6);display:block}}.appt{gap:var(--space-5);display:grid}.appt-when{align-items:center;gap:var(--space-4);display:flex}.appt-bar{background:var(--k);border-radius:2px;align-self:stretch;width:3px}.appt-when>div{gap:var(--space-1);display:grid}.appt-when>.badge{margin-bottom:var(--space-1);align-self:flex-end}.appt-day{color:var(--color-ink-3);font-size:var(--text-sm)}.appt-time{font-size:var(--text-2xl);line-height:var(--leading-2xl);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-display)}.appt-booker{padding-top:var(--space-4);border-top:1px solid var(--color-line)}.appt-actions{align-items:flex-start;gap:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--color-line);flex-wrap:wrap;display:flex}.appt-cancel summary{cursor:pointer;list-style:none}.appt-cancel summary::-webkit-details-marker{display:none}.appt-cancel[open]{flex-basis:100%}.appt-cancel .mini-form{margin-top:var(--space-2)}.dl-row dd.pre{white-space:pre-wrap}a.agenda-item{color:inherit;text-decoration:none}a.agenda-item:hover strong{text-decoration:underline}.slot .slot-who{align-items:center;gap:var(--space-2);display:flex}.cal-drag{position:relative}.cal-quick{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-line)}.quick-add{gap:var(--space-2);display:grid}.quick-add-field{align-items:center;gap:var(--space-2);min-height:var(--size-field);padding:0 var(--space-1) 0 var(--space-3);border:1px solid var(--color-line-strong);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-xs);transition:border-color var(--dur-1), box-shadow var(--dur-1);display:flex}.quick-add-field:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.quick-add-field>.ico{width:16px;height:16px;color:var(--color-ink-3);flex:none}.quick-add-input{min-width:0;height:calc(var(--size-field) - 2px);color:var(--color-ink);font-size:var(--text-md);background:0 0;border:0;outline:none;flex:1}.quick-add-input::placeholder{color:var(--color-ink-3)}.quick-add-field .btn{min-height:calc(var(--size-field) - 8px)}.quick-add-chips{gap:var(--space-1);flex-wrap:wrap;min-height:0;display:flex}.quick-add-chips:empty{display:none}.quick-add-chips .chip{cursor:default;background:var(--color-primary-soft);color:var(--color-primary-text);border-color:#0000}.quick-add-chips .chip:hover{color:var(--color-primary-text);border-color:#0000}.quick-add [role=status]:empty{display:none}.cal-grid.with-tasks{grid-template-rows:48px auto auto}.cal-daytasks-label{z-index:3;padding:var(--space-2) var(--space-2) 0;background:var(--color-surface);border-bottom:1px solid var(--color-line);color:var(--color-ink-3);font-size:var(--text-xs);text-align:right;white-space:nowrap;position:sticky;top:48px}.cal-daytasks{z-index:3;overscroll-behavior:contain;min-height:36px;max-height:104px;padding:var(--space-1);background:var(--color-surface);border-bottom:1px solid var(--color-line);border-left:1px solid var(--color-line);align-content:start;gap:2px;display:grid;position:sticky;top:48px;overflow-y:auto}.cal-daytasks.today{background:var(--color-sunken)}.task-chip{align-items:flex-start;gap:var(--space-2);min-width:0;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--color-surface);box-shadow:inset 0 0 0 1px var(--color-line);font-size:var(--text-xs);line-height:var(--leading-xs);cursor:grab;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;display:flex}.task-chip:hover{box-shadow:inset 0 0 0 1px var(--color-line-strong)}.task-chip-text{flex:1;min-width:0;display:grid}.task-chip-body{overflow-wrap:anywhere;color:var(--color-ink);font-weight:var(--weight-medium)}.task-chip-text a{color:var(--color-ink-3);white-space:nowrap;text-overflow:ellipsis;text-decoration:none;overflow:hidden}.task-chip-text a:hover{color:var(--color-primary-text);text-decoration:underline}.task-repeat{color:var(--color-ink-3);flex:none}.task-done{display:contents}.task-chip .task-check,.ev.task .task-check{width:14px;height:14px;margin-top:1px}.task-chip .task-check:after,.ev.task .task-check:after{inset:-15px}.task-chip .task-check .ico,.ev.task .task-check .ico{width:9px;height:9px}.cal-col .ev.task{--k:var(--color-primary);--k-bg:var(--color-surface);--k-line:var(--color-line-strong);--k-ink:var(--color-ink)}.ev-task-head{align-items:flex-start;gap:var(--space-1);min-width:0;display:flex}.ev-task-head strong{flex:1;min-width:0}.cal-col .ev[data-drag],.ev.task{cursor:grab;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.ev-resize{z-index:1;cursor:ns-resize;height:8px;position:absolute;bottom:0;left:0;right:0}.ev-resize.top{height:5px;top:0;bottom:auto}.ev-resize:after{content:"";border-radius:var(--radius-full);background:var(--color-line-strong);opacity:0;width:16px;height:2px;transition:opacity var(--dur-1);margin-left:-8px;position:absolute;bottom:2px;left:50%}.ev-resize.top:after{top:2px;bottom:auto}.ev:hover .ev-resize:after{opacity:1}.ev.short .ev-resize.top{display:none}.is-dragging{opacity:.3}.cal-drag:has(.is-dragging){cursor:grabbing}.cal-drag:has(.is-dragging) .ev{transition:none}.drag-slot{z-index:4;left:3px;right:3px;top:calc(var(--top) * 100%);height:calc(var(--h) * 100% - 2px);min-height:22px;padding:var(--space-1) var(--space-2);pointer-events:none;border-radius:var(--radius-sm);background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-pop);font-size:var(--text-xs);line-height:var(--leading-xs);transition:top 70ms var(--ease-out), height 70ms var(--ease-out);align-content:start;gap:0;display:grid;position:absolute;overflow:hidden}.drag-slot strong{font-size:var(--text-sm);font-weight:var(--weight-semibold);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.drag-slot-when{font-weight:var(--weight-semibold);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.drag-slot.short{align-items:center;gap:var(--space-2);padding-top:0;padding-bottom:0;display:flex}.drag-slot.short strong{min-width:0;font-size:var(--text-xs);order:-1}.drag-slot.short .drag-slot-when{font-weight:var(--weight-regular);flex:none}.drag-slot.is-new{background:var(--color-primary-soft);color:var(--color-primary-text);box-shadow:inset 0 0 0 1.5px var(--color-primary)}.drag-slot.is-saving{animation:slot-save .9s var(--ease-out) infinite alternate}@keyframes slot-save{to{opacity:.72}}.drag-card{z-index:60;max-width:240px;padding:var(--space-2) var(--space-3);pointer-events:none;border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-ink);box-shadow:var(--shadow-pop), inset 0 0 0 1px var(--color-line-strong);font-size:var(--text-sm);font-weight:var(--weight-medium);white-space:nowrap;text-overflow:ellipsis;position:fixed;top:0;left:0;overflow:hidden;rotate:-2deg}.cal-drag [data-drop=list].is-over,.cal-drag [data-drop=day].is-over{background:var(--color-primary-soft);box-shadow:inset 0 0 0 1.5px var(--color-primary)}.slot-hint{z-index:1;left:3px;right:3px;top:calc(var(--top) * 100%);height:calc(var(--h) * 100% - 2px);pointer-events:none;padding:2px var(--space-2);border-radius:var(--radius-sm);background:var(--color-hover);color:var(--color-ink-2);font-size:var(--text-xs);position:absolute}.drag-toast-wrap{left:50%;bottom:calc(var(--space-6) + env(safe-area-inset-bottom));z-index:70;max-width:min(92vw,520px);position:fixed;transform:translate(-50%)}.drag-toast{align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border-radius:var(--radius-md);background:var(--color-ink);color:var(--color-surface);box-shadow:var(--shadow-pop);font-size:var(--text-sm);display:flex}.drag-undo{min-height:32px;padding:0 var(--space-3);border-radius:var(--radius-sm);color:inherit;font:inherit;font-weight:var(--weight-semibold);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;text-decoration:underline}.drag-undo:hover{background:color-mix(in oklab, var(--color-surface) 14%, transparent)}.new-block{z-index:65;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-pop), inset 0 0 0 1px var(--color-line);display:grid;position:fixed}.new-block-when{color:var(--color-ink-2);font-size:var(--text-sm);font-weight:var(--weight-medium)}.new-block-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.new-block-actions .btn{flex:1}.cal-rail{border-left:1px solid var(--color-line);flex-direction:column;min-height:0;display:flex;overflow:auto}.cal-rail .slots{border-left:0;border-top:1px solid var(--color-line)}.todo-list{align-content:start;display:grid}.todo-groups{gap:var(--space-3);padding:var(--space-2) var(--space-3) var(--space-4);display:grid}.todo-group{gap:var(--space-1);display:grid}.todo-group-head{color:var(--color-ink-3);font-size:var(--text-xs);font-weight:var(--weight-medium)}.todo-group-head.late{color:var(--color-hot-text)}.todo-when{color:var(--color-ink-3)}.todo-row{grid-template-columns:minmax(0,1fr);display:grid;position:relative}.todo-row>.todo-when{top:var(--space-2);right:var(--space-2);line-height:var(--leading-sm);pointer-events:none;position:absolute}.todo-row:has(>.todo-when) .task-chip{padding-right:5.5rem}.todo-row .task-chip{font-size:var(--text-sm);line-height:var(--leading-sm);padding:var(--space-2)}.todo-when{font-size:var(--text-xs)}.todo-empty,.todo-tip{padding:0 var(--space-4) var(--space-4)}.todo-tip{padding:0}@media (max-width:1279px){.cal-layout{grid-template-rows:minmax(min(680px,72vh),1fr) auto;overflow-y:auto}.cal-rail{border-left:0;border-top:1px solid var(--color-line);overflow:visible}}@media (max-width:767px){.cal-quick{padding:var(--space-3) var(--space-4) 0;border-bottom:0}.agenda-task .task-check{margin-top:2px}}.cal-daytasks .task-chip{padding:2px var(--space-1);align-items:center}.cal-daytasks .task-chip-text a{display:none}.cal-daytasks .task-chip-body{white-space:nowrap;text-overflow:ellipsis;overflow-wrap:normal;overflow:hidden}.cal-daytasks .task-check{margin-top:0}@media (max-width:767px){.page-head .page-actions:has(>.cal-step){flex-wrap:wrap}.page-head .page-actions>.seg.cal-span:not(:only-child){flex:auto}.page-head .page-actions>.seg.cal-step:not(:only-child){flex:1 0 100%;order:3}}
.book{min-height:100dvh;padding:var(--space-8) var(--space-4);background:var(--color-nav);place-items:center;display:grid}.book-card{background:var(--color-surface);border-radius:var(--radius-lg);width:min(920px,100%);box-shadow:var(--shadow-overlay);grid-template-columns:minmax(0,280px) minmax(0,1fr);display:grid;overflow:hidden}.book-about{align-content:start;gap:var(--space-2);padding:var(--space-8) var(--space-6);border-right:1px solid var(--color-line);display:grid}.book-business{color:var(--color-ink-3);font-size:var(--text-sm);font-weight:var(--weight-medium)}.book-about h1{font-size:var(--text-2xl);line-height:var(--leading-2xl);letter-spacing:var(--tracking-display)}.book-facts{gap:var(--space-2);margin-top:var(--space-3);color:var(--color-ink-2);font-size:var(--text-sm);display:grid}.book-facts li{align-items:center;gap:var(--space-2);display:flex}.book-facts .ico{width:16px;height:16px;color:var(--color-ink-3)}.book-desc{margin-top:var(--space-3);color:var(--color-ink-2)}.book-pick,.book-form,.book-done{align-content:start;gap:var(--space-4);padding:var(--space-8) var(--space-6);min-width:0;display:grid}.book-pick .section-title{margin:0}.day-strip{gap:var(--space-2);padding-bottom:var(--space-1);scrollbar-width:thin;display:flex;overflow-x:auto}.day-chip{min-width:64px;min-height:44px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-line-strong);border-radius:var(--radius-md);color:var(--color-ink-3);font-size:var(--text-xs);transition:border-color var(--dur-1), background var(--dur-1);flex:none;justify-items:center;gap:2px;display:grid}.day-chip strong{color:var(--color-ink);font-size:var(--text-xl);line-height:var(--leading-xl);font-weight:var(--weight-semibold)}.day-chip:hover{border-color:var(--color-ink-3)}.day-chip[aria-pressed=true]{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary-text)}.day-chip[aria-pressed=true] strong{color:var(--color-primary-text)}.time-grid{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(104px,1fr));display:grid}.time-btn{justify-content:center;min-height:44px}.book-chosen{justify-content:space-between;align-items:center;gap:var(--space-3);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-line);display:flex}.book-chosen-time{font-size:var(--text-2xl);line-height:var(--leading-2xl);font-weight:var(--weight-semibold)}.book-trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.book-submit{min-height:44px;padding-inline:var(--space-6);justify-self:start}.book-reach{margin-top:calc(-1 * var(--space-2))}.book-done{justify-items:start}.book-done-mark{border-radius:var(--radius-full);background:var(--color-success-soft);width:44px;height:44px;color:var(--color-success);place-items:center;display:grid}.book-done h2{font-size:var(--text-2xl);line-height:var(--leading-2xl)}.book-done-when{font-size:var(--text-lg);line-height:var(--leading-lg);font-weight:var(--weight-medium)}.book-done-actions{flex-wrap:wrap}@media (max-width:767px){.book{background:var(--color-surface);place-items:stretch stretch;padding:0}.book-card{box-shadow:none;border-radius:0;grid-template-columns:minmax(0,1fr);align-content:start}.book-about{padding:var(--space-6) var(--space-4) var(--space-4);border-right:0;border-bottom:1px solid var(--color-line)}.book-pick,.book-form,.book-done{padding:var(--space-5) var(--space-4) var(--space-8)}.book-submit{justify-self:stretch;min-height:48px}}.book-host{align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);display:flex}.book-host>div{gap:2px;display:grid}.book-host .muted{font-size:var(--text-sm)}.day-strip-wrap{min-width:0;padding-right:var(--space-12);position:relative}.day-strip-wrap .day-strip{padding-right:var(--space-6);-webkit-mask-image:linear-gradient(to right, black calc(100% - var(--space-8)), transparent);-webkit-mask-image:linear-gradient(to right, black calc(100% - var(--space-8)), transparent);mask-image:linear-gradient(to right, black calc(100% - var(--space-8)), transparent)}.day-more{border:1px solid var(--color-line-strong);border-radius:var(--radius-full);background:var(--color-surface);width:36px;height:36px;box-shadow:var(--shadow-sm);color:var(--color-ink);position:absolute;top:50%;right:0;transform:translateY(-50%)}@media (pointer:coarse){.day-more{width:44px;height:44px}}.media-card{gap:var(--space-4);width:min(560px,100%);padding:var(--space-6);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-overlay);display:grid}.media-head{align-items:center;gap:var(--space-3);display:flex}.media-head h1{font-size:var(--text-xl);line-height:var(--leading-xl);letter-spacing:var(--tracking-display)}.media-head .muted{font-size:var(--text-sm)}.media-video{border-radius:var(--radius-md);background:var(--color-nav);width:100%;max-height:70dvh}.media-audio{width:100%}.media-note{color:var(--color-ink-2);white-space:pre-line}.media-ai{align-items:center;gap:var(--space-2);color:var(--color-ai-text);font-size:var(--text-sm);display:flex}.media-ai .ico{width:14px;height:14px}.media-actions{gap:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--color-line);justify-items:start;display:grid}.media-actions .muted{font-size:var(--text-sm)}@media (max-width:767px){.media-card{padding:var(--space-6) var(--space-4);box-shadow:none;border-radius:0;align-content:start}}.oh-card{grid-template-columns:minmax(0,360px) minmax(0,1fr);overflow:hidden}.book:has(>.oh-card){background:var(--color-canvas)}.oh-home{gap:var(--space-4);padding:var(--space-8) var(--space-6);background:var(--color-nav);color:var(--color-nav-ink);grid-template-rows:auto auto 1fr auto;display:grid}.oh-photo{width:calc(100% + 2 * var(--space-6));aspect-ratio:4/3;max-width:none;margin:calc(-1 * var(--space-8)) calc(-1 * var(--space-6)) 0;object-fit:cover;background:var(--color-sunken);display:block}.oh-home.has-photo{grid-template-rows:auto auto auto 1fr auto}.oh-home-badge{align-items:center;gap:var(--space-2);min-height:28px;padding:0 var(--space-3);border-radius:var(--radius-full);background:var(--color-nav-active);color:var(--color-nav-ink-strong);font-size:var(--text-sm);font-weight:var(--weight-medium);justify-self:start;display:inline-flex}.oh-home-badge .ico{width:14px;height:14px}.oh-address{color:var(--color-nav-ink-strong);font-family:var(--font-display);font-size:var(--text-3xl);line-height:var(--leading-3xl);font-weight:var(--weight-display);letter-spacing:var(--tracking-display);text-wrap:balance;overflow-wrap:anywhere}.oh-facts{gap:var(--space-4) var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-nav-line);grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;display:grid}.oh-facts div{gap:2px;display:grid}.oh-facts dt{color:var(--color-nav-label);font-size:var(--text-sm)}.oh-facts dd{color:var(--color-nav-ink-strong);font-size:var(--text-xl);line-height:var(--leading-xl);font-weight:var(--weight-semibold);margin:0}.oh-agent{align-items:center;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-nav-line);display:flex}.oh-agent-name{color:var(--color-nav-ink-strong);font-weight:var(--weight-semibold)}.oh-agent-biz{color:var(--color-nav-label);font-size:var(--text-sm)}.oh-sign{align-content:start;gap:var(--space-5);display:grid}.oh-sign-head{gap:var(--space-1);display:grid}.oh-sign-head h1{font-size:var(--text-2xl);line-height:var(--leading-2xl);letter-spacing:var(--tracking-display)}.oh-form{gap:var(--space-4);display:grid}.oh-pair{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.oh-submit{justify-content:center;min-height:48px}.oh-thanks{justify-items:center;gap:var(--space-4);padding:var(--space-10) 0;text-align:center;display:grid}.oh-thanks h2{font-size:var(--text-xl);line-height:var(--leading-xl)}.oh-thanks-mark{border-radius:var(--radius-full);background:var(--color-success-soft);width:56px;height:56px;color:var(--color-success);place-items:center;display:grid}.oh-thanks-mark .ico{width:28px;height:28px}@media (max-width:767px){.oh-card{grid-template-columns:minmax(0,1fr)}.oh-home{gap:var(--space-3);padding:var(--space-6) var(--space-4);grid-template-rows:none}.oh-home.has-photo{grid-template-rows:none}.oh-photo{width:calc(100% + 2 * var(--space-4));margin:calc(-1 * var(--space-6)) calc(-1 * var(--space-4)) 0;aspect-ratio:16/10}.oh-address{font-size:var(--text-2xl);line-height:var(--leading-2xl)}.oh-facts{justify-content:start;gap:var(--space-2) var(--space-5);padding-top:var(--space-3);grid-template-columns:repeat(4,auto)}.oh-facts dd{font-size:var(--text-md);line-height:var(--leading-md)}.oh-agent{padding-top:var(--space-3)}.oh-pair{grid-template-columns:minmax(0,1fr)}}.oh-setup{gap:var(--space-5);max-width:720px;display:grid}.oh-setup-form{align-items:end;gap:var(--space-3);flex-wrap:wrap;display:flex}.oh-setup-form .field{flex:280px}.oh-setup-form>.btn{min-height:var(--size-field)}.oh-homes{align-items:center;gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.oh-homes-label{color:var(--color-ink-3);font-size:var(--text-sm)}.oh-link{gap:var(--space-6);padding:var(--space-5);border:1px solid var(--color-line);border-radius:var(--radius-lg);flex-wrap:wrap;align-items:start;display:flex}.oh-qr{width:200px;padding:var(--space-4);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-on-screen);flex:none}.oh-qr svg{width:100%;height:auto;display:block}.oh-link-text{gap:var(--space-3);flex:240px;align-content:start;display:grid}.oh-link-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.oh-print-only{display:none}@media print{body:has(.oh-link) *{visibility:hidden}.oh-link,.oh-link .oh-qr,.oh-link .oh-qr *,.oh-link h2,.oh-link .oh-print-only{visibility:visible}.oh-link{text-align:center;border:0;flex-direction:column;align-items:center;gap:24pt;padding:48pt 0;position:absolute;inset:0 0 auto}.oh-link-text{display:contents}.oh-link h2{color:canvastext;order:-1;font-size:32pt}.oh-qr{border:0;width:70%;max-width:420pt}.oh-print-only{color:canvastext;font-size:20pt;display:block}.oh-link-text>:not(h2):not(.oh-print-only){display:none}}
.homes{gap:var(--space-4);display:grid}.homes-bar{justify-content:space-between;padding:0}.homes-add{align-items:center;gap:var(--space-2);flex-wrap:wrap;flex:0 460px;display:flex}.homes-add .input{flex:240px;min-width:0}.homes-add .field-error{flex-basis:100%;margin:0}@media (max-width:767px){.homes-add,.homes-add .input{flex-basis:100%}}.homes-empty{justify-items:center;gap:var(--space-3);max-width:56ch;margin:var(--space-8) auto;text-align:center;display:grid}.homes-empty h2{font-size:var(--text-2xl);line-height:var(--leading-2xl);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-display);margin:0}.homes-empty p{margin:0}.homes-empty-ico{border-radius:var(--radius-full);background:var(--color-primary-soft);width:56px;height:56px;color:var(--color-primary-text);place-items:center;display:grid}.homes-empty-ico .ico{width:28px;height:28px}.homes-empty-ways{gap:var(--space-2);width:100%;margin:var(--space-3) 0 0;text-align:left;padding:0;list-style:none;display:grid}.homes-empty-ways li{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);display:flex}.homes-empty-ways .ico{color:var(--color-ink-3);flex:none}@media (max-width:767px){.homes-bar .search,.homes-add{flex-basis:100%;width:100%}}.cell-home{align-items:center;gap:var(--space-2);min-height:44px;color:inherit;font-weight:var(--weight-medium);text-decoration:none;display:inline-flex}.cell-home:hover span{color:var(--color-primary-text);text-underline-offset:3px;text-decoration:underline}.cell-home .ico{color:var(--color-ink-3);flex:none}.home-thumb{border-radius:var(--radius-sm);object-fit:cover;background:var(--color-sunken);flex:none;place-items:center;width:40px;height:30px;display:grid}@media (max-width:767px){.homes-table .opt{display:none}.homes-table td:first-child{white-space:normal}}.home-page{gap:var(--space-6);align-items:start;display:grid}@media (min-width:1024px){.home-page{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}}.home-side{gap:var(--space-6);display:grid}.home-people{gap:var(--space-4);display:grid}.home-people>.section-row{margin-bottom:0}.home-group{gap:var(--space-1);display:grid}.home-group-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-ink-2)}.home-facts-form{gap:var(--space-3);display:grid}.home-facts-fields{gap:var(--space-3);border:0;min-width:0;margin:0;padding:0;display:grid}.field-row.home-numbers{grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:768px) and (max-width:1023px){.field-row.home-numbers{grid-template-columns:repeat(4,minmax(0,1fr))}}.home-listing{align-content:center;min-height:44px;display:grid}.home-photos{gap:var(--space-3);display:grid}.home-photos.is-over{outline:2px dashed var(--color-primary);outline-offset:var(--space-2);border-radius:var(--radius-md)}.home-photos h2 .muted{font-weight:var(--weight-regular)}.home-photos .panel-head{border-bottom:0;padding:0}.photo-grid{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.photo-grid li{aspect-ratio:4/3;border-radius:var(--radius-md);background:var(--color-sunken);position:relative;overflow:hidden}.photo-grid:has(>li:nth-child(3)) li.is-lead{grid-area:span 2/span 2}.photo-grid:not(:has(>li:nth-child(3))){grid-template-columns:repeat(2,minmax(0,1fr))}.photo-grid img{object-fit:cover;width:100%;height:100%;display:block}.photo-actions{inset:auto var(--space-1) var(--space-1);justify-content:space-between;align-items:center;gap:var(--space-1);opacity:0;transition:opacity var(--dur-1);display:flex;position:absolute}.photo-grid li:hover .photo-actions,.photo-grid li:focus-within .photo-actions{opacity:1}@media (pointer:coarse){.photo-actions{opacity:1}}.photo-actions .btn.ghost{background:var(--color-surface)}
.interview{align-content:start;gap:var(--space-5);width:100%;max-width:680px;padding-top:var(--space-8);margin:0 auto;display:grid}.interview-count{color:var(--color-ink-3);font-size:var(--text-sm)}.interview-situation{padding:var(--space-5) var(--space-6);border-radius:var(--radius-lg);background:var(--color-sunken);margin:0}.interview-situation p{font-size:var(--text-2xl);line-height:var(--leading-3xl);letter-spacing:var(--tracking-display);color:var(--color-ink);text-wrap:pretty}.interview-form{gap:var(--space-4);display:grid}.interview-form .textarea{width:100%;min-height:132px}.interview-mic{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.rec-light{border-radius:var(--radius-full);background:var(--color-hot);width:10px;height:10px}.interview-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.interview-back{min-height:var(--size-control);color:var(--color-ink-2);font-size:var(--text-sm);text-underline-offset:3px;justify-self:start;align-items:center;text-decoration:underline;display:inline-flex}.interview-back:hover{color:var(--color-ink)}@media (max-width:767px){.interview{padding-top:var(--space-2)}.interview-situation{padding:var(--space-4)}.interview-situation p{font-size:var(--text-xl);line-height:var(--leading-2xl)}.interview-actions .btn{flex:1}}.voice-done{align-items:center;gap:var(--space-2);color:var(--color-success);font-weight:var(--weight-medium);display:flex}.interview-list{border:1px solid var(--color-line);border-radius:var(--radius-md);margin:0;padding:0;list-style:none}.interview-list li{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);grid-template-columns:24px minmax(0,1fr) auto;display:grid}.interview-list li+li{border-top:1px solid var(--color-line)}.interview-mark{border-radius:var(--radius-full);border:1.5px solid var(--color-line-strong);width:24px;height:24px;color:var(--color-ink-3);font-size:var(--text-xs);font-weight:var(--weight-semibold);place-items:center;display:grid}.interview-list .answered .interview-mark{background:var(--color-primary);color:var(--color-on-primary);border-color:#0000}.interview-mark .ico{width:13px;height:13px}.interview-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-ink-3);overflow:hidden}.interview-list .answered .interview-text{color:var(--color-ink)}.habits{gap:var(--space-4);max-width:720px;display:grid}.habit-card{gap:var(--space-3);padding:var(--space-5);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);display:grid}.habit-card h3{font-size:var(--text-lg);line-height:var(--leading-lg);font-weight:var(--weight-semibold)}.habit-examples{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.habit-examples blockquote{padding-left:var(--space-3);border-left:2px solid var(--color-line-strong);color:var(--color-ink-2);white-space:pre-line;margin:0}.habit-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.habit-all{color:var(--color-success);font-weight:var(--weight-medium)}.habit-list{border:1px solid var(--color-line);border-radius:var(--radius-md);margin:0;padding:0;list-style:none}.habit-list li{align-items:center;gap:var(--space-3);padding:var(--space-1) var(--space-2) var(--space-1) var(--space-4);grid-template-columns:minmax(0,1fr) auto auto;display:grid}.habit-list li+li{border-top:1px solid var(--color-line)}.habit-find{align-items:center;gap:var(--space-3);flex-wrap:wrap;justify-content:flex-end;display:flex}.habit-empty{max-width:720px}@media (max-width:599px){.habit-card{padding:var(--space-4)}.habit-actions .btn{flex:auto;justify-content:center}}.voice-maker,.voice-ready{gap:var(--space-3);max-width:720px;display:grid}.voice-reading{padding:var(--space-4);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-sunken);font-size:var(--text-lg);line-height:var(--leading-lg);color:var(--color-ink);margin:0}.voice-maker-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.voice-file{cursor:pointer}.voice-file:focus-within{outline:2px solid var(--color-primary);outline-offset:2px}.voice-ready .voice-done{flex-wrap:wrap}.shadow-when{font-weight:var(--weight-regular);font-size:var(--text-sm)}.shadow-say{align-content:start;gap:var(--space-1);min-width:0;display:grid}.shadow-say blockquote{padding-left:var(--space-3);border-left:2px solid var(--color-line-strong);color:var(--color-ink-2);white-space:pre-line;overflow-wrap:anywhere;margin:0}.shadow-pair{gap:var(--space-4);display:grid}@media (min-width:768px){.shadow-pair{grid-template-columns:repeat(2,minmax(0,1fr))}}.shadow-card .habit-actions .btn{min-height:44px}.draft-feedback{gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-line);display:grid}.draft-feedback-row{align-items:center;gap:var(--space-2);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.draft-feedback .icon-btn[aria-pressed=true]{background:var(--color-primary-soft);color:var(--color-primary-text)}.draft-feedback-why{gap:var(--space-2);display:grid}.draft-feedback-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.draft-feedback-why .btn{justify-self:start}.lessons{gap:var(--space-3);max-width:720px;display:grid}.lessons-progress{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-sunken)}.lessons-teach{gap:var(--space-1);display:grid}.lessons-teach-row{gap:var(--space-2);display:flex}.lessons-teach-row .input{flex:1;min-width:0}.lessons-list{border:1px solid var(--color-line);border-radius:var(--radius-md);margin:0;padding:0;list-style:none}.lessons-list li{gap:var(--space-2);padding:var(--space-3) var(--space-4);display:grid}.lessons-list li+li{border-top:1px solid var(--color-line)}.lessons-text{gap:var(--space-1);overflow-wrap:anywhere;min-width:0;display:grid}.lessons-from{font-size:var(--text-sm)}.lessons-actions{gap:var(--space-1);flex-wrap:wrap;display:flex}.lessons-actions .btn,.lessons-edit .btn{min-height:44px}.lessons-edit{gap:var(--space-2);flex-wrap:wrap;display:flex}.lessons-edit .input{flex:240px;min-width:0}.lessons-off summary{cursor:pointer;min-height:44px;color:var(--color-ink-2);align-items:center;display:flex}.lessons-off .lessons-list{margin-top:var(--space-2)}.taste{gap:var(--space-6);max-width:760px;display:grid}.taste-item{gap:var(--space-3);display:grid}.taste-item h3{font-size:var(--text-lg);line-height:var(--leading-lg);font-weight:var(--weight-semibold)}.taste-pair{gap:var(--space-3);display:grid}.taste-choice{gap:var(--space-2);min-height:44px;padding:var(--space-4);text-align:left;border:1px solid var(--color-line-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-ink);transition:border-color var(--dur-1), background var(--dur-1);align-content:start;display:grid}.taste-choice:hover{border-color:var(--color-ink-3)}.taste-choice[aria-pressed=true]{border-color:var(--color-primary);background:var(--color-primary-soft)}.taste-words{white-space:pre-line}.taste-tag{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-ink-2)}.taste-choice[aria-pressed=true] .taste-tag{color:var(--color-primary-text)}@media (min-width:720px){.lessons-list li{grid-template-columns:minmax(0,1fr) auto;align-items:center}.taste-pair{grid-template-columns:1fr 1fr}}.taste-own{gap:var(--space-2);display:grid}.taste-own-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.taste-mine{border-color:var(--color-primary);background:var(--color-primary-soft);cursor:default}.taste-mine .taste-tag{color:var(--color-primary-text)}.taste-write{justify-self:start;min-height:44px}.taste-next{margin-top:var(--space-6);max-width:760px}.exact-words{gap:var(--space-4);max-width:760px;display:grid}.exact-grid{gap:var(--space-4);display:grid}.exact-preview{gap:var(--space-3);display:grid}@media (min-width:720px){.exact-grid,.exact-preview{grid-template-columns:1fr 1fr}.exact-preview h3{grid-column:1/-1}}.paste-samples{max-width:760px}.paste-kind{gap:var(--space-4);border:0;flex-wrap:wrap;margin:0;padding:0;display:flex}.paste-kind legend{margin-bottom:var(--space-2)}.paste-kind .check-row{min-height:44px}
.side-ask{align-items:center;gap:var(--space-2);width:100%;min-height:34px;padding:0 var(--space-2) 0 var(--space-3);border-radius:var(--radius-sm);color:var(--color-nav-ink-strong);font-size:var(--text-sm);font-weight:var(--weight-medium);transition:background var(--dur-1);display:flex}.side-ask:hover{background:var(--color-nav-hover)}.side-ask .ico{width:16px;height:16px;color:var(--color-ai)}.side-ask kbd{border-color:var(--color-nav-line);color:var(--color-nav-ink);background:0 0;margin-left:auto}.ask{border:0;border-left:1px solid var(--color-line);background:var(--color-surface);width:min(440px,100vw);max-width:none;height:100dvh;max-height:none;color:var(--color-ink);box-shadow:var(--shadow-overlay);margin:0;padding:0;position:fixed;inset:0 0 0 auto}.ask::backdrop{background:var(--scrim)}.ask[open]{animation:ask-in var(--dur-3) var(--ease-out)}@keyframes ask-in{0%{opacity:0;transform:translate(24px)}}.ask-inner{grid-template-rows:auto minmax(0,1fr) auto;height:100%;display:grid}.ask-head{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);border-bottom:1px solid var(--color-line);display:flex}.ask-head h2{font-size:var(--text-md);font-weight:var(--weight-semibold);flex:1}.ask-mark{border-radius:var(--radius-sm);background:var(--color-ai-soft);width:28px;height:28px;color:var(--color-ai-text);place-items:center;display:grid}.ask-mark .ico{width:16px;height:16px}.ask-new{min-height:32px}.ask-body{gap:var(--space-4);padding:var(--space-4);overscroll-behavior:contain;flex-direction:column;display:flex;overflow-y:auto}.ask-empty{gap:var(--space-4);color:var(--color-ink-2);font-size:var(--text-sm);display:grid}.ask-starters{gap:var(--space-2);flex-wrap:wrap;display:flex}.ask-starters .chip{min-height:36px;padding:0 var(--space-3);font-size:var(--text-sm)}.ask-turn{gap:var(--space-2);max-width:100%;font-size:var(--text-md);line-height:var(--leading-md);display:grid}.ask-turn ul{gap:var(--space-1);padding-left:var(--space-5);list-style:outside;display:grid}.ask-turn.is-user{max-width:85%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);background:var(--color-sunken);justify-self:end}.ask-turn.is-error{color:var(--color-danger)}.ask-step{align-items:center;gap:var(--space-2);color:var(--color-ink-3);font-size:var(--text-sm);display:flex}.ask-dots{gap:3px;display:inline-flex}.ask-dots>span{border-radius:var(--radius-full);background:var(--color-ai);width:5px;height:5px;animation:ask-dot 1s var(--ease-out) infinite}.ask-dots>span:nth-child(2){animation-delay:.15s}.ask-dots>span:nth-child(3){animation-delay:.3s}@keyframes ask-dot{50%{opacity:.25;transform:translateY(-2px)}}@media (prefers-reduced-motion:reduce){.ask-dots>span{animation:none}}.ask-link{color:var(--color-primary-text);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.ask-cards{gap:var(--space-2);margin-top:var(--space-1);display:grid}.ask-all{justify-self:start;min-height:36px}.ask-card{gap:var(--space-1);padding:var(--space-3);border:1px solid var(--color-line-strong);border-radius:var(--radius-md);background:var(--color-surface);display:grid}.ask-card.is-done,.ask-card.is-skipped{border-color:var(--color-line)}.ask-card.is-skipped .ask-card-title,.ask-card.is-skipped .ask-card-detail{color:var(--color-ink-3)}.ask-card-title{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.ask-card-link{color:inherit;text-decoration:none}.ask-card-link:hover{text-underline-offset:3px;text-decoration:underline}.ask-card-detail{color:var(--color-ink-2);font-size:var(--text-sm);white-space:pre-wrap;overflow-wrap:anywhere}.ask-card-actions{gap:var(--space-2);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.ask-card-actions .btn{min-height:36px}.ask-card-state{align-items:center;gap:var(--space-1);color:var(--color-ink-3);font-size:var(--text-sm);display:inline-flex}.ask-card.is-done .ask-card-state{color:var(--color-success)}.ask-card-state .ico{width:14px;height:14px}.ask-form{align-items:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-3) calc(var(--space-3) + env(safe-area-inset-bottom));border-top:1px solid var(--color-line);display:flex}.ask-input{min-height:44px;max-height:160px;padding:var(--space-2) var(--space-3);resize:none;field-sizing:content;border:1px solid var(--color-line-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-ink);font:inherit;flex:1}.ask-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft);outline:none}.ask-send{width:44px;min-height:44px;padding:0}
