*,:after,:before{box-sizing:border-box}*{margin:0;padding:0}html{text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body{font-family:var(--font-sans);font-size:var(--type-body-size);line-height:var(--type-body-lineHeight);color:var(--text);background:var(--canvas);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv05" 1,"ss01" 1;min-height:100dvh}canvas,img,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}button{background:none;border:none;cursor:pointer}a{color:var(--accent-text);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:2px}ol,ul{list-style:none}table{border-collapse:collapse;width:100%}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}::selection{background:var(--accent-subtle);color:var(--accent-text)}h1,h2,h3,h4{color:var(--text);text-wrap:balance;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}h1{font-size:var(--type-h1-size);line-height:var(--type-h1-lineHeight);font-weight:var(--type-h1-weight);letter-spacing:var(--type-h1-tracking)}h2{font-size:var(--type-h2-size);line-height:var(--type-h2-lineHeight);font-weight:var(--type-h2-weight);letter-spacing:var(--type-h2-tracking)}h3{font-size:var(--type-h3-size);line-height:var(--type-h3-lineHeight);font-weight:var(--type-h3-weight);letter-spacing:var(--type-h3-tracking)}h4{font-size:var(--type-h4-size);line-height:var(--type-h4-lineHeight);font-weight:var(--type-h4-weight)}.display{font-size:var(--type-display-size);line-height:var(--type-display-lineHeight);font-weight:var(--type-display-weight);letter-spacing:var(--type-display-tracking)}.lead{font-size:var(--type-bodyLg-size);line-height:var(--type-bodyLg-lineHeight);color:var(--text-secondary)}.small{font-size:var(--type-small-size);line-height:var(--type-small-lineHeight)}.micro{font-size:var(--type-micro-size);line-height:var(--type-micro-lineHeight);font-weight:var(--type-micro-weight);letter-spacing:var(--type-micro-tracking);text-transform:uppercase;color:var(--text-muted)}.muted{color:var(--text-secondary)}.subtle{color:var(--text-muted)}.prose{max-width:var(--layout-proseWidth)}.prose>*+*{margin-top:var(--space-4)}.prose h2{margin-top:var(--space-8)}.prose h3{margin-top:var(--space-6)}.prose ol,.prose ul{padding-left:var(--space-5);list-style:revert}.prose li+li{margin-top:var(--space-2)}.prose table{font-size:var(--type-small-size)}.prose .table-scroll,.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.prose td,.prose th{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-subtle)}.prose th{color:var(--text-secondary);font-weight:600}.tabular{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.nowrap,.truncate{white-space:nowrap}.truncate{overflow:hidden;text-overflow:ellipsis}@media (max-width:720px){.truncate{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.container{width:100%;max-width:var(--layout-contentWidth);margin-inline:auto;padding-inline:var(--space-5)}.container-wide{max-width:var(--layout-wideWidth)}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.stack-sm{gap:var(--space-2)}.stack-lg{gap:var(--space-6)}.stack-xl{gap:var(--space-10)}.row{display:flex;align-items:center;gap:var(--space-3)}.row-sm{gap:var(--space-2)}.row-between{justify-content:space-between}.row-wrap{flex-wrap:wrap}.row-top{align-items:flex-start}.grow{flex:1 1;min-width:0}.grid{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center}.split,.split-form{gap:var(--space-10)}.split-form{grid-template-columns:minmax(0,1fr) 340px;align-items:start}@media (max-width:860px){.split,.split-form{grid-template-columns:minmax(0,1fr);gap:var(--space-8)}.split>*{order:0!important}}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-auto{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.sidebar-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-gap:var(--space-6);gap:var(--space-6);align-items:start}@media (max-width:1024px){.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar-layout{grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){.grid-2{grid-template-columns:minmax(0,1fr)}.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.container{padding-inline:var(--space-4)}}.hide-mobile{display:initial}.show-mobile{display:none}@media (max-width:768px){.hide-mobile{display:none!important}.show-mobile{display:initial}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5)}.card-flush{padding:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.card-hover{transition:border-color var(--motion-fast) var(--motion-ease),background var(--motion-fast) var(--motion-ease)}.card-hover:hover{border-color:var(--border-strong);background:var(--surface-hover)}.card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap}.card-body{padding:var(--space-5)}.panel{background:var(--surface-sunken);border-radius:var(--radius-md);padding:var(--space-4)}.divider{height:1px;background:var(--border-subtle);border:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:40px;padding:0 var(--space-4);border-radius:var(--radius-md);border:1px solid transparent;font-size:var(--type-body-size);font-weight:560;letter-spacing:-.006em;white-space:nowrap;cursor:pointer;transition:background var(--motion-fast) var(--motion-ease),border-color var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease)}@media (max-width:380px){.btn{white-space:normal;padding-block:var(--space-2);text-align:center}}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);text-decoration:none}.btn-secondary{background:var(--surface);border-color:var(--border-strong);color:var(--text)}.btn-secondary:hover:not(:disabled){background:var(--surface-hover);text-decoration:none}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--text);text-decoration:none}.btn-danger{background:var(--surface);border-color:var(--bad-border);color:var(--bad-text)}.btn-danger:hover:not(:disabled){background:var(--bad-bg);text-decoration:none}.btn-lg{min-height:48px;padding:0 var(--space-6);font-size:var(--type-bodyLg-size)}.btn-sm{min-height:32px;padding:0 var(--space-3);font-size:var(--type-small-size)}.btn-block{width:100%}.btn-touch{min-height:var(--layout-touchTarget)}.btn-icon{min-width:36px;padding:0}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px var(--space-2);border-radius:var(--radius-full);border:1px solid transparent;font-size:var(--type-micro-size);font-weight:560;letter-spacing:.004em;white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.badge-nodot:before{display:none}.badge-neutral{background:var(--surface-sunken);border-color:var(--border);color:var(--text-secondary)}.badge-muted{background:transparent;border-color:var(--border);color:var(--text-muted)}.badge-good{background:var(--good-bg);border-color:var(--good-border);color:var(--good-text)}.badge-warn{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn-text)}.badge-bad{background:var(--bad-bg);border-color:var(--bad-border);color:var(--bad-text)}.badge-info{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}.badge-accent{background:var(--accent-subtle);border-color:var(--accent-border);color:var(--accent-text)}.field{display:flex;flex-direction:column;gap:6px}.label{font-weight:560;color:var(--text)}.label,.label-hint{font-size:var(--type-small-size)}.label-hint{color:var(--text-muted);font-weight:400}.input,.select,.textarea{width:100%;min-height:40px;padding:9px var(--space-3);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);font-size:var(--type-body-size);color:var(--text);transition:border-color var(--motion-fast) var(--motion-ease),box-shadow var(--motion-fast) var(--motion-ease)}.input::placeholder,.textarea::placeholder{color:var(--text-muted)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--accent);box-shadow:var(--shadow-focus)}.input[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--bad-text)}.textarea{min-height:96px;resize:vertical;line-height:1.55}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:var(--space-8);background-image:linear-gradient(45deg,transparent 50%,currentColor 0),linear-gradient(135deg,currentColor 50%,transparent 0);background-position:calc(100% - 18px) calc(50% + 2px),calc(100% - 13px) calc(50% + 2px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;cursor:pointer}.input-lg{min-height:48px;font-size:var(--type-bodyLg-size)}.error-text{font-size:var(--type-small-size);color:var(--bad-text)}.checkbox-row{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer}.task-toggle{display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;background:none;flex:none;cursor:pointer}.task-toggle-box{display:grid;place-items:center;width:24px;height:24px;border-radius:6px;border:1.5px solid var(--border-strong);background:var(--surface);color:var(--on-accent);transition:background var(--motion-fast) var(--motion-ease),border-color var(--motion-fast) var(--motion-ease)}.task-toggle[data-done=true] .task-toggle-box{border-color:var(--accent);background:var(--accent)}.task-toggle:hover .task-toggle-box{border-color:var(--accent)}.checkbox-row:hover{background:var(--surface-hover)}.checkbox-row input{margin-top:3px;width:18px;height:18px;accent-color:var(--accent);flex:none}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;grid-gap:var(--space-2);gap:var(--space-2)}.segment{min-height:var(--layout-touchTarget);display:flex;align-items:center;justify-content:center;gap:6px;padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text-secondary);font-weight:560;font-size:var(--type-small-size);transition:all var(--motion-fast) var(--motion-ease)}.segment:hover{background:var(--surface-hover)}.segment[data-selected=true]{border-color:var(--accent);background:var(--accent-subtle);color:var(--accent-text)}.segment[data-selected=true][data-tone=bad]{border-color:var(--bad-border);background:var(--bad-bg);color:var(--bad-text)}.segment[data-selected=true][data-tone=muted]{border-color:var(--border-strong);background:var(--surface-sunken);color:var(--text-secondary)}.table{font-size:var(--type-body-size)}.table th{text-align:left;padding:var(--space-2) var(--space-4);font-size:var(--type-micro-size);font-weight:560;letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap}.table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);vertical-align:middle}.table tbody tr{transition:background var(--motion-fast) var(--motion-ease)}.table tbody tr:hover{background:var(--surface-hover)}.table tbody tr:last-child td{border-bottom:none}@media (max-width:560px){.prose th,.table th{white-space:normal}.prose td,.prose th,.table td,.table th{padding-inline:var(--space-2)}.prose td,.prose th,.table td{font-size:var(--type-small-size);overflow-wrap:break-word}}@media (max-width:720px){.card-flush>.table,.table-scroll>.table{min-width:max-content}}.card-flush,.table-scroll{background-image:linear-gradient(to left,var(--surface),transparent 24px);background-repeat:no-repeat;background-position:100%;background-size:24px 100%;background-attachment:local}@media (max-width:380px){.site-nav{flex-wrap:wrap;row-gap:var(--space-2)}.row-wrap>*{min-width:0}.trend-column:not(:nth-child(3n+1)) .trend-label{display:none}}.stat,.stat-label,.stat-value{min-width:0;overflow-wrap:anywhere}.badge-row,.row-wrap{min-width:0}.table-link{color:var(--text);font-weight:560}.table-link:hover{color:var(--accent-text)}@media (max-width:720px){.card .row-sm,.card-header .row,.list-row .row,.list-row .row-sm{flex-wrap:wrap}.card{overflow-wrap:break-word}.badge,.chip,.list-row{overflow-wrap:anywhere}.badge,.chip{white-space:normal}}.list-row{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle);color:var(--text);transition:background var(--motion-fast) var(--motion-ease)}.list-row:last-child{border-bottom:none}.list-row:hover{background:var(--surface-hover);text-decoration:none}.stat{display:flex;flex-direction:column;gap:2px}.stat-value{font-size:30px;line-height:1.1;font-weight:640;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat-label{color:var(--text-secondary)}.stat-label,.stat-note{font-size:var(--type-small-size)}.stat-note{color:var(--text-muted)}.meter{height:6px;background:var(--surface-sunken);overflow:hidden}.meter,.meter-fill{border-radius:var(--radius-full)}.meter-fill{height:100%;background:var(--accent)}.meter-fill[data-tone=good]{background:var(--good-text)}.meter-fill[data-tone=warn]{background:var(--warn-text)}.meter-fill[data-tone=bad]{background:var(--bad-text)}.risk-matrix{display:grid;grid-template-columns:auto repeat(5,minmax(0,1fr));grid-gap:4px;gap:4px;font-size:var(--type-small-size)}.risk-cell{aspect-ratio:1.6;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;position:relative}.risk-cell[data-level=LOW]{background:var(--color-risk-low);color:var(--color-risk-lowInk)}.risk-cell[data-level=MODERATE]{background:var(--color-risk-moderate);color:var(--color-risk-moderateInk)}.risk-cell[data-level=HIGH]{background:var(--color-risk-high);color:var(--color-risk-highInk)}.risk-cell[data-level=CRITICAL]{background:var(--color-risk-critical);color:var(--color-risk-criticalInk)}.risk-cell-count{position:absolute;inset:0;font-size:var(--type-h4-size)}.risk-axis,.risk-cell-count{display:flex;align-items:center;justify-content:center}.risk-axis{color:var(--text-muted);font-size:var(--type-micro-size);text-align:center;padding:var(--space-1);min-width:0;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.timeline{display:flex;flex-direction:column}.timeline-item{display:grid;grid-template-columns:22px minmax(0,1fr);grid-gap:var(--space-3);gap:var(--space-3);padding-bottom:var(--space-4);position:relative}.timeline-item:not(:last-child):before{content:"";position:absolute;left:10px;top:18px;bottom:0;width:1px;background:var(--border)}.timeline-dot{width:9px;height:9px;border-radius:50%;background:var(--border-strong);margin:6px auto 0;z-index:1;outline:3px solid var(--surface)}.timeline-dot[data-tone=accent]{background:var(--accent)}.timeline-dot[data-tone=good]{background:var(--good-text)}.timeline-dot[data-tone=bad]{background:var(--bad-text)}.app{display:grid;grid-template-columns:var(--layout-sidebarWidth) minmax(0,1fr);min-height:100dvh}.app-sidebar{background:var(--surface);border-right:1px solid var(--border);padding:var(--space-4) var(--space-3);gap:var(--space-5);position:-webkit-sticky;position:sticky;top:0;height:100dvh;overflow-y:auto}.app-main,.app-sidebar{display:flex;flex-direction:column}.app-main{min-width:0}.app-topbar{position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-sticky,10);display:flex;align-items:center;gap:var(--space-4);min-height:56px;padding:var(--space-2) var(--space-5);background:color-mix(in srgb,var(--canvas) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.app-content{padding:var(--space-6) var(--space-5) var(--space-16);flex:1 1}.nav-group{display:flex;flex-direction:column;gap:2px}.nav-link{display:flex;align-items:center;gap:var(--space-3);padding:9px var(--space-3);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--type-body-size);font-weight:500;transition:all var(--motion-fast) var(--motion-ease)}.nav-link:hover{background:var(--surface-hover);color:var(--text);text-decoration:none}.nav-link[aria-current=page]{background:var(--accent-subtle);color:var(--accent-text);font-weight:560}.nav-link svg{flex:none;opacity:.75}.nav-link[aria-current=page] svg{opacity:1}.nav-count{margin-left:auto;font-size:var(--type-micro-size);font-weight:600;padding:1px 6px;border-radius:var(--radius-full);background:var(--surface-sunken);color:var(--text-secondary)}.nav-count[data-tone=bad]{background:var(--bad-bg);color:var(--bad-text)}.tabbar{display:none}@media (max-width:900px){.app{grid-template-columns:minmax(0,1fr)}.app-sidebar{display:none}.app-content{padding:var(--space-4) var(--space-4) var(--space-24)}.tabbar{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:fixed;bottom:0;left:0;right:0;z-index:var(--z-sticky,10);background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom)}.tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:56px;color:var(--text-muted);font-size:11px;font-weight:560}.tab[aria-current=page]{color:var(--accent-text);text-decoration:none}.tab:hover{text-decoration:none}}.sync-pill{display:inline-flex;align-items:center;gap:7px;padding:5px var(--space-3);border-radius:var(--radius-full);border:1px solid var(--border);background:var(--surface);font-size:var(--type-small-size);color:var(--text-secondary)}.sync-dot{width:7px;height:7px;border-radius:50%;background:var(--good-text);flex:none}.sync-pill[data-state=SYNCING] .sync-dot{background:var(--info-text);animation:pulse 1.4s ease-in-out infinite}.sync-pill[data-state=ERROR] .sync-dot,.sync-pill[data-state=OFFLINE] .sync-dot{background:var(--warn-text)}.sync-pill[data-state=CONFLICT] .sync-dot{background:var(--bad-text)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3);padding:var(--space-16) var(--space-5);color:var(--text-secondary)}.empty-icon{width:44px;height:44px;border-radius:var(--radius-md);background:var(--surface-sunken);color:var(--text-muted)}.avatar,.empty-icon{display:flex;align-items:center;justify-content:center}.avatar{width:32px;height:32px;border-radius:50%;background:var(--accent-subtle);color:var(--accent-text);font-size:var(--type-micro-size);font-weight:620;flex:none;letter-spacing:0}.avatar-lg{width:40px;height:40px;font-size:var(--type-small-size)}.avatar-sm{width:24px;height:24px;font-size:11px}.chip{display:inline-flex;align-items:center;gap:6px;padding:5px var(--space-3);border-radius:var(--radius-full);border:1px solid var(--border);background:var(--surface);font-size:var(--type-small-size);color:var(--text-secondary);transition:all var(--motion-fast) var(--motion-ease)}.chip:hover{border-color:var(--border-strong);color:var(--text);text-decoration:none}.chip[aria-pressed=true],.chip[data-active=true]{border-color:var(--accent);background:var(--accent-subtle);color:var(--accent-text)}.modal-backdrop{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:color-mix(in srgb,var(--text) 42%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:modal-fade var(--motion-fast) var(--motion-ease);overflow-y:auto}.modal{position:relative;width:100%;max-width:560px;max-height:calc(100dvh - var(--space-8));overflow-y:auto;padding:var(--space-8);border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface-raised,var(--surface));box-shadow:var(--shadow-lg,0 24px 60px rgb(0 0 0/.22));animation:modal-rise var(--motion-base,.2s) var(--motion-ease)}.modal-close{position:absolute;top:var(--space-3);right:var(--space-3);width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:var(--radius-full);background:none;color:var(--text-muted);font-size:22px;line-height:1;cursor:pointer}.modal-close:hover{background:var(--surface-hover);color:var(--text)}@keyframes modal-fade{0%{opacity:0}}@keyframes modal-rise{0%{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){.modal,.modal-backdrop{animation:none}}@media (max-width:640px){.modal{padding:var(--space-6) var(--space-5)}}@media (pointer:coarse){.modal-close{width:var(--layout-touchTarget);height:var(--layout-touchTarget)}}.callout{display:flex;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-sunken);font-size:var(--type-small-size)}.callout[data-tone=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}.callout[data-tone=warn]{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn-text)}.callout[data-tone=bad]{background:var(--bad-bg);border-color:var(--bad-border);color:var(--bad-text)}.callout[data-tone=good]{background:var(--good-bg);border-color:var(--good-border);color:var(--good-text)}@media (max-width:720px){h1,h2,h3,h4{overflow-wrap:anywhere}.page-header>*{min-width:0}}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6)}.page-header,.page-header .row{flex-wrap:wrap}.breadcrumb{display:flex;align-items:center;gap:var(--space-2);font-size:var(--type-small-size);color:var(--text-muted);margin-bottom:var(--space-2)}.skeleton{background:linear-gradient(90deg,var(--surface-sunken) 25%,var(--surface-hover) 50%,var(--surface-sunken) 75%);background-size:200% 100%;animation:shimmer 1.4s linear infinite;border-radius:var(--radius-sm)}@keyframes shimmer{to{background-position:-200% 0}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100px;left:var(--space-4);z-index:999;padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--accent);border-radius:var(--radius-md)}.skip-link:focus{top:var(--space-3)}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-sticky,10);background:color-mix(in srgb,var(--canvas) 86%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-subtle)}.site-nav{justify-content:space-between;gap:var(--space-6);min-height:64px}.site-nav,.site-nav-links{display:flex;align-items:center}.site-nav-links{gap:var(--space-1)}.mobile-menu{position:relative}.mobile-menu>summary{list-style:none;cursor:pointer}.mobile-menu>summary::-webkit-details-marker{display:none}.mobile-menu-panel{position:absolute;top:calc(100% + var(--space-2));right:0;z-index:var(--z-popover,20);min-width:208px;padding:var(--space-2);display:flex;flex-direction:column;gap:2px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-lg)}.mobile-menu-link{display:flex;align-items:center;gap:var(--space-2);min-height:var(--layout-touchTarget);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--text);font-size:var(--type-small-size)}.mobile-menu-link:hover{background:var(--surface-hover);text-decoration:none}.site-nav-link{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--type-body-size);font-weight:500}.site-nav-link:hover{background:var(--surface-hover);color:var(--text);text-decoration:none}.wordmark{display:inline-flex;align-items:center;gap:var(--space-2);font-size:19px;font-weight:660;letter-spacing:-.02em;color:var(--text)}.wordmark:hover{text-decoration:none}.section{padding-block:var(--space-24)}.section-sm{padding-block:var(--space-16)}.section-head{max-width:660px;margin-bottom:var(--space-10)}.section-head-center{margin-inline:auto;text-align:center}.eyebrow{display:inline-flex;align-items:center;gap:var(--space-2);padding:5px var(--space-3);border-radius:var(--radius-full);border:1px solid var(--accent-border);background:var(--accent-subtle);color:var(--accent-text);font-size:var(--type-small-size);font-weight:560;margin-bottom:var(--space-4)}.site-footer{border-top:1px solid var(--border);padding-block:var(--space-12) var(--space-8);background:var(--surface)}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);grid-gap:var(--space-8);gap:var(--space-8)}@media (max-width:860px){.footer-grid{grid-template-columns:repeat(2,1fr)}.section{padding-block:var(--space-16)}.display{font-size:34px}}.footer-list{display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--type-small-size)}.footer-list a{color:var(--text-secondary)}.footer-list a:hover{color:var(--text)}.device{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden;box-shadow:var(--shadow-lg)}.device-bar{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);background:var(--surface-sunken)}.device-dot{width:9px;height:9px;border-radius:50%;background:var(--border-strong)}.device-url{margin-left:var(--space-3);padding:3px var(--space-3);border-radius:var(--radius-full);background:var(--surface);border:1px solid var(--border);font-size:var(--type-micro-size);color:var(--text-muted);letter-spacing:0;text-transform:none;font-weight:400}.device-screen{padding:var(--space-4);background:var(--canvas)}.shot{container-type:inline-size;overflow-x:auto;overflow-y:hidden}.shot-canvas{width:var(--shot-width,960px);zoom:min(1,calc(100cqi / var(--shot-width, 960px)))}.shot-canvas .grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.shot-canvas .grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.shot-canvas .grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.shot-canvas .split{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:var(--space-10)}.shot-canvas .sidebar-layout{grid-template-columns:minmax(0,1fr) 320px}@media (pointer:coarse){.shot-canvas .breadcrumb a,.shot-canvas .btn,.shot-canvas .btn-icon,.shot-canvas .btn-sm,.shot-canvas .card-header a,.shot-canvas .card-header button,.shot-canvas .checkbox-row,.shot-canvas .chip,.shot-canvas .sync-pill,.shot-canvas .task-toggle{min-height:0;min-width:0}.shot-canvas .task-toggle{width:24px;height:24px}.shot-canvas input[type=checkbox],.shot-canvas input[type=radio]{width:18px;height:18px}}.phone{width:min(268px,100%);border:8px solid var(--neutral-900,#161c1c);border-radius:34px;overflow:hidden;background:var(--canvas);box-shadow:var(--shadow-lg);flex:none}.phone-screen{padding:var(--space-3);min-height:460px;display:flex;flex-direction:column;gap:var(--space-3)}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));grid-gap:var(--space-5);gap:var(--space-5);align-items:stretch;max-width:860px;margin-inline:auto}@media (max-width:620px){.phone{width:100%;max-width:300px}}.plan{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);height:100%}.plan[data-featured=true]{border-color:var(--accent);box-shadow:var(--shadow-md)}.plan-price{font-size:32px;font-weight:660;letter-spacing:-.02em}.plan-features{display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--type-small-size);color:var(--text-secondary)}.plan-features li{display:flex;gap:var(--space-2);align-items:flex-start}.check{color:var(--accent);flex:none;margin-top:2px}details.faq{border-bottom:1px solid var(--border-subtle);padding:var(--space-4) 0}details.faq summary{cursor:pointer;font-weight:560;font-size:var(--type-bodyLg-size);list-style:none;display:flex;justify-content:space-between;gap:var(--space-4)}details.faq summary::-webkit-details-marker{display:none}details.faq summary:after{content:"+";color:var(--text-muted);font-weight:400;font-size:22px;line-height:1}details.faq[open] summary:after{content:"–"}details.faq>:not(summary){margin-top:var(--space-3);color:var(--text-secondary);max-width:var(--layout-proseWidth)}.comparison td:first-child,.comparison th:first-child{text-align:left;font-weight:500;color:var(--text)}.comparison td,.comparison th{text-align:center;padding:var(--space-3);border-bottom:1px solid var(--border-subtle);font-size:var(--type-small-size)}.comparison thead th{color:var(--text-secondary);font-weight:600;text-transform:none;letter-spacing:0;font-size:var(--type-small-size)}.comparison .yes{color:var(--good-text);font-weight:620}.comparison .no{color:var(--text-muted)}@media (max-width:560px){.comparison td,.comparison th{padding:var(--space-2) 6px;font-size:var(--type-small-size)}.comparison td:not(:first-child),.comparison th:not(:first-child){width:68px}.comparison td:first-child,.comparison th:first-child{overflow-wrap:anywhere}}@media print{.app-sidebar,.app-topbar,.no-print,.site-footer,.site-header,.tabbar{display:none!important}.app{grid-template-columns:minmax(0,1fr)}.app-content{padding:0}.card{page-break-inside:avoid;break-inside:avoid;border-color:#ddd}body{background:#fff}}@media (pointer:coarse){.btn,.btn-icon,.btn-sm,.sync-pill{min-height:var(--layout-touchTarget)}.btn-icon{min-width:var(--layout-touchTarget)}.breadcrumb a,.wordmark{display:inline-flex;align-items:center}.breadcrumb a,.card-header a,.card-header button,.chip,.wordmark{min-height:var(--layout-touchTarget)}.card-header a,.card-header button{display:inline-flex;align-items:center}input[type=checkbox],input[type=radio]{width:24px;height:24px}.checkbox-row{min-height:var(--layout-touchTarget)}.task-toggle{width:var(--layout-touchTarget);height:var(--layout-touchTarget)}}