:root{--background: #f8f8f7;--surface: #f0f0f0;--surface-elevated: #ffffff;--foreground: #0a0a0a;--muted: #737373;--muted-strong: #525252;--border: #e5e5e5;--border-strong: #d4d4d4;--font-geist-sans: "Geist", ui-sans-serif, system-ui, sans-serif;--font-geist-mono: "Geist Mono", ui-monospace, monospace;--font-sans: var(--font-geist-sans);--font-mono: var(--font-geist-mono);--ease-out: cubic-bezier(.2, .8, .2, 1);color-scheme:light}.dark{--background: #1a1a1a;--surface: #1f1f1f;--surface-elevated: #242424;--foreground: #fafafa;--muted: #a3a3a3;--muted-strong: #d4d4d4;--border: #2e2e2e;--border-strong: #3d3d3d;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--background);color:var(--foreground);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}button,input{font:inherit}a{color:inherit}.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}.shell{min-height:100%;display:flex;flex-direction:column}.page{max-width:64rem;width:100%;margin:0 auto;padding:2.5rem 1rem 0;flex:1;display:flex;flex-direction:column}@media(min-width:640px){.page{padding:3.5rem 1.5rem 0}}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:2rem}.page-title{margin:0;font-size:1.5rem;font-weight:500;letter-spacing:-.025em;line-height:1.2;color:var(--foreground)}@media(min-width:640px){.page-title{font-size:1.75rem}}.page-sub{margin:.5rem 0 0;max-width:36rem;font-size:.875rem;line-height:1.6;color:var(--muted-strong)}.header-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem;padding-top:.125rem;flex-shrink:0}.header-utils{display:inline-flex;align-items:center;gap:.05rem;height:2rem;padding:.125rem;border-radius:.375rem;border:1px solid var(--border);background:var(--surface-elevated);box-sizing:border-box}.header-utils .icon-chip,.header-utils .lang-chip{height:1.625rem;min-height:1.625rem;width:1.625rem;min-width:1.625rem}.header-utils .icon-chip{width:1.625rem}.header-utils .icon-chip:hover,.header-utils .lang-chip:hover{background:var(--surface)}button.icon-chip,button.icon-btn,button.lang-chip,button.view-mode-btn{-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent}.icon-chip>svg,.icon-btn>svg,.lang-chip>svg,.view-mode-btn>svg{display:block;flex:0 0 auto;color:currentColor;stroke:currentColor}.icon-chip{display:inline-flex;align-items:center;justify-content:center;height:1.75rem;width:1.75rem;padding:0;border-radius:.375rem;border:1px solid transparent;background:transparent;color:var(--muted);cursor:pointer;transition:color .15s,background .15s}.icon-chip:hover{background:var(--surface);color:var(--foreground)}.icon-chip:disabled{opacity:.45;cursor:not-allowed}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;height:2rem;padding:0 .75rem;border-radius:.375rem;border:1px solid var(--border);background:var(--surface-elevated);color:var(--muted-strong);cursor:pointer;font-size:.875rem;transition:border-color .15s,color .15s,opacity .15s,background .15s}.btn:hover:not(:disabled){border-color:var(--border-strong);color:var(--foreground)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:2.5rem;padding:0 1rem;border-radius:.5rem;border:none;background:var(--foreground);color:var(--surface-elevated);font-size:.875rem;font-weight:500;line-height:1}.btn-primary svg{display:block;flex-shrink:0}.btn-primary:hover:not(:disabled){opacity:.9;color:var(--surface-elevated);border:none}.btn-primary:disabled{opacity:.4}.input{width:100%;height:2.5rem;min-height:2.5rem;border-radius:.5rem;border:1px solid var(--border);background:var(--surface-elevated);color:var(--foreground);padding:0 .875rem;font-size:.875rem;line-height:1.25rem;outline:none;transition:border-color .15s;-webkit-appearance:none;appearance:none}.input::placeholder{color:var(--muted)}.input:focus{border-color:var(--border-strong)}.input:disabled{opacity:.6}.input-sm{height:2.25rem;border-radius:.375rem;font-size:.875rem}.field-label{display:block;margin-bottom:.25rem;font-size:.75rem;color:var(--muted)}.field-hint{margin:.25rem 0 0;font-size:.6875rem;color:var(--muted)}.err{margin:0;font-size:.75rem;font-weight:500;color:var(--foreground)}.muted{color:var(--muted);font-size:.875rem}.add-row{display:flex;flex-direction:column;gap:.5rem;max-width:42rem;margin-bottom:2.5rem}.add-input-wrap{position:relative;min-width:0;width:100%}.add-input-wrap .input{width:100%;height:2.5rem;flex:none}.add-row .btn-primary{width:100%;flex-shrink:0;height:2.5rem}@media(min-width:640px){.add-row{flex-direction:row;align-items:stretch}.add-input-wrap{flex:1 1 0%;width:auto}.add-row .btn-primary{width:auto}}.add-feedback{display:flex;align-items:center;gap:.375rem;margin:-1.75rem 0 1.5rem;font-size:.75rem;color:var(--muted-strong)}.add-feedback.err{color:var(--foreground);font-weight:500}.section-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.section-title{margin:0;font-size:.875rem;font-weight:500;color:var(--muted)}.section-title span{margin-left:.5rem;font-weight:400}.catalog-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.625rem;margin-bottom:1rem}.search-wrap{position:relative;width:min(100%,28rem)}.source-filters{display:inline-flex;align-items:center;gap:.375rem}.source-filter-tag{display:inline-flex;align-items:center;justify-content:center;height:2.25rem;padding:0 .625rem;border:1px solid var(--border);border-radius:.375rem;background:var(--surface-elevated);color:var(--muted);font-size:.75rem;font-weight:500;line-height:1;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.source-filter-tag:hover{border-color:var(--border-strong);color:var(--foreground)}.source-filter-tag.is-active{border-color:var(--foreground);background:var(--foreground);color:var(--surface-elevated)}.source-filter-tag:focus-visible{outline:2px solid var(--foreground);outline-offset:2px}.search-wrap .search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.search-wrap .input{padding-left:2.25rem}.view-mode-toggle{position:relative;display:inline-flex;align-items:stretch;height:2rem;padding:.125rem;border-radius:.375rem;border:1px solid var(--border);background:var(--surface-elevated)}.view-mode-thumb{position:absolute;top:.125rem;bottom:.125rem;left:.125rem;z-index:0;width:calc(50% - .125rem);border-radius:5px;background:var(--surface);transition:left .2s var(--ease-out);pointer-events:none}.view-mode-btn{position:relative;z-index:1;display:inline-flex;width:1.75rem;align-items:center;justify-content:center;border:none;border-radius:5px;background:transparent;color:var(--muted);cursor:pointer;transition:color .2s}.view-mode-btn:hover,.view-mode-btn[aria-pressed=true]{color:var(--foreground)}@keyframes view-mode-content-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes view-mode-item-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.view-mode-content{animation:view-mode-content-in .28s var(--ease-out) both}.view-mode-item{animation:view-mode-item-in .32s var(--ease-out) both}.grid{display:grid;grid-template-columns:1fr;gap:.75rem}@media(min-width:640px){.grid{grid-template-columns:1fr 1fr}}@media(min-width:1024px){.grid{grid-template-columns:1fr 1fr 1fr}}.list-shell{overflow:hidden;border-radius:.75rem;border:1px solid var(--border);background:var(--surface-elevated)}.list-shell>.view-mode-item+.view-mode-item{border-top:1px solid var(--border)}.card{position:relative;display:flex;flex-direction:column;cursor:pointer;border-radius:.75rem;border:1px solid var(--border);background:var(--surface-elevated);padding:1rem;transition:border-color .15s,box-shadow .15s;outline:none}.card:hover{border-color:var(--border-strong);box-shadow:0 1px 2px #0000000a}.card.active{border-color:var(--foreground);box-shadow:0 1px 2px #0000000f}.card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin-bottom:.75rem}.card-name{margin:0;font-size:.9375rem;font-weight:500;letter-spacing:-.02em;color:var(--foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-repo{margin:.125rem 0 0;font-size:.75rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-desc{margin:.5rem 0 0;font-size:.8125rem;line-height:1.55;color:var(--muted-strong);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.list-row{display:flex;align-items:center;gap:.75rem;padding:.75rem .875rem;cursor:pointer;transition:background .12s;outline:none}.list-row:hover,.list-row.active{background:var(--surface)}.list-body{min-width:0;flex:1}.list-title-row{display:flex;align-items:baseline;gap:.5rem;min-width:0}.list-name{margin:0;font-size:.875rem;font-weight:500;letter-spacing:-.02em;color:var(--foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-repo{display:none;font-size:.75rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}@media(min-width:640px){.list-repo{display:inline}}.list-desc{margin:.125rem 0 0;font-size:.8125rem;line-height:1.5;color:var(--muted-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar{width:2.5rem;height:2.5rem;border-radius:.5rem;border:1px solid var(--border);object-fit:cover;background:var(--surface);flex-shrink:0}.avatar-sm{width:2.25rem;height:2.25rem}.avatar-xs{width:1.75rem;height:1.75rem;border-radius:.375rem}.actions{display:flex;align-items:center;gap:.125rem;flex-shrink:0;opacity:0;transition:opacity .15s}.group:hover .actions,.group:focus-within .actions{opacity:1}@media(min-width:640px){.list-row .actions{opacity:1}}.icon-btn{width:1.75rem;height:1.75rem;display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:.375rem;background:transparent;color:var(--muted);cursor:pointer;transition:background .12s,color .12s;text-decoration:none}.icon-btn:hover{background:var(--surface);color:var(--foreground)}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.overlay{position:fixed;inset:0;z-index:40;background:#0003;opacity:0;pointer-events:none;transition:opacity .2s ease}.dark .overlay{background:#00000080}.overlay.open{opacity:1;pointer-events:auto}.sidebar{position:fixed;top:0;right:0;bottom:0;z-index:50;display:flex;flex-direction:column;width:var(--sidebar-w, 36rem);max-width:min(96vw,960px);background:var(--surface-elevated);border-left:1px solid var(--border);box-shadow:-8px 0 24px #0000000f;transform:translate(100%);transition:transform .3s ease-out}.dark .sidebar{box-shadow:-8px 0 24px #00000059}.sidebar.open{transform:translate(0)}.sidebar.is-resizing{transition:none;-webkit-user-select:none;user-select:none}.sidebar-resize{display:none;position:absolute;top:0;left:0;bottom:0;width:6px;margin-left:-3px;cursor:col-resize;z-index:5;touch-action:none}.sidebar-resize:after{content:"";position:absolute;top:50%;left:50%;width:3px;height:2.5rem;transform:translate(-50%,-50%);border-radius:999px;background:var(--border-strong);opacity:0;transition:opacity .15s}.sidebar-resize:hover:after,.sidebar.is-resizing .sidebar-resize:after{opacity:1}@media(min-width:640px){.sidebar-resize{display:block}}@media(max-width:639px){.sidebar{inset:auto 0 0;width:100%!important;max-width:none;height:min(88vh,100%);max-height:88vh;border-left:none;border-top:1px solid var(--border);border-radius:1rem 1rem 0 0;box-shadow:0 -8px 28px #0000001a;transform:translateY(100%)}.dark .sidebar{box-shadow:0 -8px 28px #0006}.sidebar.open{transform:translateY(0)}.sidebar-sheet-handle{display:flex;justify-content:center;padding:.55rem 0 .15rem;flex-shrink:0}.sidebar-sheet-handle span{width:2.25rem;height:.25rem;border-radius:999px;background:var(--border-strong)}}@media(min-width:640px){.sidebar-sheet-handle{display:none}}.sidebar-hd{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border);flex-shrink:0}.sidebar-hd-main{display:flex;align-items:center;gap:.5rem;min-width:0;flex:1}.sidebar-title{margin:0;font-size:1rem;font-weight:500;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-meta{margin:0;font-size:.75rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-meta .sep{margin:0 .375rem;color:var(--border-strong)}.sidebar-meta .mono{font-family:var(--font-mono)}.sidebar-bd{flex:1;min-height:0;overflow-y:auto;overflow-x:auto;padding:1.25rem;-webkit-overflow-scrolling:touch}.auth-wrap{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.auth-inner{width:100%;max-width:24rem;margin:0 auto;flex:1;display:flex;flex-direction:column;justify-content:center;padding:3rem 1rem 1.5rem}.site-footer{width:100%;margin:auto 0 0;padding:1.25rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;color:var(--muted);font-size:.75rem;flex-shrink:0}.site-footer--in-page{width:100%;max-width:none;margin-left:0;margin-right:0;padding-left:0;padding-right:0;padding-top:2rem;padding-bottom:1.5rem;box-sizing:border-box}.site-footer a{color:inherit;text-decoration:none}.footer-credit{display:inline-flex;align-items:center;gap:.3rem;line-height:1;white-space:nowrap;margin:0}.footer-copy{color:var(--muted)}.footer-author{color:var(--muted-strong);transition:color .15s}.footer-author:hover{color:var(--foreground)}.footer-heart{color:#e11d48;transform:translateY(-.5px)}.cloudflare-badge{display:inline-flex;align-items:center;height:1.75rem;overflow:hidden;border-radius:.375rem;background:#11182709;color:var(--muted);box-shadow:inset 0 0 0 1px #0000000f;font-size:.6875rem;font-weight:500;line-height:1;transition:transform .15s,background .15s,color .15s,box-shadow .15s}.cloudflare-badge:hover{transform:translateY(-1px);background:#1118270f;color:var(--muted-strong);box-shadow:inset 0 0 0 1px #00000014,0 2px 6px #0000000a}.cloudflare-badge-text{padding:0 .75rem}.dark .cloudflare-badge{background:#ffffff0e;color:var(--muted);box-shadow:inset 0 0 0 1px #ffffff14}.dark .cloudflare-badge:hover{background:#ffffff16;color:var(--muted-strong);box-shadow:inset 0 0 0 1px #ffffff1c,0 2px 8px #0000002e}@media(max-width:480px){.site-footer{flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem}.site-footer--in-page{padding-top:1.5rem;padding-bottom:1.25rem}.footer-credit{flex-shrink:0}.cloudflare-badge{flex-shrink:0;height:1.5rem;font-size:.625rem}.cloudflare-badge-text{padding:0 .55rem}}.auth-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:2rem}.auth-title{margin:0;font-size:1.5rem;font-weight:500;letter-spacing:-.025em}.auth-sub{margin:.375rem 0 0;font-size:.875rem;color:var(--muted-strong)}.auth-form{display:flex;flex-direction:column;gap:.75rem}.auth-switch{margin:1.5rem 0 0;text-align:center;font-size:.875rem;color:var(--muted)}.auth-switch button{border:none;background:none;padding:0;color:var(--foreground);text-decoration:underline;text-decoration-color:var(--border-strong);text-underline-offset:2px;cursor:pointer}.auth-switch button:hover{text-decoration-color:var(--foreground)}.user-menu{position:relative}.user-trigger{display:inline-flex;align-items:center;gap:.375rem;height:2rem;max-width:14rem;width:max-content;padding:0 .375rem 0 .25rem;border-radius:.375rem;border:1px solid var(--border);background:var(--surface-elevated);cursor:pointer;transition:border-color .15s;color:var(--foreground);text-align:left;overflow:hidden;min-width:0}@media(min-width:640px){.user-trigger{padding-right:.5rem}}.user-trigger:hover,.user-trigger[aria-expanded=true]{border-color:var(--border-strong)}.user-trigger img{width:1.25rem;height:1.25rem;flex-shrink:0;border-radius:4px;background:var(--surface);object-fit:cover}.user-email{display:none;min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;color:var(--muted-strong)}@media(min-width:640px){.user-email{display:inline}}.user-chevron{display:none;flex-shrink:0;color:var(--muted);transition:transform .15s}@media(min-width:640px){.user-chevron{display:block}}.user-chevron.open{transform:rotate(180deg)}.user-dropdown{position:absolute;right:0;z-index:50;margin-top:.375rem;min-width:8.5rem;overflow:hidden;border-radius:.375rem;border:1px solid var(--border);background:var(--surface-elevated);box-shadow:0 1px 2px #0000000a}.dark .user-dropdown{box-shadow:0 1px 2px #0003}.user-dropdown button{display:flex;width:100%;align-items:center;gap:.5rem;padding:.5rem .75rem;border:none;border-radius:0;background:transparent;color:var(--muted-strong);font-size:.75rem;white-space:nowrap;cursor:pointer;text-align:left;transition:background .12s,color .12s}.user-dropdown button:hover{background:var(--surface);color:var(--foreground)}.lang-chip{display:inline-flex;height:1.75rem;width:1.75rem;min-width:1.75rem;align-items:center;justify-content:center;padding:0;border-radius:.375rem;border:1px solid transparent;background:transparent;font-size:.6875rem;font-weight:450;letter-spacing:-.01em;color:var(--muted);cursor:pointer;transition:color .15s,background .15s}.lang-chip:hover{background:var(--surface);color:var(--foreground)}.dialog-backdrop{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fade-in .15s ease both}.dialog-scrim{position:absolute;inset:0;background:#0003}.dark .dialog-scrim{background:#00000080}.dialog{position:relative;width:100%;max-width:24rem;border-radius:.75rem;border:1px solid var(--border);background:var(--surface-elevated);padding:1.25rem;box-shadow:0 2px 8px #0000000f;animation:dialog-in .2s var(--ease-out) both}.dark .dialog{box-shadow:0 2px 8px #00000040}.dialog h2{margin:0;font-size:1rem;font-weight:500;letter-spacing:-.02em}.dialog p{margin:.5rem 0 0;font-size:.875rem;line-height:1.55;color:var(--muted-strong)}.dialog-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.25rem}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-in{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes skill-skeleton-pulse{0%,to{opacity:1}50%{opacity:.45}}.skill-skeleton{background:var(--border);animation:skill-skeleton-pulse 1.4s ease-in-out infinite;border-radius:.25rem}.skeleton-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.skill-md{font-size:14px;line-height:1.7;color:var(--muted-strong)}.skill-md>*:first-child{margin-top:0}.skill-md h1,.skill-md h2,.skill-md h3,.skill-md h4{color:var(--foreground);font-weight:500;letter-spacing:-.02em;line-height:1.3;margin-top:1.75em;margin-bottom:.6em}.skill-md h1{font-size:1.35rem;padding-bottom:.4em;border-bottom:1px solid var(--border)}.skill-md h2{font-size:1.15rem}.skill-md h3{font-size:1rem}.skill-md p{margin:.85em 0}.skill-md ul,.skill-md ol{margin:.85em 0;padding-left:1.35em}.skill-md li{margin:.3em 0}.skill-md a{color:var(--foreground);text-decoration:underline;text-decoration-color:var(--border-strong);text-underline-offset:2px;transition:text-decoration-color .15s}.skill-md a:hover{text-decoration-color:var(--foreground)}.skill-md blockquote{margin:1em 0;padding:.15em 0 .15em 1em;border-left:2px solid var(--border-strong);color:var(--muted)}.skill-md hr{border:none;border-top:1px solid var(--border);margin:1.75em 0}.skill-md .skill-table-wrap{width:100%;max-width:100%;margin:1em 0;overflow-x:auto;-webkit-overflow-scrolling:touch}.skill-md table{width:100%;max-width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;margin:0}.skill-md th,.skill-md td{border:1px solid var(--border);padding:.45em .7em;text-align:left;vertical-align:top;white-space:normal;overflow-wrap:anywhere;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;line-height:1.45}.skill-md th{background:var(--surface);color:var(--foreground);font-weight:500}.skill-md td .skill-inline-code,.skill-md th .skill-inline-code{white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere}.skill-md .skill-pre{margin:1em 0;padding:.9em 1em;overflow-x:auto;border-radius:8px;border:1px solid var(--border);background:var(--surface);font-size:12.5px;line-height:1.55}.skill-md .skill-pre code{font-family:var(--font-mono);color:var(--foreground);background:transparent;padding:0;border-radius:0;font-size:inherit}.skill-md .skill-inline-code{font-family:var(--font-mono);font-size:.88em;padding:.12em .35em;border-radius:4px;background:var(--surface);border:1px solid var(--border);color:var(--foreground)}.skill-md img{max-width:100%;border-radius:8px;border:1px solid var(--border)}.skill-md strong{color:var(--foreground);font-weight:550}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.settings-root{position:fixed;inset:0;z-index:60;pointer-events:none}.settings-root.is-open{pointer-events:auto}.settings-scrim{position:absolute;inset:0;background:#0003;opacity:0;pointer-events:none;transition:opacity .3s ease}.dark .settings-scrim{background:#00000080}.settings-root.is-open .settings-scrim{opacity:1;pointer-events:auto}.settings-dialog{position:fixed;inset:auto 0 0;z-index:61;width:100%;max-width:none;max-height:min(88vh,100%);max-height:min(88dvh,100%);height:auto;margin:0;padding:0;padding-bottom:env(safe-area-inset-bottom,0px);display:flex;flex-direction:column;overflow:hidden;border-radius:1rem 1rem 0 0;border:1px solid var(--border);border-bottom:none;background:var(--surface-elevated);box-shadow:0 -8px 28px #0000001a;transform:translateY(100%);transition:transform .3s ease-out;pointer-events:auto}.settings-dialog.is-open{transform:translateY(0)}.dark .settings-dialog{box-shadow:0 -8px 28px #0006}.settings-sheet-handle{display:flex;justify-content:center;padding:.55rem 0 .1rem;flex-shrink:0}.settings-sheet-handle span{width:2.25rem;height:.25rem;border-radius:999px;background:var(--border-strong)}@media(min-width:640px){.settings-dialog{inset:50% auto auto 50%;width:min(28rem,calc(100vw - 2rem));max-width:28rem;max-height:min(85vh,36rem);border-radius:.75rem;border:1px solid var(--border);box-shadow:0 2px 8px #0000000f;padding-bottom:0;transform:translate(-50%,-50%) scale(.98);transform-origin:center;opacity:0;transition:transform .24s var(--ease-out),opacity .2s ease}.settings-dialog.is-open{transform:translate(-50%,-50%) scale(1);opacity:1}.dark .settings-dialog{box-shadow:0 2px 8px #00000040}.settings-sheet-handle{display:none}}.settings-hd{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.45rem .85rem .55rem;min-height:0;border-bottom:1px solid var(--border);flex-shrink:0}.settings-hd h2{margin:0;font-size:.875rem;font-weight:500;letter-spacing:-.02em;line-height:1.25}.settings-hd .icon-btn{width:1.75rem;height:1.75rem}.settings-bd{padding:.85rem 1rem 1.15rem;overflow-y:auto;overflow-x:hidden;flex:1;min-height:0;-webkit-overflow-scrolling:touch}.settings-section-title{margin:0 0 .75rem;font-size:.75rem;font-weight:500;color:var(--muted);letter-spacing:.02em;text-transform:none}.settings-bd .field-label{font-size:.75rem;font-weight:400;color:var(--muted)}.settings-bd .input-sm,.settings-bd .cselect-trigger{font-size:.75rem}.settings-switch-block{margin-bottom:1rem}.switch-label{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 10px;border:none;border-radius:.375rem;background:var(--surface);box-shadow:inset 0 0 0 1px var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;font:inherit;transition:background .15s ease,box-shadow .15s ease}.switch-label:hover{background:var(--border)}.switch-label:focus-visible{outline:2px solid var(--border-strong);outline-offset:2px}.switch-title{font-weight:500;color:var(--muted-strong);font-size:12px;line-height:1}.slider{position:relative;width:34px;height:18px;flex-shrink:0;border-radius:999px;background-color:var(--border);box-shadow:inset 0 0 0 1px var(--border-strong);transition:background-color .15s ease,box-shadow .15s ease}.slider:before{content:"";position:absolute;height:14px;width:14px;left:2px;top:2px;border-radius:50%;background-color:var(--surface-elevated);box-shadow:0 1px 2px #0000001a;transition:transform .15s ease}.slider.is-on,.switch-label[aria-checked=true] .slider{background-color:var(--foreground);box-shadow:none}.slider.is-on:before,.switch-label[aria-checked=true] .slider:before{transform:translate(16px)}.dark .switch-label{background:var(--surface);box-shadow:inset 0 0 0 1px var(--border)}.dark .switch-label:hover{background:#2a2a2a}.dark .slider{background-color:#3d3d3d;box-shadow:inset 0 0 0 1px var(--border-strong)}.dark .slider.is-on,.dark .switch-label[aria-checked=true] .slider{background-color:var(--foreground);box-shadow:none}.dark .slider:before{background-color:#1a1a1a;box-shadow:0 1px 2px #00000059}.settings-switch-hint{display:block;margin:.45rem 0 0;font-size:.75rem;font-weight:400;line-height:1.45;color:var(--muted)}.settings-field{margin-bottom:.75rem}.settings-control,.cselect-trigger,.settings-fetch-btn,.settings-action-btn{height:2rem;min-height:2rem;box-sizing:border-box}.settings-model-row{display:flex;flex-direction:column;gap:.5rem;align-items:stretch}@media(min-width:480px){.settings-model-row{flex-direction:row;align-items:center;gap:.5rem}.settings-model-select{flex:1 1 auto;min-width:0}.settings-fetch-btn{flex:0 0 auto;white-space:nowrap;align-self:center}}.settings-fetch-btn{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;padding:0 .65rem;border-radius:.375rem;font-size:.75rem;font-weight:400}.settings-actions-block{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;margin-top:.25rem}.settings-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:0}.settings-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;padding:0 .65rem;border-radius:.375rem;font-size:.75rem;font-weight:400}.settings-action-btn-primary{display:inline-flex;align-items:center;justify-content:center;height:2rem;min-height:2rem;padding:0 .75rem;border-radius:.375rem;font-size:.75rem;font-weight:500;line-height:1}.cselect{position:relative;width:100%}.cselect-trigger{display:flex;width:100%;align-items:center;justify-content:space-between;gap:.5rem;padding:0 .65rem 0 .75rem;border-radius:.375rem;border:1px solid var(--border);background:var(--surface-elevated);color:var(--foreground);font-size:.8125rem;cursor:pointer;text-align:left;transition:border-color .15s,color .15s;outline:none}.cselect-trigger:hover:not(:disabled){border-color:var(--border-strong)}.cselect.is-open .cselect-trigger{border-color:var(--border-strong)}.cselect-trigger:disabled{opacity:.55;cursor:not-allowed}.cselect.is-disabled{pointer-events:none}.cselect-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cselect-placeholder{color:var(--muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cselect-chevron{flex-shrink:0;color:var(--muted);transition:transform .15s}.cselect-chevron.open{transform:rotate(180deg)}.cselect-menu{position:absolute;z-index:80;top:calc(100% + .3rem);left:0;right:0;margin:0;padding:.25rem;list-style:none;max-height:12rem;overflow-y:auto;border-radius:.5rem;border:1px solid var(--border);background:var(--surface-elevated);box-shadow:0 4px 16px #00000014}.dark .cselect-menu{box-shadow:0 4px 16px #00000059}.cselect-option{display:flex;width:100%;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .65rem;border:none;border-radius:.375rem;background:transparent;color:var(--muted-strong);font-size:.8125rem;cursor:pointer;text-align:left;transition:background .12s,color .12s}.cselect-option:hover{background:var(--surface);color:var(--foreground)}.cselect-option.is-active{color:var(--foreground);font-weight:500;background:var(--surface)}.cselect-empty{padding:.55rem .65rem;font-size:.75rem;color:var(--muted)}.settings-status{display:inline-flex;align-items:center;gap:.3rem;margin:0;padding:0;font-size:.6875rem;font-weight:400;line-height:1.35;color:var(--muted)}.settings-status-icon{flex-shrink:0}.settings-status.ok{color:#16a34a}.settings-status.bad{color:#dc2626}.dark .settings-status.ok{color:#4ade80}.dark .settings-status.bad{color:#f87171}.settings-dim{opacity:.45;pointer-events:none}.ai-summary-box{margin:0 0 1.25rem;padding:.75rem .85rem;border-radius:.5rem;border:none;background:var(--background);position:relative;z-index:0}.dark .ai-summary-box{background:var(--surface)}.ai-summary-hd{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.ai-summary-title{display:inline-flex;align-items:center;gap:.35rem;font-size:.875rem;font-weight:500;letter-spacing:-.01em;color:var(--foreground)}.ai-summary-actions{display:flex;flex-wrap:wrap;gap:.35rem}.ai-summary-btn{height:1.75rem;padding:0 .55rem;font-size:.75rem;gap:.3rem}.ai-summary-btn:disabled{opacity:.4}.ai-summary-hint{margin:.5rem 0 0;font-size:.75rem;line-height:1.45;color:var(--muted)}.ai-summary-loading{display:flex;align-items:center;gap:.4rem;margin:.5rem 0 0;font-size:.75rem;line-height:1.45;color:var(--muted)}.ai-summary-error{margin:.5rem 0 0;font-size:.75rem;font-weight:500;color:var(--foreground)}.ai-summary-text{margin:.5rem 0 0;font-size:.8125rem;line-height:1.55;color:var(--foreground)}.ai-summary-meta{margin:.4rem 0 0;font-size:.6875rem;color:var(--muted);font-family:var(--font-mono)}@media(prefers-reduced-motion:reduce){.view-mode-content,.view-mode-item,.view-mode-thumb,.settings-tab-content,.settings-tab-thumb,.sidebar,.overlay,.dialog,.dialog-backdrop{animation:none!important;transition:none!important}.skill-skeleton{animation:none!important}}.settings-tabs{position:relative;display:inline-flex;align-items:stretch;padding:.125rem;margin:0 0 .9rem;border:1px solid var(--border);border-radius:.5rem;background:var(--surface)}.settings-tab-thumb{position:absolute;top:.125rem;bottom:.125rem;z-index:0;width:calc(50% - .125rem);border-radius:.375rem;background:var(--surface-elevated);box-shadow:0 1px 2px #00000014;pointer-events:none;transition:left .2s var(--ease-out)}.settings-tab{position:relative;z-index:1;min-width:4.25rem;height:1.875rem;padding:0 .65rem;border:0;border-radius:.375rem;background:transparent;color:var(--muted);font-size:.75rem;cursor:pointer;transition:color .2s var(--ease-out)}.settings-tab.is-active{color:var(--text)}.settings-tab-content{animation:view-mode-content-in .28s var(--ease-out) both}.profile-summary{display:flex;align-items:center;gap:.75rem;padding:.75rem;border:1px solid var(--border);border-radius:.5rem;background:var(--surface)}.profile-avatar{width:3rem;height:3rem;border:1px solid var(--border);border-radius:.625rem;background:var(--surface-elevated);flex:0 0 auto}.profile-email{max-width:17rem;margin:.15rem 0 .55rem;overflow:hidden;color:var(--text);font-size:.8125rem;text-overflow:ellipsis;white-space:nowrap}.profile-api{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border)}.profile-key-state{margin:-.25rem 0 .75rem;color:var(--muted);font-size:.75rem}.profile-key-card{display:flex;align-items:center;gap:.5rem;min-width:0;min-height:2.5rem;margin:0 0 .5rem;padding:.375rem .55rem;border:1px solid var(--border-strong);border-radius:.5rem;background:var(--surface)}.profile-key-card>svg{flex:0 0 auto;color:var(--muted-strong)}.profile-key-card strong{flex:0 0 auto;color:var(--text);font-size:.75rem;font-weight:600}.profile-key-card code{min-width:0;overflow:hidden;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.profile-key-copy{display:inline-grid;width:1.75rem;height:1.75rem;margin-left:auto;flex:0 0 auto;place-items:center;border:0;border-radius:.375rem;background:transparent;color:var(--muted-strong);cursor:pointer;transition:background .15s,color .15s,opacity .15s}.profile-key-copy:hover:not(:disabled){background:var(--surface-elevated);color:var(--text)}.profile-key-copy:disabled{cursor:not-allowed;opacity:.45}.profile-api-actions{display:flex;flex-wrap:wrap;gap:.5rem}.profile-api-actions .btn,.profile-api-actions .btn-primary,.profile-summary .btn{min-height:2rem;padding:0 .75rem;font-size:.75rem}.profile-api-actions .btn,.profile-api-actions .btn-primary{box-sizing:border-box;width:auto;height:2rem;min-height:2rem;padding:0 .75rem;border-radius:.375rem}.btn-danger{border-color:#dc2626;color:#dc2626}.btn-danger:hover:not(:disabled){border-color:#b91c1c;background:#dc26260f;color:#b91c1c}.btn-danger-solid{border:1px solid #dc2626;background:#dc2626;color:#fff;font-weight:500}.btn-danger-solid:hover:not(:disabled){border-color:#b91c1c;background:#b91c1c;color:#fff}.btn-danger-solid:disabled{cursor:not-allowed;opacity:.55}.dark .btn-danger{border-color:#f87171;color:#f87171}.dark .btn-danger:hover:not(:disabled){border-color:#fca5a5;background:#f871711a;color:#fca5a5}.dark .btn-danger-solid{border-color:#ef4444;background:#ef4444;color:#fff}.dark .btn-danger-solid:hover:not(:disabled){border-color:#f87171;background:#f87171;color:#fff}@media(max-width:420px){.profile-summary{align-items:flex-start}.profile-email{max-width:13rem}}
