.giencoder-modal-mask,.giencoder-drawer-mask{z-index:1000;display:flex;position:fixed;inset:0}.giencoder-modal-mask{padding:var(--spacing-9);justify-content:center;align-items:center}.giencoder-modal{width:100%;max-width:480px;max-height:calc(100vh - var(--spacing-12));background:var(--color-bg-2);box-shadow:var(--shadow3-down);flex-direction:column;display:flex}.giencoder-modal-content,.giencoder-drawer-content{flex:auto;overflow-y:auto}.giencoder-drawer-mask{justify-content:flex-end}.giencoder-drawer{background:var(--color-bg-2);width:420px;max-width:100%;height:100%;box-shadow:var(--shadow3-left);flex-direction:column;display:flex}.giencoder-icon{vertical-align:middle;flex-shrink:0;display:inline-block}.giencoder-tabs{width:100%;display:block}.giencoder-timeline{flex-direction:column;display:flex}.giencoder-tag-dot-primary{background:var(--color-primary-6)}.giencoder-popconfirm{display:inline-block;position:relative}.giencoder-popconfirm-popup{top:calc(100% + var(--spacing-5));z-index:1000;min-width:220px;padding:var(--spacing-6);background:var(--color-bg-popup);border:1px solid var(--color-border-2);border-radius:var(--border-radius-large);box-shadow:var(--shadow2-down);position:absolute;left:0}.giencoder-popconfirm-arrow{top:calc(var(--spacing-3) * -1 + 1px);left:var(--spacing-11);width:var(--spacing-4);height:var(--spacing-4);background:var(--color-bg-popup);border-left:1px solid var(--color-border-2);border-top:1px solid var(--color-border-2);position:absolute;transform:rotate(45deg)}.ds-popconfirm-body{align-items:flex-start;gap:var(--spacing-4);display:flex}.ds-popconfirm-icon{color:var(--color-warning-6);flex:none;margin-top:1px;display:flex}.ds-popconfirm-text{font-size:var(--font-size-body-2);line-height:var(--line-height-base);color:var(--color-text-1);flex-direction:column;display:flex}.ds-popconfirm-title{font-weight:500}.ds-popconfirm-foot{justify-content:flex-end;gap:var(--spacing-4);margin-top:var(--spacing-6);display:flex}.ds-hint{margin-top:var(--spacing-1);font-size:var(--font-size-body-1);color:var(--color-text-3)}.ds-field-required{margin-left:var(--spacing-1);color:var(--color-danger-6)}.ds-textarea-error{border-color:var(--color-danger-6)}.ds-textarea-error:focus{border-color:var(--color-danger-6);box-shadow:0 0 0 2px var(--color-danger-light-2)}.ds-select-native{appearance:none;min-width:0;height:100%;font-family:var(--font-family);font-size:var(--font-size-body-3);color:var(--color-text-1);cursor:inherit;background:0 0;border:none;outline:none;flex:auto;padding:0}.ds-select-native:disabled{color:var(--color-text-4)}.ds-card-body-flush{padding:0}.ds-statistic-affix{margin:0 var(--spacing-1);font-size:var(--font-size-body-3);color:var(--color-text-3)}.ds-statistic-inverse{background:var(--inverse-bg-2)}.ds-statistic-inverse .giencoder-statistic-title{color:var(--inverse-fg-2)}.ds-statistic-inverse .giencoder-statistic-content{color:var(--inverse-fg)}.ds-statistic-inverse .ds-statistic-affix{color:var(--inverse-fg-2)}.ds-avatar-small{width:var(--spacing-9);height:var(--spacing-9);font-size:var(--font-size-body-1)}.ds-avatar-medium{width:var(--spacing-10);height:var(--spacing-10);font-size:var(--font-size-body-1)}.ds-avatar-large{width:var(--spacing-12);height:var(--spacing-12);font-size:var(--font-size-body-3)}.ds-avatar-xlarge{width:var(--spacing-13);height:var(--spacing-13);font-size:var(--font-size-title-1)}.ds-skeleton{gap:var(--spacing-6);align-items:flex-start;display:flex}.ds-skeleton-body{flex:auto;min-width:0}.ds-spin-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ds-menu-subitem{padding-left:var(--spacing-10)}.ds-th-sort{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;align-items:center;padding:0;display:inline-flex}.ds-btn-reset{width:100%;font-family:inherit;font-size:inherit;text-align:left;background:0 0;border:none}.ds-result-icon-success{color:var(--color-success-6)}.ds-result-icon-info{color:var(--color-primary-6)}.ds-result-icon-warning{color:var(--color-warning-6)}.ds-result-icon-error,.ds-result-icon-403,.ds-result-icon-404,.ds-result-icon-500{color:var(--color-danger-6)}@media (width<=1079px){.lesson .giencoder-tabs{padding-inline:var(--space-6)}}@media (width<=767px){.lesson .giencoder-tabs{padding-inline:var(--space-5)}.lesson-foot .giencoder-btn{flex:auto;justify-content:center}}@media print{.lesson .giencoder-tabs{display:none!important}}.ops-search{flex:240px;min-width:200px;position:relative}.ops-search .od-icon{--od-icon-size:16px;color:var(--color-text-3);pointer-events:none;position:absolute;inset-block-start:50%;inset-inline-start:var(--spacing-5);transform:translateY(-50%)}.ops-search .giencoder-input{padding-inline-start:var(--spacing-9)}.ops-selectfield{gap:var(--spacing-2);display:grid}@layer od-layout{[hidden]:not([hidden=until-found i]),dialog:not([open]){display:none!important}:where(.od-stack,.od-row,.od-row-top,.od-cluster,.od-grid,.od-field,.od-stat,.od-cell,.od-tile)>:where(*){min-width:0}.od-stack{gap:var(--od-gap,8px);flex-direction:column;display:flex}.od-row{align-items:center;gap:var(--od-gap,8px);display:flex}.od-row-top{align-items:flex-start;gap:var(--od-gap,8px);display:flex}.od-cluster{align-items:center;gap:var(--od-gap,8px);flex-wrap:wrap;display:flex}.od-fill{flex:1 1 0;min-width:0}.od-fixed{flex:none}.od-grid{gap:var(--od-gap,12px);grid-template-columns:repeat(var(--od-cols,3), minmax(0, 1fr));display:grid}.od-stat,.od-field,.od-cell{gap:var(--od-gap,2px);display:grid}:where(.od-stat,.od-field,.od-cell)>:where(*){display:block}.od-tile{grid-template-rows:auto 1fr;display:grid}:where(.od-tile)>:where(*){display:block}.od-media{width:100%;height:auto;aspect-ratio:var(--od-ratio,auto);display:block}.od-media-cover{object-fit:cover}.od-icon{inline-size:var(--od-icon-size,1em);block-size:var(--od-icon-size,1em);flex:none;display:inline-block}.od-truncate{white-space:nowrap;text-overflow:ellipsis;max-width:100%;display:block;overflow:hidden}.od-clamp-2,.od-clamp-3{overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.od-clamp-2{-webkit-line-clamp:2}.od-clamp-3{-webkit-line-clamp:3}.od-lines-2{min-height:2.8em}.od-nowrap{white-space:nowrap}.od-keep{word-break:keep-all;overflow-wrap:anywhere}.od-screen{grid-template-rows:auto minmax(0,1fr) auto;height:100%;display:grid}.od-scroll{overscroll-behavior:contain;min-height:0;overflow-y:auto}.od-rail{gap:var(--od-gap,8px);scroll-snap-type:x proximity;scrollbar-width:none;padding-inline:var(--od-rail-pad,16px);scroll-padding-inline:var(--od-rail-pad,16px);display:flex;overflow-x:auto}.od-rail::-webkit-scrollbar{display:none}:where(.od-rail)>:where(*){scroll-snap-align:start;flex:none}:where(.od-rail)>:where(:last-child){margin-inline-end:var(--od-rail-pad,16px)}.od-spacer{visibility:hidden;pointer-events:none;flex:none}.od-touch{min-width:44px;min-height:44px}}:root [hidden]:where(:not([hidden=until-found i])){display:none}:root{--giencoderblue-1:245, 248, 255;--giencoderblue-2:218, 228, 254;--giencoderblue-3:180, 201, 252;--giencoderblue-4:142, 174, 250;--giencoderblue-5:102, 146, 249;--giencoderblue-6:55, 112, 247;--giencoderblue-7:52, 106, 233;--giencoderblue-8:46, 94, 206;--giencoderblue-9:40, 81, 180;--giencoderblue-10:34, 70, 154;--red-1:255, 236, 232;--red-2:253, 197, 197;--red-3:251, 172, 163;--red-4:249, 137, 129;--red-5:247, 101, 96;--red-6:245, 63, 63;--red-7:203, 39, 45;--red-8:161, 21, 30;--red-9:119, 8, 19;--red-10:77, 0, 10;--green-1:236, 247, 236;--green-2:208, 240, 209;--green-3:164, 224, 167;--green-4:125, 209, 130;--green-5:90, 194, 98;--green-6:59, 179, 70;--green-7:48, 149, 59;--green-8:37, 119, 47;--green-9:27, 89, 36;--green-10:17, 60, 24;--orange-1:255, 247, 232;--orange-2:255, 228, 186;--orange-3:255, 207, 139;--orange-4:255, 182, 93;--orange-5:255, 154, 46;--orange-6:255, 125, 0;--orange-7:210, 95, 0;--orange-8:166, 69, 0;--orange-9:121, 46, 0;--orange-10:77, 27, 0;--yellow-1:254, 255, 232;--yellow-2:254, 254, 190;--yellow-3:253, 250, 148;--yellow-4:252, 242, 107;--yellow-5:251, 232, 66;--yellow-6:250, 220, 25;--yellow-7:207, 175, 15;--yellow-8:163, 132, 8;--yellow-9:120, 93, 3;--yellow-10:77, 56, 0;--gold-1:255, 252, 232;--gold-2:253, 244, 191;--gold-3:252, 233, 150;--gold-4:250, 220, 109;--gold-5:249, 204, 69;--gold-6:247, 186, 30;--gold-7:204, 146, 19;--gold-8:162, 109, 10;--gold-9:119, 75, 4;--gold-10:77, 45, 0;--purple-1:245, 232, 255;--purple-2:221, 190, 246;--purple-3:195, 150, 237;--purple-4:168, 113, 227;--purple-5:141, 78, 218;--purple-6:114, 46, 209;--purple-7:85, 29, 176;--purple-8:60, 16, 143;--purple-9:39, 6, 110;--purple-10:22, 0, 77;--pinkpurple-1:255, 232, 251;--pinkpurple-2:247, 186, 239;--pinkpurple-3:240, 142, 230;--pinkpurple-4:232, 101, 223;--pinkpurple-5:225, 62, 219;--pinkpurple-6:217, 26, 217;--pinkpurple-7:176, 16, 182;--pinkpurple-8:138, 9, 147;--pinkpurple-9:101, 3, 112;--pinkpurple-10:66, 0, 77;--magenta-1:255, 232, 241;--magenta-2:253, 194, 219;--magenta-3:251, 157, 199;--magenta-4:249, 121, 183;--magenta-5:247, 84, 168;--magenta-6:245, 49, 157;--magenta-7:203, 30, 131;--magenta-8:161, 16, 105;--magenta-9:119, 6, 79;--magenta-10:77, 0, 52;--cyan-1:232, 255, 251;--cyan-2:183, 244, 236;--cyan-3:137, 233, 224;--cyan-4:94, 223, 214;--cyan-5:55, 212, 207;--cyan-6:20, 201, 201;--cyan-7:13, 165, 170;--cyan-8:7, 130, 139;--cyan-9:3, 97, 108;--cyan-10:0, 66, 77;--blue-1:232, 247, 255;--blue-2:195, 231, 254;--blue-3:159, 212, 253;--blue-4:123, 192, 252;--blue-5:87, 169, 251;--blue-6:52, 145, 250;--blue-7:32, 108, 207;--blue-8:17, 75, 163;--blue-9:6, 48, 120;--blue-10:0, 26, 77;--lime-1:252, 255, 232;--lime-2:237, 248, 187;--lime-3:220, 241, 144;--lime-4:201, 233, 104;--lime-5:181, 226, 65;--lime-6:159, 219, 29;--lime-7:126, 183, 18;--lime-8:95, 148, 10;--lime-9:67, 112, 4;--lime-10:42, 77, 0;--gray-1:247, 247, 247;--gray-2:242, 242, 242;--gray-3:229, 229, 229;--gray-4:201, 201, 201;--gray-5:169, 169, 169;--gray-6:134, 134, 134;--gray-7:107, 107, 107;--gray-8:78, 78, 78;--gray-9:43, 43, 43;--gray-10:31, 31, 31;--color-primary-1:rgb(var(--giencoderblue-1));--color-primary-2:rgb(var(--giencoderblue-2));--color-primary-3:rgb(var(--giencoderblue-3));--color-primary-4:rgb(var(--giencoderblue-4));--color-primary-5:rgb(var(--giencoderblue-5));--color-primary-6:rgb(var(--giencoderblue-6));--color-primary-7:rgb(var(--giencoderblue-7));--color-primary-8:rgb(var(--giencoderblue-8));--color-primary-9:rgb(var(--giencoderblue-9));--color-primary-10:rgb(var(--giencoderblue-10));--color-success-6:rgb(var(--green-6));--color-success-5:rgb(var(--green-5));--color-warning-10:rgb(var(--orange-10));--color-warning-9:rgb(var(--orange-9));--color-warning-8:rgb(var(--orange-8));--color-warning-7:rgb(var(--orange-7));--color-warning-6:rgb(var(--orange-6));--color-warning-5:rgb(var(--orange-5));--color-warning-4:rgb(var(--orange-4));--color-warning-3:rgb(var(--orange-3));--color-warning-2:rgb(var(--orange-2));--color-warning-1:rgb(var(--orange-1));--color-danger-6:rgb(var(--red-6));--color-danger-5:rgb(var(--red-5));--color-link-6:rgb(var(--giencoderblue-6));--color-link:rgb(var(--giencoderblue-6));--color-link-hover:rgb(var(--giencoderblue-5));--color-success:rgb(var(--green-6));--color-warning:rgb(var(--orange-6));--color-danger:rgb(var(--red-6));--color-purple-6:rgb(var(--purple-6));--color-primary-light-1:rgb(var(--giencoderblue-1));--color-primary-light-2:rgb(var(--giencoderblue-2));--color-primary-light-3:rgb(var(--giencoderblue-3));--color-primary-light-4:rgb(var(--giencoderblue-4));--color-success-light-1:rgb(var(--green-1));--color-success-light-2:rgb(var(--green-2));--color-warning-light-1:rgb(var(--orange-1));--color-warning-light-2:rgb(var(--orange-2));--color-danger-light-1:rgb(var(--red-1));--color-danger-light-2:rgb(var(--red-2));--color-link-light-1:rgb(var(--giencoderblue-1));--color-link-light-2:rgb(var(--giencoderblue-2));--color-success-1:rgb(var(--green-1));--color-success-2:rgb(var(--green-2));--color-success-3:rgb(var(--green-3));--color-success-4:rgb(var(--green-4));--color-success-7:rgb(var(--green-7));--color-success-8:rgb(var(--green-8));--color-success-9:rgb(var(--green-9));--color-success-10:rgb(var(--green-10));--color-success-light-3:rgb(var(--green-3));--color-success-light-4:rgb(var(--green-4));--color-danger-1:rgb(var(--red-1));--color-danger-2:rgb(var(--red-2));--color-danger-3:rgb(var(--red-3));--color-danger-4:rgb(var(--red-4));--color-danger-7:rgb(var(--red-7));--color-danger-8:rgb(var(--red-8));--color-danger-9:rgb(var(--red-9));--color-danger-10:rgb(var(--red-10));--color-danger-light-3:rgb(var(--red-3));--color-danger-light-4:rgb(var(--red-4));--color-link-1:rgb(var(--giencoderblue-1));--color-link-2:rgb(var(--giencoderblue-2));--color-link-3:rgb(var(--giencoderblue-3));--color-link-4:rgb(var(--giencoderblue-4));--color-link-5:rgb(var(--giencoderblue-5));--color-link-7:rgb(var(--giencoderblue-7));--color-link-8:rgb(var(--giencoderblue-8));--color-link-9:rgb(var(--giencoderblue-9));--color-link-10:rgb(var(--giencoderblue-10));--color-link-light-3:rgb(var(--giencoderblue-3));--color-link-light-4:rgb(var(--giencoderblue-4));--color-warning-light-3:rgb(var(--orange-3));--color-warning-light-4:rgb(var(--orange-4));--color-white:#fff;--color-black:#000;--color-bg-1:#fff;--color-bg-2:#fff;--color-bg-3:#fff;--color-bg-4:#fff;--color-bg-5:#fff;--color-bg-white:#fff;--color-bg-popup:var(--color-bg-5);--color-text-1:rgb(var(--gray-10));--color-text-2:rgb(var(--gray-8));--color-text-3:rgb(var(--gray-6));--color-text-4:rgb(var(--gray-4));--color-fill-1:rgb(var(--gray-1));--color-fill-2:rgb(var(--gray-2));--color-fill-3:rgb(var(--gray-3));--color-fill-4:rgb(var(--gray-4));--color-border-1:rgb(var(--gray-2));--color-border-2:rgb(var(--gray-3));--color-border-3:rgb(var(--gray-4));--color-border-4:rgb(var(--gray-6));--color-neutral-1:rgb(var(--gray-1));--color-neutral-2:rgb(var(--gray-2));--color-neutral-3:rgb(var(--gray-3));--color-neutral-4:rgb(var(--gray-4));--color-neutral-5:rgb(var(--gray-5));--color-neutral-6:rgb(var(--gray-6));--color-neutral-7:rgb(var(--gray-7));--color-neutral-8:rgb(var(--gray-8));--color-neutral-9:rgb(var(--gray-9));--color-neutral-10:rgb(var(--gray-10));--color-secondary:rgb(var(--gray-2));--color-secondary-hover:rgb(var(--gray-3));--color-secondary-active:rgb(var(--gray-4));--color-secondary-disabled:rgb(var(--gray-1));--color-tooltip-bg:rgb(var(--gray-10));--color-spin-layer-bg:#fff9;--color-menu-light-bg:#fff;--color-menu-dark-bg:#232324;--color-menu-dark-hover:#ffffff0a;--color-mask-bg:#0006;--color-border:rgb(var(--gray-3));--color-data-1:rgb(var(--giencoderblue-5));--color-data-2:rgb(var(--red-5));--color-data-3:rgb(var(--orange-5));--color-data-4:rgb(var(--green-5));--color-data-5:rgb(var(--cyan-6));--border-radius-none:0;--border-radius-small:2px;--border-radius-medium:4px;--border-radius-large:8px;--border-radius-xl:12px;--border-radius-circle:50%;--radius-sm:var(--border-radius-small);--radius-md:var(--border-radius-medium);--shadow-none:none;--shadow-special:0 0 1px #0000004d;--shadow1-center:0 0 5px #0000001a;--shadow1-up:0 -2px 5px #0000001a;--shadow1-down:0 2px 5px #0000001a;--shadow1-left:-2px 0 5px #0000001a;--shadow1-right:2px 0 5px #0000001a;--shadow2-center:0 0 10px #0000001a;--shadow2-up:0 -4px 10px #0000001a;--shadow2-down:0 4px 10px #0000001a;--shadow2-left:-4px 0 10px #0000001a;--shadow2-right:4px 0 10px #0000001a;--shadow3-center:0 0 20px #0000001a;--shadow3-up:0 -8px 20px #0000001a;--shadow3-down:0 8px 20px #0000001a;--shadow3-left:-8px 0 20px #0000001a;--shadow3-right:8px 0 20px #0000001a;--avatar-bg-1:#e57470;--avatar-bg-2:#e88b4d;--avatar-bg-3:#dcab35;--avatar-bg-4:#a2c143;--avatar-bg-5:#67b85d;--avatar-bg-6:#47c2c4;--avatar-bg-7:#4c93d4;--scrollbar-size:6px;--scrollbar-thumb-bg:#00000029;--scrollbar-thumb-bg-hover:#00000029;--spacing-1:2px;--spacing-2:4px;--spacing-3:6px;--spacing-4:8px;--spacing-5:10px;--spacing-6:12px;--spacing-7:16px;--spacing-8:20px;--spacing-9:24px;--spacing-10:32px;--spacing-11:36px;--spacing-12:40px;--spacing-13:48px;--spacing-14:56px;--spacing-15:60px;--spacing-16:64px;--spacing-17:72px;--spacing-18:80px;--spacing-19:84px;--spacing-20:96px;--spacing-21:100px;--spacing-22:120px;--font-size-display-3:56px;--font-size-display-2:48px;--font-size-display-1:36px;--font-size-title-3:24px;--font-size-title-2:20px;--font-size-title-1:16px;--font-size-body-3:14px;--font-size-body-2:13px;--font-size-body-1:12px;--font-size-caption:12px;--font-size-body:14px;--line-height-base:1.5715;--font-family:"Mona Sans VF", -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans Backtick Fix", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--code-family:Consolas, Menlo;--transition-duration-1:.1s;--transition-duration-2:.2s;--transition-duration-3:.3s;--transition-duration-4:.4s;--transition-duration-5:.5s;--transition-timing-function-linear:cubic-bezier(0, 0, 1, 1);--transition-timing-function-standard:cubic-bezier(.34, .69, .1, 1);--transition-timing-function-overshoot:cubic-bezier(.3, 1.3, .3, 1);--transition-timing-function-spring:cubic-bezier(.34, 1.56, .64, 1);--transition-timing-function-decelerate:cubic-bezier(.4, .8, .74, 1);--transition-timing-function-accelerate:cubic-bezier(.26, 0, .6, .2);--z-index-affix:999;--z-index-popup:1000;--z-index-drawer:1001;--z-index-modal:1001;--z-index-message:1003;--z-index-notification:1003;--z-index-image-preview:1001}body[giencoder-theme=dark],[giencoder-theme=dark]{--giencoderblue-1:5, 38, 112;--giencoderblue-2:10, 56, 148;--giencoderblue-3:19, 75, 184;--giencoderblue-4:29, 97, 219;--giencoderblue-5:41, 122, 255;--giencoderblue-6:84, 151, 255;--giencoderblue-7:127, 180, 255;--giencoderblue-8:169, 206, 255;--giencoderblue-9:212, 232, 255;--giencoderblue-10:239, 246, 255;--red-1:77, 0, 10;--red-2:119, 8, 19;--red-3:161, 21, 30;--red-4:203, 39, 45;--red-5:245, 63, 63;--red-6:247, 101, 96;--red-7:249, 137, 129;--red-8:251, 172, 163;--red-9:253, 197, 197;--red-10:255, 236, 232;--green-1:18, 60, 25;--green-2:28, 90, 37;--green-3:39, 119, 49;--green-4:50, 149, 61;--green-5:62, 179, 73;--green-6:93, 194, 100;--green-7:127, 209, 132;--green-8:166, 225, 168;--green-9:208, 240, 209;--green-10:236, 247, 236;--orange-1:77, 27, 0;--orange-2:121, 46, 0;--orange-3:166, 69, 0;--orange-4:210, 95, 0;--orange-5:255, 125, 0;--orange-6:255, 154, 46;--orange-7:255, 182, 93;--orange-8:255, 207, 139;--orange-9:255, 228, 186;--orange-10:255, 247, 232;--yellow-1:77, 56, 0;--yellow-2:120, 93, 3;--yellow-3:163, 132, 8;--yellow-4:207, 175, 15;--yellow-5:250, 220, 25;--yellow-6:251, 232, 66;--yellow-7:252, 242, 107;--yellow-8:253, 250, 148;--yellow-9:254, 254, 190;--yellow-10:254, 255, 232;--gold-1:77, 45, 0;--gold-2:119, 75, 4;--gold-3:162, 109, 10;--gold-4:204, 146, 19;--gold-5:247, 186, 30;--gold-6:249, 204, 69;--gold-7:250, 220, 109;--gold-8:252, 233, 150;--gold-9:253, 244, 191;--gold-10:255, 252, 232;--purple-1:22, 0, 77;--purple-2:39, 6, 110;--purple-3:60, 16, 143;--purple-4:85, 29, 176;--purple-5:114, 46, 209;--purple-6:141, 78, 218;--purple-7:168, 113, 227;--purple-8:195, 150, 237;--purple-9:221, 190, 246;--purple-10:245, 232, 255;--pinkpurple-1:66, 0, 77;--pinkpurple-2:101, 3, 112;--pinkpurple-3:138, 9, 147;--pinkpurple-4:176, 16, 182;--pinkpurple-5:217, 26, 217;--pinkpurple-6:225, 62, 219;--pinkpurple-7:232, 101, 223;--pinkpurple-8:240, 142, 230;--pinkpurple-9:247, 186, 239;--pinkpurple-10:255, 232, 251;--magenta-1:77, 0, 52;--magenta-2:119, 6, 79;--magenta-3:161, 16, 105;--magenta-4:203, 30, 131;--magenta-5:245, 49, 157;--magenta-6:247, 84, 168;--magenta-7:249, 121, 183;--magenta-8:251, 157, 199;--magenta-9:253, 194, 219;--magenta-10:255, 232, 241;--cyan-1:0, 66, 77;--cyan-2:3, 97, 108;--cyan-3:7, 130, 139;--cyan-4:13, 165, 170;--cyan-5:20, 201, 201;--cyan-6:55, 212, 207;--cyan-7:94, 223, 214;--cyan-8:137, 233, 224;--cyan-9:183, 244, 236;--cyan-10:232, 255, 251;--blue-1:0, 26, 77;--blue-2:6, 48, 120;--blue-3:17, 75, 163;--blue-4:32, 108, 207;--blue-5:52, 145, 250;--blue-6:87, 169, 251;--blue-7:123, 192, 252;--blue-8:159, 212, 253;--blue-9:195, 231, 254;--blue-10:232, 247, 255;--lime-1:42, 77, 0;--lime-2:67, 112, 4;--lime-3:95, 148, 10;--lime-4:126, 183, 18;--lime-5:159, 219, 29;--lime-6:181, 226, 65;--lime-7:201, 233, 104;--lime-8:220, 241, 144;--lime-9:237, 248, 187;--lime-10:252, 255, 232;--gray-1:31, 31, 31;--gray-2:43, 43, 43;--gray-3:78, 78, 78;--gray-4:107, 107, 107;--gray-5:134, 134, 134;--gray-6:169, 169, 169;--gray-7:201, 201, 201;--gray-8:229, 229, 229;--gray-9:242, 242, 242;--gray-10:247, 247, 247;--color-primary-5:rgb(var(--giencoderblue-5));--color-primary-6:rgb(var(--giencoderblue-6));--color-primary-7:rgb(var(--giencoderblue-7));--color-success-6:rgb(var(--green-6));--color-success-5:rgb(var(--green-5));--color-warning-10:rgb(var(--orange-10));--color-warning-9:rgb(var(--orange-9));--color-warning-8:rgb(var(--orange-8));--color-warning-7:rgb(var(--orange-7));--color-warning-6:rgb(var(--orange-6));--color-warning-5:rgb(var(--orange-5));--color-warning-4:rgb(var(--orange-4));--color-warning-3:rgb(var(--orange-3));--color-warning-2:rgb(var(--orange-2));--color-warning-1:rgb(var(--orange-1));--color-danger-6:rgb(var(--red-6));--color-danger-5:rgb(var(--red-5));--color-link-6:rgb(var(--giencoderblue-6));--color-bg-1:#17171a;--color-bg-2:#232324;--color-bg-3:#2e2e30;--color-bg-4:#484849;--color-bg-5:#5f5f60;--color-bg-white:#f6f6f6;--color-text-1:rgb(var(--gray-10));--color-text-2:rgb(var(--gray-8));--color-text-3:rgb(var(--gray-6));--color-text-4:rgb(var(--gray-4));--color-fill-1:rgb(var(--gray-1));--color-fill-2:rgb(var(--gray-2));--color-fill-3:rgb(var(--gray-3));--color-fill-4:rgb(var(--gray-4));--color-border-1:rgb(var(--gray-2));--color-border-2:rgb(var(--gray-3));--color-border-3:rgb(var(--gray-4));--color-border-4:rgb(var(--gray-6));--color-secondary:rgb(var(--gray-2));--color-mask-bg:#0009;--color-tooltip-bg:rgb(var(--gray-10));--color-spin-layer-bg:#17171a99;--color-menu-light-bg:#232324}.type-display-3{font-size:var(--font-size-display-3);font-weight:600;line-height:1.2}.type-display-2{font-size:var(--font-size-display-2);font-weight:600;line-height:1.25}.type-display-1{font-size:var(--font-size-display-1);font-weight:600;line-height:1.3}.type-title-3{font-size:var(--font-size-title-3);font-weight:600;line-height:1.33}.type-title-2{font-size:var(--font-size-title-2);font-weight:600;line-height:1.4}.type-title-1{font-size:var(--font-size-title-1);font-weight:600;line-height:1.5}.type-body-3{font-size:var(--font-size-body-3);font-weight:400;line-height:1.5715}.type-body-2{font-size:var(--font-size-body-2);font-weight:400;line-height:1.5715}.type-body-1{font-size:var(--font-size-body-1);font-weight:400;line-height:1.5715}.type-caption{font-size:var(--font-size-caption);color:var(--color-text-3);font-weight:400;line-height:1.5}body{font-family:var(--font-family);font-size:var(--font-size-body-3);color:var(--color-text-1);background:var(--color-bg-1);-webkit-font-smoothing:antialiased}@media (pointer:fine){*{scrollbar-width:thin;scrollbar-color:rgba(var(--gray-10), .16) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar-thumb{background-color:rgba(var(--gray-10), .16);background-clip:content-box;border:3px solid #0000;border-radius:9999px}::-webkit-scrollbar-thumb:vertical{border-left-width:1px;border-right-width:5px}::-webkit-scrollbar-thumb:horizontal{border-top-width:1px;border-bottom-width:5px}::-webkit-scrollbar-thumb:hover{background-color:rgba(var(--gray-10), .16)}::-webkit-scrollbar-thumb:active{background-color:rgba(var(--gray-10), .32)}}@property --sf-start{syntax:"<number>";inherits:false;initial-value:1}@property --sf-end{syntax:"<number>";inherits:false;initial-value:1}@keyframes sf-reveal-start{0%{--sf-start:1}to{--sf-start:0}}@keyframes sf-reveal-end{0%{--sf-end:0}to{--sf-end:1}}.scroll-fade,.scroll-fade-x{--scroll-fade-size:48px}.scroll-fade{-webkit-mask-image:linear-gradient(to bottom, transparent 0, #000 var(--scroll-fade-size), #000 calc(100% - var(--scroll-fade-size)), transparent 100%);-webkit-mask-image:linear-gradient(to bottom, transparent 0, #000 var(--scroll-fade-size), #000 calc(100% - var(--scroll-fade-size)), transparent 100%);mask-image:linear-gradient(to bottom, transparent 0, #000 var(--scroll-fade-size), #000 calc(100% - var(--scroll-fade-size)), transparent 100%)}.scroll-fade-x{-webkit-mask-image:linear-gradient(to right, transparent 0, #000 var(--scroll-fade-size), #000 calc(100% - var(--scroll-fade-size)), transparent 100%);-webkit-mask-image:linear-gradient(to right, transparent 0, #000 var(--scroll-fade-size), #000 calc(100% - var(--scroll-fade-size)), transparent 100%);mask-image:linear-gradient(to right, transparent 0, #000 var(--scroll-fade-size), #000 calc(100% - var(--scroll-fade-size)), transparent 100%)}@supports (animation-timeline:scroll()){.scroll-fade{-webkit-mask-image:linear-gradient(to bottom, rgba(0, 0, 0, var(--sf-start)) 0, #000 var(--scroll-fade-size), #000 calc(100% - var(--scroll-fade-size)), rgba(0, 0, 0, var(--sf-end)) 100%);mask-image:linear-gradient(to bottom, rgba(0, 0, 0, var(--sf-start)) 0, #000 var(--scroll-fade-size), #000 calc(100% - var(--scroll-fade-size)), rgba(0, 0, 0, var(--sf-end)) 100%);-webkit-mask-image:linear-gradient(to bottom, rgba(0, 0, 0, var(--sf-start)) 0, #000 var(--scroll-fade-size), #000 calc(100% - var(--scroll-fade-size)), rgba(0, 0, 0, var(--sf-end)) 100%);animation:linear both sf-reveal-start,linear both sf-reveal-end;animation-timeline:scroll(self),scroll(self);animation-range-start:0, calc(100% - var(--scroll-fade-size));animation-range-end:var(--scroll-fade-size), 100%}.scroll-fade-x{-webkit-mask-image:linear-gradient(to right, rgba(0, 0, 0, var(--sf-start)) 0, #000 var(--scroll-fade-size), #000 calc(100% - var(--scroll-fade-size)), rgba(0, 0, 0, var(--sf-end)) 100%);mask-image:linear-gradient(to right, rgba(0, 0, 0, var(--sf-start)) 0, #000 var(--scroll-fade-size), #000 calc(100% - var(--scroll-fade-size)), rgba(0, 0, 0, var(--sf-end)) 100%);-webkit-mask-image:linear-gradient(to right, rgba(0, 0, 0, var(--sf-start)) 0, #000 var(--scroll-fade-size), #000 calc(100% - var(--scroll-fade-size)), rgba(0, 0, 0, var(--sf-end)) 100%);animation:linear both sf-reveal-start,linear both sf-reveal-end;animation-timeline:scroll(self inline),scroll(self inline);animation-range-start:0, calc(100% - var(--scroll-fade-size));animation-range-end:var(--scroll-fade-size), 100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.scroll-fade,.scroll-fade-x{animation:none!important;-webkit-mask-image:none!important;mask-image:none!important}}.giencoder-btn{border-radius:var(--border-radius-medium);font-size:var(--font-size-body-3);font-family:var(--font-family);cursor:pointer;white-space:nowrap;border:1px solid #0000;outline:none;justify-content:center;align-items:center;gap:4px;padding:0 16px;line-height:1.5715;transition:box-shadow .18s cubic-bezier(.23,1,.32,1),background-color 80ms,border-color 80ms,color 80ms;display:inline-flex}.giencoder-btn:active{transition-duration:80ms,80ms,80ms,80ms}.giencoder-btn:focus-visible{box-shadow:0 0 0 2px var(--color-primary-light-2)}.giencoder-btn-size-large{height:36px;font-size:var(--font-size-body-3);padding:0 20px}.giencoder-btn-size-default{height:32px}.giencoder-btn-size-small{height:28px;padding:0 12px}.giencoder-btn-size-mini{height:24px;font-size:var(--font-size-body-1);padding:0 8px}.giencoder-btn-primary{--btn-bg:var(--color-primary-6);--btn-ring:var(--btn-bg);background:var(--btn-bg);color:var(--color-white);box-shadow:0 0 0 1px var(--btn-ring);font-weight:500}.giencoder-btn-primary:hover{--btn-bg:var(--color-primary-5);background:var(--btn-bg)}.giencoder-btn-primary:active{--btn-bg:var(--color-primary-7);background:var(--btn-bg);box-shadow:0 0 0 0 var(--btn-ring)}.giencoder-btn-secondary{--btn-bg:var(--color-bg-5);--btn-ring:var(--btn-bg);background:var(--btn-bg);color:var(--color-text-1);border-color:var(--color-border-2);box-shadow:0 1px 2px #0f172a0a, 0 0 0 1px var(--btn-ring)}.giencoder-btn-secondary:hover{--btn-bg:var(--color-fill-1);background:var(--btn-bg)}.giencoder-btn-secondary:active{--btn-bg:var(--color-bg-5);background:var(--btn-bg);box-shadow:0 1px 2px #0f172a0a, 0 0 0 0 var(--btn-ring)}.giencoder-btn-outline{color:var(--color-primary-6);box-shadow:0 0 0 1px var(--color-primary-6), inset 0 0 0 0px var(--color-primary-6);background:0 0;border-color:#0000}.giencoder-btn-outline:hover{background:var(--color-primary-light-1)}.giencoder-btn-outline:active{background:var(--color-primary-light-2);box-shadow:0 0 0 0px var(--color-primary-6), inset 0 0 0 1px var(--color-primary-6)}.giencoder-btn-dashed{color:var(--color-primary-6);border-style:dashed;border-color:var(--color-primary-6);--btn-ring:transparent;box-shadow:0 0 0 1px var(--btn-ring);background:0 0}.giencoder-btn-dashed:hover{background:var(--color-primary-light-1);--btn-ring:var(--color-primary-light-1);box-shadow:0 0 0 1px var(--btn-ring)}.giencoder-btn-dashed:active{background:var(--color-primary-light-2);--btn-ring:var(--color-primary-light-2);box-shadow:0 0 0 0px var(--btn-ring)}.giencoder-btn-text{color:var(--color-primary-6);--btn-ring:transparent;box-shadow:0 0 0 1px var(--btn-ring);background:0 0}.giencoder-btn-text:hover{background:var(--color-fill-1);--btn-ring:var(--color-fill-1);box-shadow:0 0 0 1px var(--btn-ring)}.giencoder-btn-text:active{background:var(--color-fill-2);--btn-ring:var(--color-fill-2);box-shadow:0 0 0 0px var(--btn-ring)}.giencoder-btn-danger{--btn-bg:var(--color-danger-6);--btn-ring:var(--btn-bg);background:var(--btn-bg);color:var(--color-white);box-shadow:0 0 0 1px var(--btn-ring);font-weight:500}.giencoder-btn-danger:hover{--btn-bg:var(--color-danger-5);background:var(--btn-bg)}.giencoder-btn-danger:active{--btn-bg:var(--color-danger-6);background:var(--btn-bg);box-shadow:0 0 0 0 var(--btn-ring)}.giencoder-btn-warning{--btn-bg:var(--color-warning-6);--btn-ring:var(--btn-bg);background:var(--btn-bg);color:var(--color-white);box-shadow:0 0 0 1px var(--btn-ring);font-weight:500}.giencoder-btn-warning:hover{--btn-bg:var(--color-warning-5);background:var(--btn-bg)}.giencoder-btn-warning:active{--btn-bg:var(--color-warning-6);background:var(--btn-bg);box-shadow:0 0 0 0 var(--btn-ring)}.giencoder-btn-success{--btn-bg:var(--color-success-6);--btn-ring:var(--btn-bg);background:var(--btn-bg);color:var(--color-white);box-shadow:0 0 0 1px var(--btn-ring);font-weight:500}.giencoder-btn-success:hover{--btn-bg:var(--color-success-5);background:var(--btn-bg)}.giencoder-btn-success:active{--btn-bg:var(--color-success-6);background:var(--btn-bg);box-shadow:0 0 0 0 var(--btn-ring)}.giencoder-btn-danger-text{color:var(--color-primary-6)}.giencoder-btn-danger-text:hover{color:var(--color-danger-6)}.giencoder-btn-disabled,.giencoder-btn[disabled]{opacity:.4;cursor:not-allowed;pointer-events:none}.giencoder-btn-loading{cursor:default}.giencoder-btn-icon{display:inline-flex}.giencoder-icon-loading{animation:1s linear infinite giencoder-spin}@keyframes giencoder-spin{to{transform:rotate(360deg)}}.giencoder-btn-group{display:inline-flex}.giencoder-btn-group .giencoder-btn+.giencoder-btn{margin-left:-1px}.giencoder-btn-group .giencoder-btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.giencoder-btn-group .giencoder-btn:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.giencoder-btn-group .giencoder-btn{--btn-ring:transparent}.giencoder-btn-group .giencoder-btn:hover,.giencoder-btn-group .giencoder-btn:focus-visible,.giencoder-btn-group .giencoder-btn:active{z-index:2;position:relative}.giencoder-btn-group .giencoder-btn:focus-visible{outline:1px solid var(--color-primary-light-2);outline-offset:-1px}.giencoder-tag{border-radius:var(--border-radius-medium);height:24px;font-size:var(--font-size-body-1);white-space:nowrap;background:var(--color-fill-2);color:var(--color-text-1);border:1px solid #0000;align-items:center;gap:6px;padding:0 8px;font-weight:500;line-height:1;display:inline-flex}.giencoder-tag-primary{background:color-mix(in srgb, var(--color-primary-6) 15%, var(--color-bg-1));color:var(--color-text-1)}.giencoder-tag-success{background:color-mix(in srgb, var(--color-success-6) 15%, var(--color-bg-1));color:var(--color-text-1)}.giencoder-tag-warning{background:color-mix(in srgb, var(--color-warning-6) 15%, var(--color-bg-1));color:var(--color-text-1)}.giencoder-tag-danger{background:color-mix(in srgb, var(--color-danger-6) 15%, var(--color-bg-1));color:var(--color-text-1)}.giencoder-tag-outline{background:var(--color-bg-1);border-color:var(--color-border-3);color:var(--color-text-1)}.giencoder-tag-outline.giencoder-tag-primary{border-color:var(--color-primary-6);color:var(--color-primary-6)}.giencoder-tag-outline.giencoder-tag-success{border-color:var(--color-success-6);color:var(--color-success-6)}.giencoder-tag-outline.giencoder-tag-danger{border-color:var(--color-danger-6);color:var(--color-danger-6)}.giencoder-tag-light{background:var(--color-fill-1);color:var(--color-text-1)}.giencoder-tag-light.giencoder-tag-primary{background:color-mix(in srgb, var(--color-primary-6) 15%, var(--color-bg-1));color:var(--color-text-1)}.giencoder-tag-light.giencoder-tag-success{background:color-mix(in srgb, var(--color-success-6) 15%, var(--color-bg-1));color:var(--color-text-1)}.giencoder-tag-light.giencoder-tag-warning{background:color-mix(in srgb, var(--color-warning-6) 15%, var(--color-bg-1));color:var(--color-text-1)}.giencoder-tag-light.giencoder-tag-danger{background:color-mix(in srgb, var(--color-danger-6) 15%, var(--color-bg-1));color:var(--color-text-1)}.giencoder-tag-disabled{opacity:.4}.giencoder-tag-dot{border-radius:50%;width:7px;height:7px;display:inline-block}.giencoder-tag-dot-success{background:var(--color-success-6)}.giencoder-tag-dot-warning{background:var(--color-warning-6)}.giencoder-tag-dot-danger{background:var(--color-danger-6)}.giencoder-tag-dot-gray{background:var(--color-text-4)}.giencoder-tag-status{background:var(--color-bg-1);border-color:var(--color-border-2);color:var(--color-text-1)}.giencoder-tag-close-btn{cursor:pointer;color:inherit;opacity:.7;background:0 0;border:none;padding:0;display:inline-flex}.giencoder-tag-close-btn:hover{opacity:1}.giencoder-tag-checkable{cursor:pointer;border:1px solid var(--color-border-2);background:var(--color-bg-1);color:var(--color-text-2)}.giencoder-tag-checkable:hover{border-color:var(--color-primary-6);color:var(--color-primary-6)}.giencoder-tag-checked{background:color-mix(in srgb, var(--color-primary-6) 15%, var(--color-bg-1));border-color:var(--color-primary-6);color:var(--color-text-1)}.giencoder-radio{cursor:pointer;font-size:var(--font-size-body-3);color:var(--color-text-1);align-items:center;gap:6px;display:inline-flex}.giencoder-radio-input{opacity:0;width:0;height:0;position:absolute}.giencoder-radio-mask{border:2px solid var(--color-border-3);width:14px;height:14px;transition:all var(--transition-duration-1) var(--transition-timing-function-standard);border-radius:50%;flex-shrink:0;display:inline-block;position:relative}.giencoder-radio-input:checked+.giencoder-radio-mask{border-color:var(--color-primary-6)}.giencoder-radio-input:checked+.giencoder-radio-mask:after{content:"";background:var(--color-primary-6);border-radius:50%;position:absolute;inset:2px}.giencoder-radio-disabled{cursor:not-allowed;opacity:.4}.giencoder-radio-group{gap:16px;display:inline-flex}.giencoder-radio-group-button{border-radius:var(--border-radius-medium);background:var(--color-fill-2);border:none;gap:2px;padding:2px;position:relative}.giencoder-radio-button-slider{border-radius:var(--border-radius-medium);border:1px solid var(--color-border-2);background:var(--color-bg-5);z-index:0;pointer-events:none;height:32px;transition:transform .28s cubic-bezier(.22,1,.36,1),width .28s cubic-bezier(.22,1,.36,1);position:absolute;top:2px;left:2px}.giencoder-radio-button{cursor:pointer;height:32px;font-size:var(--font-size-body-3);color:var(--color-text-2);border-radius:var(--border-radius-medium);z-index:1;transition:color var(--transition-duration-1) var(--transition-timing-function-standard), background-color var(--transition-duration-1) var(--transition-timing-function-standard);-webkit-user-select:none;user-select:none;white-space:nowrap;background:0 0;border:none;justify-content:center;align-items:center;padding:0 12px;display:inline-flex;position:relative}.giencoder-radio-button:hover{color:var(--color-text-1);background:#7f7f7f14}.giencoder-radio-button-checked{color:var(--color-text-1);font-weight:600}.giencoder-radio-button-checked:hover{color:var(--color-text-1);background:0 0}.giencoder-radio-group-button .giencoder-radio-button:has(.giencoder-radio-input:focus-visible){outline-offset:2px;outline:2px solid #6b97ff}.giencoder-switch{background:var(--color-fill-3);cursor:pointer;width:44px;height:22px;transition:all var(--transition-duration-2) var(--transition-timing-function-standard);border:none;border-radius:22px;flex-shrink:0;padding:0;position:relative}.giencoder-switch:hover{background:var(--color-fill-4)}.giencoder-switch-checked{background:var(--color-primary-6)}.giencoder-switch-checked:hover{background:var(--color-primary-5)}.giencoder-switch-handle{background:var(--color-white);width:18px;height:18px;box-shadow:var(--shadow1-down);transition:left var(--transition-duration-2) var(--transition-timing-function-standard);border-radius:50%;position:absolute;top:2px;left:2px}.giencoder-switch-checked .giencoder-switch-handle{left:24px}.giencoder-switch-disabled{opacity:.4;cursor:not-allowed}.giencoder-switch-text{color:var(--color-text-1);z-index:1;font-size:10px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.giencoder-switch-checked .giencoder-switch-text{color:var(--color-white);left:8px;right:auto}.giencoder-input-wrapper{border:1px solid var(--color-border-2);border-radius:var(--border-radius-medium);background:var(--color-bg-2);transition:border-color var(--transition-duration-1) var(--transition-timing-function-standard);box-sizing:border-box;align-items:center;min-width:120px;height:32px;padding:0 12px;display:inline-flex}.giencoder-input-wrapper:hover{border-color:var(--color-border-3)}.giencoder-input-wrapper:focus-within{border-color:var(--color-primary-6);box-shadow:0 0 0 2px var(--color-primary-light-2)}.giencoder-input{min-width:0;height:100%;font-size:var(--font-size-body-3);color:var(--color-text-1);width:100%;font-family:var(--font-family);background:0 0;border:none;outline:none}.giencoder-input-wrapper[data-size=mini]{height:24px;padding:0 8px}.giencoder-input-wrapper[data-size=small]{height:28px}.giencoder-input-wrapper[data-size=medium]{height:32px}.giencoder-input-wrapper[data-size=large]{height:36px}.giencoder-input-wrapper.giencoder-input-error{border-color:var(--color-danger-6)}.giencoder-input-wrapper.giencoder-input-error:focus-within{box-shadow:0 0 0 2px var(--color-danger-light-2)}.giencoder-input-wrapper.giencoder-input-disabled{background:var(--color-fill-1);cursor:not-allowed;box-shadow:none}.giencoder-input-wrapper.giencoder-input-disabled:hover{border-color:var(--color-border-2)}.giencoder-input-wrapper.giencoder-input-disabled .giencoder-input{color:var(--color-text-4)}.giencoder-input-prefix,.giencoder-input-suffix{color:var(--color-text-3);flex-shrink:0;align-items:center;margin-right:8px;display:inline-flex}.giencoder-input-suffix{margin-left:8px;margin-right:0}.giencoder-input-clear-btn{cursor:pointer;color:var(--color-text-3);background:0 0;border:none;padding:0;display:inline-flex}.giencoder-input-clear-btn:hover{color:var(--color-text-2)}.giencoder-textarea-wrapper{width:100%}.giencoder-textarea{border:1px solid var(--color-border-2);border-radius:var(--border-radius-medium);width:100%;font-size:var(--font-size-body-3);font-family:var(--font-family);color:var(--color-text-1);resize:vertical;transition:border-color var(--transition-duration-1);outline:none;padding:6px 12px}.giencoder-textarea:hover{border-color:var(--color-border-3)}.giencoder-textarea:focus{border-color:var(--color-primary-6);box-shadow:0 0 0 2px var(--color-primary-light-2)}.giencoder-textarea:disabled{background:var(--color-fill-1);cursor:not-allowed;box-shadow:none;color:var(--color-text-4)}.giencoder-form-label{font-size:var(--font-size-body-3);color:var(--color-text-1);margin-bottom:8px;display:block}.giencoder-form-help{font-size:var(--font-size-body-1);color:var(--color-text-3);margin-top:4px}.giencoder-form-message{font-size:var(--font-size-body-1);margin-top:4px}.giencoder-form-message-error{color:var(--color-danger-6)}.giencoder-checkbox{cursor:pointer;font-size:var(--font-size-body-3);color:var(--color-text-1);align-items:center;gap:6px;display:inline-flex}.giencoder-checkbox-input{opacity:0;width:0;height:0;position:absolute}.giencoder-checkbox-mask{border-radius:var(--border-radius-small);border:2px solid var(--color-border-3);width:14px;height:14px;transition:all var(--transition-duration-1);flex-shrink:0;display:inline-block;position:relative}.giencoder-checkbox-input:checked+.giencoder-checkbox-mask,.giencoder-checkbox-checked .giencoder-checkbox-mask{background:var(--color-primary-6);border-color:var(--color-primary-6)}.giencoder-checkbox-input:checked+.giencoder-checkbox-mask:after,.giencoder-checkbox-checked .giencoder-checkbox-mask:after{content:"";border:solid var(--color-white);border-width:0 1.5px 1.5px 0;width:4px;height:6px;position:absolute;top:50%;left:50%;transform:translate(-50%,-55%)rotate(45deg)}.giencoder-checkbox-indeterminate .giencoder-checkbox-mask{background:var(--color-primary-6);border-color:var(--color-primary-6)}.giencoder-checkbox-indeterminate .giencoder-checkbox-mask:after{content:"";border-top:2px solid var(--color-white);width:8px;height:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.giencoder-checkbox-disabled{cursor:not-allowed;opacity:.4}.giencoder-select{font-size:var(--font-size-body-3);color:var(--color-text-1);flex-direction:column;width:auto;max-width:100%;display:inline-flex;position:relative}.giencoder-select-view{box-sizing:border-box;background:var(--color-bg-2);border:1px solid var(--color-border-2);border-radius:var(--border-radius-medium);cursor:pointer;min-width:0;min-height:32px;transition:border-color var(--transition-duration-1) var(--transition-timing-function-standard), box-shadow .18s cubic-bezier(.23, 1, .32, 1), background-color 80ms ease;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:8px;padding:0 12px;display:flex;box-shadow:0 1px 2px #0f172a0a}.giencoder-select-view:hover{background:var(--color-fill-1);box-shadow:none}.giencoder-select-view:active{background:var(--color-bg-2);box-shadow:none;transition-duration:80ms,80ms,80ms}.giencoder-select-view[aria-expanded=true]{background:var(--color-bg-2);border-color:var(--color-primary-6);box-shadow:none}.giencoder-select-view:focus-visible{border-color:var(--color-primary-6);box-shadow:0 0 0 2px var(--color-primary-light-2);outline:none}.giencoder-select-view-text{text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-1);flex:1;overflow:hidden}.giencoder-select-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-text-1);flex:0 auto;overflow:hidden}.giencoder-select-placeholder{color:var(--color-text-3)}.giencoder-select-suffix{color:var(--color-text-3);transition:transform var(--transition-duration-2) var(--transition-timing-function-spring);flex-shrink:0;align-items:center;display:inline-flex}.giencoder-select-clear{cursor:pointer;color:var(--color-text-3);transition:color var(--transition-duration-1) var(--transition-timing-function-standard);background:0 0;border:none;padding:0;line-height:0;display:none}.giencoder-select-clear:hover{color:var(--color-text-1)}.giencoder-select-has-value .giencoder-select-view:hover .giencoder-select-arrow,.giencoder-select-has-value .giencoder-select-view[aria-expanded=true] .giencoder-select-arrow{display:none}.giencoder-select-has-value .giencoder-select-view:hover .giencoder-select-clear,.giencoder-select-has-value .giencoder-select-view[aria-expanded=true] .giencoder-select-clear{display:inline-flex}.giencoder-select-disabled .giencoder-select-clear{display:none!important}.giencoder-select-selection{flex-wrap:wrap;flex:1;align-items:center;gap:4px;min-height:28px;padding:2px 0;display:flex}.giencoder-select-multiple .giencoder-select-view,.giencoder-select-multiple .giencoder-select-selection{padding:2px}.giencoder-select-multiple.giencoder-select-has-value .giencoder-select-view-text{color:var(--color-primary-6)}.giencoder-select-multiple .giencoder-select-option{gap:8px}.giencoder-select-multiple .giencoder-select-option-check{box-sizing:border-box;border:2px solid var(--color-border-3);width:14px;height:14px;transition:all var(--transition-duration-1);border-radius:2px;flex:none;position:relative}.giencoder-select-multiple .giencoder-select-option-selected .giencoder-select-option-check{background:var(--color-primary-6);border-color:var(--color-primary-6)}.giencoder-select-multiple .giencoder-select-option-selected .giencoder-select-option-check:after{content:"";border:solid var(--color-white);border-width:0 1.5px 1.5px 0;width:4px;height:6px;position:absolute;top:50%;left:50%;transform:translate(-50%,-55%)rotate(45deg)}.giencoder-select-popup{z-index:1000;background:var(--color-bg-5);border:1px solid var(--color-border-2);border-radius:var(--border-radius-large);box-shadow:var(--shadow3-down);max-height:280px;padding:6px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.giencoder-select-option-list{margin:0;padding:0;list-style:none}.giencoder-select-option{border-radius:var(--border-radius-medium);cursor:pointer;height:32px;font-size:var(--font-size-body-3);color:var(--color-text-1);transition:background var(--transition-duration-1);white-space:nowrap;text-overflow:ellipsis;align-items:center;margin-bottom:2px;padding:0 12px;display:flex;overflow:hidden}.giencoder-select-option:last-child{margin-bottom:0}.giencoder-select-option:hover{background:var(--color-fill-2)}.giencoder-select-option-selected{background:var(--color-fill-1);color:var(--color-text-1);font-weight:400}.giencoder-select-option-selected:hover{background:var(--color-fill-1)}.giencoder-select-option-disabled{color:var(--color-text-4);cursor:not-allowed}.giencoder-select-option-disabled:hover{background:0 0}.giencoder-select-disabled .giencoder-select-view{background:var(--color-fill-1);cursor:not-allowed;box-shadow:none}.giencoder-select-disabled .giencoder-select-view:hover{border-color:var(--color-border-2);background:var(--color-fill-1);box-shadow:none}.giencoder-select-disabled .giencoder-select-view-text,.giencoder-select-disabled .giencoder-select-placeholder{color:var(--color-text-4)}.giencoder-select-error .giencoder-select-view{border-color:var(--color-danger-6)}.giencoder-select-error .giencoder-select-view:focus-visible{box-shadow:0 0 0 2px var(--color-danger-light-2)}.giencoder-card{background:var(--color-bg-2);border:1px solid var(--color-border-2);border-radius:var(--border-radius-medium);overflow:hidden}.giencoder-card-hoverable{cursor:pointer;transition:box-shadow var(--transition-duration-2) var(--transition-timing-function-standard), border-color var(--transition-duration-2)}.giencoder-card-hoverable:hover{box-shadow:var(--shadow2-down);border-color:var(--color-border-2)}.giencoder-card-header{background:var(--color-fill-1);border-bottom:1px solid var(--color-border-1);justify-content:space-between;align-items:center;padding:8px 16px;display:flex}.giencoder-card-header-title{font-size:var(--font-size-title-1);color:var(--color-text-1);font-weight:600}.giencoder-card-header-extra{display:flex}.giencoder-card-body{font-size:var(--font-size-body-3);color:var(--color-text-2);padding:16px}.giencoder-modal-mask,.giencoder-drawer-mask{background:var(--color-mask-bg);-webkit-backdrop-filter:blur(10px)saturate();backdrop-filter:blur(10px)saturate()}.giencoder-modal{border-radius:var(--border-radius-xl);overflow:hidden}.giencoder-modal-header,.giencoder-drawer-header{border-bottom:1px solid var(--color-border-1);justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.giencoder-modal-title,.giencoder-drawer-title{font-size:var(--font-size-title-1);color:var(--color-text-1);font-weight:600}.giencoder-modal-close-btn,.giencoder-drawer-close-btn{cursor:pointer;color:var(--color-text-3);border-radius:var(--border-radius-medium);background:0 0;border:none;padding:4px;display:inline-flex}.giencoder-modal-close-btn:hover,.giencoder-drawer-close-btn:hover{background:var(--color-fill-2);color:var(--color-text-2)}.giencoder-modal-content,.giencoder-drawer-content{font-size:var(--font-size-body-3);color:var(--color-text-2);padding:20px}.giencoder-modal-footer,.giencoder-drawer-footer{border-top:1px solid var(--color-border-1);justify-content:flex-end;gap:12px;padding:12px 20px;display:flex}.giencoder-alert{border-radius:var(--border-radius-large);font-size:var(--font-size-body-3);align-items:flex-start;gap:10px;padding:12px 16px;display:flex}.giencoder-alert-info{background:var(--color-primary-light-1);color:var(--color-primary-6)}.giencoder-alert-success{background:var(--color-success-light-1);color:var(--color-success-6)}.giencoder-alert-warning{background:var(--color-warning-light-1);color:var(--color-warning-6)}.giencoder-alert-error{background:var(--color-danger-light-1);color:var(--color-danger-6)}.giencoder-alert-icon{flex-shrink:0;margin-top:1px;display:inline-flex}.giencoder-alert-content{color:var(--color-text-1);flex:1}.giencoder-alert-title{margin-bottom:2px;font-weight:600}.giencoder-alert-description{color:var(--color-text-2)}.giencoder-alert-close-btn{cursor:pointer;color:inherit;opacity:.7;background:0 0;border:none;padding:2px;display:inline-flex}.giencoder-alert-close-btn:hover{opacity:1}.giencoder-alert-action{flex-shrink:0;align-items:center;display:flex}.giencoder-table{width:100%}.giencoder-table-container{overflow:auto}.giencoder-table-content{border-collapse:collapse;width:100%;font-size:var(--font-size-body-3)}.giencoder-table-th{text-align:left;background:var(--color-fill-1);color:var(--color-text-2);font-weight:500;font-size:var(--font-size-body-1);border-bottom:1px solid var(--color-border-2);white-space:nowrap;padding:6px 12px;line-height:20px;position:relative}.giencoder-table-td{color:var(--color-text-1);border-bottom:1px solid var(--color-border-1);padding:8px 12px}.giencoder-table-tr:hover .giencoder-table-td{background:var(--color-fill-1)}.giencoder-table-tr-checked .giencoder-table-td{background:var(--color-primary-light-1)}td.giencoder-table-operation{gap:var(--spacing-6);justify-content:flex-start;align-items:center;display:flex}td.giencoder-table-operation>*{position:relative}td.giencoder-table-operation>:not(:first-child):before{content:"";left:calc(var(--spacing-3) * -1);background:var(--color-border-2);width:1px;height:1em;position:absolute;top:50%;transform:translateY(-50%)}td.giencoder-table-operation .giencoder-btn{font-size:var(--font-size-body-3)}td.giencoder-table-operation .giencoder-btn-size-mini{padding:0 4px}.giencoder-table-checkbox{text-align:center;width:40px}.giencoder-table-checkbox .giencoder-checkbox{vertical-align:middle;display:inline-flex}.giencoder-table-th.giencoder-table-checkbox,.giencoder-table-td.giencoder-table-checkbox{line-height:1}.giencoder-table-th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.giencoder-table-sorter{color:var(--color-text-2);vertical-align:middle;margin-left:4px;display:inline-flex}.giencoder-table-pagination{justify-content:flex-end;padding:12px 0;display:flex}.giencoder-pagination{align-items:center;gap:4px;display:inline-flex}.giencoder-pagination-item{border-radius:var(--border-radius-medium);border:1px solid var(--color-border-2);background:var(--color-bg-2);min-width:32px;height:32px;font-size:var(--font-size-body-3);color:var(--color-text-2);cursor:pointer;transition:all var(--transition-duration-1);justify-content:center;align-items:center;padding:0 4px;display:inline-flex}.giencoder-pagination-item:hover{background:var(--color-fill-1);color:var(--color-text-1);border-color:var(--color-border-2)}.giencoder-pagination-item-active,.giencoder-pagination-item-active:hover{background:var(--color-primary-6);color:var(--color-white);border-color:var(--color-primary-6)}.giencoder-pagination-item-ellipsis{cursor:default}.giencoder-pagination-item-ellipsis:hover{background:0 0}.giencoder-pagination-stats{color:var(--color-text-3,#737a87);font-size:var(--font-size-body-3)}.giencoder-pagination-jumper{font-size:var(--font-size-body-3);color:var(--color-text-3);align-items:center;gap:6px;margin-left:8px;display:inline-flex}.giencoder-pagination-jumper .giencoder-input-wrapper{min-width:0}.giencoder-pagination-options .giencoder-select{width:auto}.giencoder-steps{display:flex}.giencoder-steps-horizontal{flex-direction:row}.giencoder-steps-vertical{flex-direction:column}.giencoder-steps-item{flex:1;display:flex;position:relative}.giencoder-steps-horizontal .giencoder-steps-item{flex-direction:column;align-items:center}.giencoder-steps-item:not(:last-child):after{content:"";background:var(--color-border-2);height:1px;position:absolute;top:15px;left:34px;right:8px}.giencoder-steps-horizontal .giencoder-steps-item:not(:last-child):after{left:0;right:0}.giencoder-steps-horizontal .giencoder-steps-item:last-child:after{content:"";background:var(--color-border-2);height:1px;position:absolute;top:15px;left:0;right:calc(50% + 16px)}.giencoder-steps-vertical .giencoder-steps-item:not(:last-child){min-height:48px}.giencoder-steps-vertical .giencoder-steps-item:not(:last-child):after{width:1px;height:auto;inset:0 auto 0 15px}.giencoder-steps-head{margin-right:10px}.giencoder-steps-horizontal .giencoder-steps-head{margin-bottom:8px;margin-right:0}.giencoder-steps-icon{background:var(--color-fill-2);width:32px;height:32px;color:var(--color-text-3);font-size:var(--font-size-body-3);z-index:1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:500;display:flex;position:relative}.giencoder-steps-horizontal .giencoder-steps-content{flex-direction:column;align-items:center;display:flex}.giencoder-steps-icon-process{background:var(--color-primary-6);color:var(--color-white)}.giencoder-steps-icon-finish{background:var(--color-primary-light-1);color:var(--color-primary-6)}.giencoder-steps-icon-error{background:var(--color-danger-6);color:var(--color-white)}.giencoder-steps-title{font-size:var(--font-size-body-3);color:var(--color-text-1);font-weight:500}.giencoder-steps-description{font-size:var(--font-size-body-1);color:var(--color-text-3);margin-top:2px}.giencoder-steps-item-wait .giencoder-steps-title{color:var(--color-text-2)}.giencoder-tabs-header{border-bottom:1px solid var(--color-border-2);display:flex;position:relative}.giencoder-tabs-tab{cursor:pointer;font-size:var(--font-size-body-3);color:var(--color-text-2);transition:color var(--transition-duration-1);align-items:center;gap:6px;padding:10px 16px;display:inline-flex;position:relative}.giencoder-tabs-tab:hover{color:var(--color-text-1)}.giencoder-tabs-tab-active{color:var(--color-primary-6);font-weight:500}.giencoder-tabs-ink{background:var(--color-primary-6);height:2px;transition:all var(--transition-duration-2);position:absolute;bottom:-1px}.giencoder-tabs-content{font-size:var(--font-size-body-3);color:var(--color-text-2);padding:16px 0}.giencoder-tabs-card .giencoder-tabs-header{border-bottom:none;gap:4px}.giencoder-tabs-card .giencoder-tabs-tab{border:1px solid var(--color-border-2);border-radius:var(--border-radius-medium) var(--border-radius-medium) 0 0;background:var(--color-fill-1);height:36px;padding:0 16px}.giencoder-tabs-card .giencoder-tabs-tab-active{background:var(--color-bg-2);border-bottom-color:var(--color-bg-2);color:var(--color-primary-6);font-weight:500}.giencoder-tabs-tab-close-btn{cursor:pointer;color:var(--color-text-3);background:0 0;border:none;border-radius:50%;padding:0;display:inline-flex}.giencoder-tabs-tab-close-btn:hover{background:var(--color-fill-3);color:var(--color-text-1)}.giencoder-tabs-subtle .giencoder-tabs-header{border-bottom:none;gap:4px}.giencoder-tabs-subtle .giencoder-tabs-tab{border-radius:var(--border-radius-large);transition:color var(--transition-duration-1), background-color var(--transition-duration-1);padding:6px 12px}.giencoder-tabs-subtle .giencoder-tabs-tab:hover{background:var(--color-fill-1);color:var(--color-text-1)}.giencoder-tabs-subtle .giencoder-tabs-tab-active{background:var(--color-fill-2);color:var(--color-text-1);font-weight:500}.giencoder-tabs-subtle .giencoder-tabs-content{padding:12px 0}.giencoder-menu{font-size:var(--font-size-body-3);padding:4px}.giencoder-menu-vertical{width:200px}.giencoder-menu-item{cursor:pointer;height:32px;color:var(--color-text-1);transition:background var(--transition-duration-1);border-radius:var(--border-radius-medium);align-items:center;gap:10px;padding:0 12px;display:flex;position:relative}.giencoder-menu-item+.giencoder-menu-item,.giencoder-menu-item+.giencoder-menu-submenu-title,.giencoder-menu-submenu-title+.giencoder-menu-item,.giencoder-menu-submenu-title+.giencoder-menu-submenu-title{margin-top:2px}.giencoder-menu-item:hover{background:var(--color-fill-1)}.giencoder-menu-item-selected{color:var(--color-primary-6);background:var(--color-primary-light-1);font-weight:500}.giencoder-menu-item-selected:before{content:"";background:var(--color-primary-6);width:3px;position:absolute;top:0;bottom:0;left:0}.giencoder-menu-item-disabled{color:var(--color-text-4);cursor:not-allowed}.giencoder-menu-item-disabled:hover{background:0 0}.giencoder-menu-icon{display:inline-flex}.giencoder-menu-arrow{transition:transform var(--transition-duration-2) var(--transition-timing-function-spring);margin-left:auto;display:inline-flex}.giencoder-menu-group-title{font-size:var(--font-size-body-1);color:var(--color-text-3);padding:8px 16px 4px}.giencoder-menu-horizontal{padding:0;display:flex}.giencoder-menu-horizontal .giencoder-menu-item{border-radius:0;height:auto;padding:10px 16px}.giencoder-menu-horizontal .giencoder-menu-item+.giencoder-menu-item{margin-top:0}.giencoder-menu-horizontal .giencoder-menu-item-selected{background:0 0}.giencoder-menu-horizontal .giencoder-menu-item-selected:before{width:100%;height:2px;top:auto;bottom:0}.giencoder-menu-submenu-title{cursor:pointer;height:32px;color:var(--color-text-1);border-radius:var(--border-radius-medium);align-items:center;gap:10px;padding:0 12px;display:flex}.giencoder-menu-submenu-title:hover{background:var(--color-fill-1)}.giencoder-menu-submenu-content{padding:0}.giencoder-menu-submenu-open .giencoder-menu-arrow{transform:rotate(180deg)}.giencoder-layout{flex-direction:column;width:100%;display:flex}.giencoder-layout-body{flex:1;display:flex}.giencoder-layout-header,.giencoder-layout-footer{flex-shrink:0}.giencoder-layout-header{background:var(--color-fill-1)}.giencoder-layout-sider{flex-shrink:0}.giencoder-layout-content{flex:1}.giencoder-skeleton-line{border-radius:var(--border-radius-medium);background:linear-gradient(90deg, var(--color-fill-2) 25%, var(--color-fill-3) 37%, var(--color-fill-2) 63%);background-size:400% 100%;height:14px;margin-bottom:12px;animation:1.4s infinite giencoder-skeleton-loading;display:block}.giencoder-skeleton-title{border-radius:var(--border-radius-medium);background:var(--color-fill-3);height:20px;margin-bottom:16px}.giencoder-skeleton-avatar{background:var(--color-fill-3);border-radius:50%;flex-shrink:0;width:40px;height:40px}@keyframes giencoder-skeleton-loading{0%{background-position:100%}to{background-position:0}}.giencoder-spin-loading{border:2px solid var(--color-fill-3);border-top-color:var(--color-primary-6);border-radius:50%;animation:.8s linear infinite giencoder-spin;display:inline-block}.giencoder-spin-loading-mini{width:14px;height:14px}.giencoder-spin-loading-small{width:18px;height:18px}.giencoder-spin-loading-medium{width:22px;height:22px}.giencoder-spin-loading-large{width:28px;height:28px}.giencoder-spin-wrapper{position:relative}.giencoder-spin-mask{background:var(--color-spin-layer-bg);position:absolute;inset:0}.giencoder-message{background:var(--color-bg-2);border:1px solid var(--color-border-2);box-shadow:var(--shadow2-down);font-size:var(--font-size-body-3);border-radius:999px;align-items:center;gap:8px;padding:10px 16px;display:flex}.giencoder-message-close-btn:hover{color:var(--color-text-1)}.giencoder-list{font-size:var(--font-size-body-3);color:var(--color-text-1)}.giencoder-list-header{padding:0 0 var(--spacing-4);color:var(--color-text-2)}.giencoder-list-item{align-items:center;gap:var(--spacing-4);box-sizing:border-box;border-radius:var(--border-radius-large);min-height:40px;padding:0 12px;display:flex}.giencoder-list-item+.giencoder-list-item{margin-top:2px}.giencoder-list-item[data-size=small]{min-height:32px}.giencoder-list-item[data-size=large]{min-height:48px}.giencoder-list-item-hoverable{cursor:pointer;transition:background-color var(--transition-duration-2) var(--transition-timing-function-standard)}.giencoder-list-item-hoverable:hover{background:var(--color-fill-1)}.giencoder-list-item-meta{align-items:center;gap:var(--spacing-4);flex:auto;min-width:0;display:flex}.giencoder-list-item-title{color:var(--color-text-1);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.giencoder-list-item-description{color:var(--color-text-3)}.giencoder-list-item-action{gap:var(--spacing-4);flex-shrink:0;display:flex}.giencoder-list-item-action .giencoder-btn{font-size:var(--font-size-body-3)}.giencoder-list-footer{padding:var(--spacing-4) 0 0}.giencoder-badge{display:inline-block;position:relative}.giencoder-badge-count{border-radius:var(--border-radius-large);background:var(--color-danger-6);min-width:16px;height:16px;color:var(--color-white);text-align:center;z-index:1;padding:0 5px;font-size:10px;font-weight:500;line-height:16px;position:absolute;top:-6px;right:-8px}.giencoder-badge-count-max{letter-spacing:-.5px}.giencoder-badge-standalone .giencoder-badge-count{display:inline-block;position:static}.giencoder-badge-dot{background:var(--color-danger-6);border-radius:50%;width:8px;height:8px;position:absolute;top:-2px;right:-2px}.giencoder-badge-status{font-size:var(--font-size-body-3);align-items:center;gap:6px;display:inline-flex}.giencoder-badge-status-dot{border-radius:50%;width:6px;height:6px}.giencoder-badge-status-success{background:var(--color-success-6)}.giencoder-badge-status-warning{background:var(--color-warning-6)}.giencoder-badge-status-danger{background:var(--color-danger-6)}.giencoder-badge-status-normal{background:var(--color-text-3)}.giencoder-badge-status-processing{background:var(--color-primary-6)}.giencoder-badge-status-text{color:var(--color-text-2)}.giencoder-avatar{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.giencoder-avatar-group .giencoder-avatar{border:2px solid var(--color-bg-1);margin-left:-8px}.giencoder-avatar-group .giencoder-avatar:first-child{margin-left:0}.giencoder-avatar-circle{border-radius:var(--border-radius-circle)}.giencoder-avatar-square{border-radius:var(--border-radius-medium)}.giencoder-avatar-text{background:var(--avatar-bg,var(--color-fill-2));color:var(--avatar-color,var(--color-text-1));font-size:var(--avatar-font-size,11px);-webkit-user-select:none;user-select:none;font-weight:400;line-height:1}.giencoder-breadcrumb{font-size:var(--font-size-body-3);align-items:center;display:flex}.giencoder-breadcrumb-item{align-items:center;display:inline-flex}.giencoder-breadcrumb-item-link{color:var(--color-text-2);transition:color var(--transition-duration-1);text-decoration:none}.giencoder-breadcrumb-item-link:hover,.giencoder-breadcrumb-item-current{color:var(--color-text-1)}.giencoder-breadcrumb-item-separator{color:var(--color-text-3);margin:0 8px;display:inline-flex}.giencoder-breadcrumb-item-ellipsis{color:var(--color-text-3)}.giencoder-descriptions-table{width:100%;font-size:var(--font-size-body-3)}.giencoder-descriptions-item-label{color:var(--color-text-3);vertical-align:top}.giencoder-descriptions-item-value{color:var(--color-text-1)}.giencoder-progress-line{align-items:center;gap:8px;display:flex}.giencoder-progress-outer{flex:1}.giencoder-progress-inner{border-radius:var(--border-radius-medium);background:var(--color-fill-2);height:8px;position:relative;overflow:hidden}.giencoder-progress-bar{border-radius:var(--border-radius-medium);height:100%;transition:width var(--transition-duration-3) var(--transition-timing-function-standard);position:relative;overflow:hidden}.giencoder-progress-bar:after{content:"";background-image:linear-gradient(45deg,#ffffff40 25%,#0000 25% 50%,#ffffff40 50% 75%,#0000 75%,#0000);background-size:16px 16px;animation:1s linear infinite giencoder-progress-stripes;position:absolute;inset:0}.giencoder-progress-bar-primary{background:var(--color-primary-6)}.giencoder-progress-bar-success{background:var(--color-success-6)}.giencoder-progress-bar-danger{background:var(--color-danger-6)}.giencoder-progress-buffer{background:var(--color-primary-light-2);position:absolute;inset:0}@keyframes giencoder-progress-stripes{0%{background-position:16px 0}to{background-position:0 0}}.giencoder-progress-text{font-size:var(--font-size-body-1);color:var(--color-text-2);text-align:right;min-width:36px}.giencoder-progress-text-success{color:var(--color-success-6)}.giencoder-progress-text-danger{color:var(--color-danger-6)}.giencoder-result{text-align:center;padding:40px 0}.giencoder-result-icon{margin-bottom:16px}.giencoder-result-title{font-size:var(--font-size-title-2);color:var(--color-text-1);font-weight:600}.giencoder-result-subtitle{font-size:var(--font-size-body-3);color:var(--color-text-3);margin-top:8px}.giencoder-result-extra{justify-content:center;gap:12px;margin-top:24px;display:flex}.giencoder-empty{text-align:center}.giencoder-empty-image{justify-content:center;display:flex}.giencoder-empty-description{margin-top:12px}.giencoder-empty-action{margin-top:16px}.giencoder-statistic-title{font-size:var(--font-size-body-1);color:var(--color-text-3)}.giencoder-statistic-content{font-size:var(--font-size-title-3);color:var(--color-text-1);margin-top:8px;font-weight:600;line-height:1.2}.giencoder-statistic-card{background:var(--color-fill-1);border-radius:var(--border-radius-large);padding:var(--spacing-7)}.giencoder-upload-trigger,.giencoder-upload-drag-trigger{transition:all var(--transition-duration-2)}.giencoder-upload-drag-trigger:hover{border-color:var(--color-primary-6)!important;background:var(--color-primary-light-1)!important}.giencoder-upload-list-item{box-sizing:border-box;height:36px;transition:background var(--transition-duration-1)}.giencoder-collapse-item-header:hover{background:var(--color-fill-1)}.giencoder-collapse-arrow{transition:transform var(--transition-duration-2) var(--transition-timing-function-spring);display:inline-flex}.giencoder-timeline-item{display:flex;position:relative}.giencoder-timeline-dot-wrapper{justify-content:center;align-items:flex-start;margin-right:12px;padding-top:5px;display:flex;position:relative}.giencoder-timeline-item:not(:last-child) .giencoder-timeline-dot-wrapper:after{content:"";background:var(--color-border-2);width:1px;position:absolute;top:16px;bottom:0}.giencoder-timeline-item:not(:last-child) .giencoder-timeline-dot-wrapper:has(.giencoder-timeline-dot-custom):after{top:22px}.giencoder-timeline-dot{background:var(--color-fill-3);border-radius:50%;flex-shrink:0;width:8px;height:8px}.giencoder-timeline-dot-primary{background:var(--color-primary-6)}.giencoder-timeline-dot-success{background:var(--color-success-6)}.giencoder-timeline-dot-warning{background:var(--color-warning-6)}.giencoder-timeline-dot-gray{background:var(--color-fill-3)}.giencoder-timeline-dot-custom{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.giencoder-timeline-content{flex:1}.giencoder-tooltip-popup{box-shadow:var(--shadow1-down)}.giencoder-image{display:inline-block;position:relative}.giencoder-image-mask-wrapper{border-radius:var(--border-radius-large);position:relative;overflow:hidden}.giencoder-image-img{width:100%;height:auto;display:block}.giencoder-image-placeholder{font-size:var(--font-size-body-2);color:var(--color-white);justify-content:center;align-items:center;display:flex}.giencoder-image-mask{justify-content:center;align-items:center;gap:var(--spacing-2);background:var(--color-mask-bg);color:var(--color-white);font-size:var(--font-size-body-3);opacity:0;transition:opacity var(--transition-duration-2) var(--transition-timing-function-standard);line-height:20px;display:flex;position:absolute;inset:0}.giencoder-image-mask-wrapper:hover .giencoder-image-mask,.giencoder-image-mask-wrapper:focus-visible .giencoder-image-mask{opacity:1}.giencoder-image-mask svg{flex:none;line-height:0}.giencoder-image-caption{margin-top:var(--spacing-4);font-size:var(--font-size-body-1);color:var(--color-text-3);text-align:center}.giencoder-image-error .giencoder-image-mask-wrapper{background:var(--color-fill-2);justify-content:center;align-items:center;display:flex}.giencoder-image-error-state{align-items:center;gap:var(--spacing-3);color:var(--color-text-4);flex-direction:column;display:flex}.giencoder-image-error-text{font-size:var(--font-size-body-2)}.giencoder-image-preview-mask{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.giencoder-image-preview-img{border-radius:var(--border-radius-large);max-width:100%;max-height:100%;display:block}.giencoder-image-preview-btn{border-radius:var(--border-radius-small);width:28px;height:28px;color:var(--color-white);cursor:pointer;transition:background var(--transition-duration-2) var(--transition-timing-function-standard);background:#fff3;border:none;justify-content:center;align-items:center;display:flex}.giencoder-image-preview-btn:hover{background:#ffffff59}.giencoder-image-preview-close{top:var(--spacing-5);right:var(--spacing-5);position:absolute}.giencoder-image-preview-zoom{bottom:var(--spacing-5);left:var(--spacing-5);gap:var(--spacing-3);display:flex;position:absolute}.giencoder-popover-reference{display:inline-flex;position:relative}.giencoder-popover-title{font-size:var(--font-size-body-3);color:var(--color-text-1);padding:10px 16px 0;font-weight:500}.giencoder-popover-content{font-size:var(--font-size-body-3);color:var(--color-text-2);padding:8px 16px 12px;line-height:1.6}.giencoder-popover-footer{justify-content:flex-end;gap:var(--spacing-4);border-top:1px solid var(--color-border-1);padding:12px 16px;display:flex}.giencoder-popover-arrow{background:var(--color-bg-popup);border-left:1px solid var(--color-border-2);border-top:1px solid var(--color-border-2);width:8px;height:8px;position:absolute;top:-5px;left:50%;transform:translate(-50%)rotate(45deg)}.giencoder-scroll-thin{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb-bg) transparent}.giencoder-scroll-thin::-webkit-scrollbar{width:var(--scrollbar-size);height:var(--scrollbar-size)}.giencoder-scroll-thin::-webkit-scrollbar-track{background:0 0}.giencoder-scroll-thin::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-bg);border-radius:var(--scrollbar-size)}.giencoder-scroll-thin::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-bg-hover)}.giencoder-scroll-thin::-webkit-scrollbar-corner{background:0 0}:root{--brand-wordmark:"中电金信";--brand-accent:var(--color-primary-6);--brand-accent-on:var(--color-white);--brand-accent-hover:var(--color-primary-5);--brand-accent-active:var(--color-primary-7);--brand-bar:var(--color-primary-8);--brand-bar-line:var(--color-primary-3);--bg:var(--color-bg-1);--surface:var(--color-fill-1);--surface-hover:var(--color-fill-2);--surface-tint:var(--color-primary-light-1);--fg:var(--color-text-1);--fg-2:var(--color-text-2);--muted:var(--color-text-3);--meta:var(--color-text-3);--border:var(--color-border-3);--border-soft:var(--color-border-2);--layer-01:var(--color-fill-1);--layer-02:var(--color-fill-3);--inverse-bg:rgb(var(--gray-10));--inverse-bg-2:rgb(var(--gray-9));--inverse-bg-3:rgb(var(--gray-8));--inverse-fg:rgb(var(--gray-1));--inverse-fg-2:rgb(var(--gray-4));--bar-bg:var(--brand-bar);--bar-bg-hover:var(--color-primary-9);--bar-line:var(--brand-bar-line);--bar-fg:var(--color-white);--bar-fg-2:var(--color-primary-2);--bar-invert-bg:var(--color-white);--bar-invert-fg:var(--brand-bar);--accent:var(--color-primary-6);--accent-on:var(--color-white);--accent-hover:var(--color-primary-5);--accent-active:var(--color-primary-7);--success:var(--color-success-6);--success-bg:var(--color-success-light-1);--warn:var(--color-warning-6);--warn-bg:var(--color-warning-light-1);--danger:var(--color-danger-6);--danger-bg:var(--color-danger-light-1);--info-bg:var(--color-primary-light-1);--font-display:var(--font-family);--font-body:var(--font-family);--font-mono:var(--code-family);--text-xs:var(--font-size-body-1);--text-sm:var(--font-size-body-3);--text-base:var(--font-size-title-1);--text-lg:var(--font-size-title-2);--text-xl:var(--font-size-title-2);--text-2xl:var(--font-size-title-3);--text-3xl:var(--font-size-display-1);--text-4xl:var(--font-size-display-2);--text-5xl:var(--font-size-display-3);--leading-tight:1.2;--leading-heading:1.3;--leading-body:var(--line-height-base);--tracking-sm:0;--tracking-xs:0;--w-light:400;--w-regular:400;--w-semi:600;--space-1:var(--spacing-1);--space-2:var(--spacing-2);--space-3:var(--spacing-4);--space-4:var(--spacing-6);--space-5:var(--spacing-7);--space-6:var(--spacing-9);--space-7:var(--spacing-10);--space-8:var(--spacing-12);--space-9:var(--spacing-13);--space-10:var(--spacing-16);--space-11:var(--spacing-18);--space-12:var(--spacing-20);--radius-sm:var(--border-radius-small);--radius-md:var(--border-radius-medium);--radius-lg:var(--border-radius-large);--radius-pill:9999px;--elev-flat:var(--shadow-none);--elev-raised:var(--shadow1-down);--elev-popup:var(--shadow2-down);--elev-modal:var(--shadow3-down);--focus-ring:0 0 0 2px var(--color-bg-1), 0 0 0 4px var(--color-primary-6);--focus-ring-inset:0 0 0 2px var(--color-primary-6);--motion-fast:var(--transition-duration-1);--motion-base:var(--transition-duration-2);--motion-slow:var(--transition-duration-3);--ease-enter:var(--transition-timing-function-standard);--ease-exit:var(--transition-timing-function-standard);--shell-max:1584px;--rail-w:232px;--rail-w-compact:64px;--gutter:32px;--masthead-h:48px;--subbar-h:48px;--od-gap:var(--space-3)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body);letter-spacing:0;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}h1,h2,h3,h4,p,figure,ul,ol{margin:0}ul,ol{padding:0;list-style:none}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[tabindex="-1"]:focus-visible{outline:none}.display-1{font-family:var(--font-display);font-size:var(--text-5xl);font-weight:var(--w-light);line-height:var(--leading-tight);letter-spacing:var(--tracking-display,0)}.h1{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:var(--w-light);line-height:var(--leading-tight)}.h2{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--w-regular);line-height:var(--leading-heading)}.h3{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--w-regular);line-height:var(--leading-heading)}.h4{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--w-semi);line-height:1.4}.lead{color:var(--fg-2);font-size:var(--text-lg);line-height:var(--leading-body)}.body-sm{font-size:var(--text-sm);letter-spacing:var(--tracking-sm);line-height:1.43}.caption{font-size:var(--text-xs);letter-spacing:var(--tracking-xs);color:var(--fg-2);line-height:1.33}.eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--fg-2);font-weight:var(--w-semi)}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.dim{color:var(--fg-2)}.dim-2{color:var(--muted)}.masthead{z-index:60;height:var(--masthead-h);background:var(--bar-bg);color:var(--bar-fg);align-items:center;gap:var(--space-5);padding-inline:var(--space-5);box-shadow:var(--elev-raised);display:flex;position:sticky;top:0}.brand{align-items:center;gap:var(--space-4);min-width:0;display:flex}.brand-mark{flex:none;display:block}.brand-name{font-size:var(--text-sm);font-weight:var(--w-semi);letter-spacing:.04em;white-space:nowrap}.brand-div{width:1px;height:var(--spacing-7);background:var(--bar-line);flex:none}.brand-product{font-size:var(--text-sm);color:var(--bar-fg-2);white-space:nowrap}.masthead-nav{align-items:center;gap:var(--space-1);margin-inline-start:var(--space-6);display:flex}.masthead-nav a{height:var(--spacing-10);padding-inline:var(--space-4);border-radius:var(--border-radius-medium);color:var(--bar-fg-2);font-size:var(--text-sm);letter-spacing:var(--tracking-sm);align-items:center;display:flex}.masthead-nav a:hover{background:var(--bar-bg-hover);color:var(--bar-fg);text-decoration:none}.masthead-nav a[aria-current=page]{color:var(--bar-fg);box-shadow:inset 0 -2px 0 var(--bar-fg)}.masthead-right{align-items:center;gap:var(--space-3);margin-inline-start:auto;display:flex}.skiplink{z-index:100;background:var(--bar-invert-bg);color:var(--bar-invert-fg);padding:var(--space-4) var(--space-5);border-radius:var(--border-radius-medium);font-size:var(--text-sm);transition:inset-block-start var(--motion-fast) var(--ease-enter);position:absolute;inset-block-start:-60px;inset-inline-start:var(--space-5)}.skiplink:focus{color:var(--bar-invert-fg);text-decoration:none;inset-block-start:var(--space-3)}.surface-switch{align-items:center;gap:var(--space-2);margin-inline-start:var(--space-6);display:flex}.surface-btn{align-items:center;gap:var(--space-3);min-height:var(--spacing-10);padding:0 var(--space-4);border:1px solid var(--bar-line);color:var(--bar-fg-2);border-radius:var(--border-radius-medium);font-size:var(--text-sm);letter-spacing:var(--tracking-sm);cursor:pointer;white-space:nowrap;transition:background-color var(--motion-fast) var(--ease-enter), color var(--motion-fast) var(--ease-enter), border-color var(--motion-fast) var(--ease-enter);background:0 0;display:inline-flex}.surface-btn .od-icon{--od-icon-size:16px}.surface-btn:hover{background:var(--bar-bg-hover);color:var(--bar-fg)}.surface-btn[aria-pressed=true]{background:var(--bar-invert-bg);border-color:var(--bar-invert-bg);color:var(--bar-invert-fg)}.icon-btn{inline-size:var(--spacing-10);block-size:var(--spacing-10);color:var(--bar-fg-2);cursor:pointer;border-radius:var(--border-radius-medium);background:0 0;border:0;place-items:center;display:grid;position:relative}.icon-btn:hover{background:var(--bar-bg-hover);color:var(--bar-fg)}.icon-btn .od-icon{--od-icon-size:20px}.icon-badge{inline-size:var(--spacing-4);block-size:var(--spacing-4);background:var(--danger);border-radius:var(--border-radius-circle);position:absolute;inset-block-start:var(--spacing-1);inset-inline-end:var(--spacing-1)}.account-btn{align-items:center;gap:var(--space-3);min-height:var(--spacing-10);padding:0 var(--space-4) 0 var(--space-2);border:1px solid var(--bar-line);color:var(--bar-fg);cursor:pointer;border-radius:var(--border-radius-medium);background:0 0;display:flex}.account-btn:hover{background:var(--bar-bg-hover)}.account-btn .od-icon{--od-icon-size:16px;color:var(--bar-fg-2)}.account-meta{text-align:start;display:grid}.account-name{font-size:var(--text-sm);white-space:nowrap;line-height:1.2}.account-role{letter-spacing:.08em;text-transform:uppercase;color:var(--bar-fg-2);font-size:10px}.identity-opt{align-items:center;gap:var(--space-4);text-align:start;width:100%;padding:var(--space-4) var(--space-5);background:var(--layer-01);border:1px solid #0000;border-inline-start:3px solid var(--border);cursor:pointer;color:var(--fg);border-radius:var(--border-radius-medium);font-size:var(--text-sm);letter-spacing:var(--tracking-sm);display:flex}.identity-opt:hover{background:var(--surface-hover)}.identity-opt[aria-pressed=true]{background:var(--info-bg);border-inline-start-color:var(--accent)}.menu-list{display:grid}.menu-item{align-items:center;gap:var(--space-4);text-align:start;width:100%;min-height:44px;padding:var(--space-3) var(--space-5);border-radius:var(--border-radius-medium);color:var(--fg);cursor:pointer;font-size:var(--text-sm);letter-spacing:var(--tracking-sm);background:0 0;border:0;display:flex}.menu-item:hover{background:var(--layer-01)}.menu-item .od-icon{--od-icon-size:16px;color:var(--fg-2)}.menu-sep{background:var(--border-soft);height:1px}.shell{grid-template-columns:var(--rail-w) minmax(0, 1fr);align-items:start;display:grid}.rail{top:var(--masthead-h);height:calc(100vh - var(--masthead-h));background:var(--layer-01);border-inline-end:1px solid var(--border-soft);padding-block:var(--space-5);flex-direction:column;display:flex;position:sticky}.rail>nav{flex:auto;min-height:0;overflow-y:auto}.rail-label{padding:var(--space-3) var(--space-5)}.rail a{align-items:center;gap:var(--space-4);min-height:var(--spacing-12);padding:var(--space-3) var(--space-5);color:var(--fg);font-size:var(--text-sm);letter-spacing:var(--tracking-sm);border-radius:var(--border-radius-medium);border-inline-start:3px solid #0000;display:flex}.rail a:hover{background:var(--surface-hover);text-decoration:none}.rail a[aria-current=page]{background:var(--bg);border-inline-start-color:var(--accent);font-weight:var(--w-semi)}.rail a .od-icon{--od-icon-size:16px;color:var(--fg-2)}.rail a[aria-current=page] .od-icon{color:var(--accent)}.shell.is-rail-collapsed{grid-template-columns:var(--rail-w-compact) minmax(0, 1fr)}.shell.is-rail-collapsed .rail a{justify-content:center;padding-inline:0}.shell.is-rail-collapsed .rail a .nav-text,.shell.is-rail-collapsed .rail-label{display:none}.shell.is-rail-collapsed .rail-foot{margin-inline:var(--space-3)}.shell.is-rail-collapsed .rail-collapse{justify-content:center;padding-inline:0}.shell.is-rail-collapsed .rail-collapse .nav-text,.shell.is-rail-collapsed .rail-foot-version{display:none}.view{min-width:0}.container{max-width:var(--shell-max);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:var(--space-9)}.section-tight{padding-block:var(--space-7)}.section-alt{background:var(--layer-01)}.rule{background:var(--border-soft);border:0;height:1px;margin:0}.bottomnav{display:none}.btn{justify-content:space-between;align-items:center;gap:var(--space-5);min-height:var(--spacing-13);padding:0 var(--space-5);border-radius:var(--border-radius-medium);font-size:var(--text-sm);font-weight:var(--w-regular);letter-spacing:var(--tracking-sm);cursor:pointer;white-space:nowrap;transition:background-color var(--motion-fast) var(--ease-enter), border-color var(--motion-fast) var(--ease-enter), color var(--motion-fast) var(--ease-enter);border:1px solid #0000;text-decoration:none;display:inline-flex}.btn:hover{text-decoration:none}.btn .od-icon{--od-icon-size:16px}.btn-primary{background:var(--accent);color:var(--accent-on)}.btn-primary:hover{background:var(--accent-hover);color:var(--accent-on)}.btn-primary:active{background:var(--accent-active)}.btn-secondary{background:var(--inverse-bg-3);color:var(--color-white)}.btn-secondary:hover{background:rgb(var(--gray-7));color:var(--color-white)}.btn-tertiary{color:var(--accent);border-color:var(--accent);background:0 0}.btn-tertiary:hover{background:var(--accent);color:var(--accent-on)}.btn-ghost{color:var(--accent);padding-inline:var(--space-5);background:0 0}.btn-ghost:hover{background:var(--surface-hover);color:var(--accent-hover)}.btn-danger{background:var(--danger);color:var(--color-white)}.btn-danger:hover{background:var(--color-danger-7);color:var(--color-white)}.btn-ghost-neutral{color:var(--fg);border-color:var(--border);background:0 0}.btn-ghost-neutral:hover{background:var(--surface-hover);color:var(--fg)}.btn-danger-ghost{color:var(--danger);border-color:var(--border);background:0 0}.btn-danger-ghost:hover{background:var(--danger-bg);color:var(--danger);border-color:var(--danger)}.btn:disabled,.btn[aria-disabled=true]{background:var(--layer-02);color:var(--meta);cursor:not-allowed}.btn:disabled:hover{background:var(--layer-02);color:var(--meta)}.btn-sm{min-height:var(--spacing-10);padding-inline:var(--space-4);gap:var(--space-3)}.btn-wide{width:100%}.btn-icon{min-height:var(--spacing-10);min-width:var(--spacing-10);justify-content:center;gap:0;padding:0}.masthead .btn-ghost-neutral{color:var(--bar-fg-2);border-color:var(--bar-line)}.masthead .btn-ghost-neutral:hover{background:var(--bar-bg-hover);color:var(--bar-fg)}.card{background:var(--bg);border:1px solid var(--border-soft);border-radius:var(--border-radius-medium)}.card-flat{background:var(--layer-01);border-radius:var(--border-radius-medium);border:1px solid #0000}.card-pad{padding:var(--space-6)}.card-pad-sm{padding:var(--space-5)}.card-hover{transition:background-color var(--motion-fast) var(--ease-enter), box-shadow var(--motion-fast) var(--ease-enter)}a.card-hover:hover,.card-hover:hover{background:var(--surface-hover);box-shadow:var(--elev-raised);text-decoration:none}.card-head{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-soft);display:flex}.card-head-plain{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.divide>*+*{border-top:1px solid var(--border-soft)}.clickable{cursor:pointer}.tile-link{color:var(--fg);background:var(--layer-01);transition:background-color var(--motion-fast) var(--ease-enter);border:1px solid #0000;grid-template-rows:auto 1fr;display:grid}.tile-link:hover{background:var(--surface-hover);color:var(--fg);text-decoration:none}.tile-link .tile-arrow{color:var(--accent);opacity:0;transition:opacity var(--motion-fast) var(--ease-enter), transform var(--motion-fast) var(--ease-enter);transform:translate(-4px)}.tile-link:hover .tile-arrow,.tile-link:focus-visible .tile-arrow{opacity:1;transform:translate(0)}.tag{align-items:center;gap:var(--space-2);padding:2px var(--space-4);border-radius:var(--border-radius-small);font-size:var(--text-xs);letter-spacing:var(--tracking-xs);white-space:nowrap;line-height:20px;display:inline-flex}.tag-blue{background:var(--info-bg);color:var(--color-primary-8)}.tag-green{background:var(--success-bg);color:var(--color-success-8)}.tag-yellow{background:var(--warn-bg);color:var(--color-warning-8)}.tag-red{background:var(--danger-bg);color:var(--color-danger-7)}.tag-gray{background:var(--layer-02);color:var(--fg-2)}.tag-outline{border:1px solid var(--border);color:var(--fg-2);background:0 0}.dot{width:var(--spacing-4);height:var(--spacing-4);border-radius:var(--border-radius-circle);background:var(--meta);flex:none}.dot-green{background:var(--success)}.dot-blue{background:var(--accent)}.dot-yellow{background:var(--warn)}.dot-red{background:var(--danger)}.dot-gray{background:var(--meta)}.level-mark{min-width:var(--spacing-12);height:var(--space-6);padding-inline:var(--space-3);background:var(--accent);color:var(--accent-on);border-radius:var(--border-radius-small);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--w-semi);letter-spacing:.04em;justify-content:center;align-items:center;display:inline-flex}.level-mark-plain{background:var(--layer-02);color:var(--fg)}.progress{height:var(--spacing-4);background:var(--layer-02);border-radius:var(--border-radius-small);overflow:hidden}.progress>span{background:var(--accent);height:100%;transition:width var(--motion-slow) var(--ease-enter);display:block}.progress-sm{height:var(--spacing-2)}.progress-green>span{background:var(--success)}.ring-track{fill:none;stroke:var(--layer-02);stroke-width:8px}.ring-value{fill:none;stroke:var(--accent);stroke-width:8px;stroke-linecap:butt;transform-origin:50%;transition:stroke-dashoffset var(--motion-slow) var(--ease-enter);transform:rotate(-90deg)}.field{gap:var(--space-2);display:grid}.field-label{font-size:var(--text-xs);letter-spacing:var(--tracking-xs);color:var(--fg-2);display:block}.field-label .req{color:var(--danger)}.input,.select,.textarea{width:100%;min-height:var(--spacing-12);padding:0 var(--space-4);background:var(--color-bg-2);color:var(--fg);border:1px solid var(--color-border-2);border-radius:var(--border-radius-medium);font-family:var(--font-body);font-size:var(--text-sm);letter-spacing:var(--tracking-sm);transition:border-color var(--motion-fast) var(--ease-enter), background-color var(--motion-fast) var(--ease-enter), box-shadow var(--motion-fast) var(--ease-enter)}.textarea{padding:var(--space-4);min-height:var(--space-12);resize:vertical;font-family:var(--font-mono);line-height:1.43}.select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='%23161616' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6.5 8 10.5 12 6.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-4) center;padding-inline-end:var(--space-8)}.input::placeholder,.textarea::placeholder{color:var(--muted)}.input:hover,.select:hover,.textarea:hover{border-color:var(--color-border-3)}.input:focus,.select:focus,.textarea:focus{border-color:var(--color-primary-6);box-shadow:var(--focus-ring);background:var(--color-bg-2);outline:none}.field-hint{font-size:var(--text-xs);letter-spacing:var(--tracking-xs);color:var(--fg-2)}.field-error{align-items:flex-start;gap:var(--space-2);font-size:var(--text-xs);letter-spacing:var(--tracking-xs);color:var(--color-danger-7);display:flex}.field-error .od-icon{--od-icon-size:12px;margin-block-start:2px}.field.is-invalid .input,.field.is-invalid .select,.field.is-invalid .textarea{border-color:var(--danger)}.checkline{align-items:flex-start;gap:var(--space-4);cursor:pointer;display:flex}.checkline input{block-size:18px;inline-size:18px;accent-color:var(--accent);flex:none;margin:3px 0 0}.error-summary{border-inline-start:3px solid var(--danger);background:var(--danger-bg);padding:var(--space-4) var(--space-5);font-size:var(--text-sm)}.error-summary a{color:var(--color-danger-7);text-decoration:underline}.toolbar{align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.toolbar .field{min-width:168px}.searchbox{flex:240px;min-width:200px;position:relative}.searchbox .od-icon{--od-icon-size:16px;color:var(--fg-2);pointer-events:none;position:absolute;inset-block-start:12px;inset-inline-start:var(--space-5)}.searchbox .input{padding-inline-start:var(--space-9)}.table-wrap{border:1px solid var(--border-soft);overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:var(--text-sm);letter-spacing:var(--tracking-sm)}table.data caption{text-align:start;padding:var(--space-4) var(--space-5);font-size:var(--text-xs);color:var(--fg-2);letter-spacing:var(--tracking-xs)}table.data th,table.data td{padding:var(--space-4) var(--space-5);text-align:start;vertical-align:middle;border-bottom:1px solid var(--border-soft)}table.data thead th{background:var(--layer-01);color:var(--fg-2);font-size:var(--text-xs);letter-spacing:var(--tracking-xs);font-weight:var(--w-semi);white-space:nowrap}table.data tbody tr:last-child td{border-bottom:0}table.data tbody tr:hover{background:var(--layer-01)}table.data td.numeric{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:end}table.data tbody tr.is-selected{background:var(--info-bg)}.person{align-items:center;gap:var(--space-4);min-width:0;display:flex}.monogram{inline-size:var(--spacing-10);block-size:var(--spacing-10);background:var(--layer-02);color:var(--fg);border-radius:var(--border-radius-small);font-size:var(--text-xs);font-weight:var(--w-semi);letter-spacing:0;flex:none;place-items:center;display:grid}.monogram-inverse{background:var(--bar-invert-bg);color:var(--bar-invert-fg)}.pager{justify-content:space-between;align-items:center;gap:var(--space-4);padding-block:var(--space-4);flex-wrap:wrap;display:flex}.pager-btns{align-items:center;gap:var(--space-2);display:flex}.stat-strip{border:1px solid var(--border-soft);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.stat-cell{padding:var(--space-6);border-inline-end:1px solid var(--border-soft)}.stat-cell:last-child{border-inline-end:0}.stat-value{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--w-light);line-height:1.1}.stat-value .unit{font-size:var(--text-base);font-weight:var(--w-regular);color:var(--fg-2);margin-inline-start:2px}.stat-label{color:var(--fg-2);font-size:var(--text-sm);letter-spacing:var(--tracking-sm);margin-block-start:var(--space-2)}.bar-row{align-items:center;gap:var(--space-5);padding-block:var(--space-3);grid-template-columns:minmax(120px,220px) minmax(0,1fr) 72px;display:grid}.bar-track{background:var(--layer-01);height:16px}.bar-fill{background:var(--accent);height:100%;display:block}.bar-fill-alt{background:var(--meta)}.bar-value{text-align:end;font-family:var(--font-mono);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.legend{gap:var(--space-5);flex-wrap:wrap;display:flex}.legend span{align-items:center;gap:var(--space-3);font-size:var(--text-xs);color:var(--fg-2);display:inline-flex}.legend i{block-size:12px;inline-size:12px;display:block}.timeline{position:relative}.timeline-item{grid-template-columns:var(--spacing-9) minmax(0, 1fr);gap:var(--space-4);padding-block:var(--space-4);display:grid}.timeline-item+.timeline-item{border-top:1px solid var(--border-soft)}.timeline-mark{inline-size:var(--spacing-9);block-size:var(--spacing-9);background:var(--layer-01);color:var(--fg-2);border-radius:var(--border-radius-medium);place-items:center;display:grid}.timeline-mark .od-icon{--od-icon-size:14px}.timeline-mark-accent{background:var(--info-bg);color:var(--accent)}.timeline-mark-green{background:var(--success-bg);color:var(--color-success-8)}.timeline-meta{gap:var(--space-3);flex-wrap:wrap;align-items:baseline;display:flex}.learn-grid{gap:var(--space-6);padding-block:var(--space-6);grid-template-columns:264px minmax(0,1fr) 336px;align-items:start;display:grid}.learn-col{top:calc(var(--masthead-h) + var(--space-6));position:sticky}.learn-col-right{max-height:calc(100vh - var(--masthead-h) - var(--subbar-h) - var(--space-8));overflow-y:auto}.note-foot>.btn{flex:none}.note-foot>.caption{min-inline-size:0}@media (width>=1440px){.learn-grid.is-panel-closed{grid-template-columns:264px minmax(0,1fr)}.learn-grid.is-panel-closed .learn-col-right{display:none}.learn-grid.is-panel-closed .lesson{inline-size:min(100%,92ch);margin-inline:auto}.learn-grid.is-panel-closed .lesson-doc{max-inline-size:none}}.learn-outline{border:1px solid var(--border-soft);max-height:calc(100vh - var(--masthead-h) - var(--space-9));overflow-y:auto}.outline-module{border-bottom:1px solid var(--border-soft)}.outline-module:last-child{border-bottom:0}.outline-module>summary{align-items:flex-start;gap:var(--space-4);padding:var(--space-4) var(--space-5);cursor:pointer;font-size:var(--text-sm);letter-spacing:var(--tracking-sm);list-style:none;display:flex}.outline-module>summary::-webkit-details-marker{display:none}.outline-module>summary:hover{background:var(--layer-01)}.outline-module>summary .od-icon{--od-icon-size:16px;color:var(--fg-2);margin-block-start:2px}.outline-module[open]>summary .chev{transform:rotate(90deg)}.outline-module .chev{transition:transform var(--motion-fast) var(--ease-enter)}.outline-lessons{border-top:1px solid var(--border-soft);background:var(--layer-01)}.lesson-item{align-items:flex-start;gap:var(--space-4);width:100%;padding:var(--space-3) var(--space-5) var(--space-3) var(--space-7);border:0;text-align:start;cursor:pointer;font-size:var(--text-sm);letter-spacing:var(--tracking-sm);color:var(--fg);background:0 0;border-inline-start:3px solid #0000;display:flex}.lesson-item:hover{background:var(--surface-hover)}.lesson-item[aria-current=true]{background:var(--bg);border-inline-start-color:var(--accent);font-weight:var(--w-semi)}.lesson-state{flex:none;place-items:center;block-size:16px;inline-size:16px;margin-block-start:3px;display:grid}.lesson-state .od-icon{--od-icon-size:16px}.lesson-done{color:var(--success)}.lesson-todo,.lesson-lock{color:var(--meta)}.lesson-stale{color:var(--warn)}.lesson-stale-text{color:var(--color-warning-8)}.lesson-dur{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--fg-2)}.player{background:var(--inverse-bg);color:var(--inverse-fg)}.player-stage{aspect-ratio:16/9;background:var(--inverse-bg);width:100%;position:relative;overflow:hidden}.player-stage svg.slide{width:100%;height:100%;display:block}.player-overlay{padding:var(--space-5) var(--space-6) var(--space-4);background:#161616db;position:absolute;inset-block-end:0;inset-inline:0}.player-controls{align-items:center;gap:var(--space-4);display:flex}.player-btn{border:1px solid var(--inverse-bg-3);block-size:40px;inline-size:40px;color:var(--inverse-fg);cursor:pointer;background:0 0;place-items:center;display:grid}.player-btn:hover{background:var(--inverse-bg-2)}.player-btn .od-icon{--od-icon-size:20px}.player-btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-on)}.player-btn-primary:hover{background:var(--accent-hover)}.scrub{flex:auto;min-width:0}.scrub input[type=range]{width:100%;accent-color:var(--accent)}.player-time{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--inverse-fg-2)}.player-cap{text-align:center;padding-inline:var(--space-7);position:absolute;inset-block-end:96px;inset-inline:0}.player-cap span{color:var(--color-white);padding:var(--space-2) var(--space-5);font-size:var(--text-sm);background:#000000c7;display:inline-block}.icard{border:1px solid var(--border-soft)}.icard-head{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--layer-01);border-bottom:1px solid var(--border-soft);display:flex}.icard-body{padding:var(--space-5)}.opt{align-items:flex-start;gap:var(--space-4);width:100%;padding:var(--space-4) var(--space-5);background:var(--layer-01);border:1px solid #0000;border-inline-start:3px solid var(--border);text-align:start;cursor:pointer;font-size:var(--text-sm);letter-spacing:var(--tracking-sm);color:var(--fg);transition:background-color var(--motion-fast) var(--ease-enter), border-color var(--motion-fast) var(--ease-enter);margin-block-start:var(--space-3);display:flex}.opt:hover{background:var(--surface-hover)}.opt[aria-pressed=true]{background:var(--info-bg);border-inline-start-color:var(--accent)}.opt-key{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--fg-2);flex:none;inline-size:16px}.opt[aria-pressed=true] .opt-key{color:var(--accent)}.opt-correct{background:var(--success-bg)!important;border-inline-start-color:var(--success)!important}.opt-wrong{background:var(--danger-bg)!important;border-inline-start-color:var(--danger)!important}.opt:disabled{cursor:default}.opt:disabled:hover{background:var(--layer-01)}.opt:disabled.opt-correct:hover{background:var(--success-bg)}.opt:disabled.opt-wrong:hover{background:var(--danger-bg)}.feedback{align-items:flex-start;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-inline-start:3px solid var(--meta);background:var(--layer-01);border-radius:var(--border-radius-medium);display:flex}.feedback .od-icon{--od-icon-size:16px;flex:none;margin-block-start:2px}.feedback-ok{border-inline-start-color:var(--success);background:var(--success-bg)}.feedback-ok .od-icon{color:var(--color-success-8)}.feedback-no{border-inline-start-color:var(--danger);background:var(--danger-bg)}.feedback-no .od-icon{color:var(--color-danger-7)}.feedback-info{border-inline-start-color:var(--accent);background:var(--info-bg)}.feedback-info .od-icon{color:var(--accent)}.feedback-warn{border-inline-start-color:var(--warn);background:var(--warn-bg)}.feedback-warn .od-icon{color:var(--color-warning-8)}.checkin-days{gap:var(--space-2);display:flex}.day-cell{background:var(--layer-01);block-size:32px;inline-size:24px;color:var(--fg-2);font-family:var(--font-mono);font-size:var(--text-xs);place-items:center;display:grid}.day-cell-on{background:var(--accent);color:var(--accent-on)}.day-cell-today{box-shadow:inset 0 0 0 2px var(--accent)}.map-track{padding-block:var(--space-6);position:relative}.map-svg{width:100%;height:auto;display:block}.milestone-grid{border:1px solid var(--border-soft);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.milestone{padding:var(--space-6);border-inline-end:1px solid var(--border-soft)}.milestone:last-child{border-inline-end:0}.milestone-done{background:var(--bg)}.milestone-active{background:var(--info-bg)}.milestone-todo{background:var(--layer-01)}.goal-row{gap:var(--space-5);padding-block:var(--space-4);grid-template-columns:minmax(140px,200px) minmax(0,1fr) minmax(80px,auto);align-items:center;display:grid}.goal-row+.goal-row{border-top:1px solid var(--border-soft)}dialog.sheet{border-radius:var(--border-radius-large);color:var(--fg);background:var(--color-bg-2);width:min(560px, calc(100vw - var(--space-7)));max-height:calc(100vh - var(--space-10));box-shadow:var(--elev-modal);border:0;padding:0;overflow:hidden}dialog.sheet::backdrop{background:var(--color-mask-bg)}dialog.sheet[open]{grid-template-rows:auto minmax(0,1fr) auto;display:grid}dialog.sheet-wide{width:min(880px, calc(100vw - var(--space-7)))}.sheet-head{justify-content:space-between;align-items:flex-start;gap:var(--space-5);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-soft);display:flex}.sheet-head .giencoder-modal-close-btn .od-icon{--od-icon-size:16px}.sheet-body{padding:var(--space-6);overflow-y:auto}.sheet-foot{justify-content:flex-end;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-6);border-top:1px solid var(--border-soft);background:var(--layer-01);display:flex}.scrim{z-index:70;background:#16161680;position:fixed;inset:0}.drawer{z-index:80;background:var(--bg);border-inline-start:1px solid var(--border-soft);width:min(400px,100vw);transition:transform var(--motion-base) var(--ease-enter);grid-template-rows:auto minmax(0,1fr);display:grid;position:fixed;inset-block:0;inset-inline-end:0;transform:translate(100%)}.drawer-open{transform:translate(0)}.drawer-left{border-inline-start:0;border-inline-end:1px solid var(--border-soft);inset-inline:0 auto;transform:translate(-100%)}.drawer-left.drawer-open{transform:translate(0)}.drawer-head{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-5);border-bottom:1px solid var(--border-soft);display:flex}.drawer-body{padding:var(--space-5);overflow-y:auto}.toasts{z-index:90;gap:var(--space-3);width:min(400px, calc(100vw - var(--space-7)));display:grid;position:fixed;inset-block-end:var(--space-6);inset-inline-end:var(--space-6)}.toast{align-items:flex-start;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--inverse-bg);color:var(--inverse-fg);box-shadow:var(--elev-popup);border-inline-start:3px solid var(--accent);border-radius:var(--border-radius-medium);animation:toast-in var(--motion-base) var(--ease-enter);display:flex}.toast-ok{border-inline-start-color:var(--success)}.toast-no{border-inline-start-color:var(--danger)}.toast .od-icon{--od-icon-size:16px;flex:none;margin-block-start:2px}.toast-close{color:var(--inverse-fg-2);cursor:pointer;background:0 0;border:0;padding:0}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.empty{text-align:center;padding:var(--space-10) var(--space-6);border:1px dashed var(--border);border-radius:var(--border-radius-medium);place-items:center;display:grid}.empty .od-icon{--od-icon-size:var(--spacing-10);color:var(--meta)}.skeleton{background:var(--layer-01);position:relative;overflow:hidden}.skeleton:after{content:"";animation:sk 1.2s var(--ease-enter) infinite;background:linear-gradient(90deg,#0000,#ffffffb3,#0000);position:absolute;inset:0}@keyframes sk{0%{transform:translate(-100%)}to{transform:translate(100%)}}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;block-size:16px;inline-size:16px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.hero{gap:var(--space-9);grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);align-items:center;display:grid}.hero-eyebrow{align-items:center;gap:var(--space-4);display:flex}.hero-eyebrow .rule-v{background:var(--accent);block-size:1px;inline-size:24px}.cockpit{box-shadow:var(--elev-raised)}.cockpit .giencoder-card-body{padding:var(--space-7)}.cockpit .eyebrow{color:var(--color-text-3)}.cockpit-band{background:var(--layer-01);border:1px solid var(--border-soft);border-radius:var(--border-radius-medium);grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.cockpit-stat{padding:var(--space-5);align-content:space-between}.cockpit-stat+.cockpit-stat{border-inline-start:1px solid var(--border-soft)}.cockpit-stat .caption,.cockpit-stat .od-icon{color:var(--color-text-3)}.cockpit-stat-value{font-size:var(--font-size-title-2);color:var(--color-text-1)}.cockpit-grid{gap:var(--space-7);grid-template-columns:auto minmax(0,1fr);align-items:center;display:grid}.ring-wrap{block-size:140px;inline-size:140px;position:relative}.ring-wrap svg{block-size:140px;inline-size:140px;display:block}.ring-center{text-align:center;place-content:center;display:grid;position:absolute;inset:0}.ring-num{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--w-light);line-height:1}.ring-cap{font-size:var(--text-xs);color:var(--color-text-3);letter-spacing:var(--tracking-xs);margin-block-start:var(--space-2)}.feature-grid{border:1px solid var(--border-soft);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.feature{padding:var(--space-6);border-inline-end:1px solid var(--border-soft)}.feature:last-child{border-inline-end:0}.feature-num{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--accent);letter-spacing:.16em}.value-band{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.value-item{padding:var(--space-6);background:var(--layer-01);border-inline-start:3px solid var(--accent)}.course-row{gap:var(--space-6);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-soft);grid-template-columns:96px minmax(0,1fr) auto;align-items:center;display:grid}.course-row:last-child{border-bottom:0}.course-row:hover{background:var(--layer-01)}.cover{background:var(--inverse-bg);display:block}.cover svg{width:100%;height:auto;display:block}.activity-row{gap:var(--space-4);padding-block:var(--space-4);grid-template-columns:24px minmax(0,1fr) auto;align-items:center;display:grid}.activity-row+.activity-row{border-top:1px solid var(--border-soft)}.live-dot{background:var(--success);border-radius:50%;block-size:8px;inline-size:8px;position:relative}.live-dot:after{content:"";border:1px solid var(--success);animation:pulse 2s var(--ease-enter) infinite;border-radius:50%;position:absolute;inset:-4px}@keyframes pulse{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(1.4)}}.cert-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.cert-card{border:1px solid var(--border-soft);background:var(--bg);grid-template-rows:auto 1fr;display:grid}.cert-plate{background:var(--inverse-bg);color:var(--inverse-fg);padding:var(--space-6)}.cert-serial{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--inverse-fg-2);letter-spacing:.08em}.cert-seal{background:var(--accent);block-size:44px;inline-size:44px;color:var(--accent-on);place-items:center;display:grid;position:relative}.cert-seal .od-icon{--od-icon-size:24px}.cert-card-shape{border:1px solid var(--border);background:var(--bg)}.cert-hero{background:var(--inverse-bg);color:var(--inverse-fg);padding:var(--space-8);text-align:center}.learn-left-toggle,.learn-right-toggle,.learn-right-toggle-wide{display:none}@media (width>=1440px){.learn-right-toggle-wide{display:inline-flex}}@media (width<=1439px){.learn-grid{grid-template-columns:264px minmax(0,1fr)}.learn-right-toggle{display:inline-flex}.learn-col-right{z-index:80;inline-size:min(400px,100vw);background:var(--bg);border-inline-start:1px solid var(--border-soft);max-height:none;padding:var(--space-5);transition:transform var(--motion-base) var(--ease-enter);position:fixed;inset-block-start:var(--masthead-h);inset-block-end:0;inset-inline-end:0;overflow-y:auto;transform:translate(100%)}.learn-col-right.is-open{transform:translate(0)}}@media (width<=1199px){:root{--gutter:24px}.hero{gap:var(--space-7);grid-template-columns:minmax(0,1fr)}.cockpit-grid{grid-template-columns:auto minmax(0,1fr)}}@media (width<=1079px){.shell{grid-template-columns:var(--rail-w-compact) minmax(0, 1fr)}.rail a{justify-content:center;padding-inline:0}.rail a .nav-text,.rail-label{display:none}.learn-grid{grid-template-columns:minmax(0,1fr)}.learn-left-toggle{display:inline-flex}.learn-col-left{z-index:80;inline-size:min(320px,88vw);background:var(--bg);border-inline-end:1px solid var(--border-soft);max-height:none;padding:var(--space-5);transition:transform var(--motion-base) var(--ease-enter);position:fixed;inset-block-start:var(--masthead-h);inset-block-end:0;inset-inline-start:0;overflow-y:auto;transform:translate(-100%)}.learn-col-left.is-open{transform:translate(0)}.brand-product,.brand-div{display:none}.surface-switch{margin-inline-start:var(--space-5)}}@media (width<=767px){:root{--gutter:16px}.shell{grid-template-columns:minmax(0,1fr)}.rail{display:none}.view{padding-block-end:64px}.bottomnav{z-index:60;background:var(--bar-bg);border-top:1px solid var(--bar-line);grid-template-columns:repeat(3,1fr);display:grid;position:fixed;inset-block-end:0;inset-inline:0}.bottomnav a{min-height:56px;padding:var(--space-2);color:var(--bar-fg-2);font-size:var(--text-xs);place-items:center;gap:2px;display:grid}.bottomnav a:hover{color:var(--bar-fg);text-decoration:none}.bottomnav a[aria-current=page]{color:var(--bar-fg);box-shadow:inset 0 2px 0 var(--bar-fg)}.bottomnav .od-icon{--od-icon-size:20px}.display-1{font-size:var(--text-4xl)}.h1{font-size:var(--text-3xl)}.hero-eyebrow{flex-wrap:wrap}.cockpit .giencoder-card-body{padding:var(--space-6)}.cockpit-grid{grid-template-columns:minmax(0,1fr);justify-items:start}.cockpit-band{grid-template-columns:minmax(0,1fr)}.cockpit-stat+.cockpit-stat{border-inline-start:0;border-block-start:1px solid var(--border-soft)}.course-row{gap:var(--space-4);grid-template-columns:minmax(0,1fr)}.cover{max-width:220px}.stat-cell{border-inline-end:0;border-block-end:1px solid var(--border-soft)}.stat-cell:last-child{border-block-end:0}.feature{border-inline-end:0;border-block-end:1px solid var(--border-soft)}.feature:last-child{border-block-end:0}.milestone{border-inline-end:0;border-block-end:1px solid var(--border-soft)}.goal-row{gap:var(--space-3);grid-template-columns:minmax(0,1fr)}.bar-row{grid-template-columns:minmax(0,1fr) 64px}.bar-row .bar-track{grid-column:1/-1}.toolbar .field,.searchbox{width:100%;min-width:0}.toasts{inset-inline:var(--space-5);width:auto;inset-block-end:72px}.section{padding-block:var(--space-7)}.cert-hero{padding:var(--space-6)}.brand-name{display:none}.surface-switch{margin-inline-start:var(--space-4)}.surface-btn{padding-inline:var(--space-3)}.surface-btn span:not(.od-icon){display:none}.surface-btn{justify-content:center;min-width:40px}.account-meta{display:none}.account-btn{padding-inline:var(--space-3)}.od-grid[data-cols-sm="1"]{grid-template-columns:minmax(0,1fr)}.od-grid[data-cols-sm="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.live-dot:after{display:none}}@media print{.masthead,.rail,.bottomnav,.toasts{display:none!important}}.subbar{top:var(--masthead-h);z-index:50;align-items:center;gap:var(--space-5);min-height:var(--subbar-h);padding:var(--space-3) var(--gutter);background:var(--bg);border-bottom:1px solid var(--border-soft);display:flex;position:sticky}.subbar-title{min-width:0}.subbar-actions{align-items:center;gap:var(--space-4);margin-inline-start:auto;display:flex}.learn-col{top:calc(var(--masthead-h) + var(--subbar-h) + var(--space-6))}.learn-outline{max-height:calc(100vh - var(--masthead-h) - var(--subbar-h) - var(--space-9))}.nav-sep{height:1px;margin:var(--space-4) var(--space-5);background:var(--border-soft);display:block}.rail-label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.16em;color:var(--fg-2)}.ta-r,table.data td.ta-r,table.data th.ta-r{text-align:end}table.data td.ta-r .od-stack{justify-items:end}.rail a.nav-item:hover{text-decoration:none}.rail a.nav-item:focus-visible,.outline-module>summary:focus-visible,.lesson-item:focus-visible,.opt:focus-visible,.identity-opt:focus-visible,.menu-item:focus-visible,.player-btn:focus-visible,.surface-btn:focus-visible,.icon-btn:focus-visible,.account-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.masthead .icon-btn:focus-visible,.masthead .account-btn:focus-visible,.masthead .surface-btn:focus-visible{outline-color:var(--color-white)}.lesson-item:disabled{color:var(--meta);cursor:not-allowed;background:var(--layer-01)}.lesson-item:disabled:hover{background:var(--layer-01)}.cover-graphic{width:100%;height:auto;display:block}.icon-btn .icon-badge{inline-size:auto;block-size:var(--spacing-7);min-inline-size:var(--spacing-7);padding-inline:var(--spacing-2);border-radius:var(--radius-pill);background:var(--danger);color:var(--color-white);font-family:var(--font-mono);place-items:center;font-size:10px;line-height:1;display:grid;inset-block-start:var(--spacing-1);inset-inline-end:var(--spacing-1)}.identity-opt.is-active{background:var(--info-bg);border-inline-start-color:var(--accent)}.monogram-lg{inline-size:var(--spacing-14);block-size:var(--spacing-14);font-size:var(--text-base)}.cert-card{grid-template-rows:auto}.cert-card:hover{border-color:var(--border)}.cert-plate-line{background:var(--accent);block-size:3px;inline-size:32px;display:block}.cert-plate-text{font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:var(--tracking-sm);margin-block-start:var(--space-4);display:block}.cert-hero{text-align:start}.cert-name{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:var(--w-light);letter-spacing:.01em;line-height:1.1;display:block}.course-list{background:var(--bg);border:1px solid var(--border-soft)}.course-list-head,.course-item{gap:var(--space-6);grid-template-columns:128px minmax(0,1fr) 236px 168px;align-items:center;display:grid}.course-list-head{padding:var(--space-3) var(--space-6);background:var(--layer-01);border-bottom:1px solid var(--border);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.16em;color:var(--fg-2)}.course-item{padding:var(--space-5) var(--space-6);border-top:1px solid var(--border-soft);transition:background var(--motion-fast) var(--ease-enter)}.course-item:first-child{border-top:0}.course-item:hover,.course-item:focus-within,.course-item.is-building{background:var(--layer-01)}.course-item.is-building:hover,.course-item.is-building:focus-within{background:var(--surface-hover)}.course-thumb{align-self:start}.course-main{min-inline-size:0}.course-meta{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.course-figures{font-family:var(--font-mono);letter-spacing:0}.course-progress{gap:var(--space-2);min-inline-size:0;display:grid}.course-action{justify-content:flex-end;display:flex}.course-action .btn{justify-content:space-between;gap:var(--space-4);inline-size:100%}@media (width<=1199px){.course-list-head{display:none}.course-list{background:0 0;border:0}.course-item,.course-item:first-child{gap:var(--space-4) var(--space-5);background:var(--bg);border:1px solid var(--border-soft);grid-template-columns:96px minmax(0,1fr) auto}.course-item+.course-item{margin-block-start:var(--space-4)}.course-item.is-building{background:var(--layer-01)}.course-thumb{grid-row:1/span 2}.course-progress{grid-column:2/span 2}.course-action{grid-area:1/3}.course-action .btn{inline-size:auto}}@media (width<=767px){.course-item,.course-item:first-child{grid-template-columns:minmax(0,1fr)}.course-thumb{display:none}.course-progress,.course-action{grid-area:auto/1}.course-action .btn{inline-size:100%}}@media (width<=1079px){.learn-col-right,.learn-col-left{inset-block-start:calc(var(--masthead-h) + var(--subbar-h))}}@media (width<=767px){.subbar{gap:var(--space-3);padding-inline:var(--gutter);flex-wrap:wrap}.subbar-title{order:3;inline-size:100%}.subbar-actions{margin-inline-start:0}.bottomnav{grid-template-columns:repeat(4,minmax(0,1fr))}.cert-name{font-size:var(--text-3xl)}}.lesson{background:var(--bg);border:1px solid var(--border-soft)}.lesson-head{padding:var(--space-6) var(--space-7);background:var(--layer-01);border-bottom:1px solid var(--border-soft)}.lesson-head .h2{font-size:var(--text-3xl);font-weight:var(--w-semi)}.lesson-head-meta{align-items:center;gap:var(--space-3) var(--space-5);flex-wrap:wrap;margin-block-start:var(--space-5);display:flex}.doc-tabs{gap:var(--space-6);padding-inline:var(--space-7);background:var(--bg);border-bottom:1px solid var(--border-soft);display:flex}.doc-tab{padding:var(--space-5) 0;cursor:pointer;font-family:var(--font-display);font-size:var(--text-sm);letter-spacing:var(--tracking-sm);color:var(--fg-2);transition:color var(--motion-fast) var(--ease-enter), border-color var(--motion-fast) var(--ease-enter);background:0 0;border:0;border-bottom:2px solid #0000}.doc-tab:hover{color:var(--fg);border-bottom-color:var(--border)}.doc-tab[aria-selected=true]{color:var(--fg);font-weight:var(--w-semi);border-bottom-color:var(--accent)}.doc-tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.doc-pane{background:var(--bg)}.doc-pane.is-video{padding:var(--space-6) var(--space-7) var(--space-8)}.doc-progress{z-index:10;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-7);background:var(--bg);border-bottom:1px solid var(--border-soft);flex-wrap:wrap;display:flex;position:sticky;inset-block-start:calc(var(--masthead-h) + var(--subbar-h))}.doc-progress-bar{background:var(--layer-02);block-size:2px;inline-size:200px;display:block}.doc-progress-bar>span{background:var(--accent);block-size:100%;transition:width var(--motion-fast) linear;display:block}.doc-progress-num{font-family:var(--font-mono);color:var(--fg)}.doc-progress-hint{color:var(--accent);font-weight:var(--w-semi)}.doc-toc{gap:var(--space-2) var(--space-6);padding:var(--space-5) var(--space-7) 0;flex-wrap:wrap;display:flex}.doc-toc-item{padding:0 0 var(--space-2);cursor:pointer;text-align:start;font-family:var(--font-display);font-size:var(--text-sm);letter-spacing:var(--tracking-sm);color:var(--fg-2);background:0 0;border:0;border-bottom:2px solid #0000}.doc-toc-item:hover{color:var(--fg);border-bottom-color:var(--border)}.doc-toc-item.is-active{color:var(--accent);border-bottom-color:var(--accent)}.doc-toc-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lesson-doc{max-inline-size:76ch;padding:var(--space-6) var(--space-7) var(--space-9);font-size:var(--text-base);color:var(--fg);line-height:1.75}.lesson-doc:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lesson-doc>*+*{margin-block-start:var(--space-5)}.lesson-doc p{margin:0}.lesson-doc a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.lesson-doc a:hover{text-decoration-thickness:2px}.lesson-doc strong{font-weight:var(--w-semi)}.md-h2,.md-h3,.md-h4{font-family:var(--font-display);line-height:var(--leading-heading)}.md-h2{font-size:var(--text-2xl);font-weight:var(--w-semi);margin-block-start:var(--space-8)}.md-h3{font-size:var(--text-lg);font-weight:var(--w-semi);margin-block-start:var(--space-7)}.md-h4{font-size:var(--text-base);font-weight:var(--w-semi);margin-block-start:var(--space-6)}.lesson-doc>.md-h2:first-child{margin-block-start:0}.lesson-doc .md-h2,.lesson-doc .md-h3,.lesson-doc .md-h4{scroll-margin-block-start:calc(var(--masthead-h) + var(--subbar-h) + var(--space-11))}#cert-card,#release-card{scroll-margin-block-start:calc(var(--masthead-h) + var(--space-6))}.md-list{padding-inline-start:var(--space-6)}.md-list>li+li{margin-block-start:var(--space-3)}.md-list>li::marker{color:var(--accent)}.md-sub{margin-block-start:var(--space-3);padding-inline-start:var(--space-6)}.md-sub>li::marker{color:var(--fg-2)}.lesson-doc code{font-family:var(--font-mono);background:var(--layer-01);padding:2px 4px;font-size:.9em}.md-code{background:var(--inverse-bg);border-inline-start:3px solid var(--accent);position:relative}.md-code pre{padding:var(--space-6);margin:0;overflow-x:auto}.md-code code{color:var(--inverse-fg);font-size:var(--text-sm);background:0 0;padding:0;line-height:1.7}.md-code-lang{padding:var(--space-1) var(--space-4);background:var(--inverse-bg-3);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-xs);color:var(--inverse-fg-2);position:absolute;inset-block-start:0;inset-inline-end:0}.md-note{gap:var(--space-3);padding:var(--space-5) var(--space-6);background:var(--layer-01);border-inline-start:3px solid var(--border);display:grid}.md-note.is-info{background:var(--info-bg);border-inline-start-color:var(--accent)}.md-note.is-warn{background:var(--warn-bg);border-inline-start-color:var(--warn)}.md-note.is-danger{background:var(--danger-bg);border-inline-start-color:var(--danger)}.md-note-tag{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-xs);color:var(--fg-2)}.md-note p{font-size:var(--text-sm);margin:0;line-height:1.7}.md-table-wrap{overflow-x:auto}.md-table{min-inline-size:480px}.md-table td{vertical-align:top}.md-table th.md-c,.md-table td.md-c{text-align:center}.md-hr{background:var(--border-soft);border:0;height:1px}.lesson-foot{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-7);background:var(--layer-01);border-top:1px solid var(--border-soft);flex-wrap:wrap;display:flex}@media (width<=1079px){.lesson-head,.doc-tabs,.doc-progress,.doc-toc,.lesson-foot,.doc-pane.is-video{padding-inline:var(--space-6)}.lesson-doc{padding:var(--space-6) var(--space-6) var(--space-9)}}@media (width<=767px){.lesson-head,.doc-tabs,.doc-progress,.doc-toc,.lesson-foot,.doc-pane.is-video{padding-inline:var(--space-5)}.lesson-head .h2{font-size:var(--text-2xl)}.doc-progress-bar{inline-size:96px}.doc-progress-hint{flex-basis:100%}.lesson-doc{padding-inline:var(--space-5);font-size:var(--text-sm)}.md-table{min-inline-size:0}.lesson-foot .btn{flex:auto;justify-content:center}}@media print{.doc-tabs,.doc-toc,.doc-progress,.lesson-foot,.learn-col,.subbar{display:none!important}.lesson{border:0}.lesson-head{border-bottom:1px solid var(--border);background:0 0;padding-inline:0}.lesson-doc{max-inline-size:none;padding:0}.md-code{background:var(--layer-01);border-inline-start-color:var(--fg)}.md-code code{color:var(--fg)}.md-code-lang{display:none}.md-code,.md-note,.md-table-wrap{break-inside:avoid}}.version-chip{color:var(--bar-fg);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-xs);white-space:nowrap}.rail-foot{gap:var(--space-3) var(--space-4);margin-block-start:auto;margin-inline:var(--space-5);border-block-start:1px solid var(--border-soft);grid-template-columns:auto minmax(0,1fr);align-items:center;padding-block-start:var(--space-5);display:grid}.sign-mark{block-size:28px;inline-size:28px}.rail-foot-name{font-size:var(--text-sm);font-weight:var(--w-semi);letter-spacing:var(--tracking-sm)}.rail-foot-id{font-size:var(--text-xs);color:var(--fg-2);letter-spacing:var(--tracking-xs)}.rail-foot-version{align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-xs);color:var(--fg-2);grid-column:1/-1;display:flex}.rail-foot-version .od-icon{--od-icon-size:14px}.rail-collapse{align-items:center;gap:var(--space-3);min-height:var(--spacing-10);padding:var(--space-2) var(--space-3);cursor:pointer;border-radius:var(--border-radius-medium);color:var(--fg-2);font-size:var(--text-sm);letter-spacing:var(--tracking-sm);text-align:start;background:0 0;border:0;grid-column:1/-1;display:flex}.rail-collapse:hover{background:var(--surface-hover);color:var(--fg)}.rail-collapse:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.rail-collapse .od-icon{--od-icon-size:16px}.dialog-sign{border-block-start:1px solid var(--border-soft);font-size:var(--text-xs);letter-spacing:var(--tracking-xs);color:var(--fg-2);margin-block-start:var(--space-5);padding-block-start:var(--space-5)}.dialog-sign strong{color:var(--fg);font-weight:var(--w-semi)}.dialog-sign .od-icon{--od-icon-size:14px}.card-sign{border-block-start:1px solid var(--border-soft)}@media (width<=1079px){.rail-foot{display:none}}@media (width<=767px){.version-chip{display:none}}.masthead .account-menu{border-radius:var(--border-radius-large);border-color:var(--border-soft);box-shadow:var(--elev-popup)}.masthead .account-menu .giencoder-btn{inline-size:100%}.gate-stack{max-inline-size:400px;margin-inline:auto}.login-gate .giencoder-btn{inline-size:100%}.boot-splash{padding:var(--space-11);justify-content:center}.studio-grid{gap:var(--space-6);grid-template-columns:280px minmax(0,1fr) 300px;align-items:start;display:grid}.studio-tree{max-height:60vh}.studio-module+.studio-module{border-block-start:1px solid var(--border-soft);margin-block-start:var(--space-3);padding-block-start:var(--space-3)}.studio-module-head{align-items:stretch;gap:var(--space-1);padding-inline:var(--space-4);color:var(--color-text-2);flex-direction:column;font-weight:500;display:flex}.studio-module-title{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.studio-module-title>.od-truncate{min-inline-size:0;color:var(--color-text-1)}.studio-module-head>.studio-line-tools{flex-wrap:wrap;justify-content:flex-end;align-self:stretch}.studio-line-tools,.studio-lesson-tags{align-items:center;gap:var(--space-1);flex:none;display:inline-flex}.studio-lesson-row{padding-block:var(--space-1);border-inline-start:2px solid #0000;flex-direction:column;align-items:stretch;display:flex}.studio-lesson-row:hover{background:var(--color-fill-1)}.studio-lesson-row.is-active{background:var(--color-fill-2);border-inline-start-color:var(--accent)}.studio-lesson{text-align:start;cursor:pointer;min-inline-size:0;padding:var(--space-2) var(--space-4) var(--space-1);color:var(--color-text-1);font:inherit;background:0 0;border:0;flex:none;display:block}.studio-lesson-row.is-active .studio-lesson{font-weight:500}.studio-lesson:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.studio-lesson-meta{justify-content:space-between;align-items:center;gap:var(--space-2);padding-inline:var(--space-4) var(--space-3);display:flex}.studio-form{gap:var(--space-4);grid-template-columns:minmax(0,1fr);display:grid}.studio-form-row{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.studio-quiz-option{gap:var(--space-2);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.studio-editor-body{gap:var(--space-4);padding:var(--space-4);align-items:stretch;display:flex}.studio-editor-body>*{flex:1 1 0;min-inline-size:0}.studio-editor-body .giencoder-textarea-wrapper{block-size:100%;display:block}.studio-input{block-size:100%;min-block-size:460px;font-size:var(--font-size-body-2);line-height:1.7}.studio-preview{border:1px solid var(--border-soft);border-radius:var(--border-radius-medium);padding:var(--space-4);max-block-size:70vh;overflow-y:auto}.studio-facts{gap:var(--space-4);grid-template-columns:minmax(0,1fr);margin:0;display:grid}.studio-facts dd{margin:0}.studio-warn{color:var(--color-warning-8);margin:0;padding-inline-start:var(--space-5)}@media (width<=1199px){.studio-grid{grid-template-columns:260px minmax(0,1fr)}.studio-grid>:last-child{grid-column:1/-1}}@media (width<=899px){.studio-grid{grid-template-columns:minmax(0,1fr)}.studio-editor-body{flex-direction:column}.studio-form-row{grid-template-columns:minmax(0,1fr)}}.login-gate{padding:var(--space-11) var(--space-5) var(--space-12)}.surface-btn.is-active,.surface-btn[aria-current=true]{background:var(--bar-invert-bg);border-color:var(--bar-invert-bg);color:var(--bar-invert-fg)}.masthead-right{position:relative}.account-menu{z-index:60;gap:var(--space-4);width:min(320px,100vw - 32px);padding:var(--space-5);background:var(--bg);border:1px solid var(--border);text-align:start;display:grid;position:absolute;inset-block-start:calc(100% + var(--space-2));inset-inline-end:0}.boot-splash{min-height:40vh}
