/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-400:oklch(70.4% .191 22.216);--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg:var(--bg);--color-bg-panel:var(--bg-panel);--color-border:var(--border);--color-text:var(--text);--color-text-muted:var(--text-muted);--color-accent:var(--accent)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.z-50{z-index:50}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-9{height:calc(var(--spacing) * 9)}.h-\[720px\]{height:720px}.h-full{height:100%}.h-screen{height:100vh}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-screen{min-height:100vh}.w-\[720px\]{width:720px}.w-full{width:100%}.max-w-sm{max-width:var(--container-sm)}.flex-1{flex:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-\[drop-ripple_2\.4s_ease-out_infinite_backwards\]{animation:drop-ripple 2.4s ease-out infinite backwards}.animate-\[drop-zone-in_0\.15s_ease_both\]{animation:drop-zone-in .15s both}.animate-\[pulse_1\.5s_infinite\]{animation:pulse 1.5s infinite}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-3{gap:calc(var(--spacing) * 3)}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e+38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-solid{--tw-border-style:solid;border-style:solid}.border-\[rgba\(37\,99\,235\,0\.5\)\]{border-color:#2563eb80}.border-border{border-color:var(--color-border)}.bg-\[rgba\(37\,99\,235\,0\.06\)\]{background-color:#2563eb0f}.bg-accent{background-color:var(--color-accent)}.bg-bg{background-color:var(--color-bg)}.bg-bg-panel{background-color:var(--color-bg-panel)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-3{padding-inline:calc(var(--spacing) * 3)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[13px\]{font-size:13px}.break-all{word-break:break-all}.text-red-400{color:var(--color-red-400)}.text-text{color:var(--color-text)}.text-text-muted{color:var(--color-text-muted)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.drop-shadow-\[0_6px_18px_rgba\(37\,99\,235\,0\.18\)\]{--tw-drop-shadow-size:drop-shadow(0 6px 18px var(--tw-drop-shadow-color,#2563eb2e));--tw-drop-shadow:var(--tw-drop-shadow-size)}.drop-shadow-\[0_6px_18px_rgba\(37\,99\,235\,0\.18\)\],.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-\[1px\]{--tw-backdrop-blur:blur(1px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.\[next\:err\]{next:err}.\[scrollbar-width\:none\]{scrollbar-width:none}}.member-modal{height:min(760px,100dvh - 32px)!important;min-height:min(760px,100dvh - 32px)!important;max-height:min(760px,100dvh - 32px)!important}.member-modal-body{height:0;flex:auto!important;min-height:0!important;overflow-y:auto!important}@media (max-width:560px){.member-modal{height:calc(100dvh - 16px)!important;min-height:calc(100dvh - 16px)!important;max-height:calc(100dvh - 16px)!important}}.member-modal{min-width:0;max-width:calc(100vw - 32px)}@media (max-width:560px){.member-modal{max-width:calc(100vw - 16px)}}.member-modal-header>div:first-child{min-width:0;overflow:hidden}.member-modal-header>div:first-child span,.member-modal-header>div:first-child strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:root{--bg:#f4f7fb;--bg-panel:#fff;--bg-hover:#eef3f9;--bg-selected:#e0ebf8;--border:#d9e2ee;--text:#182536;--text-muted:#526174;--text-dim:#8492a3;--accent:#1677d2;--accent-hover:#0d62b5;--user-bg:#e8f3ff;--assistant-bg:#fff;--tool-bg:#eef3f8;--bg-subtle:#1e466e0b;--brand-ink:#1e3a5f;--brand-lime:#58a6ff;--surface-raised:#fff}html.dark{--bg:#0a0e14;--bg-panel:#11161e;--bg-hover:#181d27;--bg-selected:#1e2533;--border:#1e2533;--text:#e1e6ed;--text-muted:#9ba3b0;--text-dim:#6b7280;--accent:#0d92f0;--accent-hover:#2c9ef2;--user-bg:#122b46;--assistant-bg:#0a0e14;--tool-bg:#11161e;--bg-subtle:#ffffff09;--brand-ink:#e1e6ed;--brand-lime:#58a6ff;--surface-raised:#11161e}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:2}*{box-sizing:border-box}body,html{background:var(--bg);height:100%;color:var(--text);overscroll-behavior:none;margin:0;padding:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent)}@supports (color:color-mix(in lab,red,red)){button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 72%,transparent)}}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px}.joycoder-app{background:var(--bg)!important}.joycoder-app:before{content:"";z-index:-1;pointer-events:none;display:none;position:fixed;inset:0}.joycoder-topbar{background:var(--bg-panel)!important;border-bottom-color:var(--border)!important}.joycoder-topbar,.joycoder-topbar>button,.joycoder-topbar>div>button{height:30px!important}.joycoder-activitybar{background:var(--bg-panel);border-right:1px solid var(--border);z-index:201;flex-direction:column;flex-shrink:0;justify-content:space-between;width:48px;padding:4px 0;display:flex}.joycoder-activitybar button{width:48px;height:40px;color:var(--text-dim);cursor:pointer;background:0 0;border:0;border-left:2px solid #0000;place-items:center;padding:0;display:grid}.joycoder-activitybar button:hover,.joycoder-activitybar button[aria-pressed=true]{color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.joycoder-activitybar button:hover,.joycoder-activitybar button[aria-pressed=true]{background:color-mix(in srgb,var(--accent) 7%,transparent)}}.joycoder-activitybar button[aria-pressed=true]{border-left-color:var(--accent)}.joycoder-activitybar button span{display:none}.joycoder-statusbar{border-top:1px solid var(--border);background:var(--bg-panel);height:24px;color:var(--text-dim);flex-shrink:0;align-items:center;gap:10px;padding:0 10px;font-size:11px;display:flex}.joycoder-statusbar span:first-child{color:var(--accent)}.joycoder-statusbar span:nth-child(2){color:var(--text-muted)}.codeweb-portal{background:var(--bg);min-height:100dvh;color:var(--text);flex-direction:column;font-size:13px;display:flex}.portal-menubar{background:var(--bg-panel);border-bottom:1px solid var(--border);height:30px;color:var(--text-muted);align-items:center;gap:16px;padding:0 10px;font-size:12px;display:flex}.portal-menubar strong{color:var(--text);letter-spacing:.03em}.portal-menubar a{color:var(--text-muted);text-decoration:none}.portal-activity{width:48px;color:var(--text-dim);flex-direction:column;align-items:center;gap:20px;padding-top:12px;font-size:20px;display:flex}.portal-activity,.portal-sidebar{background:var(--bg-panel);border-right:1px solid var(--border)}.portal-sidebar{width:210px;padding:8px 6px}.portal-sidebar-title{color:var(--text-dim);letter-spacing:.08em;padding:8px 10px 12px;font-size:11px;font-weight:700}.portal-sidebar button{width:100%;color:var(--text-muted);text-align:left;cursor:pointer;background:0 0;border:0;border-left:2px solid #0000;padding:8px 10px;font-size:12px}.portal-sidebar button:hover{background:var(--bg-hover);color:var(--text)}.portal-sidebar button.active{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.portal-sidebar button.active{background:color-mix(in srgb,var(--accent) 9%,var(--bg-panel))}}.portal-sidebar button.active{border-left-color:var(--accent);color:var(--accent)}.portal-main{flex:1;min-width:0;overflow:auto}.portal-titlebar{border-bottom:1px solid var(--border);background:var(--bg-panel);align-items:center;height:38px;padding:0 16px;font-size:12px;display:flex}.portal-content{padding:16px}.portal-content,.portal-grid{gap:14px;display:grid}.portal-grid.metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.portal-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-metric{background:var(--bg-panel);border:1px solid var(--border);border-radius:4px;min-height:88px;padding:14px}.portal-metric small{color:var(--text-dim);margin-bottom:10px;display:block}.portal-metric strong{font-size:24px}.portal-panel-title{border-bottom:1px solid var(--border);color:var(--text-muted);padding:9px 12px;font-size:12px;font-weight:650}.portal-panel-body{padding:14px}.portal-panel-body p{color:var(--text-muted);margin:0 0 12px;line-height:1.6}.portal-inline{align-items:center;gap:8px;display:flex}.portal-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.portal-check{color:var(--text-muted);align-items:center;gap:6px;display:flex}.portal-table{border-collapse:collapse;width:100%;font-size:12px}.portal-table th{color:var(--text-dim);background:var(--bg-hover);text-align:left;padding:8px;font-weight:600}.portal-table td{border-top:1px solid var(--border);color:var(--text-muted);padding:8px}.portal-table code{color:var(--text);font-family:var(--font-mono)}.portal-error{color:#f87171;background:#f8717114;border:1px solid #f8717159;border-radius:4px;margin:12px 16px 0;padding:8px 10px}@media (max-width:760px){.portal-activity{display:none}.portal-sidebar{width:150px}.portal-form,.portal-grid.metrics,.portal-grid.two{grid-template-columns:1fr}.portal-menubar span{display:none}.portal-inline{flex-direction:column;align-items:stretch}}.codeweb-portal{--portal-bg:#0a0e14;--portal-surface:#11161e;--portal-raised:#181d27;--portal-border:#27313f;--portal-text:#e1e6ed;--portal-muted:#9ba3b0;--portal-dim:#6b7280;--portal-blue:#0d92f0;font-family:Inter,Segoe UI,system-ui,sans-serif;background:var(--portal-bg)!important;color:var(--portal-text)!important}.codeweb-portal .portal-menubar{gap:18px;height:34px;padding:0 14px;background:var(--portal-surface)!important;border-color:var(--portal-border)!important;color:var(--portal-muted)!important}.codeweb-portal .portal-menubar strong{font-size:13px;color:var(--portal-text)!important}.codeweb-portal .portal-menubar a{color:var(--portal-muted)!important}.codeweb-portal .portal-menubar button{background:var(--portal-raised)!important;border-color:var(--portal-border)!important;min-height:25px!important;color:var(--portal-muted)!important;padding:3px 9px!important}.codeweb-portal .portal-activity{gap:25px;width:52px;padding-top:16px;color:var(--portal-dim)!important}.codeweb-portal .portal-activity,.codeweb-portal .portal-sidebar{background:var(--portal-surface)!important;border-color:var(--portal-border)!important}.codeweb-portal .portal-sidebar{width:230px;padding:12px 8px}.codeweb-portal .portal-sidebar-title{padding:9px 12px 14px;color:var(--portal-dim)!important}.codeweb-portal .portal-sidebar button{margin-bottom:2px;padding:9px 12px;color:var(--portal-muted)!important}.codeweb-portal .portal-sidebar button:hover{background:var(--portal-raised)!important;color:var(--portal-text)!important}.codeweb-portal .portal-sidebar button.active{border-left-color:var(--portal-blue)!important;color:#5bb4f5!important;background:#0d92f01f!important}.codeweb-portal .portal-main{background:var(--portal-bg)}.codeweb-portal .portal-titlebar{height:42px;color:var(--portal-text);padding:0 20px;font-weight:650;background:var(--portal-surface)!important;border-color:var(--portal-border)!important}.codeweb-portal .portal-content{gap:18px;max-width:1500px;padding:22px}.codeweb-portal .portal-grid.metrics{grid-template-columns:repeat(4,minmax(160px,1fr))}.codeweb-portal .portal-metric{min-height:108px;padding:18px;box-shadow:inset 0 1px #ffffff05;background:var(--portal-surface)!important;border-color:var(--portal-border)!important}.codeweb-portal .portal-metric small{font-size:12px;color:var(--portal-muted)!important}.codeweb-portal .portal-metric strong{color:var(--portal-text);font-size:30px}.codeweb-portal .portal-panel-title{background:var(--portal-raised);padding:12px 15px;border-color:var(--portal-border)!important;color:var(--portal-text)!important}.codeweb-portal .portal-panel-body{padding:16px}.codeweb-portal section{border-color:var(--portal-border)!important;background:var(--portal-surface)!important}.codeweb-portal input,.codeweb-portal select{border-color:var(--portal-border)!important;color:var(--portal-text)!important;background:#0d131c!important}.codeweb-portal button{border-color:var(--portal-border)!important;background:var(--portal-raised)!important;color:var(--portal-muted)!important}.codeweb-portal button:hover{color:var(--portal-text)!important;background:#202838!important}.codeweb-portal .portal-button{letter-spacing:0;font-weight:600;transition:background .14s,border-color .14s,transform .14s;min-height:34px!important;padding:6px 14px!important}.codeweb-portal .portal-button.is-primary{box-shadow:inset 0 1px #ffffff24,0 3px 10px #0d92f02e;background:var(--portal-blue)!important;color:#fff!important;border-color:#2c9ef2!important}.codeweb-portal .portal-button.is-primary:hover:not(:disabled){transform:translateY(-1px);background:#2c9ef2!important}.codeweb-portal .portal-button.is-danger{color:#f87171!important}.codeweb-portal .portal-button:disabled{cursor:not-allowed;opacity:.42;transform:none!important}.codeweb-portal .portal-table th{border-bottom:1px solid var(--portal-border);padding:10px 12px;background:var(--portal-raised)!important;color:var(--portal-muted)!important}.codeweb-portal .portal-table td{padding:10px 12px;color:var(--portal-muted)!important;border-color:var(--portal-border)!important}.codeweb-portal .portal-table tr:hover td{background:#ffffff05}.codeweb-portal .portal-table code{color:#b9e0fb!important}.portal-model-list{border:1px solid var(--portal-border);background:#0d131c;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:6px;max-height:260px;padding:8px;display:grid;overflow:auto}.portal-model-option{cursor:pointer;color:var(--portal-muted);border:1px solid #0000;align-items:center;gap:8px;padding:8px;display:flex}.portal-model-option:hover{border-color:var(--portal-border);background:var(--portal-raised)}.portal-model-option span{min-width:0;display:grid}.portal-model-option strong{color:var(--portal-text);font-size:12px}.portal-model-option small{color:var(--portal-dim);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}@media (max-width:900px){.codeweb-portal .portal-grid.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.codeweb-portal .portal-sidebar{width:180px}}.joycoder-ai-panel{border-left:1px solid var(--border);background:var(--bg);order:3;width:clamp(360px,34vw,520px);flex:0 0 clamp(360px,34vw,520px)!important}.joycoder-app .right-panel-container.right-panel-open{border-right:1px solid var(--border);flex:auto;order:2;width:auto;min-width:0;border-left:0!important}.joycoder-app .right-panel-container.right-panel-open>*{width:auto;min-width:0}.joycoder-ai-panel .joycoder-topbar{background:var(--bg-panel)!important}.joycoder-ai-panel .joycoder-chat-input{border-top:1px solid var(--border);background:var(--bg-panel);padding-top:8px}.joycoder-ai-panel .joycoder-intro{border-bottom:0;border-radius:4px 4px 0 0;margin:0}.joycoder-sidebar-header{background:var(--bg-panel);padding:10px 12px!important}@supports (color:color-mix(in lab,red,red)){.joycoder-sidebar-header{background:color-mix(in srgb,var(--bg-panel) 88%,#eaf2fc)}}.joycoder-sidebar-header{border-bottom:1px solid var(--border)!important}.joycoder-sidebar-header+div{margin-top:10px}.joycoder-brand{align-items:center;gap:8px;display:inline-flex;color:var(--text)!important;letter-spacing:0!important}.joycoder-brand:before{content:"J";background:var(--accent);color:#fff;border-radius:4px;place-items:center;width:24px;height:24px;font-family:Inter,ui-sans-serif,sans-serif;font-size:14px;font-weight:850;display:grid}.joycoder-sidebar-header button:not(.joycoder-brand){border-color:var(--border)!important;color:var(--text-muted)!important;background:0 0!important}.joycoder-sidebar-header+div button{border-radius:6px!important}.joycoder-sidebar-footer{border-top:1px solid var(--border);background:var(--bg-panel);padding:10px!important}@supports (color:color-mix(in lab,red,red)){.joycoder-sidebar-footer{background:color-mix(in srgb,var(--bg-panel) 72%,#edf4fc)}}.joycoder-sidebar-footer button{border-radius:6px!important}.joycoder-file-panel{background:var(--surface-raised)!important}.joycoder-intro{border:1px solid var(--border);background:var(--bg-panel);border-radius:4px;padding:24px 26px 20px}@supports (color:color-mix(in lab,red,red)){.joycoder-intro{background:color-mix(in srgb,var(--bg-panel) 90%,#edf5ff)}}.joycoder-intro{box-shadow:none}.joycoder-intro-title{align-items:center;gap:12px;display:flex;color:var(--brand-ink)!important;font-family:Inter,ui-sans-serif,sans-serif!important}.joycoder-intro-title:before{content:"J";background:var(--accent);color:#fff;border-radius:4px;place-items:center;width:30px;height:30px;font-size:18px;font-weight:800;display:grid}.joycoder-composer{border-color:var(--border)!important;box-shadow:none!important;border-radius:4px!important}.joycoder-chat-input textarea{caret-color:var(--accent)}.joycoder-app .markdown-code-block,.joycoder-app .markdown-table-wrap{border-radius:7px}@media (max-width:640px){.joycoder-activitybar,.joycoder-statusbar{display:none}.joycoder-ai-panel{border-left:0;order:2;width:auto;flex:auto!important}.joycoder-app .right-panel-container.right-panel-open{display:none!important}.joycoder-topbar,.joycoder-topbar>button,.joycoder-topbar>div>button{height:34px!important}.joycoder-intro{padding:22px 18px 18px}}.member-view-nav{gap:2px;margin:0 0 16px auto;display:inline-flex}.member-view-nav button{min-width:84px;height:34px;color:var(--text-dim);background:0 0;border:1px solid #0000;border-radius:4px}.member-view-nav button:hover{color:var(--text)}@supports (color:color-mix(in lab,red,red)){.member-view-nav button.active{border-color:color-mix(in srgb,var(--accent) 50%,var(--border));background:color-mix(in srgb,var(--accent) 14%,var(--bg))}}.member-view-nav button.active{color:var(--accent);font-weight:700}@media (max-width:560px){.member-view-nav{width:100%;margin-left:0}.member-view-nav button{flex:1;min-width:0}}.member-modal{height:min(760px,100dvh - 32px)}.member-modal-body{flex:auto;min-height:0}@media (max-width:560px){.member-modal{height:calc(100dvh - 16px)}}.member-view-nav{scrollbar-width:none;align-items:center;gap:6px;margin-bottom:16px;display:flex;overflow-x:auto}.member-view-nav::-webkit-scrollbar{display:none}.member-view-nav button{text-align:center;border:1px solid var(--border);background:var(--bg-panel);min-width:82px;min-height:34px;color:var(--text-muted);cursor:pointer;white-space:nowrap;border-radius:5px;flex:none;justify-content:center;align-items:center;padding:0 10px;display:inline-flex}.member-view-nav button:hover{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.member-view-nav button:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--border))}}.member-view-nav button:hover{background:var(--bg-hover)}.member-view-nav button.active{border-color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.member-view-nav button.active{background:color-mix(in srgb,var(--accent) 11%,var(--bg-panel))}}.member-view-nav button.active{color:var(--text);box-shadow:inset 3px 0 0 var(--accent)}.member-view-nav b{font-size:12px}.member-view-nav span{color:var(--text-dim);font-size:10px;line-height:1.35}.member-view-nav button.active span{color:var(--text-muted)}@media (max-width:560px){.member-view-nav{margin-right:-2px}.member-view-nav button{min-width:78px;min-height:34px}}.member-logout{color:#f87171;cursor:pointer;background:0 0;border:1px solid #f8717159;border-radius:4px;height:28px;margin-left:auto;margin-right:8px;padding:0 9px;font-size:11px}.member-logout:hover{background:#f8717114}.member-plan-button{border:1px solid var(--accent);background:var(--accent);border-radius:5px;height:30px;margin-left:auto;margin-right:8px;padding:0 10px}@supports (color:color-mix(in lab,red,red)){.member-plan-button{background:color-mix(in srgb,var(--accent) 10%,var(--bg-panel))}}.member-plan-button{color:var(--accent);cursor:pointer;font-size:12px;font-weight:700}.member-dashboard.showing-plans>:not(.member-plan-only){display:none}.member-dashboard.showing-plans{align-content:start;min-height:320px}.member-actions.member-actions-single{grid-template-columns:minmax(0,1fr)}.member-plan-list{display:grid}.member-plan-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:70px;padding:10px 13px;display:flex}.member-plan-row:last-child{border-bottom:0}.member-plan-row b,.member-plan-row strong{color:var(--text);font-size:12px;display:block}.member-plan-row span{color:var(--text-dim);margin-top:4px;font-size:11px;display:block}.member-plan-row>div:last-child{align-items:center;gap:10px;display:flex}.member-plan-row button{height:30px!important}.member-usage-summary{border-bottom:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.member-usage-summary>div{padding:11px 13px}.member-usage-summary>div+div{border-left:1px solid var(--border)}.member-usage-summary span{color:var(--text-dim);font-size:10px;display:block}.member-usage-summary strong{color:var(--accent);margin-top:5px;font-size:14px;display:block}.member-view-nav{border:1px solid var(--border);background:var(--bg-panel);border-radius:6px;flex-wrap:nowrap;width:100%;margin:0 0 16px;padding:3px}.member-view-nav button{flex:1 1 0;min-width:0;padding:0 6px;font-size:11px}.codeweb-highlight-editor{background:var(--bg);min-height:100%;position:relative;overflow:auto}.codeweb-highlight-editor>pre{pointer-events:none}.codeweb-file-editor{box-sizing:border-box;resize:none;color:#0000;width:100%;height:100%;min-height:100%;caret-color:var(--text);font-family:var(--font-mono);tab-size:2;white-space:pre;background:0 0;border:0;outline:0;padding:12px 16px 12px 4.4em;font-size:13px;line-height:1.6;display:block;position:absolute;inset:0;overflow:auto}.codeweb-file-editor::selection{color:#0000;background:#4e9eff6b}.member-modal-nav{border:1px solid var(--border);background:var(--bg);border-radius:5px;gap:2px;margin-left:auto;margin-right:10px;padding:3px;display:flex}.member-modal-nav button{height:26px;color:var(--text-dim);cursor:pointer;background:0 0;border:0;border-radius:3px;padding:0 9px;font-size:11px}.member-modal-nav button.active{background:var(--bg-selected);color:var(--text);font-weight:700}.member-modal-backdrop{z-index:1200;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#04081294;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.member-modal{background:var(--bg);border:1px solid var(--border);border-radius:8px;flex-direction:column;width:min(780px,100%);max-height:min(800px,100dvh - 32px);display:flex;overflow:hidden;box-shadow:0 22px 60px #00000059}.member-modal-header{border-bottom:1px solid var(--border);background:var(--bg-panel);align-items:center;min-height:58px;padding:0 18px;display:flex}.member-modal-header strong{color:var(--text);font-size:14px;display:block}.member-modal-header span{color:var(--text-dim);margin-top:3px;font-size:11px;display:block}.member-modal-close{width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;margin-left:auto;font-size:20px}.member-modal-close:hover{border-color:var(--border);background:var(--bg-hover);color:var(--text)}.member-modal-body{padding:18px;overflow-y:auto}.member-login{gap:11px;width:min(360px,100%);margin:26px auto;display:grid}.member-login-mark{border:1px solid var(--accent);place-items:center;width:42px;height:42px;display:grid}@supports (color:color-mix(in lab,red,red)){.member-login-mark{border:1px solid color-mix(in srgb,var(--accent) 55%,var(--border))}}.member-login-mark{background:var(--accent);border-radius:6px}@supports (color:color-mix(in lab,red,red)){.member-login-mark{background:color-mix(in srgb,var(--accent) 12%,var(--bg-panel))}}.member-login-mark{color:var(--accent);font-size:12px;font-family:var(--font-mono);font-weight:800}.member-action-card p,.member-login p{color:var(--text-muted);margin:5px 0 3px;font-size:12px;line-height:1.55}.member-login label{color:var(--text-muted);gap:5px;font-size:11px;display:grid}.member-text-button{color:var(--accent);cursor:pointer;background:0 0;border:0;justify-self:start;padding:3px 0;font-size:12px}.member-dashboard{gap:14px;display:grid}.member-hero{border:1px solid var(--accent);justify-content:space-between;align-items:center;gap:16px;min-height:104px;padding:18px;display:flex}@supports (color:color-mix(in lab,red,red)){.member-hero{border:1px solid color-mix(in srgb,var(--accent) 42%,var(--border))}}.member-hero{background:linear-gradient(115deg,var(--accent),var(--bg-panel) 52%);border-radius:6px}@supports (color:color-mix(in lab,red,red)){.member-hero{background:linear-gradient(115deg,color-mix(in srgb,var(--accent) 15%,var(--bg-panel)),var(--bg-panel) 52%)}}.member-overline{color:var(--accent);letter-spacing:.08em;font-size:10px;font-weight:800}.member-hero h2{color:var(--text);margin:5px 0 3px;font-size:22px;line-height:1.1}.member-hero p{color:var(--text-muted);margin:0;font-size:12px}.member-tier{border:1px solid var(--border);min-width:82px;color:var(--text-dim);background:var(--bg);text-align:center;font-family:var(--font-mono);letter-spacing:.06em;border-radius:5px;padding:8px 10px;font-size:11px;font-weight:800}.member-tier.is-vip{color:#fbbf24;background:#f59e0b17;border-color:#f59e0b8c}.member-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.member-stat{border:1px solid var(--border);background:var(--bg-panel);border-radius:5px;min-height:68px;padding:11px 12px}.member-stat span{color:var(--text-dim);font-size:11px;display:block}.member-stat strong{color:var(--text);margin-top:7px;font-size:15px;display:block}.member-stat.is-accent strong{color:var(--accent)}.member-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.member-action-card{padding:13px}.member-action-card>strong{color:var(--text);font-size:13px}.member-inline{gap:7px;margin-top:12px;display:flex}.member-section{overflow:hidden}.member-section-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;min-height:52px;padding:0 13px;display:flex}.member-section-heading strong{color:var(--text);font-size:13px;display:block}.member-section-heading span{color:var(--text-dim);margin-top:3px;font-size:10px;display:block}.member-section-heading>span{color:var(--text-muted);font-family:var(--font-mono);margin:0;font-size:11px}.member-empty{color:var(--text-dim);padding:18px 13px;font-size:12px;line-height:1.6}.member-model-list{display:grid}.member-model-row{border-bottom:1px solid var(--border);align-items:center;gap:9px;min-height:57px;padding:0 13px;display:flex}.member-model-row:last-child{border-bottom:0}.member-model-mark{border:1px solid var(--accent);flex:none;place-items:center;width:27px;height:27px;display:grid}@supports (color:color-mix(in lab,red,red)){.member-model-mark{border:1px solid color-mix(in srgb,var(--accent) 40%,var(--border))}}.member-model-mark{background:var(--accent);border-radius:4px}@supports (color:color-mix(in lab,red,red)){.member-model-mark{background:color-mix(in srgb,var(--accent) 10%,var(--bg))}}.member-model-mark{color:var(--accent);font-size:9px;font-family:var(--font-mono);font-weight:800}.member-model-row>div:nth-child(2){flex:1;min-width:0}.member-model-row strong{color:var(--text);font-size:12px}.member-model-row span,.member-model-row strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.member-model-row span{color:var(--text-dim);margin-top:3px;font-size:10px}.member-model-row code{color:var(--text-muted);font-family:var(--font-mono)}.member-access{border:1px solid var(--border);background:var(--bg);border-radius:3px;flex:none;padding:3px 6px;color:var(--text-muted)!important;margin:0!important;font-size:10px!important}.member-access.points{border-color:#0d92f059;color:var(--accent)!important}.member-access.vip{border-color:#f59e0b66;color:#fbbf24!important}.member-transactions{display:grid}.member-transactions>div{border-bottom:1px solid var(--border);min-height:37px;color:var(--text-muted);grid-template-columns:80px minmax(0,1fr) auto;align-items:center;gap:8px;padding:0 13px;font-size:11px;display:grid}.member-transactions>div:last-child{border-bottom:0}.member-transactions span:first-child{color:var(--text-dim);font-family:var(--font-mono)}.member-transactions span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.member-transactions strong{font-family:var(--font-mono);font-size:11px}.member-transactions .positive{color:#34d399}.member-transactions .negative{color:#f87171}.member-error{color:#f87171;background:#f8717114;border:1px solid #f871715c;border-radius:5px;padding:8px 10px;font-size:12px}@media (max-width:560px){.member-modal-backdrop{padding:8px}.member-modal{max-height:calc(100dvh - 16px)}.member-modal-body{padding:12px}.member-hero{min-height:92px;padding:14px}.member-hero h2{font-size:18px}.member-tier{min-width:64px}.member-actions{grid-template-columns:1fr}.member-stats{gap:6px}.member-stat{padding:9px}.member-stat strong{font-size:13px}.member-inline{flex-wrap:wrap}.member-inline input,.member-inline select{flex:140px;min-width:0}.member-transactions>div{grid-template-columns:70px minmax(0,1fr) auto;padding:0 10px}}@media (min-width:641px){.joycoder-app .joycoder-ai-panel{order:3;border-left:1px solid var(--border)!important;flex:0 0 clamp(360px,34vw,520px)!important;width:clamp(360px,34vw,520px)!important;min-width:360px!important}.joycoder-app .right-panel-container.right-panel-open{order:2;border-left:0!important;border-right:1px solid var(--border)!important;flex:auto!important;width:auto!important;min-width:0!important}.joycoder-app .right-panel-container.right-panel-open>*{width:auto!important;min-width:0!important}.joycoder-ai-panel .joycoder-chat-input{padding-right:0!important}.joycoder-ai-panel .joycoder-chat-input>div{max-width:none!important}}body{height:100dvh}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}:root{--font-mono:var(--font-noto-mono),"JetBrains Mono","Fira Code","Consolas",ui-monospace,"PingFang SC","Microsoft YaHei",monospace}code,pre{font-family:var(--font-mono)}.markdown-body{color:var(--text);word-break:break-word;font-size:14px;line-height:1.7}.markdown-body p{margin:0 0 8px}.markdown-body p:last-child{margin-bottom:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{color:var(--text);letter-spacing:0;margin:10px 0 5px;font-weight:600;line-height:1.35}.markdown-body h1{font-size:1.16em}.markdown-body h2{font-size:1.08em}.markdown-body h3{color:var(--text);font-size:.98em}@supports (color:color-mix(in lab,red,red)){.markdown-body h3{color:color-mix(in srgb,var(--text) 88%,var(--text-muted))}}.markdown-body ol,.markdown-body ul{margin:5px 0 8px;padding-left:22px;list-style-position:outside}.markdown-body li{margin:3px 0;padding-left:2px}.markdown-body ul>li{list-style-type:disc}.markdown-body ol>li{list-style-type:decimal}.markdown-body li>p{margin:0}.markdown-body li::marker{color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.markdown-body li::marker{color:color-mix(in srgb,var(--accent) 72%,var(--text-muted))}}.markdown-body li::marker{font-weight:600}.markdown-body strong{color:var(--text)}@supports (color:color-mix(in lab,red,red)){.markdown-body strong{color:color-mix(in srgb,var(--text) 88%,var(--accent))}}.markdown-body strong{font-weight:700}.markdown-body em{color:var(--text-muted)}.markdown-body a{color:var(--accent);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.markdown-body a{-webkit-text-decoration-color:color-mix(in srgb,var(--accent) 45%,transparent);text-decoration-color:color-mix(in srgb,var(--accent) 45%,transparent)}}.markdown-body a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.markdown-body .markdown-inline-code{background:var(--bg-subtle);color:var(--text);font-family:var(--font-mono);box-shadow:inset 0 0 0 1px var(--border);border-radius:5px;padding:1px 5px;font-size:.92em}@supports (color:color-mix(in lab,red,red)){.markdown-body .markdown-inline-code{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--border) 70%,transparent)}}.markdown-body .contains-task-list{padding-left:0;list-style:none}.markdown-body .task-list-item{padding-left:25px;display:block;position:relative}.markdown-body .task-list-item::marker{content:""}.markdown-body .task-list-item>input[type=checkbox],.markdown-body .task-list-item>p:first-child>input[type=checkbox]:first-child{appearance:none;border:1px solid var(--border);background:var(--bg);border-radius:4px;place-content:center;width:14px;height:14px;margin:0;display:inline-grid;position:absolute;top:.35em;left:0}.markdown-body .task-list-item>input[type=checkbox]:checked,.markdown-body .task-list-item>p:first-child>input[type=checkbox]:first-child:checked{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.markdown-body .task-list-item>input[type=checkbox]:checked,.markdown-body .task-list-item>p:first-child>input[type=checkbox]:first-child:checked{border-color:color-mix(in srgb,var(--accent) 55%,var(--border))}}.markdown-body .task-list-item>input[type=checkbox]:checked,.markdown-body .task-list-item>p:first-child>input[type=checkbox]:first-child:checked{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.markdown-body .task-list-item>input[type=checkbox]:checked,.markdown-body .task-list-item>p:first-child>input[type=checkbox]:first-child:checked{background:color-mix(in srgb,var(--accent) 10%,var(--bg))}}.markdown-body .task-list-item>input[type=checkbox]:checked:before,.markdown-body .task-list-item>p:first-child>input[type=checkbox]:first-child:checked:before{content:"";border:solid var(--accent);border-width:0 1.5px 1.5px 0;width:4px;height:8px;transform:rotate(45deg)translateY(-1px)}.markdown-body blockquote{border-left:3px solid var(--border)}@supports (color:color-mix(in lab,red,red)){.markdown-body blockquote{border-left:3px solid color-mix(in srgb,var(--border) 75%,var(--text-muted))}}.markdown-body blockquote{background:var(--bg-subtle);color:var(--text-muted);border-radius:0 6px 6px 0;margin:6px 0;padding:6px 11px}.markdown-table-wrap{border:1px solid var(--border);border-radius:7px;width:100%;margin:8px 0;overflow:auto hidden}.markdown-body table{border-collapse:separate;border-spacing:0;min-width:100%;font-size:13px}.markdown-body td,.markdown-body th{border:0;border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:6px 10px}.markdown-body tr:last-child td{border-bottom:0}.markdown-body th{background:var(--bg-panel);color:var(--text)}@supports (color:color-mix(in lab,red,red)){.markdown-body th{color:color-mix(in srgb,var(--text) 88%,var(--text-muted))}}.markdown-body th{font-weight:650}.markdown-body tbody tr:nth-child(2n) td{background:var(--bg-subtle)}.markdown-body hr{background:linear-gradient(90deg,transparent,var(--border),transparent);border:none;height:1px;margin:12px 0}.markdown-body .katex-display{margin:.6em 0;padding:2px 0;overflow:auto hidden}.markdown-body .katex{font-size:1.05em}.markdown-user-message p{white-space:pre-wrap}.markdown-custom-message{line-height:1.32}.markdown-custom-message p{margin:0}.markdown-custom-message h1,.markdown-custom-message h2,.markdown-custom-message h3,.markdown-custom-message h4,.markdown-custom-message h5,.markdown-custom-message h6{margin:4px 0 2px;line-height:1.18}.markdown-custom-message ol,.markdown-custom-message ul{margin:2px 0 3px}.markdown-custom-message li{margin:0}.markdown-custom-message blockquote{margin:3px 0;padding:4px 8px}.markdown-custom-message .markdown-code-block,.markdown-custom-message .markdown-table-wrap{margin:4px 0}.markdown-compaction-message{line-height:1.5}.markdown-compaction-message p{margin:0 0 7px}.markdown-compaction-message h1,.markdown-compaction-message h2,.markdown-compaction-message h3,.markdown-compaction-message h4,.markdown-compaction-message h5,.markdown-compaction-message h6{margin:8px 0 3px;line-height:1.25}.markdown-compaction-message ol,.markdown-compaction-message ul{margin:4px 0 8px}.markdown-compaction-message li{margin:2px 0}.markdown-compaction-message .markdown-code-block,.markdown-compaction-message .markdown-table-wrap{margin:6px 0}.compaction-file-details{border-top:1px solid var(--border);color:var(--text-muted);margin-top:10px;padding-top:8px;font-size:12px}.compaction-file-details summary{cursor:pointer;font-weight:600;line-height:1.4}.compaction-file-section{margin-top:8px}.compaction-file-title{color:var(--text);margin-bottom:4px;font-size:11px;font-weight:650}.compaction-file-list{border:1px solid var(--border);background:var(--bg-panel);max-height:180px;font-family:var(--font-mono);border-radius:6px;margin:0;padding:7px 8px;font-size:11px;line-height:1.45;list-style:none;overflow:auto}.compaction-file-list li{overflow-wrap:anywhere}.compaction-file-list li+li{margin-top:3px}.markdown-code-block{border:1px solid var(--border);background:var(--bg);box-shadow:0 1px 0 var(--border);border-radius:7px;margin:6px 0;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.markdown-code-block{box-shadow:0 1px 0 color-mix(in srgb,var(--border) 42%,transparent)}}.markdown-code-header{background:var(--bg-panel);border-bottom:1px solid var(--border);color:var(--text-dim);justify-content:space-between;align-items:center;gap:8px;padding:5px 10px;font-size:11px;display:flex}.markdown-code-lang{color:var(--text-muted);font-family:var(--font-mono);font-weight:650}.markdown-code-actions{align-items:center;gap:6px;display:flex}.markdown-code-action{border:1px solid var(--border);background:var(--bg);color:var(--text-muted);cursor:pointer;font:inherit;border-radius:5px;padding:2px 7px;font-size:11px;line-height:1.25}.markdown-code-action:hover:not(:disabled){color:var(--text);border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.markdown-code-action:hover:not(:disabled){border-color:color-mix(in srgb,var(--border) 70%,var(--text-muted))}}.markdown-code-action:disabled{color:var(--text-dim);cursor:not-allowed;opacity:.75}.markdown-code-action.is-active{background:var(--bg-selected);color:var(--text)}.mermaid-block{background:var(--bg);padding:12px;overflow-x:auto}@supports (color:color-mix(in lab,red,red)){.mermaid-block{background:color-mix(in srgb,var(--bg) 92%,var(--bg-panel))}}.mermaid-block svg{max-width:none;display:block}.mermaid-block-loading{min-height:120px}.mermaid-block-error{color:var(--text-muted);font-family:var(--font-mono);font-size:12px}.markdown-file-preview h1{font-size:1.8em}.markdown-file-preview h2{font-size:1.4em}.markdown-file-preview h3{font-size:1.15em}.markdown-file-preview p{margin:0 0 12px}.markdown-file-preview pre{border:1px solid var(--border);border-radius:6px;margin:12px 0;padding:12px 16px;font-size:13px;overflow-x:auto}.markdown-file-preview code,.markdown-file-preview pre{background:var(--bg-panel);font-family:var(--font-mono)}.markdown-file-preview code{border-radius:3px;padding:1px 5px;font-size:.9em}.markdown-file-preview pre code{background:0 0;padding:0}.markdown-body span.linenumber,span.linenumber{color:var(--text-dim)!important;font-style:normal!important}@keyframes drop-zone-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes drop-icon-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes drop-ring-pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}@keyframes drop-ripple{0%{opacity:.6;transform:scale(0)}to{opacity:0;transform:scale(1)}}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes pulse{50%{opacity:.5}}@keyframes notice-shelf-in{0%{opacity:0;height:0;min-height:0;max-height:0;margin-bottom:0;transform:translateY(-6px)scale(.995)}to{opacity:1;height:60px;min-height:60px;max-height:60px;transform:translateY(0)scale(1)}}@keyframes notice-shelf-out{0%{opacity:1;height:60px;min-height:60px;max-height:60px;transform:translateY(0)scale(1)}to{opacity:0;height:0;min-height:0;max-height:0;margin-bottom:0;transform:translateY(-5px)scale(.995)}}@media (prefers-reduced-motion:reduce){.notice-shelf-item{animation-duration:.001ms!important}}@keyframes saved-pop{0%{transform:scale(1);box-shadow:0 0 #4ade808c}40%{transform:scale(1.08);box-shadow:0 0 0 6px #4ade8040}to{transform:scale(1);box-shadow:0 0 #4ade8000}}@keyframes saved-check-draw{0%{stroke-dashoffset:18px;opacity:0}to{stroke-dashoffset:0;opacity:1}}@media (min-width:641px){.sidebar-overlay-backdrop{display:none!important}.sidebar-container{transition:width .2s,min-width .2s;position:relative;overflow:hidden}.sidebar-container.sidebar-open{width:260px;min-width:260px}.sidebar-container.sidebar-closed{width:0;min-width:0;border-right:none!important}.sidebar-container>*{width:260px;min-width:260px}.right-panel-container{flex-shrink:0;transition:width .2s,min-width .2s;overflow:hidden}.right-panel-container.right-panel-open{width:42%;min-width:300px}.right-panel-container.right-panel-closed{width:0;min-width:0;border-left:none!important}.right-panel-container>*{width:42vw;min-width:300px}}@media (max-width:640px){.chat-stats-center{display:none!important}.sidebar-container{width:280px;max-width:85vw;transition:transform .25s,box-shadow .25s;top:0;bottom:0;left:0;position:fixed!important}.sidebar-container.sidebar-open{transform:translate(0);box-shadow:4px 0 20px #00000026}.sidebar-container.sidebar-closed{box-shadow:none;transform:translate(-100%)}.joycoder-mobile-activitybar{border-top:1px solid var(--border);background:var(--bg-panel);flex-shrink:0;align-items:stretch;gap:2px;padding:4px;display:flex}.joycoder-mobile-activitybar button{min-width:0;height:44px;color:var(--text-dim);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:3px;padding:0 2px;font-size:9px;line-height:1.2;display:flex}.joycoder-mobile-activitybar button:active,.joycoder-mobile-activitybar button:hover{color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.joycoder-mobile-activitybar button:active,.joycoder-mobile-activitybar button:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}}.joycoder-mobile-activitybar button:active,.joycoder-mobile-activitybar button:hover{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.joycoder-mobile-activitybar button:active,.joycoder-mobile-activitybar button:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}}.joycoder-mobile-activitybar button:disabled{opacity:.4;cursor:not-allowed}.joycoder-mobile-activitybar button span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.right-panel-container{flex-shrink:0;transition:width .2s,min-width .2s;overflow:hidden}.right-panel-container.right-panel-open{width:100%;min-width:0}.right-panel-container.right-panel-closed{border-left:none!important;width:0!important;min-width:0!important;display:none!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}