@layer tokens,base,primitives,layout,feature;@layer tokens{:root{--color-bg: #ffffff;--color-surface: #f4f3f8;--color-line: rgba(26, 26, 38, .14);--color-ink: #1a1a26;--color-ink-muted: #55526b;--color-accent: #4b3dd1;--color-on-accent: #ffffff;--color-focus: #00769b;--color-success: #18653f;--color-warn: #8a5200;--color-danger: #b02318;--color-annotation: #b5257b;--color-accent-strong: #3c30b0;--color-accent-soft: #edeafb;--color-warn-fill: #f0b429;--color-warn-soft: #fcf0da;--color-success-soft: #e4f3ea;--color-danger-soft: #fceceb;--ink-rgb: 26, 26, 38;--font-sans: "Bikeshed Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--fs-caption: .78rem;--fs-small: .86rem;--fs-body: .95rem;--fs-lead: clamp(1rem, .96rem + .2vw, 1.1rem);--fs-h3: clamp(1.05rem, 1rem + .3vw, 1.2rem);--fs-h2: clamp(1.25rem, 1.15rem + .5vw, 1.5rem);--fs-h1: clamp(1.5rem, 1.3rem + 1vw, 2rem);--s-1: 4px;--s-2: 8px;--s-3: 16px;--s-4: 24px;--s-5: 32px;--s-6: 48px;--s-7: 64px;--s-8: 96px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-pill: 999px;--shadow-xs: 0 1px 2px rgba(var(--ink-rgb), .06);--shadow-sm: 0 1px 3px rgba(var(--ink-rgb), .08), 0 1px 2px rgba(var(--ink-rgb), .04);--shadow-md: 0 4px 12px rgba(var(--ink-rgb), .1), 0 1px 3px rgba(var(--ink-rgb), .06);--shadow-lg: 0 12px 32px rgba(var(--ink-rgb), .14), 0 2px 8px rgba(var(--ink-rgb), .06);--shadow-xl: 0 24px 64px rgba(var(--ink-rgb), .18), 0 4px 12px rgba(var(--ink-rgb), .08);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--t-fast: .12s;--t-base: .2s;--t-slow: .32s;--header-h: 56px;--tap: 44px}}@layer base{*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scrollbar-gutter:stable}body{margin:0;font-family:var(--font-sans);font-size:var(--fs-body);line-height:1.55;color:var(--color-ink);background:var(--color-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6{margin:0;line-height:1.22;font-weight:650;letter-spacing:-.014em;text-wrap:balance}h1{font-size:var(--fs-h1);letter-spacing:-.021em}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3)}p{margin:0 0 var(--s-3)}p:last-child{margin-bottom:0}a{color:var(--color-accent-strong);text-underline-offset:2px}a:hover{text-decoration-thickness:2px}img,svg,video{max-width:100%}svg{display:block}button,input,select,textarea{font:inherit;color:inherit}.numeric{font-variant-numeric:tabular-nums}.caption{font-size:var(--fs-caption);color:var(--color-ink-muted)}.mono{font-family:var(--font-mono);font-size:.92em;font-variant-numeric:tabular-nums}:focus-visible,iframe.doc-frame[data-frame-focus]{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-sm)}:focus:not(:focus-visible):not(iframe.doc-frame[data-frame-focus]){outline:none}iframe.doc-frame[data-frame-focus]{outline-offset:-2px}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:absolute;top:var(--s-2);left:var(--s-2);z-index:100;padding:var(--s-2) var(--s-3);border-radius:var(--radius-md);background:var(--color-accent);color:var(--color-on-accent);text-decoration:none;transform:translateY(-200%);transition:transform var(--t-fast) var(--ease-out)}.skip-link:focus-visible{transform:translateY(0)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (hover: none),(pointer: coarse){button,[role=button],[role=menuitem],[role=tab],[role=switch],a[href]:not(:is(p,.legal li,.field-hint,.caption) a),select,input:not([type=hidden]):not([type=checkbox]):not([type=radio]),textarea,summary,label:has(input:is([type=checkbox],[type=radio])),.checkbox-row>label{min-height:var(--tap)!important;min-width:var(--tap)!important}a[href]:not(:is(p,.legal li,.field-hint,.caption) a){display:inline-flex;align-items:center}summary,.checkbox-row>label{align-content:center}}::selection{background:var(--color-accent-soft);color:var(--color-ink)}}@layer primitives{.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:36px;padding:0 var(--s-3);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-ink);font-size:var(--fs-small);font-weight:560;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background var(--t-fast) var(--ease-out),border-color var(--t-fast) var(--ease-out),box-shadow var(--t-fast) var(--ease-out)}.btn:hover:not(:disabled){background:var(--color-surface);border-color:rgba(var(--ink-rgb),.22)}.btn:active:not(:disabled){transform:translateY(.5px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent);box-shadow:var(--shadow-xs)}.btn-primary:hover:not(:disabled){background:var(--color-accent-strong);border-color:var(--color-accent-strong)}.btn-quiet{border-color:transparent;background:transparent}.btn-quiet:hover:not(:disabled){background:var(--color-surface)}.btn-danger{color:var(--color-danger);border-color:#b023184d}.btn-danger:hover:not(:disabled){background:var(--color-danger-soft)}.btn-sm{min-height:30px;padding:0 var(--s-2);font-size:var(--fs-caption)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-ink);cursor:pointer}.icon-btn:hover:not(:disabled){background:var(--color-surface);color:var(--color-ink)}.icon-btn[aria-pressed=true]{background:var(--color-accent-soft);color:var(--color-accent-strong)}.field{display:flex;flex-direction:column;gap:var(--s-1);margin-bottom:var(--s-3)}.field-label{font-size:var(--fs-caption);font-weight:600;color:var(--color-ink-muted)}.input,.select,.textarea{width:100%;min-height:36px;padding:var(--s-2) var(--s-3);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-bg);font-size:var(--fs-small)}.textarea{min-height:72px;resize:vertical;line-height:1.5}.input:hover,.textarea:hover{border-color:rgba(var(--ink-rgb),.24)}.field-row{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap}.field-row .input{flex:1 1 12rem;min-width:0}.field-hint{font-size:var(--fs-caption);color:var(--color-ink-muted)}.field-error{font-size:var(--fs-caption);color:var(--color-danger)}.checkbox-row{display:flex;align-items:flex-start;gap:var(--s-2);font-size:var(--fs-small)}.chip{display:inline-flex;align-items:center;gap:var(--s-1);height:24px;padding:0 var(--s-2);border-radius:var(--radius-pill);background:var(--color-surface);border:1px solid var(--color-line);font-size:var(--fs-caption);color:var(--color-ink-muted);white-space:nowrap}.chip-accent{background:var(--color-accent-soft);border-color:#4b3dd13d;color:var(--color-accent-strong)}.chip-warn{background:var(--color-warn-soft);border-color:#8a520042;color:var(--color-warn)}button.expiry-chip,button.version-chip{cursor:pointer}button.version-chip:hover{color:var(--color-ink);border-color:var(--color-ink-muted)}button.fork-chip{cursor:pointer}.fork-chip[data-changed]:after{content:"";width:6px;height:6px;border-radius:var(--radius-pill);background:var(--color-accent)}.expiry-chip[data-soon]{color:var(--color-warn)}.expiry-chip[data-expired]{color:var(--color-danger);border-color:currentColor}.badge-automated{display:inline-block;max-width:100%;padding:0 6px;height:18px;line-height:16px;border-radius:var(--radius-sm);background:var(--color-surface);border:1px solid var(--color-line);font-size:.7rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;color:var(--color-ink-muted)}.self-reported{font-style:italic;color:var(--color-ink-muted)}.card{border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-bg);box-shadow:var(--shadow-xs)}.banner{display:flex;align-items:flex-start;gap:var(--s-2);padding:var(--s-2) var(--s-3);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--fs-small)}.banner-warn{background:var(--color-warn-soft);border-color:#8a520042}.banner-error{background:var(--color-danger-soft);border-color:#b0231842}.banner-success{background:var(--color-success-soft);border-color:#18653f42}.spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--color-line);border-top-color:var(--color-accent);border-radius:50%;animation:spin .72s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spinner{animation:none;border-top-color:var(--color-line);border-right-color:var(--color-accent)}}.btn[aria-busy=true]:before,.toast .spinner{content:"";flex:none;width:14px;height:14px;border:2px solid color-mix(in srgb,currentColor 30%,transparent);border-top-color:currentColor;border-radius:50%;animation:spin .72s linear infinite}.btn[aria-busy=true]>svg{display:none}.btn[aria-busy=true]:disabled{opacity:1;cursor:progress}@media (prefers-reduced-motion: reduce){.btn[aria-busy=true]:before,.toast .spinner{animation:none;border-right-color:currentColor}}.skeleton{background:linear-gradient(90deg,var(--color-surface) 25%,rgba(var(--ink-rgb),.06) 37%,var(--color-surface) 63%);background-size:400% 100%;animation:shimmer 1.4s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes shimmer{to{background-position:-135% 0}}.toast-stack{position:fixed;left:50%;bottom:var(--s-4);transform:translate(-50%);z-index:60;display:flex;flex-direction:column;gap:var(--s-2);width:min(420px,calc(100vw - var(--s-4)))}.toast{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);border-radius:var(--radius-md);background:var(--color-ink);color:var(--color-bg);box-shadow:var(--shadow-lg);font-size:var(--fs-small)}.toast-error{background:var(--color-danger)}.toast-busy{animation:toast-busy-in var(--t-base) var(--ease-out) var(--t-slow) both}@keyframes toast-busy-in{0%{opacity:0}}.toast-action{margin-left:auto;color:inherit;background:none;border:0;font-weight:600;text-decoration:underline;cursor:pointer}.empty-state{padding:var(--s-6) var(--s-4);text-align:center;color:var(--color-ink-muted)}}@layer layout{.app-shell{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.app-header{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-4);border-bottom:1px solid var(--color-line);background:color-mix(in srgb,var(--color-bg) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.header-spacer{flex:1}.header-actions{display:flex;align-items:center;gap:var(--s-2)}.header-email{font-size:var(--fs-caption);color:var(--color-ink-muted);max-width:22ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main{flex:1;min-height:0}.main:focus{outline:none}.container{max-width:1180px;margin:0 auto;padding:var(--s-4)}.address-notice{max-width:1180px;margin:var(--s-3) auto 0;align-items:center;flex-wrap:wrap}.address-notice>span{flex:1 1 24ch}.wordmark{display:inline-flex;align-items:center;gap:var(--s-2);color:var(--color-ink);text-decoration:none}.wordmark-text{font-size:1.05rem;font-weight:700;letter-spacing:-.02em}.wordmark-tld{color:var(--color-accent)}.auth-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-4);min-height:calc(100vh - var(--header-h));min-height:calc(100dvh - var(--header-h));padding:var(--s-4)}.auth-card{width:min(420px,100%);padding:var(--s-5);display:flex;flex-direction:column;gap:var(--s-3);border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-bg);box-shadow:var(--shadow-md)}.auth-title{font-size:var(--fs-h2)}.auth-lead{color:var(--color-ink-muted);font-size:var(--fs-small)}.provider-btn{width:100%;min-height:var(--tap);justify-content:center}.auth-notice{padding:var(--s-3);border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-line);font-size:var(--fs-small)}.auth-notice-row{display:flex;align-items:center;gap:var(--s-2);margin-top:var(--s-2)}.auth-notice code{font-family:var(--font-mono);font-size:.9em;padding:2px 6px;border-radius:var(--radius-sm);background:var(--color-bg);border:1px solid var(--color-line)}.verify-code-input{font-family:var(--font-mono);font-size:1.6rem;letter-spacing:.4em;text-align:center;min-height:52px}.auth-steps{display:flex;gap:var(--s-2);font-size:var(--fs-caption);color:var(--color-ink-muted)}.auth-step[aria-current=step]{color:var(--color-accent-strong);font-weight:640}@media (max-width: 600px){.app-header{padding:var(--s-2) var(--s-3);gap:var(--s-2)}.container{padding:var(--s-3)}}@media (max-width: 400px){.header-email{display:none}}.password-form{display:flex;flex-direction:column;gap:var(--s-2)}.auth-divider{display:flex;align-items:center;gap:var(--s-3);margin:var(--s-4) 0 var(--s-2);color:var(--color-ink-muted);font-size:var(--fs-caption)}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--color-line)}.password-reqs{list-style:none;margin:var(--s-1) 0 0;padding:0;display:grid;gap:2px;font-size:var(--fs-caption);color:var(--color-ink-muted)}.password-reqs li{display:grid;grid-template-columns:1em 1fr;gap:var(--s-2);align-items:baseline}.password-reqs .is-met,.password-reqs li.is-met{color:var(--color-success)}.password-form__alt{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s-2);margin-top:var(--s-1)}.link-btn{padding:0;border:0;background:none;color:var(--color-accent);font:inherit;font-size:var(--fs-caption);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.link-btn:hover:not(:disabled){color:var(--color-accent-strong)}.link-btn:disabled{color:var(--color-ink-muted);cursor:not-allowed;text-decoration:none}}@layer feature{.workspace{display:grid;grid-template-columns:240px minmax(0,1fr);gap:var(--s-4);max-width:1180px;margin:0 auto;padding:var(--s-4);align-items:start}.folder-rail{position:sticky;top:calc(var(--header-h) + var(--s-3));max-height:calc(100vh - var(--header-h) - var(--s-6));overflow-y:auto;padding-right:var(--s-2)}.folder-tree{list-style:none;margin:0;padding:0}.folder-item{position:relative}.folder-link{display:flex;align-items:center;gap:var(--s-2);width:100%;min-height:32px;padding:var(--s-1) var(--s-2);border:0;border-radius:var(--radius-md);background:none;color:var(--color-ink);font-size:var(--fs-small);text-align:left;cursor:pointer;padding-left:calc(var(--s-2) + var(--folder-depth, 0) * var(--folder-indent, 14px))}.folder-link:hover{background:var(--color-surface)}.folder-link[aria-current=page]{background:var(--color-accent-soft);color:var(--color-accent-strong);font-weight:600}.folder-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-twisty{flex:none;width:18px;color:var(--color-ink-muted);transition:transform var(--t-fast) var(--ease-out)}.folder-twisty[data-open=true]{transform:rotate(90deg)}.folder-tree-foot{margin-top:var(--s-3);padding-top:var(--s-2);border-top:1px solid var(--color-line)}.trash-title{margin:0;font-size:var(--fs-h3)}.trash-hint{margin:0 0 var(--s-3);max-width:70ch}.trash-list{list-style:none;margin:0;padding:0}.trash-row{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-2) 0;border-bottom:1px solid var(--color-line)}.trash-row:last-child{border-bottom:0}.trash-row>svg{flex:none;color:var(--color-ink-muted)}.trash-name{display:flex;flex-direction:column;min-width:0;flex:1}.trash-name>a,.trash-name>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trash-when{white-space:nowrap}.trash-actions{display:flex;align-items:center;gap:var(--s-2);flex:none}.trash-delete{color:var(--color-danger)}@media (max-width: 600px){.trash-row{flex-wrap:wrap;row-gap:var(--s-1)}.trash-name{flex-basis:calc(100% - 16px - var(--s-3))}.trash-when{order:1;flex:1;padding-left:calc(16px + var(--s-3))}.trash-actions{order:2}}.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s-1);margin-bottom:var(--s-3);font-size:var(--fs-small);color:var(--color-ink-muted)}.breadcrumb a{color:inherit;text-decoration:none}.breadcrumb a:hover{color:var(--color-ink);text-decoration:underline}.breadcrumb-sep{opacity:.5}.workspace-head,.workspace-toolbar{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap;margin-bottom:var(--s-3)}.workspace-head .breadcrumb{margin-bottom:0;min-width:0}.workspace-head-actions{display:flex;align-items:center;gap:var(--s-1)}.workspace-search{flex:1;min-width:180px;max-width:320px}.doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--s-3)}.doc-card{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-3);min-height:132px;border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-bg);box-shadow:var(--shadow-xs);text-decoration:none;color:inherit;transition:box-shadow var(--t-fast) var(--ease-out),border-color var(--t-fast) var(--ease-out)}.doc-card:hover{box-shadow:var(--shadow-md);border-color:rgba(var(--ink-rgb),.2)}.doc-card-thumb,.doc-card-thumb-skeleton{aspect-ratio:16 / 9;margin:calc(-1 * var(--s-3)) calc(-1 * var(--s-3)) 0;border-radius:calc(var(--radius-lg) - 1px) calc(var(--radius-lg) - 1px) 0 0}.doc-card-thumb{display:grid;place-items:center;overflow:hidden;border-bottom:1px solid var(--color-line);background:var(--color-surface);color:var(--color-ink-muted)}.doc-card-thumb img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}.doc-grid+.doc-grid{margin-top:var(--s-3)}.doc-card-head{display:flex;align-items:flex-start;gap:var(--s-2)}.doc-card-title{font-weight:620;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.doc-card-menu{margin-left:auto;flex:none}.doc-card-meta{margin-top:auto;display:flex;flex-wrap:wrap;gap:var(--s-2);font-size:var(--fs-caption);color:var(--color-ink-muted)}.doc-card-stat{display:inline-flex;align-items:center;gap:4px}.visibility-chip[data-visibility=public]{color:var(--color-success)}.visibility-chip[data-visibility=unlisted]{color:var(--color-warn)}.upload-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-2);padding:var(--s-5);border:2px dashed var(--color-line);border-radius:var(--radius-lg);color:var(--color-ink-muted);text-align:center}.upload-dropzone[data-dragging=true]{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent-strong)}.upload-notes{display:grid;gap:var(--s-1);margin:var(--s-3) 0 0;padding-inline-start:var(--s-4);font-size:var(--fs-small);color:var(--color-ink-muted)}.workspace-main{min-width:0;min-height:60vh;border-radius:var(--radius-lg);outline:2px dashed transparent;outline-offset:4px;transition:outline-color var(--t-fast) var(--ease-out)}.workspace-main[data-drop-over]{outline-color:var(--color-accent)}.doc-card[data-drop-over]{border-color:var(--color-accent);background:var(--color-accent-soft)}.drop-hint{position:fixed;inset-block-end:calc(var(--s-4) + env(safe-area-inset-bottom,0px));inset-inline-start:50%;transform:translate(-50%);z-index:48;display:flex;align-items:center;gap:var(--s-2);width:max-content;max-width:min(26rem,calc(100% - var(--s-4) * 2));padding:var(--s-2) var(--s-3);border:1px solid var(--color-line);border-radius:var(--radius-pill);background:var(--color-bg);box-shadow:var(--shadow-md);font-size:var(--fs-caption);color:var(--color-ink);pointer-events:none}.drop-hint .upload-progress{width:80px;flex:none}.shared-folder{max-width:1180px;margin:0 auto;padding:var(--s-4)}.shared-folder-head{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s-2);margin-bottom:var(--s-2)}.shared-folder-head h1{display:flex;align-items:center;gap:var(--s-2);margin:0;font-size:var(--fs-h2)}.shared-folder-note{margin:0 0 var(--s-4);color:var(--color-ink-muted)}.shared-folder .doc-grid+.shared-folder-note{margin-top:var(--s-4)}@media (prefers-reduced-motion: reduce){.workspace-main{transition:none}}.upload-progress{width:100%;height:6px;border-radius:var(--radius-pill);background:var(--color-surface);overflow:hidden}.upload-progress-bar{height:100%;background:var(--color-accent);transition:width var(--t-fast) linear}@media (max-width: 860px){.workspace{grid-template-columns:minmax(0,1fr);padding:var(--s-3)}.folder-rail{display:none}.folder-rail[data-drawer=open]{display:block;position:fixed;inset:var(--header-h) auto 0 0;z-index:45;width:min(280px,82vw);max-height:none;padding:var(--s-3);background:var(--color-bg);border-right:1px solid var(--color-line);box-shadow:var(--shadow-xl)}}@media (max-width: 600px){.doc-grid{grid-template-columns:minmax(0,1fr)}.shared-folder{padding:var(--s-3)}.folder-link{--folder-indent: 10px}}}@layer feature{.viewer{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr);height:calc(100vh - var(--header-h));height:calc(100dvh - var(--header-h))}.viewer-body{grid-row:3;display:grid;grid-template-columns:minmax(0,1fr) 340px;min-height:0}.viewer-body[data-comments=closed]{grid-template-columns:minmax(0,1fr)}.viewer-toolbar{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--color-line);background:var(--color-bg);overflow-x:auto;scrollbar-width:none}.viewer-toolbar::-webkit-scrollbar{display:none}.viewer-title{min-width:0;max-width:44ch;font-weight:620}.viewer-title .breadcrumb{flex-wrap:nowrap;margin-bottom:0;min-width:0;font-size:var(--fs-caption);font-weight:400}.viewer-title .breadcrumb-current{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-small);font-weight:620;color:var(--color-ink)}.viewer-title .breadcrumb a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:0 1 auto;min-width:2ch}.viewer-title .breadcrumb-sep{flex:none}.viewer-toolbar-actions{margin-left:auto;display:flex;align-items:center;gap:var(--s-1)}.doc-frame-wrap{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:minmax(0,1fr);min-height:0;background:var(--color-surface)}.doc-frame-wrap>.slide-rail{grid-column:1}.doc-frame-stage{position:relative;grid-column:2;display:grid;grid-template-rows:minmax(0,1fr);min-width:0;min-height:0}.doc-frame{display:block;width:100%;height:100%;border:0;background:var(--color-bg)}.frame-loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:grid;place-items:center;background:var(--color-bg);pointer-events:none;animation:frame-loading-in var(--t-base) var(--ease-out) var(--t-fast) both}.frame-loading .btn{pointer-events:auto}@keyframes frame-loading-in{0%{opacity:0}}.frame-drop{position:absolute;inset:var(--s-2);z-index:6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-2);padding:var(--s-4);border:2px dashed var(--color-accent);border-radius:var(--radius-lg);background:var(--color-accent-soft);color:var(--color-accent-strong);text-align:center}.viewer-banners{display:flex;flex-direction:column;gap:var(--s-1);padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--color-line)}.presence-bar{display:flex;align-items:center;gap:var(--s-1);min-width:0;max-width:100%;overflow-x:auto}.presence-chip{display:inline-flex;flex:none;align-items:center;gap:6px;height:26px;padding:0 var(--s-2);border:1px solid var(--color-line);border-radius:var(--radius-pill);background:var(--color-bg);font-size:var(--fs-caption);cursor:pointer}.presence-chip[aria-pressed=true]{border-color:currentColor;box-shadow:inset 0 0 0 1px currentColor}.presence-dot{width:8px;height:8px;border-radius:50%;background:currentColor;flex:none}@media (forced-colors: active){.presence-dot{background:CanvasText;forced-color-adjust:none}}.presence-dot[data-mode=edit]{border-radius:2px;transform:rotate(45deg)}.presence-name{max-width:12ch;overflow:hidden;text-overflow:ellipsis}.scroll-rail{position:absolute;top:0;right:0;bottom:0;width:12px;background:transparent;pointer-events:none}.rail-marker{position:absolute;right:2px;width:8px;height:8px;border-radius:50%;pointer-events:auto;cursor:pointer;box-shadow:0 0 0 1px #ffffffb3}.rail-marker[data-kind=thread]{background:var(--color-annotation)}.rail-marker[data-kind=peer]{background:currentColor;height:3px;border-radius:2px;width:10px}.selection-fab{position:absolute;z-index:10;display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 var(--s-3);border:0;border-radius:var(--radius-pill);background:var(--color-ink);color:var(--color-bg);font-size:var(--fs-caption);font-weight:600;box-shadow:var(--shadow-lg);cursor:pointer}.selection-fab-bar{position:absolute;z-index:10;display:inline-flex;gap:var(--s-1)}.selection-fab-bar .selection-fab{position:static}.selection-fab[aria-disabled=true]{opacity:.6;cursor:not-allowed}.selection-dock{position:fixed;left:var(--s-3);right:var(--s-3);bottom:calc(var(--s-3) + env(safe-area-inset-bottom,0px));z-index:30;justify-content:center;gap:var(--s-2)}.selection-dock .selection-fab{height:auto;min-height:44px;padding:0 var(--s-4)}.suggest-sheet{position:fixed;left:var(--s-3);right:var(--s-3);bottom:calc(var(--s-3) + env(safe-area-inset-bottom,0px));z-index:31;max-height:60vh;overflow:auto}.suggest-popover{position:absolute;z-index:11;padding:var(--s-2) var(--s-3);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-bg);box-shadow:var(--shadow-lg)}.suggest-form{display:flex;flex-direction:column;gap:var(--s-1)}.suggest-quote{overflow-wrap:anywhere;font-style:italic}.suggest-actions{display:flex;gap:var(--s-1);margin-top:var(--s-1)}.is-presenting .app-header,.is-presenting .viewer-toolbar,.is-presenting .viewer-banners,.is-presenting .comments-panel,.is-presenting .consent{display:none}.is-presenting .viewer{height:100vh;height:100dvh}.is-presenting .viewer-body{grid-template-columns:minmax(0,1fr)}@media print{.app-header,.viewer-toolbar,.viewer-banners,.comments-panel,.consent,.slide-rail,.slide-overview,.selection-fab,.frame-loading,.present-counter,.present-exit{display:none!important}.viewer{height:auto}.viewer-body{grid-template-columns:minmax(0,1fr)}}.present-counter{position:fixed;left:var(--s-3);bottom:var(--s-3);z-index:50;padding:2px var(--s-2);border-radius:var(--radius-pill);background:rgba(var(--ink-rgb),.55);color:var(--color-bg);font-size:var(--fs-caption);font-variant-numeric:tabular-nums}.present-exit{position:fixed;right:var(--s-3);bottom:var(--s-3);z-index:50;opacity:.35;transition:opacity var(--t-fast) var(--ease-out)}.present-exit:hover,.present-exit:focus-visible{opacity:1}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--s-2)}.stat-tile{padding:var(--s-2) var(--s-3);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface)}.stat-value{font-size:var(--fs-h3);font-weight:650;font-variant-numeric:tabular-nums}.stat-label{font-size:var(--fs-caption);color:var(--color-ink-muted)}.details-list{display:grid;grid-template-columns:max-content 1fr;gap:var(--s-2) var(--s-3);margin:0;font-size:var(--fs-small)}.details-list dt{color:var(--color-ink-muted)}.details-list dd{margin:0}.activity-feed{list-style:none;margin:0;padding:0}.activity-row{display:flex;align-items:baseline;gap:var(--s-2);padding:var(--s-2) 0;border-bottom:1px solid var(--color-line);font-size:var(--fs-small)}.activity-row:last-child{border-bottom:0}.activity-when{margin-left:auto;font-size:var(--fs-caption);color:var(--color-ink-muted);white-space:nowrap}@media (max-width: 1100px){.viewer-toolbar .btn-label{display:none}.viewer-toolbar .btn-keep-label .btn-label{display:inline}}@media (max-width: 860px){.viewer-toolbar{flex-wrap:wrap;overflow-x:visible}.viewer-toolbar .presence-bar{flex-basis:100%;order:1}.viewer-toolbar-actions{flex-wrap:wrap;max-width:100%}.viewer-body{grid-template-columns:minmax(0,1fr)}.viewer-title{max-width:24ch}.viewer-title .breadcrumb a:not(:first-of-type),.viewer-title .breadcrumb .breadcrumb-sep[data-folder]{display:none}}@media (max-width: 400px){.details-list{grid-template-columns:1fr;gap:var(--s-1)}.details-list dd{margin-bottom:var(--s-2)}.details-versions .activity-row{flex-wrap:wrap}.details-versions .activity-row>.details-how{flex-basis:100%;order:1}.viewer-title,.viewer-toolbar .btn-keep-label .btn-label{display:none}.viewer-toolbar-actions{flex-wrap:wrap;justify-content:flex-end}.viewer-toolbar .expiry-chip .chip-label,.viewer-toolbar .fork-chip .chip-label{display:none}}}@layer feature{.comments-panel{display:flex;flex-direction:column;min-height:0;border-left:1px solid var(--color-line);background:var(--color-bg)}.comments-head{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--color-line)}.comments-count{font-weight:620}.comments-head .icon-btn{margin-left:auto;flex-shrink:0}.comments-review{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);padding:var(--s-1) var(--s-3);border-bottom:1px solid var(--color-line);background:var(--color-accent-soft);font-size:var(--fs-small)}.comments-list{flex:1;min-height:0;overflow-y:auto;padding:var(--s-2);display:flex;flex-direction:column;gap:var(--s-2)}.thread{border:1px solid var(--color-line);border-left:3px solid var(--thread-color, var(--color-annotation));border-radius:var(--radius-md);background:var(--color-bg);padding:var(--s-2);cursor:pointer}.thread[aria-selected=true]{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.thread[data-resolved=true]{opacity:.68;border-left-style:dashed}.thread-quote{font-size:var(--fs-caption);color:var(--color-ink-muted);padding:var(--s-1) var(--s-2);margin-bottom:var(--s-2);border-radius:var(--radius-sm);background:var(--color-surface);overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.comment{display:flex;flex-direction:column;gap:2px;padding:var(--s-1) 0}.comment+.comment{border-top:1px solid var(--color-line)}.comment-head{display:flex;align-items:baseline;gap:var(--s-1);font-size:var(--fs-caption);color:var(--color-ink-muted)}.comment-author{font-weight:620;color:var(--color-ink)}.comment-body{white-space:pre-wrap;font-size:var(--fs-small)}.thread-actions{display:flex;align-items:center;gap:var(--s-1);margin-top:var(--s-2)}.suggestion{padding:var(--s-1) var(--s-2);margin-bottom:var(--s-2);border-radius:var(--radius-sm);background:var(--color-surface)}.suggestion-change{margin:0;overflow-wrap:anywhere}.suggestion-change del{color:var(--color-ink-muted);text-decoration-color:var(--thread-color, var(--color-annotation));text-decoration-thickness:2px}.suggestion-change ins{text-decoration:underline 2px var(--thread-color, var(--color-annotation));background:var(--color-accent-soft)}.suggestion-delete{color:var(--color-ink-muted);font-style:italic}.suggestion-status{margin:var(--s-1) 0 0;font-size:var(--fs-caption);color:var(--color-ink-muted)}.suggestion[data-stale] .suggestion-status{color:var(--color-warn)}.suggestion[data-state=accepted] .suggestion-status{color:var(--color-success)}.suggestion-actions .input{flex:1 1 8rem;min-width:0}.suggestion-history{margin-top:var(--s-1);font-size:var(--fs-caption);color:var(--color-ink-muted)}.suggestion-history summary{cursor:pointer}.suggestion-history ol{margin:var(--s-1) 0 0;padding-left:var(--s-4)}.suggestion-history li{overflow-wrap:anywhere}.suggestion-history-note{margin:0;font-style:italic}.thread-composing{display:flex;align-items:center;gap:6px;font-size:var(--fs-caption);color:var(--peer-color, var(--color-ink-muted));font-style:italic}.comment-composer{padding:var(--s-2) var(--s-3);border-top:1px solid var(--color-line);background:var(--color-surface)}.signin-to-comment{padding:var(--s-3);border-top:1px solid var(--color-line);background:var(--color-accent-soft);font-size:var(--fs-small)}@media screen and (max-width: 860px){.comments-panel{border-left:0;border-top:1px solid var(--color-line)}.viewer[data-pane=doc] .comments-panel,.viewer[data-pane=comments] .doc-frame-wrap{display:none}}.pane-toggle{display:none;gap:0;border:1px solid var(--color-line);border-radius:var(--radius-md);overflow:hidden}.pane-toggle button{border:0;background:var(--color-bg);padding:0 var(--s-2);min-height:30px;font-size:var(--fs-caption);cursor:pointer}.pane-toggle button[aria-pressed=true]{background:var(--color-accent-soft);color:var(--color-accent-strong);font-weight:620}@media screen and (max-width: 860px){.pane-toggle{display:inline-flex}}}@layer feature{.edit-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s-1);padding:var(--s-1) var(--s-3);border-bottom:1px solid var(--color-line);background:var(--color-surface)}.toolbar-group{display:flex;align-items:center;gap:2px;padding-right:var(--s-2);border-right:1px solid var(--color-line)}.toolbar-group:last-of-type{border-right:0}.toolbar-select{min-height:30px;padding:0 var(--s-1);border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-bg);font-size:var(--fs-caption)}.toolbar-btn{width:auto;min-width:34px;padding:0 var(--s-1);white-space:nowrap;font-size:var(--fs-caption);line-height:1}.toolbar-btn[data-control=bold]{font-weight:750}.toolbar-btn[data-control=italic]{font-style:italic}.toolbar-btn[data-control=underline]{text-decoration:underline}.toolbar-btn[data-control=strike]{text-decoration:line-through}.toolbar-btn:disabled,.toolbar-select:disabled{opacity:.4;cursor:not-allowed}.toolbar-unavailable{position:relative}.toolbar-unavailable:after{content:attr(data-reason);position:absolute;left:50%;top:calc(100% + 6px);transform:translate(-50%);z-index:30;width:max-content;max-width:220px;padding:var(--s-1) var(--s-2);border-radius:var(--radius-sm);background:var(--color-ink);color:var(--color-bg);font-size:var(--fs-caption);line-height:1.35;opacity:0;pointer-events:none;transition:opacity var(--t-fast) var(--ease-out)}.toolbar-unavailable:hover:after,.toolbar-unavailable:focus-within:after{opacity:1}.toolbar-end{margin-left:auto;display:flex;align-items:center;gap:var(--s-3)}.save-state{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-caption);color:var(--color-ink-muted);white-space:nowrap}.save-state[data-state=error]{color:var(--color-danger)}.save-state[data-state=saved]{color:var(--color-success)}.share-state{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-caption);color:var(--color-ink-muted);white-space:nowrap}.share-state:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.share-state[data-state=shared]{color:var(--color-success)}.share-state[data-state=joining]{color:var(--color-warn)}.commit-blocked{font-size:var(--fs-small)}.commit-blocked strong{font-weight:640}@media (max-width: 860px){.toolbar-group{border-right:0;padding-right:var(--s-1)}.toolbar-group[data-overflow=true]{display:none}}.review-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--color-line);background:var(--color-warn-soft);font-size:var(--fs-small)}.review-bar.is-reviewing{background:var(--color-accent-soft)}.review-count{font-weight:620;white-space:nowrap}.review-change{flex:1 1 16rem;min-width:0;margin:0;overflow-wrap:anywhere}.review-by{color:var(--color-ink-muted)}.review-change del{text-decoration-color:var(--color-annotation);text-decoration-thickness:2px}.review-change ins{text-decoration:underline 2px var(--color-annotation)}.review-stale{color:var(--color-warn)}.review-actions{display:flex;flex-wrap:wrap;gap:var(--s-1)}.review-actions .input{flex:1 1 10rem;min-width:0}}@layer feature{.slide-rail{display:flex;flex-direction:column;gap:var(--s-2);width:168px;padding:var(--s-2);overflow:hidden auto;overscroll-behavior:contain;border-right:1px solid var(--color-line);background:var(--color-surface)}.slide-thumb,.slide-add{flex:none}.slide-thumb{position:relative;display:block;width:100%;padding:0;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-bg);overflow:hidden;cursor:pointer;text-align:left}.slide-rail .slide-thumb[draggable=true]{cursor:grab}.slide-thumb-box{position:relative;display:block;width:100%;aspect-ratio:var(--thumb-ratio, 16 / 9);overflow:hidden;background:var(--color-bg)}.slide-thumb-frame{position:absolute;top:0;left:0;border:0;transform-origin:top left;pointer-events:none}.slide-thumb-skeleton{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:0;pointer-events:none}.slide-thumb-frame[data-painted]+.slide-thumb-skeleton{display:none}.slide-thumb-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.slide-thumb-image[data-painted]+.slide-thumb-skeleton{display:none}.slide-thumb[aria-current=true]{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-soft)}.slide-thumb[data-dragging=true]{opacity:.5;cursor:grabbing}.slide-thumb[data-drop-target=true]{border-color:var(--color-accent);border-style:dashed}.slide-thumb-index{position:absolute;left:4px;top:4px;min-width:18px;height:18px;padding:0 4px;border-radius:var(--radius-sm);background:rgba(var(--ink-rgb),.72);color:var(--color-bg);font-size:.7rem;font-variant-numeric:tabular-nums;line-height:18px;text-align:center}.slide-thumb-title{position:absolute;inset:auto 0 0 0;padding:3px 5px;background:color-mix(in srgb,var(--color-bg) 86%,transparent);font-size:.68rem;line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.slide-thumb-actions{position:absolute;right:3px;top:3px;display:flex;gap:2px;opacity:0;transition:opacity var(--t-fast) var(--ease-out)}.slide-thumb:hover .slide-thumb-actions,.slide-thumb:focus-within .slide-thumb-actions{opacity:1}@media (hover: none),(pointer: coarse){.slide-thumb-actions{opacity:1}}.slide-add{width:100%;min-height:40px;border:1px dashed var(--color-line);border-radius:var(--radius-md);background:none;color:var(--color-ink-muted);font-size:var(--fs-caption);cursor:pointer}.slide-add:hover{border-color:var(--color-accent);color:var(--color-accent-strong)}@media (max-width: 860px){.slide-rail{position:absolute;inset:0 auto 0 0;z-index:45;box-shadow:var(--shadow-xl);transform:translate(-100%);transition:transform var(--t-base) var(--ease-out)}.slide-rail[data-drawer=open]{transform:translate(0)}}.slide-overview{position:absolute;top:0;right:0;bottom:0;left:0;z-index:46;display:grid;grid-template-rows:auto minmax(0,1fr);background:color-mix(in srgb,var(--color-surface) 96%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.slide-overview-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--color-line);color:var(--color-ink-muted);font-size:var(--fs-caption)}.slide-overview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(236px,1fr));gap:var(--s-3);padding:var(--s-3);overflow-y:auto;align-content:start;align-items:start}@media (max-width: 600px){.slide-overview-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--s-2);padding:var(--s-2)}}.slide-overview-item{display:grid;grid-template-rows:auto auto;gap:var(--s-1);padding:0;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-bg);overflow:hidden;cursor:pointer;text-align:left}.slide-overview-item[aria-current=true]{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-soft)}.slide-overview-caption{display:flex;gap:var(--s-1);align-items:baseline;padding:0 var(--s-2) var(--s-2);font-size:var(--fs-caption)}.slide-overview-index{flex:none;color:var(--color-ink-muted);font-variant-numeric:tabular-nums}.slide-overview-title{min-width:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}@media (prefers-reduced-motion: reduce){.slide-overview{-webkit-backdrop-filter:none;backdrop-filter:none}}}@layer feature{.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:var(--s-3);background:rgba(var(--ink-rgb),.44)}.modal{width:min(520px,100%);max-height:min(84vh,720px);display:flex;flex-direction:column;border-radius:var(--radius-lg);background:var(--color-bg);box-shadow:var(--shadow-xl)}.modal-wide{width:min(720px,100%)}.modal-head{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-3);border-bottom:1px solid var(--color-line)}.modal-title{font-size:var(--fs-h3)}.modal-head .icon-btn{margin-left:auto}.modal-body{padding:var(--s-3);overflow-y:auto}.modal-foot{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-3);border-top:1px solid var(--color-line)}.modal-foot .spacer{flex:1}.menu{position:absolute;z-index:55;min-width:192px;padding:var(--s-1);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-bg);box-shadow:var(--shadow-lg)}.menu-item{display:flex;align-items:center;gap:var(--s-2);width:100%;min-height:32px;padding:0 var(--s-2);border:0;border-radius:var(--radius-sm);background:none;font-size:var(--fs-small);text-align:left;cursor:pointer}.menu-item:hover:not(:disabled){background:var(--color-surface)}.menu-item:disabled{opacity:.45;cursor:not-allowed}.menu-item-danger{color:var(--color-danger)}.menu-sep{height:1px;margin:var(--s-1) 0;background:var(--color-line)}.menu-label{padding:var(--s-1) var(--s-2);font-size:var(--fs-caption);font-weight:620;color:var(--color-ink-muted)}.share-list{list-style:none;margin:0 0 var(--s-3);padding:0}.share-row{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) 0;border-bottom:1px solid var(--color-line)}.share-row:last-child{border-bottom:0}.share-principal{display:flex;flex-direction:column;gap:1px;min-width:0}.share-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-sub{font-size:var(--fs-caption);color:var(--color-ink-muted)}.share-role{margin-left:auto}.team-expansion{margin:0 0 var(--s-2) var(--s-4);padding:var(--s-2);border-left:2px solid var(--color-line);font-size:var(--fs-caption);color:var(--color-ink-muted)}.team-expansion summary{cursor:pointer}.member-list{list-style:none;margin:0 0 var(--s-3);padding:0}.member-row{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) 0;border-bottom:1px solid var(--color-line)}.member-row:last-child{border-bottom:0}.member-row .share-principal{flex:1}.member-actions{display:flex;align-items:center;gap:var(--s-1)}.danger-zone{margin-top:var(--s-4);padding-top:var(--s-3);border-top:1px solid var(--color-line)}@media (max-width: 600px){.member-row{flex-wrap:wrap}.member-row .share-principal{flex:1 0 100%}}.visibility-section{margin-top:var(--s-4)}.visibility-heading{display:flex;align-items:center;gap:var(--s-2);margin-bottom:var(--s-2)}.visibility-options{display:grid;gap:var(--s-2)}.modal-wide .visibility-options{grid-template-columns:repeat(3,minmax(0,1fr))}.visibility-option{display:flex;align-items:flex-start;gap:var(--s-2);padding:var(--s-2);border:1px solid var(--color-line);border-radius:var(--radius-md);cursor:pointer}.visibility-option>svg{flex:none;margin-top:1px}.visibility-option>span{min-width:0}.visibility-option[data-selected=true]{border-color:var(--color-accent);background:var(--color-accent-soft)}.visibility-desc{font-size:var(--fs-caption);color:var(--color-ink-muted)}.link-row{display:flex;align-items:center;gap:var(--s-2);margin-top:var(--s-2);padding:var(--s-2);border-radius:var(--radius-md);background:var(--color-surface)}.link-row input{flex:1;min-width:0;font-family:var(--font-mono);font-size:var(--fs-caption);border:0;background:none}.trust-scopes{display:flex;flex-direction:column;gap:var(--s-2)}.trust-scope{padding:var(--s-2) var(--s-3);border:1px solid var(--color-line);border-radius:var(--radius-md)}.trust-scope-title{font-weight:620;margin-bottom:2px}.trust-scope-note{font-size:var(--fs-caption);color:var(--color-ink-muted)}.trust-scope[data-scope=global]{border-color:#8a52004d;background:var(--color-warn-soft)}.token-reveal{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-3);border:1px solid var(--color-accent);border-radius:var(--radius-md);background:var(--color-accent-soft)}.token-value{flex:1;min-width:0;font-family:var(--font-mono);font-size:var(--fs-caption);word-break:break-all}.token-list{list-style:none;margin:0;padding:0}.token-row{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) 0;border-bottom:1px solid var(--color-line)}.token-row[data-revoked=true]{opacity:.5}.token-unused{color:var(--color-warn)}.connect-url{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface)}.connect-url .token-value{font-size:var(--fs-small)}.bg-choices{display:flex;gap:var(--s-2)}.bg-choice{width:40px;height:32px;border:1px solid var(--color-line);border-radius:var(--radius-sm);cursor:pointer}.bg-choice[aria-pressed=true]{box-shadow:0 0 0 2px var(--color-accent)}.bg-choice[data-bg=transparent]{background-image:linear-gradient(45deg,var(--color-surface) 25%,transparent 25%),linear-gradient(-45deg,var(--color-surface) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--color-surface) 75%),linear-gradient(-45deg,transparent 75%,var(--color-surface) 75%);background-size:10px 10px;background-position:0 0,0 5px,5px -5px,-5px 0}.bg-choice[data-bg=white]{background:#fff}.bg-choice[data-bg=surface]{background:var(--color-surface)}@media (max-width: 600px){.modal-backdrop{align-items:flex-end;padding:0}.modal{width:100%;max-height:90dvh;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.modal-wide .visibility-options{grid-template-columns:minmax(0,1fr)}}.expiry-row{margin-top:var(--s-4);padding-top:var(--s-3);border-top:1px solid var(--color-line)}.expiry-row .link-row{margin-top:var(--s-2)}.expiry-row input[type=date]{flex:0 1 auto}.reach-list{list-style:none;margin:var(--s-3) 0 0;padding:0;display:grid;gap:var(--s-1)}.reach-list li{display:flex;align-items:baseline;gap:var(--s-1)}.reach-list li[data-ended]{opacity:.7}}@layer feature{.consent{position:fixed;inset-block-end:calc(var(--s-3) + env(safe-area-inset-bottom,0px));inset-inline-end:var(--s-3);z-index:42;width:min(24rem,calc(100% - var(--s-3) * 2));display:flex;flex-direction:column;gap:var(--s-3);padding:var(--s-4);background:var(--color-bg);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:consent-in var(--t-base) var(--ease-out) both}@keyframes consent-in{0%{opacity:0;transform:translateY(var(--s-2))}}@media (prefers-reduced-motion: reduce){.consent{animation-name:consent-appear}}@keyframes consent-appear{0%{opacity:0}}.consent-text{margin:0;font-size:var(--fs-small);line-height:1.6;color:var(--color-ink-muted);text-wrap:pretty}.consent-actions{display:flex;flex-wrap:wrap;gap:var(--s-2)}.consent-actions .btn{flex:1 1 0;min-height:var(--tap);border-color:rgba(var(--ink-rgb),.48)}@media (max-width: 600px){.consent{inset-inline:var(--s-3);width:auto;padding:var(--s-3);gap:var(--s-2)}}@media print{.consent{display:none}}}@layer feature{.connect-card{width:min(480px,100%)}.connect-from{margin:0;color:var(--color-ink-muted);font-size:var(--fs-small)}.connect-from .chip{margin-left:var(--s-1)}.connect-name{color:var(--color-ink);font-weight:600}.connect-destination{display:flex;flex-direction:column;gap:var(--s-1);padding:var(--s-3);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface)}.connect-host{font-size:var(--fs-h3);font-weight:650;color:var(--color-ink);overflow-wrap:anywhere}.connect-subhead{margin-bottom:var(--s-1);font-size:var(--fs-small);font-weight:620}.connect-list{margin:0;padding-left:var(--s-4);font-size:var(--fs-small)}.connect-list li+li{margin-top:2px}.connect-list-not{color:var(--color-ink-muted)}.connect-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--s-2);margin-top:var(--s-2)}.connect-guide{margin-top:var(--s-3);border-top:1px solid var(--color-line)}.connect-guide details{padding:var(--s-2) 0;border-bottom:1px solid var(--color-line);font-size:var(--fs-small)}.connect-guide summary{cursor:pointer;font-weight:600}.connect-guide details>:not(summary){margin-top:var(--s-2)}.connect-guide code{overflow-wrap:anywhere}.connect-skills{list-style:none;margin:var(--s-2) 0 0;padding:0;display:grid;gap:var(--s-2)}.connect-skills a{display:inline-flex;align-items:center;gap:var(--s-1);font-weight:600}}@layer feature{.legal{max-width:72ch;margin:0 auto;padding:var(--s-5) var(--s-4) var(--s-7)}.legal h1{margin-bottom:var(--s-2)}.legal__updated{margin-top:0;color:var(--color-ink-muted);font-size:var(--fs-caption)}.legal h2{margin-top:var(--s-5)}.legal p,.legal li{line-height:1.65}.legal ul{padding-inline-start:var(--s-4)}.legal__nav{display:flex;gap:var(--s-3);margin-top:var(--s-7);padding-top:var(--s-4);border-top:1px solid var(--color-line);font-size:var(--fs-caption)}}@layer feature{.landing{max-width:66rem;margin:0 auto;padding:var(--s-6) var(--s-4) var(--s-7);display:flex;flex-direction:column;gap:var(--s-7)}.landing-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start;gap:var(--s-6);padding-top:var(--s-4)}.landing-hero-main{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-3);min-width:0}.landing-hero h1{max-width:28ch;margin:0}.landing-agent-line{display:block}.landing-stop{color:var(--color-accent)}.landing-lead{font-size:var(--fs-h3);max-width:54ch;margin:0}.landing-formats,.landing-body{color:var(--color-ink-muted);max-width:65ch;margin:0}.landing-cta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s-3);margin-top:var(--s-2)}.landing-start{min-height:var(--tap);padding:0 var(--s-5);font-size:var(--fs-lead)}.landing-fine{font-size:var(--fs-small);color:var(--color-ink-muted);margin:0}.landing-section{display:flex;flex-direction:column;gap:var(--s-3)}.landing-video{display:block;width:100%;height:auto;aspect-ratio:16 / 9;object-fit:contain;border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-surface)}.landing-video::cue{font-size:clamp(var(--fs-body),1.5vw,var(--fs-h3))}.landing-video:fullscreen::cue{font-size:clamp(var(--fs-body),2.5vw,var(--fs-h1))}.landing-video:-webkit-full-screen::cue{font-size:clamp(var(--fs-body),2.5vw,var(--fs-h1))}.landing-media-notice{margin:0;color:var(--color-ink-muted)}.landing-points{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-5)}.landing-points>li{display:flex;flex-direction:column;gap:var(--s-2)}.landing-points h2{font-size:var(--fs-h3)}.landing-points p{margin:0;color:var(--color-ink-muted)}.landing-agents{display:flex;flex-direction:column;gap:var(--s-3);min-width:0;padding:var(--s-4);border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-surface)}.landing-agents h2{font-size:var(--fs-h3)}.landing-agent-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s-3);margin:0}.landing-guide{display:inline-flex;align-items:center;gap:var(--s-1);min-width:0;max-width:100%;padding:var(--s-1) var(--s-1) var(--s-1) var(--s-3);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-bg)}.landing-guide-link{display:block;min-height:var(--tap);line-height:var(--tap);font-size:var(--fs-small);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.landing-guide-copy{flex:0 0 auto;width:var(--tap);height:var(--tap)}.landing-copy{min-height:var(--tap)}.landing-manual{font-size:var(--fs-small)}.landing-bottom-cta{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--s-3)}.landing-bottom-cta p{font-size:var(--fs-h2);margin:0}.landing-footer{border-top:1px solid var(--color-line);padding-top:var(--s-4);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--s-3);font-size:var(--fs-small);color:var(--color-ink-muted)}.landing-footer p{margin:0}.landing-footer-nav{display:flex;gap:var(--s-4)}.landing-footer-nav a{display:inline-flex;align-items:center;min-height:var(--tap)}@media (max-width: 860px){.landing-hero{grid-template-columns:minmax(0,1fr)}.landing-points{grid-template-columns:minmax(0,1fr);gap:var(--s-4)}}@media (max-width: 600px){.landing{gap:var(--s-6);padding:var(--s-5) var(--s-3) var(--s-6)}.landing-hero{padding-top:0}.landing-agents{padding:var(--s-4)}}}
