:root{--react-pdf-annotation-layer: 1;--annotation-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color: Highlight;--input-focus-outline: 1px solid Canvas;--input-unfocused-border-color: transparent;--input-disabled-border-color: transparent;--input-hover-border-color: black;--link-outline: none}@media screen and (forced-colors:active){:root{--input-focus-border-color: CanvasText;--input-unfocused-border-color: ActiveText;--input-disabled-border-color: GrayText;--input-hover-border-color: Highlight;--link-outline: 1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{position:absolute;width:100%;height:100%}.annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;margin:0;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--total-scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{background:none;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{background:none;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-image:none;background-color:transparent}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{position:absolute;font-size:calc(9px * var(--total-scale-factor));width:100%;min-width:calc(180px * var(--total-scale-factor));pointer-events:none}.annotationLayer .popup{position:absolute;max-width:calc(180px * var(--total-scale-factor));background-color:#ff9;box-shadow:0 calc(2px * var(--total-scale-factor)) calc(5px * var(--total-scale-factor)) #888;border-radius:calc(2px * var(--total-scale-factor));padding:calc(6px * var(--total-scale-factor));margin-left:calc(5px * var(--total-scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto}.annotationLayer .popup>*{font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px * var(--total-scale-factor))}.annotationLayer .popupContent{border-top:1px solid rgba(51,51,51,1);margin-top:calc(2px * var(--total-scale-factor));padding-top:calc(2px * var(--total-scale-factor))}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{position:absolute;width:100%;height:100%;top:0;left:0}.annotationLayer .annotationTextContent{position:absolute;width:100%;height:100%;opacity:0;color:transparent;-webkit-user-select:none;user-select:none;pointer-events:none}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer: 1}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translate(-100%)}.textLayer{color-scheme:only light;position:absolute;text-align:initial;inset:0;overflow:clip;opacity:1;line-height:1;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;caret-color:CanvasText;z-index:0;--min-font-size: 1;--text-scale-factor: calc(var(--total-scale-factor) * var(--min-font-size));--min-font-size-inv: calc(1 / var(--min-font-size))}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;margin:0;transform-origin:0 0}.textLayer>:not(.markedContent),.textLayer .markedContent span:not(.markedContent){z-index:1;--font-height: 0;font-size:calc(var(--text-scale-factor) * var(--font-height));--scale-x: 1;--rotate: 0deg;transform:rotate(var(--rotate)) scaleX(var(--scale-x)) scale(var(--min-font-size-inv))}.textLayer .markedContent{display:contents}.textLayer span[role=img]{-webkit-user-select:none;user-select:none;cursor:default}.textLayer .highlight{--highlight-bg-color: rgb(180 0 170 / .25);--highlight-selected-bg-color: rgb(0 100 0 / .25);--highlight-backdrop-filter: none;--highlight-selected-backdrop-filter: none;margin:-1px;padding:1px;background-color:var(--highlight-bg-color);-webkit-backdrop-filter:var(--highlight-backdrop-filter);backdrop-filter:var(--highlight-backdrop-filter);border-radius:4px}@media screen and (forced-colors:active){.textLayer .highlight{--highlight-bg-color: Highlight;--highlight-selected-bg-color: ButtonText}}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color);-webkit-backdrop-filter:var(--highlight-selected-backdrop-filter);backdrop-filter:var(--highlight-selected-backdrop-filter)}.textLayer ::selection{background:#0000ff40}@supports (background: color-mix(in srgb,AccentColor,transparent 75%)){.textLayer ::selection{background:color-mix(in srgb,AccentColor,transparent 75%)}}.textLayer br::selection{background:transparent}.textLayer .endOfContent{display:block;position:absolute;inset:100% 0 0;z-index:0;cursor:default;-webkit-user-select:none;user-select:none}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{position:absolute;top:0;left:0;width:0;height:0;display:none}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/JetBrainsMono-400-latin-ext-DIC32ArD.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/JetBrainsMono-400-latin-6fWv1k7M.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/JetBrainsMono-400-latin-ext-DIC32ArD.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/JetBrainsMono-400-latin-6fWv1k7M.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Kanit;font-style:normal;font-weight:300;font-display:swap;src:url(/assets/Kanit-300-latin-ext-O04NoA38.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Kanit;font-style:normal;font-weight:300;font-display:swap;src:url(/assets/Kanit-300-latin-Dvhd4GiE.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Kanit;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/Kanit-400-latin-ext-B2xPf58u.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Kanit;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/Kanit-400-latin-BUlsQXH3.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Kanit;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/Kanit-500-latin-ext-EHs3suD6.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Kanit;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/Kanit-500-latin-CX_4XcKi.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Kanit;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/Kanit-600-latin-ext-DAX3wtuq.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Kanit;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/Kanit-600-latin-0lS78yAd.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--rail-width: 15rem;--bg-page: #ffffff;--bg-raised: #f7f7fa;--bg-sunken: #ececf2;--bg-code: #f2f2f7;--bg-rail: #23232e;--bg-rail-hover: #141418;--text-primary: #16161d;--text-secondary: #55555f;--text-muted: #8a8a95;--text-rail: #b6b6b6;--text-rail-active: #ececec;--accent: #0b6bcb;--accent-hover: #0a5aa8;--accent-rail: #00d5d5;--success: #1f8b3c;--warning: #b45309;--danger: #c22a2a;--border: #d8d8e0;--border-strong: #b4b4c0;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--space-2xl: 32px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 10px;--shadow-sm: 0 1px 2px rgba(20, 20, 30, .08);--shadow-md: 0 4px 14px rgba(20, 20, 30, .12);--font-body: "Kanit", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", ui-monospace, Consolas, monospace;--font-size-xs: 12px;--font-size-sm: 13px;--font-size-base: 15px;--font-size-lg: 17px;--transition: .15s cubic-bezier(.4, 0, .2, 1);color-scheme:light}:root[data-theme=dark]{--bg-page: #16161d;--bg-raised: #1d1d26;--bg-sunken: #23232e;--bg-code: #1a1a22;--bg-rail: #101016;--bg-rail-hover: #05050a;--text-primary: #e4e4ec;--text-secondary: #a6a6b4;--text-muted: #74747f;--accent: #63a7f0;--accent-hover: #8cc0f7;--success: #55c973;--warning: #e4a44a;--danger: #ef6161;--border: #33333f;--border-strong: #474756;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .5);--shadow-md: 0 4px 14px rgba(0, 0, 0, .55);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg-page);color:var(--text-primary);font-family:var(--font-body);font-size:var(--font-size-base);font-weight:300;line-height:1.55}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{font-weight:500;line-height:1.25;margin:0 0 var(--space-md)}h1{font-size:1.7rem}h2{font-size:1.3rem}h3{font-size:1.1rem}h4{font-size:1rem}.layout{display:flex;min-height:100%}.content{flex:1;min-width:0;padding:var(--space-xl) var(--space-2xl) 4rem;max-width:1180px}.rail{position:sticky;top:0;align-self:flex-start;display:flex;flex-direction:column;width:var(--rail-width);min-width:var(--rail-width);height:100vh;background:var(--bg-rail);color:var(--text-rail);overflow-y:auto}.rail__logo{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-lg) var(--space-lg);background:var(--bg-rail-hover);color:var(--text-rail-active);font-size:1.25rem;font-weight:600;letter-spacing:.25ch;text-transform:uppercase}.rail__logo:hover{text-decoration:none}.rail__logo svg{width:1.9rem;height:1.9rem;color:var(--accent-rail);flex:none}.rail__section{padding:var(--space-lg) var(--space-lg) var(--space-xs);color:var(--text-muted);font-size:10px;font-weight:500;letter-spacing:.18ch;text-transform:uppercase}.rail__link{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-lg);color:var(--text-rail);font-size:var(--font-size-sm);border-left:3px solid transparent;transition:background var(--transition),color var(--transition);cursor:pointer}.rail__link:hover{background:var(--bg-rail-hover);color:var(--text-rail-active);text-decoration:none}.rail__link.is-active{background:var(--bg-rail-hover);color:var(--text-rail-active);border-left-color:var(--accent-rail)}.rail__link svg{width:1rem;height:1rem;flex:none;opacity:.85}.rail__badge{margin-left:auto;min-width:1.3rem;padding:0 6px;background:var(--danger);color:#fff;font-size:11px;line-height:1.3rem;text-align:center;border-radius:999px}.tab-badge{position:relative}.tab-badge__count{position:absolute;top:-.55rem;right:-.75rem;min-width:1.15rem;padding:0 5px;background:var(--danger);color:#fff;font-size:11px;line-height:1.15rem;text-align:center;border-radius:999px}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,27rem);gap:var(--space-xl);align-items:start}.split>*{min-width:0}.content:has(.split){max-width:none}.split__aside{position:sticky;top:var(--space-xl);height:calc(100vh - 8rem);min-height:24rem}@media(max-width:1279px){.split{grid-template-columns:minmax(0,1fr)}.split__aside{position:static;height:auto}.chat{height:32rem}}.chat{display:flex;flex-direction:column;height:100%;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.chat__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border)}.chat__title{font-weight:500;color:var(--text-primary);text-decoration:none;text-align:left;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:inherit}.chat__title:hover{text-decoration:underline}.chat__threads{max-height:14rem;overflow-y:auto;border-bottom:1px solid var(--border);background:var(--bg-sunken)}.chat__thread{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-md)}.chat__thread:hover{background:var(--bg-raised)}.chat__thread--on{box-shadow:inset 2px 0 0 var(--accent)}.chat__thread-open{flex:1;min-width:0;display:flex;flex-direction:column;align-items:stretch;gap:1px;padding:var(--space-xs) 0;border:0;background:none;text-align:left;color:var(--text-primary);cursor:pointer}.chat__thread-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-sm)}.chat__thread-when{color:var(--text-muted);font-size:var(--font-size-xs)}.chat__thread .linkish{text-decoration:none;padding:0 var(--space-xs)}.chat__log{flex:1;overflow-y:auto;padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-lg)}.chat__empty{margin:auto 0;display:flex;flex-direction:column;gap:var(--space-sm);color:var(--text-muted);font-size:var(--font-size-sm)}.chat__suggestion{padding:var(--space-sm) var(--space-md);text-align:left;background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);cursor:pointer}.chat__suggestion:hover{border-color:var(--accent)}.chat__turn{display:flex;gap:var(--space-sm)}.chat__turn--mine{justify-content:flex-end}.chat__mark{flex:none;width:1.5rem;height:1.5rem;margin-top:1px;display:grid;place-items:center;border-radius:999px;background:color-mix(in srgb,var(--accent) 22%,transparent);font-size:12px}.chat__said{min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}.chat__turn--mine .chat__said{max-width:85%;padding:var(--space-sm) var(--space-md);background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--radius-lg)}.chat__doing{font-size:var(--font-size-sm)}.chat__steps{margin-top:var(--space-xs);font-size:var(--font-size-sm)}.chat__list{margin:var(--space-xs) 0 0;padding-left:1.1rem;color:var(--text-muted);font-size:var(--font-size-sm)}.chat__list li{overflow-wrap:anywhere}.chat__code{margin:var(--space-xs) 0 var(--space-sm);padding:var(--space-sm);max-height:14rem;overflow:auto;background:var(--bg-page);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--font-size-xs);white-space:pre-wrap;overflow-wrap:anywhere}.chat__dots span{display:inline-block;width:5px;height:5px;margin-right:3px;border-radius:999px;background:var(--text-muted);animation:chat-dot 1.2s infinite ease-in-out}.chat__dots span:nth-child(2){animation-delay:.2s}.chat__dots span:nth-child(3){animation-delay:.4s}@keyframes chat-dot{0%,60%,to{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){.chat__dots span{animation:none;opacity:.5}}.chat__composer{display:flex;gap:var(--space-sm);align-items:flex-end;padding:var(--space-md);border-top:1px solid var(--border)}.chat__composer textarea{flex:1;resize:none;max-height:8rem;line-height:1.4;font-family:var(--font-body)}.linkish{padding:0;border:0;background:none;color:var(--text-muted);font-size:var(--font-size-sm);text-decoration:underline;cursor:pointer}.linkish:hover{color:var(--text)}.rail__spacer{flex:1}.rail__footer{padding:var(--space-md) var(--space-lg);color:var(--text-muted);font-size:11px}.search{position:relative;padding:var(--space-sm) var(--space-lg) var(--space-md)}.rail .search input{width:100%;padding:6px 10px;background:var(--bg-rail-hover);color:var(--text-rail-active);font-family:var(--font-body);font-size:var(--font-size-sm);border:1px solid #33333f;border-radius:var(--radius-sm)}.rail .search input::placeholder{color:#66666f}.rail .search input:focus{outline:none;border-color:var(--accent-rail)}.search__results{position:absolute;left:var(--space-lg);right:var(--space-lg);z-index:20;background:var(--bg-page);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);overflow:hidden}.search__results a{display:block;padding:6px 10px;color:var(--text-primary);font-size:var(--font-size-sm)}.search__results a:hover{background:var(--bg-sunken);text-decoration:none}.search__results .empty{padding:6px 10px;color:var(--text-muted);font-size:var(--font-size-sm)}.table-wrap{overflow-x:auto}table.grid{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}table.grid th,table.grid td{padding:6px var(--space-md);border:1px solid var(--border);text-align:left;vertical-align:middle}table.grid th{background:var(--bg-sunken);font-weight:500;white-space:nowrap}table.grid tbody tr:hover td{background:var(--bg-raised)}table.grid td.num,table.grid th.num{text-align:right;font-variant-numeric:tabular-nums}table.grid td.mid,table.grid th.mid{text-align:center}table.grid .muted{color:var(--text-muted)}.score{display:block;padding:2px 6px;border-radius:var(--radius-sm);font-weight:500}.card{padding:var(--space-lg);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-md)}.card+.card{margin-top:var(--space-lg)}.pill{display:inline-block;padding:1px 9px;background:var(--bg-sunken);color:var(--text-secondary);font-size:var(--font-size-xs);border:1px solid var(--border);border-radius:999px}.pill--tag{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.pill--ok{background:color-mix(in srgb,var(--success) 14%,transparent);color:var(--success);border-color:color-mix(in srgb,var(--success) 40%,transparent)}.pill--warn{background:color-mix(in srgb,var(--warning) 14%,transparent);color:var(--warning);border-color:color-mix(in srgb,var(--warning) 40%,transparent)}.pill--bad{background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,transparent)}button,.btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:var(--accent);color:#fff;font-family:var(--font-body);font-size:var(--font-size-sm);font-weight:400;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition),border-color var(--transition)}button:hover:not(:disabled),.btn:hover{background:var(--accent-hover);text-decoration:none}button:disabled{opacity:.5;cursor:not-allowed}button.ghost,.btn.ghost{background:transparent;color:var(--text-primary);border-color:var(--border-strong)}button.ghost:hover:not(:disabled),.btn.ghost:hover{background:var(--bg-sunken)}button.danger{background:var(--danger)}button.danger:hover:not(:disabled){background:#a51f1f}button.link{padding:0;background:none;color:var(--accent);border:none}button.link:hover:not(:disabled){background:none;text-decoration:underline}label{display:block;margin-bottom:var(--space-xs);color:var(--text-secondary);font-size:var(--font-size-sm)}input:not([type=checkbox],[type=radio],[type=file],[type=submit],[type=button],[type=image],[type=reset],[type=range],[type=color]),select,textarea{width:100%;padding:6px 10px;background:var(--bg-page);color:var(--text-primary);font-family:var(--font-body);font-size:var(--font-size-sm);border:1px solid var(--border-strong);border-radius:var(--radius-sm)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}textarea{font-family:var(--font-mono);resize:vertical}input[type=checkbox]{width:auto}.field{margin-bottom:var(--space-md)}.field-row{display:flex;flex-wrap:wrap;gap:var(--space-md)}.field-row>.field{flex:1 1 180px;margin-bottom:0}.inline-check{display:flex;align-items:center;gap:var(--space-sm)}.inline-check label{margin:0}.hint{color:var(--text-muted);font-size:var(--font-size-xs)}.notice{padding:var(--space-sm) var(--space-md);border:1px solid;border-radius:var(--radius-sm);font-size:var(--font-size-sm);margin-bottom:var(--space-md)}.notice--error{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,transparent);background:color-mix(in srgb,var(--danger) 8%,transparent)}.notice--ok{color:var(--success);border-color:color-mix(in srgb,var(--success) 45%,transparent);background:color-mix(in srgb,var(--success) 8%,transparent)}.notice--warn{color:var(--warning);border-color:color-mix(in srgb,var(--warning) 45%,transparent);background:color-mix(in srgb,var(--warning) 8%,transparent)}.tabs{display:flex;flex-wrap:wrap;gap:var(--space-xs);border-bottom:1px solid var(--border);margin-bottom:var(--space-lg)}.tabs button{padding:6px 14px;background:none;color:var(--text-secondary);border:1px solid transparent;border-bottom:none;border-radius:var(--radius-sm) var(--radius-sm) 0 0;margin-bottom:-1px}.tabs button:hover:not(:disabled){background:var(--bg-sunken);color:var(--text-primary)}.tabs button.is-active{background:var(--bg-page);color:var(--text-primary);border-color:var(--border);border-bottom:1px solid var(--bg-page)}.pager{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:var(--space-md) 0;font-size:var(--font-size-sm)}.pager a,.pager span.gap{display:inline-block;min-width:2rem;padding:3px 8px;text-align:center;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-raised)}.pager a:hover{border-color:var(--border-strong);text-decoration:none}.pager a.is-active{background:var(--accent);color:#fff;border-color:var(--accent)}.pager span.gap{border-color:transparent;background:none;color:var(--text-muted)}pre.code{margin:0;padding:var(--space-md);background:var(--bg-code);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--font-size-xs);line-height:1.5;overflow-x:auto;white-space:pre}.cm-editor{border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:13px}.cm-editor.cm-focused{outline:none;border-color:var(--accent)}.stack{display:flex;flex-direction:column;gap:var(--space-lg)}.row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-md)}.row--tight{gap:var(--space-sm)}.spread{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-md)}.muted{color:var(--text-muted)}.mono{font-family:var(--font-mono)}.nowrap{white-space:nowrap}.stat__label{color:var(--text-muted);font-size:var(--font-size-xs)}.stat__value{font-weight:500}@media(max-width:820px){.layout{flex-direction:column}.rail{position:static;flex-direction:row;flex-wrap:wrap;width:100%;min-width:0;height:auto}.rail__section,.rail__spacer,.rail__footer{display:none}.rail__link{border-left:none;border-bottom:3px solid transparent}.rail__link.is-active{border-left:none;border-bottom-color:var(--accent-rail)}.search{flex:1 1 12rem}.content{padding:var(--space-lg)}}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;min-width:1.75rem;height:1.75rem;padding:0;font-size:1rem;font-weight:500;line-height:1;color:#fff;border:none;border-radius:var(--radius-sm)}.icon-btn--add{background:#4c9a2a}.icon-btn--add:hover:not(:disabled){background:#3d7d21}.icon-btn--del{background:#d0342c}.icon-btn--del:hover:not(:disabled){background:#ad2a23}.msg{max-width:46rem}.msg--mine{margin-left:auto;border-color:color-mix(in srgb,var(--accent) 35%,var(--border));background:color-mix(in srgb,var(--accent) 5%,var(--bg-raised))}.unread-dot{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:var(--accent);vertical-align:middle}.legal{max-width:46rem}.legal h2{margin-top:var(--space-xl);padding-top:var(--space-md);border-top:1px solid var(--border);font-size:1.15rem}.legal h3{margin-top:var(--space-lg);font-size:1rem}.legal p,.legal li{line-height:1.65}.legal ul{padding-left:1.2rem}.legal li{margin-bottom:var(--space-xs)}.legal__updated{color:var(--text-muted);font-size:var(--font-size-sm)}.legal code{padding:1px 5px;border-radius:var(--radius-sm);background:var(--bg-sunken);font-family:var(--font-mono);font-size:.9em}.msg+.msg{margin-top:0}.external{display:grid;grid-template-columns:250px 1fr;gap:var(--space-xl)}.external__filters{align-self:start;padding:var(--space-lg);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-md)}.external__tags{max-height:20rem;overflow-y:auto;padding:var(--space-xs) var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-sm);scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.external__tags::-webkit-scrollbar{width:9px}.external__tags::-webkit-scrollbar-track{background:transparent}.external__tags::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:5px}.external__tags::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.external__tag{display:flex;align-items:center;gap:var(--space-sm);padding:3px 0;font-size:var(--font-size-sm);cursor:pointer}.external__tag span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.external__tag span:last-child{margin-left:auto;padding-left:var(--space-xs);font-size:var(--font-size-xs)}@media(max-width:900px){.external{grid-template-columns:1fr}.external__tags{max-height:12rem}}.picker{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs);padding:5px 6px;background:var(--bg-sunken);border:1px solid var(--border-strong);border-radius:var(--radius-sm)}.picker:focus-within{border-color:var(--accent)}.picker__input{flex:1 1 12rem;min-width:8rem;padding:3px 4px;background:none;border:none;color:inherit;font:inherit}.picker__input:focus{outline:none}.picker__chip{display:inline-flex;align-items:center;gap:4px;padding:2px 4px 2px 8px;background:color-mix(in srgb,var(--accent) 14%,transparent);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.picker__chip button{padding:0 3px;background:none;border:none;color:var(--text-muted);font-size:1rem;line-height:1;cursor:pointer}.picker__chip button:hover{color:var(--danger);background:none}.picker__unknown{color:var(--warning);font-weight:600}.picker__list{position:relative;z-index:5;max-height:15rem;margin:2px 0 0;padding:0;overflow-y:auto;list-style:none;background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:var(--radius-sm)}.picker__list li{display:flex;gap:var(--space-sm);align-items:baseline;padding:6px 10px;font-size:var(--font-size-sm);cursor:pointer}.picker__list li.is-active{background:var(--bg-sunken)}.drive__email{padding:3px 7px;background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--font-size-xs);word-break:break-all}.cls__coverage{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;margin:calc(-1 * var(--space-xs)) 0 var(--space-xs)}.cls__coverage-bar{flex:0 1 220px;height:6px;border-radius:999px;background:var(--surface-2, color-mix(in srgb, var(--border) 60%, transparent));overflow:hidden}.cls__coverage-bar span{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .4s ease}.cls__scores{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-md);padding-top:var(--space-sm);border-top:1px solid var(--border)}.cls__score{display:flex;align-items:baseline;gap:6px;padding:2px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--text-muted)}.cls__score--full{color:var(--success);border-color:color-mix(in srgb,var(--success) 40%,transparent);background:color-mix(in srgb,var(--success) 10%,transparent)}.cls__score--partial{color:var(--warning);border-color:color-mix(in srgb,var(--warning) 40%,transparent);background:color-mix(in srgb,var(--warning) 10%,transparent)}.cls__score--zero{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,transparent)}.cls__who{color:var(--text-muted);font-size:var(--font-size-xs)}.diff{position:relative;height:20px;margin-top:var(--space-sm)}.diff__track,.diff__span{position:absolute;top:50%;height:4px;border-radius:2px;transform:translateY(-50%)}.diff__track{left:0;right:0;background:var(--border-strong)}.diff__span{background:var(--accent)}.diff__input{position:absolute;top:0;left:0;width:100%;height:20px;margin:0;background:none;pointer-events:none;-webkit-appearance:none;appearance:none}.diff__input:focus-visible{outline:none}.diff__input::-webkit-slider-runnable-track{background:transparent;height:4px}.diff__input::-moz-range-track{background:transparent;height:4px;border:none}.diff__input::-webkit-slider-thumb{pointer-events:auto;-webkit-appearance:none;appearance:none;width:14px;height:14px;margin-top:-5px;border-radius:50%;background:var(--accent);border:2px solid var(--bg-raised);box-shadow:0 0 0 1px var(--accent);cursor:pointer}.diff__input::-moz-range-thumb{pointer-events:auto;width:14px;height:14px;border-radius:50%;background:var(--accent);border:2px solid var(--bg-raised);box-shadow:0 0 0 1px var(--accent);cursor:pointer}.diff__input:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--accent)}.diff__input:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px var(--accent)}.diff__ends{display:flex;justify-content:space-between;font-size:var(--font-size-xs);color:var(--text-muted);margin-top:var(--space-xs)}
