@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--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-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--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}}}@layer theme{:root,:host{--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-300:oklch(80.8% .114 19.571);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-800:oklch(44.4% .177 26.899);--color-yellow-400:oklch(85.2% .199 91.936);--color-blue-500:oklch(62.3% .214 259.815);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-neutral-300:oklch(87% 0 0);--color-neutral-400:oklch(70.8% 0 0);--color-neutral-500:oklch(55.6% 0 0);--color-neutral-600:oklch(43.9% 0 0);--color-neutral-700:oklch(37.1% 0 0);--color-neutral-800:oklch(26.9% 0 0);--color-neutral-900:oklch(20.5% 0 0);--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--font-weight-medium:500;--font-weight-bold:700;--font-weight-extrabold:800;--radius-sm:.25rem;--radius-md:.375rem;--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)}}@layer base{*,:after,:before,::backdrop{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}html,:host{-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,samp,pre{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}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,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{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-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{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.right-1{right:calc(var(--spacing)*1)}.bottom-0\.5{bottom:calc(var(--spacing)*.5)}.left-1{left:calc(var(--spacing)*1)}.z-1000000{z-index:1000000}.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}}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.ml-2{margin-left:calc(var(--spacing)*2)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-1{height:calc(var(--spacing)*1)}.h-3{height:calc(var(--spacing)*3)}.h-full{height:100%}.max-h-64{max-height:calc(var(--spacing)*64)}.max-h-\[70vh\]{max-height:70vh}.min-h-32{min-height:calc(var(--spacing)*32)}.w-3{width:calc(var(--spacing)*3)}.w-64{width:calc(var(--spacing)*64)}.w-72{width:calc(var(--spacing)*72)}.w-full{width:100%}.max-w-\[150px\]{max-width:150px}.max-w-\[160px\]{max-width:160px}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.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,)}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.grid-cols-\[110px_1fr\]{grid-template-columns:110px 1fr}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-x-4{column-gap:calc(var(--spacing)*4)}.gap-y-2{row-gap:calc(var(--spacing)*2)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-blue-500\/70{border-color:#3080ffb3}@supports (color:color-mix(in lab,red,red)){.border-blue-500\/70{border-color:color-mix(in oklab,var(--color-blue-500)70%,transparent)}}.border-gray-600{border-color:var(--color-gray-600)}.border-gray-700{border-color:var(--color-gray-700)}.border-neutral-600{border-color:var(--color-neutral-600)}.border-neutral-700{border-color:var(--color-neutral-700)}.border-red-500\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.border-red-500\/30{border-color:color-mix(in oklab,var(--color-red-500)30%,transparent)}}.bg-blue-500{background-color:var(--color-blue-500)}.bg-gray-700{background-color:var(--color-gray-700)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-neutral-800{background-color:var(--color-neutral-800)}.bg-neutral-900{background-color:var(--color-neutral-900)}.bg-neutral-900\/95{background-color:#171717f2}@supports (color:color-mix(in lab,red,red)){.bg-neutral-900\/95{background-color:color-mix(in oklab,var(--color-neutral-900)95%,transparent)}}.bg-red-500{background-color:var(--color-red-500)}.bg-red-600\/20{background-color:#e4001433}@supports (color:color-mix(in lab,red,red)){.bg-red-600\/20{background-color:color-mix(in oklab,var(--color-red-600)20%,transparent)}}.bg-white\/5{background-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.bg-white\/5{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.bg-white\/10{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-4{padding:calc(var(--spacing)*4)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-6{padding-block:calc(var(--spacing)*6)}.pr-1{padding-right:calc(var(--spacing)*1)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.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-\[8px\]{font-size:8px}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.break-all{word-break:break-all}.text-blue-500{color:var(--color-blue-500)}.text-gray-400{color:var(--color-gray-400)}.text-neutral-300{color:var(--color-neutral-300)}.text-neutral-400{color:var(--color-neutral-400)}.text-red-300{color:var(--color-red-300)}.text-red-800{color:var(--color-red-800)}.text-white{color:var(--color-white)}.text-white\/50{color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.text-white\/50{color:color-mix(in oklab,var(--color-white)50%,transparent)}}.text-white\/60{color:#fff9}@supports (color:color-mix(in lab,red,red)){.text-white\/60{color:color-mix(in oklab,var(--color-white)60%,transparent)}}.text-white\/70{color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.text-white\/70{color:color-mix(in oklab,var(--color-white)70%,transparent)}}.text-white\/90{color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.text-white\/90{color:color-mix(in oklab,var(--color-white)90%,transparent)}}.text-yellow-400{color:var(--color-yellow-400)}.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,)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-blue-500\/40{--tw-ring-color:#3080ff66}@supports (color:color-mix(in lab,red,red)){.ring-blue-500\/40{--tw-ring-color:color-mix(in oklab,var(--color-blue-500)40%,transparent)}}.backdrop-blur{--tw-backdrop-blur:blur(8px);-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-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.select-none{-webkit-user-select:none;user-select:none}.placeholder\:text-neutral-400::placeholder{color:var(--color-neutral-400)}@media(hover:hover){.hover\:bg-neutral-800:hover{background-color:var(--color-neutral-800)}.hover\:bg-red-600\/30:hover{background-color:#e400144d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-600\/30:hover{background-color:color-mix(in oklab,var(--color-red-600)30%,transparent)}}.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.hover\:font-extrabold:hover{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-neutral-500:focus{--tw-ring-color:var(--color-neutral-500)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:cursor-grabbing:active{cursor:grabbing}.active\:bg-neutral-700:active{background-color:var(--color-neutral-700)}}:root{color:#eaf0ec;font-synthesis:none;text-rendering:optimizeLegibility;background:#0d1821;font-family:Pretendard Variable,Pretendard,Noto Sans KR,Apple SD Gothic Neo,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}body{overflow:hidden}button,input,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:2px solid #79c8ea}button:disabled{cursor:progress}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#35505e padding-box padding-box;border:2px solid #0000;border-radius:8px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{background:#0d1821;width:100vw;height:100vh;display:flex;overflow:hidden}.sidebar{z-index:40;color:#dce9e7;background:#13232d;border-right:1px solid #29404b;flex-direction:column;width:330px;min-width:330px;height:100%;display:flex;position:relative;box-shadow:8px 0 30px #030a0e33}.sidebar--collapsed{align-items:center;gap:18px;width:54px;min-width:54px;padding:13px 0}.sidebar--collapsed>button,.sidebar__brand>button{color:#9eb3b8;cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;width:32px;height:32px;padding:0;display:grid}.sidebar--collapsed>button:hover,.sidebar__brand>button:hover{color:#f1f6f3;background:#203640}.brand-mark{color:#10202a;background:#88d0e9;border-radius:9px 3px;flex:none;place-items:center;width:32px;height:32px;font-family:SFMono-Regular,Consolas,monospace;font-size:17px;font-weight:900;display:grid;box-shadow:inset 0 0 0 1px #ffffff59}.sidebar__brand{border-bottom:1px solid #29404b;grid-template-columns:32px 1fr 32px;align-items:center;gap:11px;height:66px;padding:0 14px;display:grid}.sidebar__brand>div:nth-child(2){flex-direction:column;gap:1px;min-width:0;display:flex}.sidebar__brand strong{color:#f0f6f2;letter-spacing:-.01em;font-size:17px}.sidebar__brand span{color:#79969f;font-size:12px}.sidebar-tabs{background:#10202a;border:1px solid #29404b;border-radius:8px;grid-template-columns:1fr 1fr;gap:4px;margin:12px 14px 8px;padding:3px;display:grid}.sidebar-tabs button{color:#86a0a8;cursor:pointer;background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;gap:6px;height:32px;font-size:13px;display:flex}.sidebar-tabs button.is-active{color:#e8f1ee;background:#233b46;box-shadow:0 1px 2px #0000003d}.sidebar__content{flex:1;min-height:0;overflow:hidden}.sidebar__footer{background:#10202a;border-top:1px solid #29404b;padding:12px 14px 14px}.sidebar__footer p{color:#718d96;margin:9px 0 0;font-size:10px;line-height:1.45}.sidebar__footer label{color:#91aab1;font-size:11px}.sidebar__footer select{background:#172a34;border-color:#35505e;border-radius:5px;min-height:30px;font-size:11px}.file-uploader{flex-direction:column;gap:10px;height:100%;padding:12px 14px;display:flex}.file-uploader>div:first-child span{color:#a9bdc0;font-size:11px;font-weight:700}.file-uploader>div:first-child button{color:#79c8e7;font-size:11px}.file-uploader>div:nth-of-type(2){color:#9bb0b4;background:#10202a;border-color:#314b56;border-radius:6px;min-height:180px;padding:6px}.node-library{flex-direction:column;height:100%;padding:4px 10px 0 14px;display:flex}.library-search{color:#75929a;background:#0f1e27;border:1px solid #2c4551;border-radius:6px;flex:none;grid-template-columns:18px 1fr auto;align-items:center;gap:7px;height:38px;padding:0 9px;display:grid}.library-search input{color:#e5efec;background:0 0;border:0;outline:none;min-width:0;font-size:13px}.library-search input::placeholder{color:#607b84}.library-search kbd,.canvas-help kbd{color:#74909a;text-align:center;background:#162832;border:1px solid #35505e;border-bottom-color:#4b6873;border-radius:4px;min-width:20px;padding:1px 5px;font-family:SFMono-Regular,Consolas,monospace;font-size:9px}.node-library__groups{flex:1;min-height:0;padding:5px 4px 24px 0;overflow-y:auto}.node-group+.node-group{margin-top:5px}.node-group__title{color:#78949c;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;grid-template-columns:14px 7px 1fr auto;align-items:center;gap:7px;width:100%;height:36px;padding:0 5px 0 3px;display:grid}.node-group__title:hover{color:#c8d7d5;background:#192d37}.node-group__title h3{color:#b7c9c9;margin:0;font-size:12.5px;font-weight:650}.node-group__title>span:last-child{color:#5e7a83;font-family:SFMono-Regular,Consolas,monospace;font-size:10px}.category-mark{background:#4fb7e8;border-radius:50%;width:6px;height:6px}.category-mark--data{background:#4fb7e8}.category-mark--datasets{background:#73c8df}.category-mark--tensor{background:#55c9a5}.category-mark--modules{background:#a88af3}.category-mark--loss{background:#f3b34c}.category-mark--optimizers{background:#ef8d78}.category-mark--training{background:#62ccd0}.category-mark--metrics{background:#e6a65b}.category-mark--statistics{background:#eb7f66}.category-mark--math{background:#d986c8}.category-mark--output{background:#90d49b}.node-group__items{flex-direction:column;gap:3px;padding:2px 0 6px 20px;display:flex}.library-node{text-align:left;cursor:pointer;background:0 0;border:0;border-left:1px solid #29404b;grid-template-columns:1fr 24px;align-items:center;gap:8px;width:100%;min-height:76px;padding:9px 6px 9px 11px;display:grid}.library-node:hover{background:#1a303a;border-left-color:#6fc6e7}.library-node>span{flex-direction:column;gap:3px;min-width:0;display:flex}.library-node strong{color:#dbe7e5;font-size:14px;font-weight:620}.library-node code{color:#86b9c8;text-overflow:ellipsis;white-space:nowrap;font-family:SFMono-Regular,Consolas,monospace;font-size:10.5px;line-height:1.35;overflow:hidden}.library-node small{color:#78949c;font-size:11.5px;line-height:1.42}.node-library__summary{color:#6f8b94;justify-content:space-between;align-items:center;height:36px;padding:0 4px;font-family:SFMono-Regular,Consolas,monospace;font-size:10.5px;display:flex}.node-library__summary button{color:#86a8b1;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:4px 6px;font-size:10.5px}.node-library__summary button:hover{color:#d9e6e3;background:#1b313b}.library-node>svg{opacity:0;color:#88d0e9;transition:opacity .12s}.library-node:hover>svg,.library-node:focus-visible>svg{opacity:1}.library-empty{color:#819aa1;text-align:center;flex-direction:column;gap:5px;padding:32px 16px;display:flex}.library-empty strong{font-size:12px}.library-empty span{font-size:10px;line-height:1.5}.workspace{background:#0d1821;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.workspace-toolbar{z-index:30;color:#b7c9c8;background:#101f28;border-bottom:1px solid #29404b;grid-template-columns:minmax(190px,1fr) minmax(170px,auto) minmax(410px,1fr);align-items:center;gap:16px;height:66px;min-height:66px;padding:0 14px 0 18px;display:grid;position:relative}.workspace-toolbar__project{align-items:center;gap:8px;min-width:0;display:flex}.project-dot{background:#55c9a5;border-radius:50%;flex:none;width:6px;height:6px;box-shadow:0 0 0 3px #55c9a51f}.workspace-toolbar__project input{color:#edf5f1;background:0 0;border:1px solid #0000;border-radius:4px;width:min(230px,100%);min-width:80px;padding:5px 4px;font-size:13px;font-weight:650}.workspace-toolbar__project input:hover,.workspace-toolbar__project input:focus{background:#162a34;border-color:#35505e}.save-state{color:#66828a;flex:none;font-size:10px}.execution-chip{color:#8da5aa;background:#0d1a22;border:1px solid #29414c;border-radius:20px;justify-self:center;align-items:center;gap:7px;max-width:270px;height:30px;padding:0 10px;font-size:10px;display:flex}.execution-chip>span{background:#738c93;border-radius:50%;flex:none;width:6px;height:6px}.execution-chip p{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.execution-chip small{color:#617a82;font-family:SFMono-Regular,Consolas,monospace}.execution-chip--running>span{background:#4fb7e8;animation:1s ease-in-out infinite status-pulse}.execution-chip--success>span{background:#55c9a5}.execution-chip--error{color:#f0afa0;border-color:#714238}.execution-chip--error>span{background:#ef795f}.workspace-toolbar__actions{justify-content:flex-end;align-items:center;gap:3px;display:flex}.workspace-toolbar__actions>button,.toolbar-menu>button{color:#8fa7ac;white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;align-items:center;gap:5px;height:34px;padding:0 8px;font-size:12px;display:flex}.workspace-toolbar__actions>button:hover,.toolbar-menu>button:hover,.workspace-toolbar__actions>button.is-active{color:#e5efec;background:#192d37;border-color:#314b57}.toolbar-menu{position:relative}.toolbar-menu__popover{color:#dbe8e5;background:#172a34;border:1px solid #3b5661;border-radius:7px;flex-direction:column;gap:3px;width:290px;padding:7px;display:flex;position:absolute;top:42px;right:0;box-shadow:0 18px 50px #02090d73}.toolbar-menu__popover button{text-align:left;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;flex-direction:column;gap:4px;padding:10px;display:flex}.toolbar-menu__popover button:hover{background:#223c47}.toolbar-menu__popover strong{font-size:12px}.toolbar-menu__popover small{color:#849da4;font-size:10px;line-height:1.45}.run-button{color:#10202a;cursor:pointer;background:#79c8e7;border:1px solid #9ed8eb;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:40px;font-size:12px;font-weight:750;display:flex;position:relative;overflow:hidden}.run-button:hover{background:#99d9ee}.run-button:disabled{opacity:.78}.run-button>*{z-index:1;position:relative}.run-button__icon{place-items:center;font-size:16px;display:grid}.run-button__progress{z-index:0;background:#ffffff52;height:100%;transition:width .16s linear;position:absolute;inset:0 auto 0 0}.run-button--compact{height:36px;min-height:36px;margin-left:5px;padding:0 13px}.workspace__body{flex:1;min-height:0;display:flex;position:relative}.canvas-stage{flex:1;min-width:0;min-height:0;position:relative;overflow:hidden}.canvas-stage>canvas{position:absolute;inset:0}.canvas-surface{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:relative;overflow:hidden}.canvas-surface.is-pannable{cursor:grab}.edge-layer{z-index:2;pointer-events:none;filter:drop-shadow(0 2px 2px #00000059);width:100%;height:100%;position:absolute;inset:0;overflow:visible}.node-layer{z-index:3;position:absolute;inset:0}.canvas-help{z-index:5;color:#63808a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none;background:#09141bc2;border:1px solid #4868746b;border-radius:5px;align-items:center;gap:14px;height:28px;padding:0 10px;font-size:10.5px;display:flex;position:absolute;bottom:12px;right:12px}.canvas-help span{align-items:center;gap:4px;display:flex}.canvas-empty-state{z-index:4;color:#adc0c2;text-align:center;flex-direction:column;align-items:center;width:min(440px,100% - 40px);display:flex;position:absolute;top:47%;left:50%;transform:translate(-50%,-50%)}.empty-state__diagram{align-items:center;height:50px;margin-bottom:20px;display:flex}.empty-state__diagram span{background:#142832;border:1px solid #537585;border-top:4px solid #4fb7e8;border-radius:4px;width:42px;height:31px;box-shadow:0 8px 20px #0000002e}.empty-state__diagram span:nth-of-type(2){border-top-color:#a88af3}.empty-state__diagram span:nth-of-type(3){border-top-color:#f3b34c}.empty-state__diagram i{background:#416676;width:40px;height:1px}.canvas-empty-state h2{color:#e0ebe8;letter-spacing:-.025em;margin:0;font-size:20px}.canvas-empty-state p{color:#76939b;max-width:390px;margin:9px 0 20px;font-size:13.5px;line-height:1.65}.canvas-empty-state button{color:#cdebf4;cursor:pointer;background:#173342;border:1px solid #45798e;border-radius:5px;align-items:center;gap:7px;height:38px;padding:0 15px;font-size:13px;font-weight:650;display:flex}.canvas-empty-state button:hover{background:#1c4152}.canvas-empty-state small{color:#5f7d86;align-items:center;gap:5px;margin-top:14px;font-size:9px;display:flex}.node-card{--node-color:#4fb7e8;color:#d8e6e4;cursor:default;background:#172832;border:1px solid #49616a;border-radius:6px;position:absolute;box-shadow:0 10px 24px #01080c52,inset 0 0 0 1px #ffffff05}.node-card--data{--node-color:#4fb7e8}.node-card--datasets{--node-color:#73c8df}.node-card--tensor{--node-color:#55c9a5}.node-card--modules{--node-color:#a88af3}.node-card--loss{--node-color:#f3b34c}.node-card--optimizers{--node-color:#ef8d78}.node-card--training{--node-color:#62ccd0}.node-card--metrics{--node-color:#e6a65b}.node-card--statistics{--node-color:#eb7f66}.node-card--math{--node-color:#d986c8}.node-card--output{--node-color:#90d49b}.node-card--legacy{--node-color:#87979c}.node-card.is-selected{border-color:var(--node-color);box-shadow:0 0 0 2px var(--node-color),0 12px 30px #00000061}@supports (color:color-mix(in lab,red,red)){.node-card.is-selected{box-shadow:0 0 0 2px color-mix(in srgb,var(--node-color)28%,transparent),0 12px 30px #00000061}}.node-card.has-error,.node-card.is-error{border-color:#ef795f;box-shadow:0 0 0 2px #ef795f38,0 12px 30px #00000061}.node-card.is-running{border-color:var(--node-color);animation:1.1s ease-in-out infinite node-running}.node-card__header{background:#1c303a;border-bottom:1px solid #3b515a;border-radius:5px 5px 0 0;grid-template-columns:5px 1fr 8px auto;align-items:center;gap:9px;height:48px;padding:0 10px;display:grid}.node-card__category{background:var(--node-color);border-radius:2px;width:4px;height:19px}.node-card__identity{flex-direction:column;gap:2px;min-width:0;display:flex}.node-card__identity strong{color:#edf4f1;letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:700;overflow:hidden}.node-card__identity code{color:#76959e;text-overflow:ellipsis;white-space:nowrap;font-family:SFMono-Regular,Consolas,monospace;font-size:9.5px;font-weight:500;overflow:hidden}.node-card--small .node-card__identity{gap:0}.node-card--small .node-card__identity strong{font-size:13px}.node-card__status{background:#536c75;border-radius:50%;width:6px;height:6px}.is-success .node-card__status{background:#55c9a5}.is-running .node-card__status{background:var(--node-color)}.is-error .node-card__status{background:#ef795f}.node-card__settings{color:#6f8991;font-size:12px}.node-card__body{grid-template-columns:1fr 1fr;height:calc(100% - 48px);padding:10px 0;display:grid;position:relative}.node-card--input .node-card__body{height:100%;padding:7px 0;display:block}.port-column{flex-direction:column;min-width:0;display:flex}.port-row{color:#92a8ac;white-space:nowrap;align-items:center;gap:7px;height:36px;font-family:SFMono-Regular,Consolas,monospace;font-size:10.5px;display:flex}.port-row--right{text-align:right;flex-direction:row-reverse;justify-content:flex-start}.port-handle{background:var(--node-color);width:12px;height:12px;box-shadow:0 0 0 1px var(--node-color);border:3px solid #172832;border-radius:50%;flex:none}@supports (color:color-mix(in lab,red,red)){.port-handle{box-shadow:0 0 0 1px color-mix(in srgb,var(--node-color)80%,white)}}.port-handle{cursor:crosshair}.port-row--left .port-handle{margin-left:-6px}.port-row--right .port-handle{margin-right:-6px}.port-handle:hover{transform:scale(1.22)}.port-label{text-overflow:ellipsis;overflow:hidden}.port-number-input{color:#edf4f1;text-align:left;background:#10212a;border:1px solid #3d5964;border-radius:4px;outline:none;width:130px;height:34px;padding:0 8px;font-family:SFMono-Regular,Consolas,monospace;font-size:12.5px}.node-card--input .port-row--right{justify-content:flex-start;width:100%}.node-card__preview{color:#b5d8bd;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;background:#90d49b14;border-radius:3px;max-width:150px;padding:4px 7px;font-family:SFMono-Regular,Consolas,monospace;font-size:10.5px;position:absolute;top:16px;left:46px;overflow:hidden}.node-card__preview--file{color:#87bfd5;background:#4fb7e814;left:auto;right:26px}.node-card__result{color:#a9cbc1;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;background:#55c9a512;border-radius:3px;max-width:170px;padding:3px 6px;font-family:SFMono-Regular,Consolas,monospace;font-size:9.5px;position:absolute;bottom:3px;right:18px;overflow:hidden}.lesson-panel{z-index:20;color:#c9d8d7;background:#14242d;border-left:1px solid #2c444f;flex-direction:column;width:342px;min-width:342px;height:100%;display:flex;position:relative;box-shadow:-10px 0 32px #02080c33}.lesson-panel__header{border-bottom:1px solid #2c444f;justify-content:space-between;align-items:center;height:52px;padding:0 15px 0 18px;display:flex}.lesson-panel__header>div,.lesson-panel__header button{align-items:center;display:flex}.lesson-panel__header>div{color:#e2ece9;gap:8px;font-size:13px;font-weight:700}.lesson-panel__header button{color:#819aa1;cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;width:28px;height:28px;padding:0}.lesson-panel__header button:hover{color:#e5efec;background:#203740}.lesson-picker{margin:14px 16px 0;position:relative}.lesson-picker__trigger{text-align:left;color:#dce8e5;cursor:pointer;background:#192d36;border:1px solid #38535e;border-radius:6px;justify-content:space-between;align-items:center;width:100%;min-height:58px;padding:9px 11px;display:flex}.lesson-picker__trigger>span{flex-direction:column;gap:3px;display:flex}.lesson-picker__trigger small{color:#70bcd7;font-size:10.5px}.lesson-picker__trigger strong{font-size:14px}.lesson-picker__menu{z-index:10;color:#dce8e5;background:#1a3039;border:1px solid #3a5661;border-radius:6px;flex-direction:column;width:100%;padding:5px;display:flex;position:absolute;top:64px;box-shadow:0 16px 40px #00000061}.lesson-picker__menu button{color:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:space-between;align-items:center;padding:9px;display:flex}.lesson-picker__menu button:hover{background:#25414b}.lesson-picker__menu span{font-size:11px}.lesson-picker__menu small{color:#77929a;font-size:9px}.lesson-panel__body{flex:1;min-height:0;padding:14px 18px 24px;overflow-y:auto}.lesson-meta{color:#718d95;justify-content:space-between;align-items:center;font-size:10.5px;display:flex}.lesson-meta span{align-items:center;gap:4px;display:flex}.lesson-progress{background:#29404a;height:3px;margin:9px 0 24px;overflow:hidden}.lesson-progress span{background:#55c9a5;height:100%;transition:width .24s;display:block}.lesson-panel section h3{color:#94abb0;margin:0 0 9px;font-size:11.5px;font-weight:700}.lesson-concept p{color:#c3d2d2;word-break:keep-all;margin:0;font-size:13.5px;line-height:1.72}.lesson-checks{margin-top:28px}.lesson-checks ol{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.lesson-checks li{border-bottom:1px solid #253c46;grid-template-columns:20px 1fr;align-items:center;gap:8px;min-height:42px;padding:6px 7px;display:grid}.lesson-checks li>span{color:#10251f;border:1px solid #46606a;border-radius:50%;place-items:center;width:18px;height:18px;font-size:12px;display:grid}.lesson-checks li p{color:#a8babb;margin:0;font-size:12.5px;line-height:1.5}.lesson-checks li.is-complete>span{background:#55c9a5;border-color:#55c9a5}.lesson-checks li.is-complete p{color:#6f8c8d;text-decoration:line-through}.lesson-hint{color:#dab975;background:#f3b34c12;border-left:2px solid #d39a3d;grid-template-columns:18px 1fr;gap:8px;margin-top:24px;padding:11px;display:grid}.lesson-hint p{color:#b9aa87;margin:0;font-size:11.5px;line-height:1.6}.lesson-panel__footer{background:#10212a;border-top:1px solid #2c444f;padding:13px 16px 15px}.lesson-panel__footer button{color:#c9e9f2;cursor:pointer;background:#17313e;border:1px solid #427185;border-radius:5px;width:100%;height:34px;font-size:12px;font-weight:650}.lesson-panel__footer button:hover{background:#1e4050}.lesson-panel__footer span{color:#637f87;text-align:center;margin-top:6px;font-size:9px;display:block}.app-notice{z-index:1000010;color:#d6e7e4;background:#1a3039;border:1px solid #44626d;border-radius:6px;align-items:center;gap:9px;max-width:min(440px,100vw - 32px);min-height:42px;padding:8px 13px;font-size:11px;display:flex;position:fixed;bottom:18px;right:18px;box-shadow:0 15px 40px #0006}.app-notice svg{color:#79c8e7;flex:none;font-size:16px}.floating-window{color:#dce8e5;overflow:hidden;background:#172832!important;border-color:#44606b!important;border-radius:7px!important;box-shadow:0 24px 70px #0000008c!important}.floating-window__titlebar{color:#cbdad8;background:#1c313a;min-height:38px;font-size:11px;border-color:#38515b!important;padding:0 10px!important}.floating-window__close{line-height:1;color:#efb0a2!important;background:#713f36!important;width:18px!important;height:18px!important;font-size:14px!important}.floating-window__content{background:#13232d}.output-empty,.window-message{color:#76929a;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:7px;height:100%;min-height:120px;padding:20px;font-size:11px;display:flex}.output-empty strong{color:#c7d7d5;font-size:13px}.window-message--error{color:#efa18f}.output-content{padding:8px}.output-value{color:#9ee0ae;place-items:center;min-height:112px;font-family:SFMono-Regular,Consolas,monospace;font-size:28px;font-weight:700;display:grid}.model-summary{padding:12px}.model-summary>span{color:#bba8f1;font-size:11px;font-weight:700}.model-summary dl{margin:12px 0 0}.model-summary dl>div{border-bottom:1px solid #29404a;grid-template-columns:90px 1fr;gap:12px;padding:7px 0;font-size:10px;display:grid}.model-summary dt{color:#78949b}.model-summary dd{color:#d6e2df;margin:0;font-family:SFMono-Regular,Consolas,monospace}.confusion-matrix{color:#c8d8d7;background:#10212a;min-height:100%;padding:14px}.confusion-matrix__summary{justify-content:space-between;align-items:baseline;margin-bottom:18px;display:flex}.confusion-matrix__summary strong{color:#eef5f2;font-size:15px}.confusion-matrix__summary span{color:#7da0aa;font-size:11px}.confusion-matrix__axis{color:#78959d;margin:0 0 7px 74px;font-size:10px}.confusion-matrix table{border-collapse:collapse;table-layout:fixed;width:100%}.confusion-matrix th,.confusion-matrix td{text-align:center;border:1px solid #304a55;height:48px}.confusion-matrix th{color:#85a2a9;background:#162b35;font-size:11px}.confusion-matrix td{color:#d9e5e2;font-family:SFMono-Regular,Consolas,monospace;font-size:13px}.confusion-matrix td.is-correct{color:#bcebd0;background:#55c9a529}.csv-config{flex-direction:column;gap:14px;height:100%;padding:10px;display:flex}.csv-config__picker{grid-template-columns:80px 1fr;align-items:center;gap:10px;display:grid}.csv-config__picker label{color:#95abb0;font-size:11px}.csv-config__picker select{color:#e1ebe8;background:#172c35;border:1px solid #3e5964;border-radius:5px;height:32px;padding:0 8px;font-size:11px}.csv-config__preview{flex:1;min-height:0;overflow:auto}.csv-config__summary{align-items:center;gap:8px;margin-bottom:12px;font-size:10px;display:flex}.csv-config__summary strong{color:#dbe7e4;margin-right:auto}.csv-config__summary span{color:#8ca5aa;border:1px solid #38535e;border-radius:10px;padding:3px 7px}@keyframes status-pulse{0%,to{opacity:.45;transform:scale(.86)}50%{opacity:1;transform:scale(1.12)}}@keyframes node-running{0%,to{box-shadow:0 0 0 1px #4fb7e81a,0 10px 24px #01080c52}}@media(max-width:1280px){.workspace-toolbar{grid-template-columns:minmax(150px,1fr) auto minmax(350px,1fr);gap:8px}.workspace-toolbar__actions button>span{display:none}.workspace-toolbar__actions>button,.toolbar-menu>button{padding:0 7px}.run-button--compact>span:nth-child(2){display:inline}.save-state{display:none}}@media(max-width:1040px){.execution-chip{display:none}.workspace-toolbar{grid-template-columns:minmax(150px,1fr) auto}.lesson-panel{position:absolute;top:0;bottom:0;right:0;box-shadow:-18px 0 54px #00000075}}@media(max-width:760px){.sidebar{width:min(330px,100vw - 54px);min-width:min(330px,100vw - 54px);position:fixed;inset:0 auto 0 0;box-shadow:18px 0 55px #00000080}.sidebar--collapsed{width:48px;min-width:48px;position:relative}.workspace-toolbar{height:56px;min-height:56px;padding-left:10px}.workspace-toolbar__actions>button:not(.run-button),.toolbar-menu{display:none}.workspace-toolbar__actions>.lesson-toggle{display:flex}.lesson-panel{width:min(342px,100vw - 48px);min-width:0}.canvas-help{display:none}}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!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-font-weight{syntax:"*";inherits:false}@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-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@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}
