.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-sans-cyrillic-ext-400-normal-El6lRT8b.woff2) format("woff2"),url(/assets/nunito-sans-cyrillic-ext-400-normal-fk07B0hk.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-sans-cyrillic-400-normal-DUb-KqT8.woff2) format("woff2"),url(/assets/nunito-sans-cyrillic-400-normal-DDHmqnIJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-sans-vietnamese-400-normal-V2dSmW1H.woff2) format("woff2"),url(/assets/nunito-sans-vietnamese-400-normal-D5dwM7ZL.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-sans-latin-ext-400-normal-BoHsJHPR.woff2) format("woff2"),url(/assets/nunito-sans-latin-ext-400-normal-CHwj-NZB.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-sans-latin-400-normal-AkRraKH2.woff2) format("woff2"),url(/assets/nunito-sans-latin-400-normal-DY9yCUyQ.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-sans-cyrillic-ext-600-normal-CVjnjZn6.woff2) format("woff2"),url(/assets/nunito-sans-cyrillic-ext-600-normal-DZXkk6dX.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-sans-cyrillic-600-normal-D4TuIAT6.woff2) format("woff2"),url(/assets/nunito-sans-cyrillic-600-normal-CKMyzy87.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-sans-vietnamese-600-normal-DD7cNabE.woff2) format("woff2"),url(/assets/nunito-sans-vietnamese-600-normal-BW3IEr32.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-sans-latin-ext-600-normal-nHO2odcJ.woff2) format("woff2"),url(/assets/nunito-sans-latin-ext-600-normal-DEh-VjuY.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-sans-latin-600-normal-BtVRvDNj.woff2) format("woff2"),url(/assets/nunito-sans-latin-600-normal-DLks-Kj1.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-sans-cyrillic-ext-700-normal-GO46tfsI.woff2) format("woff2"),url(/assets/nunito-sans-cyrillic-ext-700-normal-Cqve7k0J.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-sans-cyrillic-700-normal-BJ2iHHyS.woff2) format("woff2"),url(/assets/nunito-sans-cyrillic-700-normal-DG2UZxR9.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-sans-vietnamese-700-normal-CZwaiz_e.woff2) format("woff2"),url(/assets/nunito-sans-vietnamese-700-normal-BwTSkH1V.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-sans-latin-ext-700-normal-DBq_Pukt.woff2) format("woff2"),url(/assets/nunito-sans-latin-ext-700-normal-jHN8vCOt.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-sans-latin-700-normal-CICRJDmU.woff2) format("woff2"),url(/assets/nunito-sans-latin-700-normal-CLVG92B9.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-sans-cyrillic-ext-800-normal-suUH8DVf.woff2) format("woff2"),url(/assets/nunito-sans-cyrillic-ext-800-normal-DlIrhRQ2.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-sans-cyrillic-800-normal-COys2OwR.woff2) format("woff2"),url(/assets/nunito-sans-cyrillic-800-normal-x7mxdBjZ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-sans-vietnamese-800-normal-CfdX2BhI.woff2) format("woff2"),url(/assets/nunito-sans-vietnamese-800-normal-hO2TqS3m.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-sans-latin-ext-800-normal-DWckPAf3.woff2) format("woff2"),url(/assets/nunito-sans-latin-ext-800-normal-DG0lbXwA.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-sans-latin-800-normal-MgCk9Q3Y.woff2) format("woff2"),url(/assets/nunito-sans-latin-800-normal-DOf_K5Iw.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQQAAAQuAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AdBEICoRkhAALIAABNgIkAzoEIAWFAAeBFAwHG2oHKJ6DceNW4lJEFHn9tEOE37LNsvkjHr7f739rn3u+OSrSxLQytE91Dw2PYtNVq3Qaw/vJ7fUBMdOj/u2ImB98cT5WUx9F13ZKt06mU7tG1sAYcM26yCRX4f/0904bmwq8hwkUUMTRX61pa9C3xlpAGYw1vOu8C2SBZZFlld7DAW82RJWmwYMI1AJCKBNCIASqdZGFmtPSNQRhMpR0EKjWTwm6z6sJ+4jqhxjovTinVdRpZaQjaQzAYjI8NgAKDJCokgunCn9oUQE8VZd/F//+v6P4F1U9gLr58yNI/dJX9BAshEoJbTDogz7ocKoUsPvES8UK/aQIUQgpGgECBVLkOEV6iASTYgNAPKdNXayhDPL7IJuAZnEYSZ0eOLc9i5Rv5/+lEi3sW/kfnCf/+fTe0sxS7CKLx5erRJkKOixEqQaoqrvx5HN4iz4VhX0gS6DjFIWUzn/fIXJRVFY1NFRVNVeFt+SYmrK6vCU6eJsnKnJj5HTESMTQZOTI3Y/tzr3rUcOsiRy/ciP50s3Mycgxmhz9GMXhjzVH30ut796NHP0UUa31/Zoa6vCH6iPvdIM0IRANaT60FablmZlZd+UKNFy9NrvnFGxb5NC2CRxR0/rIyF/WNn+35sv9r+tHVhkseuWGKkCPPh96+GXt8Lc/Sh24ujfjf+tNw1lZWreiPuHb/PSpyjdv2rf/++ZE5TSKjFdZxYsBvr1sEHl5STuHZqYR7jGYGvGBBdjcaB5bODY1GAxMjsd0wDMIzXAXODRd74DxNMtO4YuYHclgLQRzp9KlUmxptCwv9bYgvWGD2xBW7r9413fdJu+mxzvzAUYeeONQvZP4kgfqZle4jhH/MWh+UbxgtJdrLdXLymNL53PRU0D3Q6FcXTfGqGcul6vrqhgLGAVSv+IVIfZOHpu+mlLqSlnj903j8mazXDsba/wbxhS/4Oubh1c5/uXDgt4j5KtnGEy5BIJHo0ur+jD+r2qCkuP1aRVM8EpUoRYSJyqNRA38uwDvHBNo0AejO2Z+ZYLLal1QiFyFh1EDQOgSCSCpjwwKU8yDbIjroEwne0G5Qca49cYp4AlqtQNZfWTQoFb1tRpFYAmRD+HXTkV4uQhG2bg4OKmyoypAsUGtWgQXyFxYrkpODeUxvGqIZA61erXo0sFG1UBGuPgpuon8RNUG2DhovAjZCBuZwtXrU3mQGki9+pm0eVZAXoWxLWTQoYHBPrJR4WunNxIFbCHfkTyPK+sqxjxDmGArZvf79JGJ3GwEqjwc7a7NIrl/7bJ7Nzu4+n1Ow6shEPnUrtVo7cnd5Wi5qCUbBIQbNKCP95FMCSZylEV5VCiiMqqiOmrKZ/I/C0gI1fyuulVcM2E1r4MhtcV/fbCD+HwEvVzH1dGNAzFE0FTbKzyQz3gootrNbN2a4PuG0j0JOgE=) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2) format("woff2"),url(/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQAAAAQtAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVDYAdBEICoRkg3gLIAABNgIkAzoEIAWFIgeBFAwHG1wHKI7DuPEacDIiFJ/g+f47+1/7dIcdXTlD8DKqmcw4eIC+AOCPf6+qiWq3h6+aSCLNJDnkqX9Xl+rv/6dSBcwSBCzEoVqxNbp5SqPMYdKBQhBq1dK9ggSsgYUoGnHOqttMECvWjIJfPA8cjQAuAEAQLAiClASc7M6OkfbO/nHs6ACmCYBxZXKP4s9uXIHECh4AdEhX0yIHC6jzgAb65sshStMMChwEfWVjZe8Anset/6H93x8jOyL5fuS67z4Dlam+BPyH/pV2FLCZAOnU0XPzCQGiJ7AkXgSFhqDEB4AAoAAN2ExDgM10joCNfDQUbvxaXM8LovT79D9MEyYU9+q/myT9p/m8uWi2mLJBPbzcih2wYIPzBDFNvABt315OXwy8BaRnbo5hXsOS5taknX4FguiaZnd4vQ7HxnBnm3SPYXHrQbclvOgyDhsHnZPO8f3G5I2fbr34Y7+hzRozVzyw5bKHdu03plXgvE9FO/Uz4/xPUKd8/PHk+R+JODnlg1lDTv3Qed77zDNqRszaqHUQT248kUPGzBXXXHGFnHrVVdft2m8c4PhpjB+/QEqMU54xruc6m3w8++XNXx4sya9rMvNq88m6X1zeOMlRuQ+/nvNw4+ZrCt58yDdSVOQdfoi/jc/ePfZY+1taYaH21FH2Y4fGG+RVNJkIN4SSiWj3ZKGG1oojoYr2SNWFVbHvY1XX1PR+H6y+oKrqgmryqj1UXnmk5cKWysPM3R4Uh5svYo6saAtU3V297+d91U/X/frzLvUdqiqfruKvhx5+OeOYxbHI7SenQum+PTw/fvRLGQ/jiufOn3/S+vlsfGn9h4Zb96fekZ7xRups68FhVCYCWHHvZVIPxjanr3NABSALqkR7FMBOulF9ScHvV3np+6pK/eEzRx877K3/z65pvwN89eGtV3Ly5ft/25ngaiSYDVYUAAKvIKimMdLO6YBQEY+aZpbXZ5WinTBQXwAA4LMAXuNUBPCSTmMfjd6jpNLNjbToDuBpaR9AoTBbUeERO2o0erNeR6KFne5HK/nOQA+VBtFnt1LtBj6pJQIutnLwipz/Ix9OYNSqZQEreiQELIkKmRIRNWdewpiIZVGtVi0J6xWR0ComIGpFnN+AVStWzUtIWBNXq0iRuJCYqDUJcYXiopYUWhUzp8iQTv20dtO84Agw6YrhuOijfqUKlSpRAruvTq9WdeQw2vs5SUsCYhdt7icIt1nNkseKPZzgV6q4FfYbH4ZIBcThYTEgLIgIkYRbJLl7/rks+ObZDxydE8W9LymoUMiqZUVbtVv0GNkcispQM0IpEG7sBdK9IYr6aKKLRaxiQxO7OMQphrUlGIscFbElV6LF5S0dQN5RbRoUdRbWWOYCy8sB83RxS7FqG/UEQslE5Nsd5v93uF3T0bLiypD/uJhn3q9fCAA=) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-cyrillic-600-normal-EVf6-Yzo.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-600-normal-8K4wrrwR.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-greek-600-normal-H7WoG9Et.woff2) format("woff2"),url(/assets/jetbrains-mono-greek-600-normal-mc2nkWzM.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(data:font/woff2;base64,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) format("woff2"),url(/assets/jetbrains-mono-vietnamese-600-normal-OWROknRo.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-latin-ext-600-normal-BfB_LPfz.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-ext-600-normal-DObL3zCW.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-latin-600-normal-C8RAYTDA.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-600-normal-BfsvjouI.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(data:font/woff2;base64,d09GMgABAAAAAASAABAAAAAACNgAAAQlAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVEwAdBEICoRkg3gLIAABNgIkAzoEIAWEaAeBFAwHGzgHSJ4DbjN9OmtkIy0becnT/RjJ4uGfw99974/GXrhoTCqLok66NY3jTloEUdrmwCevn/Ls30xSpFlZ6UJMrW+fTNwAEdSuvSzCRANvEgnjUmw8swT+87+w7I/7qb8XlIB7NpGBjXiUjRX0b7ZpJ8+orRLzvGhWYCMdAU3BbRdPuqOeKAXuRKAWEEJJCIEQqNbLD9osq2kBviL8A4Fq4yLgAa+6DNaiAwcYOrqYHfgQcMgL3AFgG4fHHqREEUBSxUtmBfzNWxXADfviy8Kff7dA4QfFBQG6fnoX5Dh+gEEcIVRKtMIYhc/kCgsCDiarQY4QWpEKQoYTAAIJUcaHAHIXIN9BooBWhEAr0j7QzAkh1RnEWOY4wuRW8uX/f5o5W8gXcjriOUb9z/wjACRuWaWrpKIyLMQ/DUDN/TT+ErgHRpPBIRQrKCcZCvxBBCBEkSD4lKMjRblQlCvpQHPsSZE9R6K2o/vpXkGboKWbbltxx2feLT+a6KJb5293n7vTt53uwOzUO4gYc5eedhvS+a1bbdNuIiSA89cuGo25IZh6DXrJJIIUUibFUG0zt+ijO+cvnj8fjVm4cKlvN90DwzrdMmy8H9GjDyv90Xz2W10PVj3oTY7LLfwfmxMHoef+8n33R0duOxF3LPCYFXtymWNdcLBD3VF4S91+GWf8c9k7sZC6fPpnbENnCmayerBNki0ZbFUXiHV/wkxWklGmydCkaR5o0oZnlj3oSVdnZKjTITaXStOyWGYakzUgTSt1gvSs/otJL1FkzE/3e+aXvj7n+TOv9HkZ6evS4e3OXafCx8iqJfNGpQLM7rkt0ppRJ8N3gd1IjHLaROM0cLkhdf2NQjZ4bmjo2mBWKJ4CPA4IZXX9hFlPBnhxWhXzgBGQ88QeRD3j1/AD5a/JxMnL5gK5deaC2H7HvK98gngBbzfWLKD0g2ufeA7nMsQepBwDgpdhy90BzC+8DSCers8O6KKloYn0RCtKo9EM9LsAd7AgNBhFGEAsvl4K1LpCiCIF3IZHFUKvX5AqfUPBgkO+ovHpUNJtOJSN6hDWWxAigkCt9hbEXdaOHLvI6lM5gQA79LRYOpUsWBpKYu2klOQULGlGCwOzHIkSmYmZKBlQrlmCQ0mDv5SeiVyiemVqVJGyEDJhKemY1dLT0YsnpKch0UbKxExJTydIigQpkiUvYA3SVFDqFH2uNggh343VmPs2ycX0DIYwPYTigMak5AjS0ohI8zmoo4EJwypS4iVcDOuDuvRMgytHPa5LTjnoc1YiCcT0tBI3qjXxqqFomJf2PylAOHMDRp1HGBaDQCTiIC7iQSH4iEICRHMZkUlqk/KsOmVSGlOK7NIseRNZFp3NkbNaLateTmKScHGTAyu2WqQf6lD8rMNg1+lKTcpwkfvQ/7eRMwAA) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-cyrillic-700-normal-BWTpRfYl.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-700-normal-CEoEElIJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-greek-700-normal-C6CZE3T8.woff2) format("woff2"),url(/assets/jetbrains-mono-greek-700-normal-DEigVDxa.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(data:font/woff2;base64,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) format("woff2"),url(/assets/jetbrains-mono-vietnamese-700-normal-BDLVIk2r.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-ext-700-normal-CZipNAKV.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-ext-700-normal-CxPITLHs.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-700-normal-BYuf6tUa.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-700-normal-D3wTyLJW.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root,:root[data-theme=dark]{--bg:#0f1420;--panel:#141b29;--card:#171e2e;--card2:#1c2436;--text:#e7ecf5;--muted:#8b96ab;--accent:#7c5cff;--accent2:#9d7bff;--line:#28324c;--ok:#22c55e;--bad:#ef4444;--warn:#f59e0b;--code-bg:#0b0f1a;--hood:#f59e0b;--hood-bg:rgba(245,158,11,.07);--chip:rgba(124,92,255,.12)}:root[data-theme=light]{--bg:#f5f7fb;--panel:#ffffff;--card:#ffffff;--card2:#eef2f8;--text:#1a2233;--muted:#5c6880;--accent:#6742e8;--accent2:#7d55f5;--line:#e2e7f1;--ok:#15a349;--bad:#dc2626;--warn:#b45309;--code-bg:#f2f4fa;--hood:#b45309;--hood-bg:rgba(180,83,9,.06);--chip:rgba(103,66,232,.1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:calc(15px + var(--fs,1px))/1.72 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;transition:background .2s,color .2s}body[data-serif="1"] .bk article{font-family:Georgia,Times New Roman,"PT Serif",serif}a{color:var(--accent2);text-decoration:none}a:hover{text-decoration:underline}.appbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:8px;background:var(--panel);border-bottom:1px solid var(--line);padding:9px 16px}.appbar .logo{font-weight:800;font-size:15px;margin-right:6px;white-space:nowrap}.appbar .logo small{color:var(--muted);font-weight:500;font-size:11px;margin-left:6px}.tabs{display:flex;gap:4px}.tab{background:none;border:1px solid transparent;color:var(--muted);border-radius:9px;padding:7px 14px;font-size:14px;cursor:pointer;font-weight:600}.tab:hover{color:var(--text)}.tab.active{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff}.appbar .sp{flex:1}.iconbtn{background:var(--card);border:1px solid var(--line);color:var(--muted);border-radius:9px;padding:7px 11px;font-size:14px;cursor:pointer;line-height:1}.iconbtn:hover{color:var(--text);border-color:var(--accent)}.iconbtn.sm{padding:6px 9px;font-size:13px}.dl-wrap{position:relative}.dl-menu{position:absolute;right:0;top:calc(100% + 6px);background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 40px #00000059;padding:6px;min-width:230px;z-index:60}.dl-menu button{display:flex;width:100%;gap:10px;align-items:flex-start;background:none;border:none;color:var(--text);padding:9px 12px;border-radius:8px;cursor:pointer;text-align:left;font-size:13.5px}.dl-menu button:hover{background:var(--card)}.dl-menu .d{color:var(--muted);font-size:11.5px;display:block;margin-top:1px}.dl-menu b{font-size:13.5px}.busy{opacity:.6;pointer-events:none}.iconbtn:disabled{opacity:.45;cursor:default}.lang-switch{display:flex;gap:3px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:3px}.lang-btn{background:none;border:none;color:var(--muted);border-radius:7px;padding:6px 12px;font-size:13px;font-weight:700;cursor:pointer;line-height:1;letter-spacing:.01em}.lang-btn:hover{color:var(--text)}.lang-btn.active{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:60vh;color:var(--muted)}.loading .spinner{width:40px;height:40px;border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.bk article{font-size:16.5px}.bk article h1{font-size:29px;line-height:1.25;margin:4px 0 6px;letter-spacing:-.01em}.bk article .lead,.bk .chbody>p:first-child{font-size:17.5px;color:var(--muted);line-height:1.65}.bk article h1{margin-bottom:8px}.bk article h2{font-size:23px;margin:40px 0 12px;padding-top:16px;border-top:1px solid var(--line);scroll-margin-top:80px}.bk article h3{font-size:18.5px;margin:26px 0 9px;scroll-margin-top:80px}.bk .secno{font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:.01em;margin-right:.5em}.bk article h2 .secno{color:var(--accent2)}.bk article h3 .secno{color:var(--muted);font-weight:700;font-size:.92em}.bk article h3.under-hood .secno{color:var(--hood)}.bk article h3.under-hood{color:var(--hood);display:inline-block;padding:3px 12px 3px 30px;background:var(--hood-bg);border:1px solid var(--line);border-radius:8px;position:relative}.bk article h3.under-hood:before{content:"⚙";position:absolute;left:9px;top:50%;transform:translateY(-50%)}.bk article h4{font-size:15.5px;margin:20px 0 7px;color:var(--muted)}.bk article p{margin:13px 0}.bk article ul,.bk article ol{margin:13px 0;padding-left:26px}.bk article li{margin:6px 0}.bk article strong{color:var(--text);font-weight:650}.bk article blockquote{margin:18px 0;padding:12px 18px;background:var(--card);border-left:3px solid var(--accent);border-radius:8px;color:var(--muted);font-style:italic}.bk article code{background:var(--code-bg);border:1px solid var(--line);border-radius:5px;padding:1px 6px;font-size:.86em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.bk article .hl{background:var(--code-bg);border:1px solid var(--line);border-radius:11px;margin:16px 0;overflow:hidden}.bk article .hl pre{margin:0;padding:15px 18px;overflow-x:auto;font-size:13.5px;line-height:1.55;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.bk article .hl code{background:none;border:none;padding:0;font-size:inherit}.bk article table{border-collapse:collapse;width:100%;margin:18px 0;font-size:14.5px;display:block;overflow-x:auto}.bk article th,.bk article td{border:1px solid var(--line);padding:9px 12px;text-align:left;vertical-align:top}.bk article th{background:var(--card2);font-weight:700}.bk article tr:nth-child(2n) td{background:color-mix(in srgb,var(--card2) 45%,transparent)}.bk article hr{border:none;border-top:1px solid var(--line);margin:30px 0}.bk article .headerlink{opacity:0;margin-left:8px;font-size:.7em;text-decoration:none;color:var(--muted)}.bk article h2:hover .headerlink,.bk article h3:hover .headerlink{opacity:1}.bk article .xref{color:inherit;border-bottom:1px dashed var(--accent);text-decoration:none;cursor:pointer}.bk article .xref:hover{color:var(--accent2);border-bottom-style:solid}.bk article .xref:after{content:"↗";font-size:.66em;vertical-align:super;color:var(--accent2);margin-left:1px;opacity:.85}@media print{.appbar,.bk-sidebar,.bk-topbar,.bk-chapnav,.bk-progress,.bk-totop,.ch-meta,.print-hide{display:none!important}.bk-reader{max-width:none!important;padding:0!important}.bk article .hl,.bk article table{break-inside:avoid}.print-all article{page-break-after:always}}.pz{--bg:#0d1130;--panel:rgba(18,22,74,.55);--card:#12164a;--card2:#1a2058;--text:#c2ceed;--head:#eceefb;--muted:#8b99c8;--line:rgba(255,255,255,.08);--line-acc:rgba(117,106,246,.3);--accent:#756af6;--accent2:#9da1f7;--ok:#4ed49d;--warn:#f6a54a;--bad:#f66a7a;--code-bg:#0a0d28;--chip:rgba(117,106,246,.12);--grad:linear-gradient(135deg,#de8569 0%,#c85edf 100%);--font-sans:"Nunito Sans","Avenir Next",Avenir,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--dg-bg:#0e1027;--dg-node:#12164a;--dg-dot:rgba(96,106,200,.28);background:var(--bg);color:var(--text);min-height:calc(100vh - 52px);font-family:var(--font-sans);font-size:14px}[data-theme=light] .pz{--bg:#f2f4fc;--panel:rgba(255,255,255,.75);--card:#ffffff;--card2:#e9ecf9;--text:#333f63;--head:#151c3d;--muted:#66719c;--line:rgba(20,25,80,.1);--line-acc:rgba(103,66,232,.28);--accent:#6742e8;--accent2:#7d55f5;--ok:#13a06d;--warn:#c77b18;--bad:#dc4d5e;--code-bg:#e9ecf9;--chip:rgba(103,66,232,.1);--dg-bg:#e7eaf7;--dg-node:#ffffff;--dg-dot:rgba(60,70,110,.18)}.pz h1,.pz h2,.pz h3,.pz h4{color:var(--head)}.pz button{font-family:var(--font-sans)}.pz ::-webkit-scrollbar{width:10px;height:10px}.pz ::-webkit-scrollbar-thumb{background:#756af640;border-radius:8px;border:2px solid transparent;background-clip:content-box}.pz ::-webkit-scrollbar-thumb:hover{background:#756af673;background-clip:content-box}.pz ::-webkit-scrollbar-track{background:transparent}.pz-layout{display:flex;height:calc(100vh - 52px);gap:8px}.pz-catalog{width:320px;flex:none;background:var(--panel);overflow-y:auto;padding:14px;display:flex;flex-direction:column}.pz-layout.focus .pz-catalog{display:none}.pz-catalog-head{font-weight:800;font-size:15px;padding:6px 8px 10px}.pz-warn{background:#f6a54a14;border:1px solid rgba(246,165,74,.3);border-radius:10px;padding:9px 11px;font-size:12px;color:var(--muted);margin-bottom:10px;line-height:1.5}.pz-warn code{background:var(--code-bg);padding:1px 5px;border-radius:4px;font-family:var(--font-mono)}.pz-cat-group{margin-top:6px}.pz-cat-title{font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);font-weight:700;margin:10px 6px 6px}.pz-cat-loading,.pz-cat-empty{font-size:12.5px;color:var(--muted);padding:6px 8px}.pz-cat-item{display:flex;align-items:center;gap:9px;width:100%;background:none;border:none;border-left:2px solid transparent;color:var(--text);padding:7px 10px;border-radius:8px;cursor:pointer;text-align:left;font-size:13px}.pz-cat-item:hover{background:#756af614}.pz-cat-item.active{background:#756af624;border-left-color:var(--accent);color:var(--head);font-weight:600}.pz-cat-icon{font-family:var(--font-mono);font-size:12px;opacity:.8;width:22px;flex:none}.pz-cat-name{flex:1;line-height:1.3}.pz-cat-lvl{font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;border-radius:999px;padding:2px 7px;flex:none}.pz-cat-lvl.beginner{color:var(--ok);background:#4ed49d14;border:1px solid rgba(78,212,157,.35)}.pz-cat-lvl.middle{color:#6aa8f6;background:#6aa8f614;border:1px solid rgba(106,168,246,.35)}.pz-cat-lvl.senior{color:var(--warn);background:#f6a54a14;border:1px solid rgba(246,165,74,.35)}.pz-cat-lvl.expert{color:#e07af6;background:#e07af61a;border:1px solid rgba(224,122,246,.35)}.pz-cat-item.active .pz-cat-lvl{opacity:.95}.pz-main{flex:1;min-width:0;overflow:hidden;display:flex;flex-direction:column}.pz-exbody{flex:1;min-height:0;display:flex;flex-direction:column}.pz-exbody>*{flex:1;min-height:0}.pz-empty{padding:40px;color:var(--muted)}.pz-exbar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--panel);margin-bottom:8px}.pz-exbar-btn{width:36px;height:36px;flex:none;display:flex;align-items:center;justify-content:center;background:#1f234299;border:1px solid var(--line-acc);border-radius:8px;color:var(--text);font-size:15px;cursor:pointer;line-height:1}.pz-exbar-btn:hover{color:#fff;border-color:var(--accent)}.pz-exbar-btn:disabled{opacity:.4;cursor:default}[data-theme=light] .pz-exbar-btn{background:#ffffffb3}.pz-exbar-title{min-width:0;margin-left:4px}.pz-exbar-title b{display:block;font-size:14.5px;font-weight:800;color:var(--head);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pz-exbar-title small{display:block;font-family:var(--font-mono);font-size:9.5px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);margin-top:1px}.pz-exbar .pz-sp{flex:1}.pz-exbar-progress{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:11px;color:var(--muted);border:1px solid var(--line-acc);border-radius:999px;padding:6px 14px;white-space:nowrap}.pz-exbar-progress i{display:block;width:90px;height:4px;background:var(--card2);border-radius:9px;overflow:hidden}.pz-exbar-progress i b{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:9px}.pz-exbar-xp{font-family:var(--font-mono);font-size:11px;font-weight:700;color:var(--head);white-space:nowrap}.pz-exbar-streak{font-family:var(--font-mono);font-size:11px;color:var(--warn);white-space:nowrap}.pz-code,.pz-diagram{display:flex;height:100%;gap:8px;min-height:0}.pz-instructions{width:35%;max-width:560px;min-width:320px;flex:none;overflow-y:auto;padding:20px 24px;background:var(--panel)}.pz-instr-head{display:flex;gap:10px;align-items:center;margin-bottom:8px}.pz-badge{font-family:var(--font-mono);border-radius:999px;padding:3px 10px;font-size:10px;letter-spacing:.5px;text-transform:uppercase;font-weight:700;color:var(--accent2);background:var(--chip);border:1px solid var(--line-acc)}.pz-badge.beginner{color:var(--ok);background:#4ed49d14;border-color:#4ed49d73}.pz-badge.middle{color:#6aa8f6;background:#6aa8f614;border-color:#6aa8f673}.pz-badge.senior{color:var(--warn);background:#f6a54a14;border-color:#f6a54a73}.pz-badge.expert{color:#e07af6;background:#e07af61a;border-color:#e07af673}.pz-topic{font-family:var(--font-mono);font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.pz-instructions h1{font-size:21px;font-weight:800;margin:8px 0 14px;letter-spacing:-.01em}.pz-md{font-size:14px;line-height:1.7}.pz-md p{margin:11px 0}.pz-md h2{font-size:16.5px;font-weight:800;margin:20px 0 8px}.pz-md h3{font-size:15px;font-weight:800;margin:16px 0 6px}.pz-md ul{margin:11px 0;padding-left:22px}.pz-md li{margin:5px 0}.pz-md li::marker{color:var(--accent2)}.pz-md code{background:var(--code-bg);border:1px solid var(--line);border-radius:5px;padding:1px 6px;font-size:.85em;font-family:var(--font-mono)}.pz-md .pz-code-block{background:var(--code-bg);border:1px solid var(--line);border-radius:10px;padding:12px 14px;overflow-x:auto;margin:12px 0;font-size:12.5px;font-family:var(--font-mono)}.pz-md .pz-code-block code{background:none;border:none;padding:0}.pz-instr-sections{display:flex;flex-direction:column;gap:4px}.pz-instr-block{margin:6px 0}.pz-instr-h{font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);font-weight:700;margin:16px 0 8px}.pz-sig{background:var(--code-bg);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:9px;padding:11px 14px;font-size:13px;overflow-x:auto;font-family:var(--font-mono)}.pz-expected{display:flex;flex-direction:column;gap:6px}.pz-expected-row{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:9px;padding:8px 12px;font-family:var(--font-mono);font-size:12.5px}.pz-expected-call{color:var(--text);background:none;border:none;padding:0}.pz-expected-arrow{color:var(--muted)}.pz-expected-res{color:var(--ok);background:none;border:none;padding:0;font-weight:700}.pz-compare{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pz-compare-col{background:var(--code-bg);border:1px solid var(--line);border-radius:10px;overflow:hidden}.pz-compare-head{font-size:12px;font-weight:700;padding:7px 12px;background:var(--card);border-bottom:1px solid var(--line)}.pz-compare-code{padding:10px 12px;font-size:12px;overflow-x:auto;font-family:var(--font-mono)}.pz-hints-toggle{display:flex;align-items:center;gap:8px;width:100%;background:var(--card);border:1px solid var(--line);color:var(--text);border-radius:10px;padding:10px 14px;font-size:13.5px;font-weight:600;cursor:pointer;margin-top:8px}.pz-hints-toggle:hover{border-color:var(--accent)}.pz-hints-count{background:var(--chip);border:1px solid var(--line);border-radius:20px;padding:0 8px;font-size:11px;color:var(--accent2)}.pz-hints-caret{margin-left:auto;color:var(--muted)}.pz-hints-list{margin-top:8px;display:flex;flex-direction:column;gap:8px}.pz-hint-item{background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:9px 12px;font-size:13.5px}.pz-hint-item b{color:var(--accent2);margin-right:6px}.pz-hint-reveal{background:none;border:1px dashed var(--line);color:var(--muted);border-radius:9px;padding:8px;font-size:12.5px;cursor:pointer}.pz-hint-reveal:hover{color:var(--text);border-color:var(--accent)}.pz-workspace{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--panel)}.pz-toolbar{display:flex;align-items:center;gap:8px;padding:8px 14px;min-height:48px;border-bottom:1px solid var(--line)}.pz-file{font-size:14.5px;font-weight:700;color:var(--head)}.pz-save{font-family:var(--font-mono);font-size:10.5px;color:var(--ok)}.pz-sp{flex:1}.pz-btn{border:1px solid var(--line-acc);background:#1f234299;color:var(--text);border-radius:8px;padding:7px 14px;font-size:13px;font-weight:700;cursor:pointer;transition:border-color .12s,background .12s}.pz-btn:hover{border-color:var(--accent);color:var(--head)}.pz-btn:disabled{opacity:.5;cursor:default}.pz-btn.run{background:#1f234299;border:1px solid var(--line-acc);color:var(--head)}.pz-btn.run:hover{border-color:var(--ok);color:var(--ok)}.pz-btn.submit{background:var(--accent);border:1px solid transparent;color:#fff;box-shadow:0 2px 12px #756af659}.pz-btn.submit:hover{background:#8479f8}.pz-btn.cta{background:var(--grad);border:none;color:#fff;border-radius:10px;font-weight:700}.pz-btn.ghost{background:none;border-color:transparent;color:var(--muted)}.pz-btn.ghost:hover{color:var(--head);border-color:var(--line-acc)}[data-theme=light] .pz-btn{background:#ffffffb3}[data-theme=light] .pz-btn.submit{background:var(--accent);color:#fff}.pz-editor{flex:1;min-height:180px}.pz-panel{height:38%;min-height:200px;border-top:1px solid var(--line);display:flex;flex-direction:column}.pz-panel-tabs{display:flex;gap:4px;padding:8px 10px}.pz-ptab{background:none;border:1px solid transparent;color:var(--muted);padding:5px 13px;font-size:12.5px;font-weight:700;cursor:pointer;border-radius:8px}.pz-ptab:hover{color:var(--text)}.pz-ptab.active{color:var(--head);background:#756af624;border-color:var(--line-acc)}.pz-panel-body{flex:1;overflow-y:auto;padding:10px 14px 14px}.pz-console{font-family:var(--font-mono);font-size:12.5px;white-space:pre-wrap;margin:0;color:var(--text);line-height:1.6}.pz-console.err{color:var(--bad)}.pz-hint-empty{color:var(--muted);font-size:13px}.pz-tests-summary{font-size:13.5px;font-weight:800;margin-bottom:10px;padding:9px 14px;border-radius:10px}.pz-tests-summary.ok{background:#4ed49d1a;border:1px solid rgba(78,212,157,.35);color:var(--ok)}.pz-tests-summary.bad{background:#f66a7a14;border:1px solid rgba(246,106,122,.3);color:var(--bad)}.pz-tests-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.pz-tests-list li{display:flex;align-items:baseline;gap:9px;padding:8px 12px;border-radius:10px;font-size:13px;background:var(--card);border:1px solid var(--line)}.pz-tests-list li.ok{border-color:#4ed49d47}.pz-tests-list li.bad{border-color:#f66a7a4d}.pz-tests-list li.ok .pz-tick{color:var(--ok)}.pz-tests-list li.bad .pz-tick{color:var(--bad)}.pz-tick{font-weight:800;width:14px;flex:none}.pz-tname{flex:none;font-family:var(--font-mono);font-size:12px}.pz-tdiff{color:var(--muted);font-size:12px}.pz-tdiff code{background:var(--code-bg);border:1px solid var(--line);border-radius:4px;padding:0 5px;font-family:var(--font-mono)}.pz-ai{display:flex;flex-direction:column;height:100%}.pz-ai-log{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.pz-msg{font-size:13.5px;line-height:1.6}.pz-msg b{display:block;font-size:11px;color:var(--muted);text-transform:uppercase;margin-bottom:2px}.pz-msg.user .pz-msg-text{background:var(--chip);border:1px solid var(--line);border-radius:9px;padding:8px 11px}.pz-msg.ai .pz-msg-text{background:var(--card);border:1px solid var(--line);border-radius:9px;padding:8px 11px;white-space:pre-wrap}.pz-ai-input{display:flex;gap:8px;padding-top:10px}.pz-ai-input input{flex:1;background:var(--card);border:1px solid var(--line);color:var(--text);border-radius:8px;padding:8px 12px;font-size:13px}.pz-ai-input input:focus{outline:none;border-color:var(--accent)}.pz-canvas-wrap{flex:1;min-height:0;display:flex}.pz-canvas{flex:1;min-height:0;position:relative}.pz-canvas .react-flow{background:var(--dg-bg,#0a0e1f)}:root,:root[data-theme=dark]{--dg-bg:#0a0e1f;--dg-node:#141a30;--dg-dot:rgba(124,140,200,.16)}:root[data-theme=light]{--dg-bg:#eef1f8;--dg-node:#ffffff;--dg-dot:rgba(60,70,110,.15)}.pz-canvas .react-flow__background{background:var(--dg-bg)}.pz-check-count{font-size:12.5px;color:var(--muted);margin-right:6px;padding:3px 9px;border:1px solid var(--line);border-radius:20px}.pz-check-count.ok{color:var(--ok);border-color:var(--ok)}.pz-diagram-result{padding:11px 16px;border-top:1px solid var(--line);font-size:13.5px}.pz-diagram-result.ok{background:#4ed49d1a;color:var(--ok)}.pz-diagram-result.bad{background:#f66a7a14}@media(max-width:960px){.pz-catalog{width:220px}.pz-code,.pz-diagram{flex-direction:column}.pz-instructions{width:auto;max-width:none;border-right:none;border-bottom:1px solid var(--line);max-height:38vh}}.pz-xp{background:var(--card);border:1px solid var(--line);border-radius:11px;padding:10px 12px;margin-bottom:10px}.pz-xp-row{display:flex;justify-content:space-between;align-items:center;font-size:12.5px}.pz-xp-row+.pz-xp-row{margin-top:6px}.pz-xp-badge{font-family:var(--font-mono);font-size:12px;font-weight:700;color:var(--head)}.pz-xp-lvl{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:700}.pz-xp-streak{color:var(--warn);font-weight:700;font-family:var(--font-mono);font-size:11.5px}.pz-xp-solved{color:var(--muted);font-family:var(--font-mono);font-size:11px}.pz-toast{position:fixed;top:64px;right:22px;z-index:100;background:var(--grad);color:#fff;padding:10px 18px;border-radius:11px;font-weight:800;box-shadow:0 8px 26px #7c5cff66;animation:pztoast .3s ease}@keyframes pztoast{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.pz-voice{background:var(--card);border:1px solid var(--line);color:var(--muted);border-radius:8px;padding:4px 10px;font-size:12px;cursor:pointer;white-space:nowrap}.pz-voice:hover{color:var(--text);border-color:var(--accent)}.pz-voice.on{color:var(--accent2);border-color:var(--accent)}.pz-cat-item.active .pz-cat-icon{color:#fff}.pz-terminal{display:flex;height:100%}.pz-term-busy{font-size:12px;color:var(--warn);margin-left:8px}.pz-check-count.ok{color:var(--ok)}.pz-term-body{flex:1;display:flex;min-height:0}.pz-term-out{flex:1;overflow-y:auto;background:var(--code-bg);color:#d7e0f0;font-family:var(--font-mono);font-size:13px;line-height:1.55;padding:14px 16px;cursor:text}[data-theme=light] .pz-term-out{background:#0d1526;color:#dbe4f5}.pz-term-line{white-space:pre-wrap;word-break:break-word}.pz-term-line.cmd{color:#9da1f7}.pz-term-line.err{color:#ff8b8b}.pz-term-line.sys{color:#7a8aa5;font-style:italic}.pz-term-prompt{color:#4ed49d;-webkit-user-select:none;user-select:none}.pz-term-inputline{display:flex;align-items:center}.pz-term-input{flex:1;background:none;border:none;color:inherit;font-family:inherit;font-size:13px;outline:none;padding:0}.pz-term-steps{width:280px;flex:none;border-left:1px solid var(--line);background:var(--panel);padding:14px;overflow-y:auto}.pz-term-steps-head{font-weight:700;font-size:13px;margin-bottom:10px}.pz-term-steps ul{list-style:none;margin:0;padding:0}.pz-term-steps li{display:flex;gap:8px;align-items:baseline;font-size:12.5px;padding:6px 0;color:var(--muted);line-height:1.4}.pz-term-steps li.ok{color:var(--text)}.pz-term-steps li .pz-tick{color:var(--muted);font-weight:800;width:14px;flex:none}.pz-term-steps li.ok .pz-tick{color:var(--ok)}.pz-term-victory{margin-top:14px;padding:10px 12px;border-radius:9px;background:#4ed49d1f;color:var(--ok);font-weight:700;font-size:13px;text-align:center}@media(max-width:960px){.pz-terminal{flex-direction:column}.pz-term-steps{width:auto;border-left:none;border-top:1px solid var(--line)}}.pz-search{width:100%;background:var(--card);border:1px solid var(--line);color:var(--text);border-radius:8px;padding:8px 11px;font-size:13px;margin-bottom:8px}.pz-search:focus{outline:none;border-color:var(--accent)}.pz-filters{display:flex;gap:6px;margin-bottom:10px}.pz-filters select{flex:1;background:var(--card);border:1px solid var(--line);color:var(--text);border-radius:8px;padding:6px 8px;font-size:12px;cursor:pointer}.pz-cat-scroll{overflow-y:auto}.pz-cat-count{float:right;background:var(--card2);border-radius:999px;padding:0 7px;font-size:10.5px;color:var(--muted);font-weight:700}.pz-xp-bar{height:4px;background:var(--card2);border-radius:9px;margin-top:8px;overflow:hidden}.pz-xp-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:width .4s}.pz-part-tag{margin-top:14px;font-size:11.5px;color:var(--muted);background:var(--card);border:1px solid var(--line);border-radius:8px;padding:6px 10px;display:inline-block}.pz-subhead{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:700;margin:0 0 6px}.pz-predict{display:flex;height:100%}.pz-predict.pz-single{flex-direction:column}.pz-topic-inline{font-size:12px}.pz-predict-body{flex:1;min-height:0;overflow-y:auto;padding:26px 24px;display:flex;flex-direction:column;gap:18px;max-width:900px;width:100%;margin:0 auto}.pz-predict-head h1{font-size:21px;margin:0 0 6px}.pz-predict-head p{color:var(--muted);font-size:14px;margin:0}.pz-predict-code{display:flex;flex-direction:column;min-width:0}.pz-predict-editor{border:1px solid var(--line);border-radius:11px;overflow:hidden;min-height:120px}.pz-predict-answer{display:flex;flex-direction:column}.pz-file-badge{background:#68217a;color:#fff;border-radius:4px;padding:1px 6px;font-size:9px;font-weight:800;margin-left:8px;letter-spacing:0}.pz-predict-input{width:100%;min-height:120px;background:var(--code-bg);color:#d7e0f0;border:1px solid var(--line);border-radius:10px;padding:12px;font-family:var(--font-mono);font-size:13px;resize:vertical;line-height:1.5}.pz-predict-input:focus{outline:none;border-color:var(--accent)}.pz-predict-input:disabled{opacity:.7}.pz-predict-result{margin-top:14px;border:1px solid var(--line);border-radius:11px;padding:13px 15px}.pz-predict-result.ok{background:#4ed49d1a;border-color:#4ed49d59}.pz-predict-result.bad{background:#f66a7a12;border-color:#f66a7a4d}.pz-predict-verdict{font-weight:800;font-size:15px;margin-bottom:8px}.pz-predict-result.ok .pz-predict-verdict{color:var(--ok)}.pz-predict-result.bad .pz-predict-verdict{color:var(--bad)}.pz-predict-actual pre{background:var(--code-bg);color:#d7e0f0;border:1px solid var(--line);border-radius:8px;padding:9px 12px;margin:6px 0 10px;font-size:13px;white-space:pre-wrap;overflow-x:auto}.pz-predict-expl{font-size:13px;line-height:1.6;color:var(--text)}.pz-predict-expl b{color:var(--accent2)}.pz-mcq{display:flex;flex-direction:column;height:100%;gap:8px}.pz-mcq .pz-instructions{width:auto;max-width:none;min-width:0;flex:none;overflow:visible;padding:14px 24px 12px}.pz-mcq .pz-instructions h1{font-size:18px;margin:6px 0 8px}.pz-mcq .pz-workspace{flex:1;min-height:0}.pz-mcq-body{flex:1;overflow-y:auto;padding:18px 24px;max-width:1000px;margin:0 auto;width:100%}.pz-mcq-code{border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:16px}.pz-mcq-question{font-size:16px;font-weight:650;margin-bottom:14px;line-height:1.5}.pz-mcq-options{display:flex;flex-direction:column;gap:9px;max-width:820px}.pz-mcq-opt{display:flex;gap:11px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:11px;padding:12px 14px;cursor:pointer;transition:border-color .12s,background .12s}.pz-mcq-opt:hover{border-color:var(--accent)}.pz-mcq-opt.sel{border-color:var(--accent);background:var(--chip)}.pz-mcq-opt.correct{border-color:var(--ok);background:#4ed49d1f}.pz-mcq-opt.wrong{border-color:var(--bad);background:#f66a7a1a}.pz-mcq-opt input{margin-top:3px}.pz-mcq-letter{font-weight:800;color:var(--accent2);width:18px;flex:none}.pz-mcq-opt.correct .pz-mcq-letter{color:var(--ok)}.pz-mcq-opt.wrong .pz-mcq-letter{color:var(--bad)}.pz-mcq-text{flex:1;font-size:14px;line-height:1.5}.pz-mcq-result{margin-top:16px;padding:12px 16px;border-radius:11px;font-size:14px;line-height:1.6;max-width:820px}.pz-mcq-result.ok{background:#4ed49d1a;color:var(--text)}.pz-mcq-result.bad{background:#f66a7a12;color:var(--text)}.pz-mcq-result b{color:var(--accent2)}@media(max-width:960px){.pz-predict,.pz-mcq,.pz-predict-body{flex-direction:column}.pz-predict-answer{width:auto}.pz-predict-code{border-right:none;border-bottom:1px solid var(--line)}}.pz-cat-title.as-toggle{display:flex;align-items:center;gap:6px;width:100%;background:none;border:none;cursor:pointer;text-align:left}.pz-cat-caret{color:var(--muted);font-size:10px;width:12px;flex:none}.pz-cat-sub{margin:2px 0 6px 6px;padding-left:6px;border-left:2px solid var(--line)}.pz-cat-subtitle{font-size:11px;color:var(--muted);font-weight:600;padding:6px 8px 5px;display:flex;gap:7px;align-items:center;width:100%;background:none;border:none;cursor:pointer;text-align:left;border-radius:7px}.pz-cat-subtitle:hover{color:var(--text);background:#756af60f}.pz-cat-subname{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.pz-cat-subbar{flex:1;min-width:26px;height:3px;background:var(--card2);border-radius:9px;overflow:hidden}.pz-cat-subbar i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--ok));border-radius:9px}.pz-cat-subcount{background:var(--card2);border-radius:999px;padding:0 7px;font-size:9.5px;font-family:var(--font-mono);font-weight:700;flex:none;color:var(--muted)}.pz-cat-subcount.done{color:var(--ok);background:#4ed49d1f}.pz-cat-item .pz-cat-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pz-tests-preview-head{font-size:13px;font-weight:700;margin-bottom:8px;display:flex;align-items:center;gap:8px}.pz-tests-count{background:var(--card2);border-radius:999px;padding:1px 9px;font-size:11px;color:var(--muted)}.pz-tests-list li.pending,.pz-tests-list li.pending .pz-tick{color:var(--muted)}.pz-tests-list li.hidden-note{opacity:.75;font-style:italic}.pz-tests-hint{margin-top:12px;font-size:12px;color:var(--muted)}kbd{background:var(--card2);border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;padding:1px 6px;font-size:11px;font-family:var(--font-mono);color:var(--text)}.pz-xp-levelbar{height:5px;background:var(--card2);border-radius:9px;overflow:hidden;margin:8px 0}.pz-xp-levelbar i{display:block;height:100%;background:linear-gradient(90deg,#ffb020,#ff8b3d);transition:width .5s}.pz-daily{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:12px}.pz-daily-label{color:var(--muted)}.pz-daily-dots{display:flex;gap:4px;flex:1}.pz-daily-dot{width:12px;height:12px;border-radius:50%;background:var(--card2);border:1px solid var(--line)}.pz-daily-dot.on{background:linear-gradient(135deg,var(--ok),#16a34a);border-color:transparent}.pz-daily-n{color:var(--muted);font-variant-numeric:tabular-nums}.pz-ach-btn{width:100%;margin-top:10px;background:var(--card);border:1px solid var(--line);color:var(--text);border-radius:9px;padding:8px 12px;font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px}.pz-ach-btn:hover{border-color:var(--accent)}.pz-ach-count{background:var(--chip);color:var(--accent2);border-radius:999px;padding:0 8px;font-size:11px}.pz-ach-toast{position:fixed;top:64px;right:22px;z-index:110;display:flex;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--line);border-left-width:4px;border-radius:13px;padding:12px 18px;box-shadow:0 12px 40px #0006;cursor:pointer;animation:pztoast .35s ease;max-width:320px}.pz-ach-toast.common{border-left-color:#8b96ab}.pz-ach-toast.rare{border-left-color:#4aa3ff}.pz-ach-toast.epic{border-left-color:#b06bff}.pz-ach-toast.legendary{border-left-color:#ffb020;box-shadow:0 0 30px #ffb02059}.pz-ach-icon{font-size:30px}.pz-ach-body{display:flex;flex-direction:column}.pz-ach-body b{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}.pz-ach-body span{font-size:14px;font-weight:700}.pz-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:24px}.pz-modal{background:var(--panel);border:1px solid var(--line);border-radius:18px;width:min(760px,100%);max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px #00000080}.pz-modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--panel);z-index:1}.pz-modal-head h2{margin:0;font-size:19px}.pz-modal-close{background:var(--card);border:1px solid var(--line);color:var(--muted);border-radius:8px;width:32px;height:32px;cursor:pointer;font-size:15px}.pz-modal-close:hover{color:var(--text);border-color:var(--accent)}.pz-modal-stats{display:flex;gap:10px;padding:16px 22px;flex-wrap:wrap;border-bottom:1px solid var(--line)}.pz-stat{flex:1;min-width:90px;background:var(--card);border:1px solid var(--line);border-radius:11px;padding:12px;text-align:center}.pz-stat b{display:block;font-size:22px;color:var(--accent2)}.pz-stat span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.3px}.pz-ach-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;padding:18px 22px}.pz-ach-card{display:flex;gap:12px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:13px;padding:13px}.pz-ach-card.locked{opacity:.5}.pz-ach-card.got.legendary{border-color:#ffb02066}.pz-ach-card.got.epic{border-color:#b06bff55}.pz-ach-card-icon{width:46px;height:46px;flex:none;display:flex;align-items:center;justify-content:center;font-size:26px;background:var(--card2);border-radius:12px}.pz-ach-card-title{font-weight:700;font-size:13.5px}.pz-ach-card-desc{font-size:12px;color:var(--muted);margin:2px 0 3px;line-height:1.4}.pz-ach-card-rarity{font-size:10.5px;text-transform:uppercase;letter-spacing:.4px;font-weight:700}.pz-home-btn{width:100%;margin-bottom:10px;background:#1f234280;border:1px solid var(--line);color:var(--text);border-radius:9px;padding:8px 12px;font-size:13px;font-weight:600;cursor:pointer;text-align:left}.pz-home-btn:hover{border-color:var(--accent)}.pz-home-btn.active{background:#756af629;color:var(--head);border-color:var(--line-acc)}.pz-dash{padding:26px 32px;overflow-y:auto;height:100%}.pz-dash-hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:22px}.pz-dash-hero h1{margin:0 0 6px;font-size:26px}.pz-dash-hero p{margin:0;color:var(--muted);max-width:560px;line-height:1.6}.pz-dash-level{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 18px;min-width:200px}.pz-dash-level-name{font-size:15px;font-weight:800;color:var(--accent2)}.pz-dash-level-xp{font-size:12px;color:var(--muted);margin-bottom:8px}.pz-dash-level-next{font-size:11px;color:var(--muted);margin-top:6px}.pz-dash-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:26px}.pz-dash-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px}.pz-dash-card.accent{background:linear-gradient(135deg,#7c5cff24,#9d7bff0f);cursor:pointer}.pz-dash-card.accent:hover{border-color:var(--accent)}.pz-dash-card-label{font-size:12px;color:var(--muted);font-weight:600;margin-bottom:6px}.pz-dash-card-value{font-size:18px;font-weight:800;line-height:1.25}.pz-dash-card-sub{font-size:12px;color:var(--muted);margin-top:4px}.pz-dash-section{margin-bottom:26px}.pz-dash-section h2{font-size:16px;margin:0 0 12px}.pz-dash-kinds{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.pz-dash-kind{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center}.pz-dash-kind-icon{font-family:var(--font-mono);font-size:14px}.pz-dash-kind-label{font-size:13px;font-weight:600}.pz-dash-kind-count{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.pz-dash-kind-bar{grid-column:1/-1;height:5px;background:var(--card2);border-radius:9px;overflow:hidden}.pz-dash-kind-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2))}.pz-dash-recs{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.pz-dash-rec{display:flex;gap:12px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:13px;cursor:pointer;text-align:left}.pz-dash-rec:hover{border-color:var(--accent)}.pz-dash-rec-icon{font-size:20px;font-family:var(--font-mono);width:26px;flex:none;text-align:center}.pz-dash-rec-body{display:flex;flex-direction:column;min-width:0}.pz-dash-rec-title{font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pz-dash-rec-sub{font-size:11.5px;color:var(--muted)}.pz-dash-parts{display:flex;flex-direction:column;gap:10px}.pz-dash-part{display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:center}.pz-dash-part-name{font-size:13px}.pz-dash-part-count{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.pz-dash-part .pz-dash-kind-bar{grid-column:1/-1}.pz-theory-link{background:var(--card);border:1px solid var(--line);color:var(--accent2);border-radius:8px;padding:4px 10px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.pz-theory-link:hover{border-color:var(--accent);background:var(--chip)}.bk .ch-meta .practice-badge{cursor:pointer;color:var(--accent2);border-color:var(--accent)}.bk .ch-meta .practice-badge:hover{background:var(--chip)}.pz-code-area{flex:1;display:flex;min-height:180px}.pz-tree{width:230px;flex:none;background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;overflow:hidden}.pz-tree-head{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;font-size:11px;font-weight:700;letter-spacing:.6px;color:var(--muted);border-bottom:1px solid var(--line)}.pz-tree-actions{display:flex;gap:4px}.pz-tree-actions button{background:none;border:none;color:var(--muted);cursor:pointer;font-size:13px;padding:2px 5px;border-radius:6px;line-height:1}.pz-tree-actions button:hover{color:var(--text);background:var(--card)}.pz-tree-body{flex:1;overflow-y:auto;padding:4px 0 12px}.pz-tree-body.drop{background:color-mix(in srgb,var(--accent) 8%,transparent)}.pz-tree-root{display:flex;align-items:center;gap:7px;padding:5px 12px;font-size:11px;font-weight:700;letter-spacing:.5px;color:var(--muted);text-transform:uppercase}.pz-tree-row{display:flex;align-items:center;gap:5px;padding:3px 8px;font-size:13px;cursor:pointer;color:var(--text);border-left:2px solid transparent;-webkit-user-select:none;user-select:none}.pz-tree-row:hover{background:var(--card)}.pz-tree-row.file.active{background:color-mix(in srgb,var(--accent) 16%,transparent);border-left-color:var(--accent);color:var(--accent2);font-weight:600}.pz-tree-row.drop{background:color-mix(in srgb,var(--accent) 14%,transparent);border-left-color:var(--accent2)}.pz-tw{width:12px;flex:none;font-size:9px;color:var(--muted);text-align:center}.pz-tree-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pz-tree-rename{background:var(--bg);border:1px solid var(--accent);color:var(--text);border-radius:5px;padding:2px 6px;font-size:12.5px;width:130px}.pz-tree-rename:focus{outline:none}.pz-ficon{flex:none;font-size:10px;font-weight:800;width:20px;text-align:center;border-radius:4px;line-height:1.4}.pz-ficon.cs{background:#68217a;color:#fff}.pz-ficon.json{color:#f59e0b}.pz-ficon.md{color:#4aa3ff}.pz-ficon.txt,.pz-ficon.folder{color:var(--muted);font-weight:600}.pz-ficon.sol{color:var(--accent2)}.pz-cs-badge{background:#68217a;color:#fff;border-radius:4px;padding:0 5px;font-size:9px;font-weight:800;flex:none}.pz-ctx-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200}.pz-ctx{position:fixed;z-index:201;background:var(--card);border:1px solid var(--line);border-radius:9px;box-shadow:0 10px 34px #0006;padding:5px;min-width:180px}.pz-ctx-item{display:block;width:100%;text-align:left;background:none;border:none;color:var(--text);padding:7px 12px;font-size:13px;cursor:pointer;border-radius:6px}.pz-ctx-item:hover{background:var(--panel)}.pz-ctx-item.danger{color:var(--bad)}.pz-ctx-sep{height:1px;background:var(--line);margin:4px 6px}.pz-editor-col{flex:1;min-width:0;display:flex;flex-direction:column}.pz-tabs{display:flex;gap:1px;background:var(--panel);border-bottom:1px solid var(--line);overflow-x:auto}.pz-tab{display:flex;align-items:center;gap:7px;background:none;border-right:1px solid var(--line);color:var(--muted);padding:8px 14px;font-size:12.5px;cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent}.pz-tab.active{color:var(--text);background:var(--card);border-bottom-color:var(--accent)}.pz-tab-icon{font-size:9px;font-weight:800;background:#68217a;color:#fff;border-radius:3px;padding:1px 4px}.pz-tab-x{background:none;border:none;color:var(--muted);cursor:pointer;font-size:11px;padding:0 3px;border-radius:4px;opacity:.6}.pz-tab:hover .pz-tab-x{opacity:1}.pz-tab-x:hover{color:var(--bad);background:var(--card2)}.pz-editor-shell{flex:1;min-height:0;display:flex;flex-direction:column}.pz-editor{flex:1;min-height:160px}.pz-editor-status{display:flex;align-items:center;gap:16px;padding:4px 14px;font-size:11.5px;color:var(--muted);background:var(--panel);border-top:1px solid var(--line)}.pz-status-save.on{color:var(--ok)}@media(max-width:960px){.pz-tree{width:170px}}.pz-cabinet{display:flex;flex-direction:column;height:100%;overflow:hidden;background:var(--panel)}.pz-cab-top{display:flex;align-items:center;gap:16px;padding:20px 30px 0;flex-wrap:wrap}.pz-cab-crumb{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:var(--accent2);width:100%}.pz-cab-crumb:before{content:"❯ ";color:var(--accent)}.pz-cab-h1{margin:4px 0 0;font-size:30px;font-weight:800;letter-spacing:-.01em;flex:1;min-width:200px}.pz-cab-h1 .grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.pz-cab-nav{display:flex;gap:4px;background:#1f234280;border:1px solid var(--line);border-radius:12px;padding:4px;align-self:center}[data-theme=light] .pz-cab-nav{background:#fff9}.pz-cab-navitem{background:none;border:none;color:var(--muted);padding:7px 16px;font-size:13.5px;font-weight:700;border-radius:9px;cursor:pointer}.pz-cab-navitem:hover{color:var(--text)}.pz-cab-navitem.active{background:#756af62e;color:var(--head)}.pz-cab-body{flex:1;overflow-y:auto;padding:20px 30px 30px}.pz-hero{display:flex;align-items:center;gap:28px;background:linear-gradient(135deg,rgba(117,106,246,.16),var(--card) 55%);border:1px solid var(--line);border-radius:18px;padding:22px 26px;margin-bottom:18px;flex-wrap:wrap}.pz-rings{flex:none}.pz-hero-main{flex:1;min-width:220px}.pz-hero-rows{display:flex;flex-direction:column;gap:3px;margin-bottom:8px}.pz-hero-row{display:flex;align-items:center;gap:7px;font-size:13px}.pz-hero-dot{width:9px;height:9px;border-radius:50%;flex:none}.pz-hero-row b{font-size:14px}.pz-hero-goal{color:var(--muted)}.pz-hero-name{color:var(--muted);margin-left:4px}.pz-hero-title{font-size:20px;margin:6px 0 12px;line-height:1.3}.pz-hero-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pz-streak-chip,.pz-best-chip{background:var(--chip);border:1px solid var(--line);border-radius:20px;padding:4px 12px;font-size:12.5px;font-weight:600}.pz-streak-chip{color:var(--warn)}.pz-goals-edit{background:none;border:1px solid var(--line);color:var(--muted);border-radius:20px;padding:4px 12px;font-size:12.5px;cursor:pointer}.pz-goals-edit:hover{color:var(--text);border-color:var(--accent)}.pz-goals-editor{display:flex;gap:10px;align-items:flex-end;margin-top:12px;flex-wrap:wrap}.pz-goals-editor label{display:flex;flex-direction:column;font-size:11px;color:var(--muted);gap:3px}.pz-goals-editor input{width:72px;background:var(--bg);border:1px solid var(--line);color:var(--text);border-radius:7px;padding:6px 8px;font-size:13px}.pz-level-badge{flex:none;text-align:center;width:110px}.pz-lvl-num{font-size:26px;font-weight:800;fill:var(--text)}.pz-lvl-cap{font-size:9px;font-weight:700;fill:var(--muted);letter-spacing:1px}.pz-level-name{font-size:14px;font-weight:700;margin-top:2px}.pz-level-sub{font-size:11px;color:var(--muted)}.pz-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.pz-cabstat{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px 20px}.pz-cabstat.accent{border-color:#f6a54a59}.pz-cabstat.accent .pz-cabstat-big{color:var(--warn)}.pz-cabstat-big{font-size:30px;font-weight:800;line-height:1;display:flex;align-items:center;gap:6px;color:var(--head)}.pz-cabstat-trend{font-size:13px}.pz-cabstat-trend.up{color:var(--ok)}.pz-cabstat-trend.down{color:var(--bad)}.pz-cabstat-label{font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-top:10px;font-weight:700}.pz-cabstat-sub{font-size:12px;color:var(--muted);margin-top:3px}.pz-inprogress{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px 22px}.pz-inprogress h3{font-size:15px;margin:0 0 14px}.pz-inprogress-empty{color:var(--muted);font-size:13.5px}.pz-ip-row{display:flex;align-items:center;gap:14px;padding:9px 0;cursor:pointer;border-top:1px solid var(--line)}.pz-ip-row:first-of-type{border-top:none}.pz-ip-info{flex:1;min-width:0}.pz-ip-title{font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pz-ip-sub{font-size:11.5px;color:var(--muted)}.pz-ip-bar{width:160px;height:7px;background:var(--panel);border-radius:20px;overflow:hidden;flex:none}.pz-ip-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:20px}.pz-ip-pct{font-size:12.5px;font-weight:700;color:var(--accent2);width:40px;text-align:right}.pz-activity h3,.pz-ach-grid-wrap h3{font-size:16px;margin:0 0 16px}.pz-heat{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px}.pz-heat-grid{display:flex;gap:3px;overflow-x:auto}.pz-heat-col{display:flex;flex-direction:column;gap:3px}.pz-heat-cell{width:13px;height:13px;border-radius:3px;background:var(--panel)}.pz-heat-cell.l0{background:color-mix(in srgb,var(--muted) 15%,transparent)}.pz-heat-cell.l1{background:color-mix(in srgb,var(--accent) 35%,transparent)}.pz-heat-cell.l2{background:color-mix(in srgb,var(--accent) 55%,transparent)}.pz-heat-cell.l3{background:color-mix(in srgb,var(--accent) 78%,transparent)}.pz-heat-cell.l4{background:var(--accent2)}.pz-heat-legend{display:flex;align-items:center;gap:4px;margin-top:12px;font-size:11px;color:var(--muted)}.pz-activity-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}.pz-ach-total{font-size:13px;color:var(--muted);font-weight:600;margin-left:6px}.pz-cabach-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.pz-cabach-card{display:flex;gap:12px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:13px;padding:13px 15px}.pz-cabach-card.off{opacity:.5}.pz-cabach-card.on{box-shadow:0 3px 14px #00000026}.pz-cabach-emoji{font-size:26px;flex:none}.pz-cabach-txt{display:flex;flex-direction:column;gap:1px;min-width:0}.pz-cabach-txt b{font-size:13.5px}.pz-cabach-txt span{font-size:12px;color:var(--muted)}.pz-cabach-rarity{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;margin-top:2px}@media(max-width:960px){.pz-cabinet{flex-direction:column}.pz-cab-nav{width:auto;display:flex;gap:6px;overflow-x:auto;border-right:none;border-bottom:1px solid var(--line)}.pz-cab-nav-group{display:none}.pz-stats,.pz-activity-stats{grid-template-columns:repeat(2,1fr)}}.pz-agent{display:flex;flex-direction:column;height:100%;min-height:0;background:#060714}[data-theme=light] .pz-agent{background:#0d1130}.pz-agent-log{flex:1;overflow-y:auto;padding:14px 18px;font-size:12.5px;font-family:var(--font-mono);color:#aeb4dd}.pz-agent-empty{color:#8186b8}.pz-agent-empty b{color:var(--accent2);font-size:13px;letter-spacing:.5px}.pz-agent-empty p{margin:8px 0 0;line-height:1.7}.pz-agent-empty code,.pz-agent-help code{background:var(--code-bg);border:1px solid var(--line);border-radius:5px;padding:1px 6px;font-size:12px;color:var(--accent2)}.pz-agent-help{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:6px}.pz-agent-help-x{align-self:flex-start;background:none;border:none;color:var(--muted);cursor:pointer;font-size:12px;margin-top:4px;text-decoration:underline}.pz-agent-msg{display:flex;gap:9px;margin:10px 0}.pz-agent-role{flex:none;width:18px;text-align:center;color:var(--accent2);font-weight:800}.pz-agent-msg.user .pz-agent-role{color:var(--muted)}.pz-agent-text{min-width:0;line-height:1.6}.pz-agent-text.mono{font-family:var(--font-mono);font-size:12.5px;color:var(--muted)}.pz-agent-text p{margin:6px 0}.pz-agent-text pre{background:var(--code-bg);border:1px solid var(--line);border-radius:9px;padding:10px 12px;overflow-x:auto;margin:8px 0;font-size:12.5px}.pz-agent-text code{background:var(--code-bg);border:1px solid var(--line);border-radius:4px;padding:1px 5px;font-size:.87em}.pz-agent-text pre code{background:none;border:none;padding:0}.pz-agent-text ul{margin:6px 0;padding-left:20px}.pz-agent-bar{border-top:1px solid rgba(117,106,246,.25);padding:9px 14px;background:#060714}[data-theme=light] .pz-agent-bar{background:#0d1130}.pz-agent-cmds{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.pz-agent-cmd{background:#8186b814;border:1px solid rgba(129,134,184,.28);color:var(--accent2);border-radius:999px;padding:2px 11px;font-size:11px;cursor:pointer;font-family:var(--font-mono)}.pz-agent-cmd:hover:not(:disabled){border-color:var(--accent);background:var(--chip)}.pz-agent-cmd:disabled{opacity:.5;cursor:default}.pz-agent-input{display:flex;align-items:center;gap:8px;background:transparent;border:none;border-radius:0;padding:4px 0}.pz-agent-prompt{color:var(--accent);font-weight:800;font-family:var(--font-mono)}.pz-agent-input input{flex:1;background:none;border:none;color:#eceefb;font-family:var(--font-mono);font-size:12.5px;padding:6px 0;caret-color:var(--accent)}.pz-agent-input input::placeholder{color:#575d8f}.pz-agent-input input:focus{outline:none}.pz-agent-status{display:flex;align-items:center;gap:8px;margin-top:6px;font-family:var(--font-mono);font-size:10.5px;color:#8186b8}.pz-agent-ready{color:var(--ok)}.pz-agent-ready:before{content:"● ";font-size:9px}.pz-agent-chip{background:#8186b814;border:1px solid rgba(129,134,184,.28);border-radius:999px;padding:2px 10px;font-size:10.5px;color:#8186b8;font-family:var(--font-mono)}.pz-agent-chip.live{color:var(--ok);border-color:#4ed49d66}.pz-agent-chip.toggle{cursor:pointer}.pz-agent-chip.toggle.on{color:var(--accent2);border-color:var(--accent)}.pz-agent-tokens{margin-left:auto}.pz-agent-clear{background:none;border:none;color:#8186b8;cursor:pointer;font-size:10.5px;text-decoration:underline;font-family:var(--font-mono)}.dg-board{--dg-rail:72px;--dg-expanded:220px;display:grid;grid-template-columns:var(--dg-rail) 1fr;grid-template-areas:"palette canvas";flex:1;min-height:0;background:#0a0e39c7;position:relative;overflow:hidden;transition:grid-template-columns .28s cubic-bezier(.22,.61,.36,1)}.dg-board:has(.dg-palette:hover){grid-template-columns:var(--dg-expanded) 1fr}[data-theme=light] .dg-board{background:#e9ecf9cc}.dg-palette{grid-area:palette;position:relative;z-index:25;border-right:1px solid rgba(104,109,241,.2);overflow-y:auto;overflow-x:hidden;padding:10px 8px;background:#0a0e39db;transition:background .18s ease,box-shadow .18s ease}.dg-palette:hover{background:#0a0e39f7;box-shadow:10px 0 24px #00000059}[data-theme=light] .dg-palette{background:#ffffffe6}.dg-palette__header{font-family:var(--font-mono);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#b6bae0;padding:4px 2px 10px;white-space:nowrap;opacity:0;transform:translate(-4px);transition:opacity .14s ease,transform .14s ease}.dg-palette:hover .dg-palette__header{opacity:1;transform:translate(0)}.dg-palette__list{display:flex;flex-direction:column;gap:8px}.dg-palette__item{-webkit-appearance:none;-moz-appearance:none;appearance:none;font-family:inherit;width:100%;display:flex;align-items:center;justify-content:center;gap:0;min-height:52px;padding:8px;background:#ffffff0a;border:1px solid rgba(104,109,241,.18);border-radius:8px;color:#eceefb;font-size:12px;line-height:1.2;text-align:left;cursor:grab;transition:background .15s,border-color .15s,box-shadow .15s,min-height .18s,padding .18s,gap .18s}.dg-palette:hover .dg-palette__item{justify-content:flex-start;gap:12px;min-height:64px;padding:10px 12px}.dg-palette__item:hover{background:#686df12e;border-color:#686df1a6;box-shadow:0 0 0 1px #686df140}.dg-palette__item:active{cursor:grabbing;transform:translateY(1px)}[data-theme=light] .dg-palette__item{color:#333f63;background:#1419500a}.dg-palette__label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:normal;min-width:0;max-width:0;opacity:0;transform:translate(-4px);transition:max-width .18s ease,opacity .14s ease,transform .14s ease}.dg-palette:hover .dg-palette__label{max-width:140px;opacity:1;transform:translate(0)}.dg-palette__icon{width:34px;height:34px;border-radius:9px;background:#686df129;color:#9da1f7;display:grid;place-items:center;flex-shrink:0}.dg-palette__icon svg{width:20px;height:20px}.dg-canvas-wrap{grid-area:canvas;position:relative;min-height:0;background:linear-gradient(180deg,#12164af5,#06082af5)}[data-theme=light] .dg-canvas-wrap{background:linear-gradient(180deg,#eef0fb,#dfe3f5)}.dg-canvas-wrap.is-empty:after{content:"Перетащите блоки из палитры на холст";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:10px 14px;border:1px dashed rgba(104,109,241,.45);border-radius:8px;color:#b6bae0;font-size:13px;pointer-events:none;background:#1e2466d6;z-index:4}.dg-canvas{height:100%}.dg-canvas .react-flow__background{background:transparent}.react-flow__background .react-flow__background-pattern{color:#606ac847}.dg-node{position:relative;width:172px;height:152px;padding:20px 16px 16px;background:#0f123cf7;border:1.5px solid color-mix(in srgb,var(--bt,#686df1) 45%,transparent);border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;font-size:13px;line-height:1.2;text-align:center;color:#eceefb;box-shadow:0 12px 34px #00000080,0 0 18px color-mix(in srgb,var(--bt,#686df1) 12%,transparent);transition:border-color .15s,box-shadow .15s,background .15s}.dg-node:hover{border-color:color-mix(in srgb,var(--bt,#686df1) 75%,transparent)}.dg-node.sel{box-shadow:0 0 0 3px #686df1e6,0 18px 46px #686df13d}.dg-node.sim-run{border-color:#686df1e6;box-shadow:0 0 0 3px #686df1b3,0 0 34px #686df180;animation:dg-sim-pulse .5s ease}.dg-node.sim-ok{border-color:#4ed49dcc;box-shadow:0 0 0 2px #4ed49d8c,0 0 26px #4ed49d4d}.dg-node.sim-fail{border-color:#f66a7ae6;box-shadow:0 0 0 3px #f66a7abf,0 0 34px #f66a7a80;animation:dg-sim-shake .4s ease}@keyframes dg-sim-pulse{0%{transform:scale(1)}45%{transform:scale(1.045)}to{transform:scale(1)}}@keyframes dg-sim-shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}60%{transform:translate(4px)}}[data-theme=light] .dg-node{background:#fff;color:#333f63;border-color:#6742e840}.dg-node__icon{width:58px;height:58px;border-radius:15px;display:grid;place-items:center;background:#686df124;color:#dce3ff;flex-shrink:0}.dg-node__icon svg{width:30px;height:30px}.dg-node__type{display:inline-block;max-width:100%;padding:2px 7px;border-radius:999px;background:#686df129;color:#dce3ff;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dg-node__label{font-weight:650;max-width:100%;color:#eceefb;font-size:15.5px;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-theme=light] .dg-node__label{color:#333f63}.dg-node__label-input{width:100%;box-sizing:border-box;text-align:center;font-family:inherit;font-size:11px;font-weight:600;color:#eceefb;background:#0a0e39f5;border:1px solid rgba(125,219,229,.7);border-radius:8px;padding:4px 6px;outline:none;box-shadow:0 0 0 2px #7ddbe533;text-transform:uppercase;letter-spacing:.04em}.dg-node__label-input:focus{border-color:#7ddbe5f2;box-shadow:0 0 0 2px #7ddbe552}[data-bt=client]{--bt:#56b6c2}[data-bt=client] .dg-node__icon,[data-bt=client].dg-palette__item .dg-palette__icon{background:#56b6c229;color:#7ddbe5}[data-bt=blue]{--bt:#61afef}[data-bt=blue] .dg-node__icon,[data-bt=blue].dg-palette__item .dg-palette__icon{background:#61afef29;color:#8ecbff}[data-bt=purple]{--bt:#c678dd}[data-bt=purple] .dg-node__icon,[data-bt=purple].dg-palette__item .dg-palette__icon{background:#c678dd29;color:#dfa1ef}[data-bt=green]{--bt:#98c379}[data-bt=green] .dg-node__icon,[data-bt=green].dg-palette__item .dg-palette__icon{background:#98c37929;color:#b9df9c}[data-bt=yellow]{--bt:#e5c07b}[data-bt=yellow] .dg-node__icon,[data-bt=yellow].dg-palette__item .dg-palette__icon{background:#e5c07b29;color:#f4d891}[data-bt=orange]{--bt:#d19a66}[data-bt=orange] .dg-node__icon,[data-bt=orange].dg-palette__item .dg-palette__icon{background:#d19a6629;color:#efbd88}[data-bt=red]{--bt:#e06c75}[data-bt=red] .dg-node__icon,[data-bt=red].dg-palette__item .dg-palette__icon{background:#be504629;color:#f08f85}.dg-node .react-flow__handle{width:13px;height:13px;background:#3f437f;border:2.5px solid #0a0d33;border-radius:50%;transition:transform .12s,background .12s;animation:dg-handle-breathe 2.4s ease-in-out infinite}.dg-node .react-flow__handle:hover{background:#b9bcff;transform:scale(1.3);animation:none}.dg-node .react-flow__handle.used{background:#8a87ff;animation:none;box-shadow:0 0 8px #8a87ffb3}@keyframes dg-handle-breathe{0%,to{box-shadow:0 0 #8a87ff00}50%{box-shadow:0 0 7px 2px #8a87ff59}}.pz-diagram .react-flow__edge-path{stroke:#6d6af8!important;stroke-width:2.5!important;stroke-linecap:round;filter:drop-shadow(0 0 4px rgba(109,106,248,.45))}.pz-diagram .react-flow__edge.selected .react-flow__edge-path{stroke-width:4!important;stroke:#8a87ff!important;filter:drop-shadow(0 0 5px rgba(138,135,255,.8)) drop-shadow(0 0 12px rgba(109,106,248,.5))}.pz-diagram .react-flow__edge-interaction{stroke-width:24}.pz-diagram .react-flow__connection-path{stroke:#686df1;stroke-width:3}.dg-node-toolbar{display:flex;align-items:center;gap:6px;padding:5px;border:1px solid rgba(104,109,241,.36);border-radius:999px;background:#0a0e39f5;box-shadow:0 10px 26px #0000006b}.dg-node-toolbar button{width:28px;height:28px;border:1px solid transparent;border-radius:999px;background:transparent;display:grid;place-items:center;cursor:pointer;transition:background .15s,border-color .15s,transform .15s;font-size:13px}.dg-node-toolbar button:hover{transform:translateY(-1px)}.dg-node-toolbar .edit{color:#9fe6ef}.dg-node-toolbar .edit:hover{background:#7ddbe529;border-color:#7ddbe599}.dg-node-toolbar .del{color:#f26b7f}.dg-node-toolbar .del:hover{background:#f26b7f29;border-color:#f26b7f99}.dg-node-toolbar .sep{width:1px;height:16px;background:#8186b85c}.pz-edge-chip{position:absolute;pointer-events:all;display:flex;align-items:center;gap:6px;background:#0a0e39f5;border:1px solid rgba(104,109,241,.45);border-radius:999px;padding:3px 12px 3px 4px;font-size:11.5px;font-weight:700;cursor:pointer;box-shadow:0 3px 12px #00000073;white-space:nowrap}.pz-edge-chip.sel{border-color:#9da1f7;box-shadow:0 0 0 1.5px #9da1f7,0 4px 14px #00000080}.pz-edge-spark{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:9px;flex:none;background:#686df1;box-shadow:0 0 8px #686df1cc}.pz-edge-label{color:#eceefb}.pz-edge-label.muted{color:#8b99c8;font-weight:500}.pz-edge-dot{position:absolute;pointer-events:all;width:16px;height:16px;border-radius:50%;color:#fff;background:#686df1;font-size:9px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 0 8px #686df1cc}.pz-edge-dot.sel{box-shadow:0 0 0 2px #fff,0 0 8px #686df1e6}.pz-edge-editor{position:absolute;bottom:14px;left:50%;transform:translate(-50%);z-index:10;display:flex;align-items:center;gap:8px;background:#0a0e39f5;border:1px solid rgba(104,109,241,.36);border-radius:12px;padding:8px 12px;box-shadow:0 8px 26px #0006;font-size:12.5px}.pz-edge-editor input{background:var(--code-bg);border:1px solid var(--line-acc);color:var(--text);border-radius:7px;padding:5px 9px;font-size:13px;width:180px;font-family:var(--font-mono)}.pz-edge-editor input:focus{outline:none;border-color:var(--accent)}.pz-edge-editor .pz-btn.ghost{padding:5px 9px}.dg-minimap-shell{position:absolute;right:0;bottom:0;margin:14px;width:170px;padding:8px 10px 10px;border-radius:14px;color:#b6bae0e0;background:linear-gradient(155deg,#181d58b8,#12164ac7 60%,#06082ad1);-webkit-backdrop-filter:blur(14px) saturate(135%);backdrop-filter:blur(14px) saturate(135%);border:1px solid rgba(157,161,247,.18);box-shadow:0 10px 26px #06082a80,inset 0 0 0 1px #686df129;z-index:5;overflow:hidden}.dg-minimap-shell:before{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,rgba(157,161,247,.55),transparent);pointer-events:none}.dg-minimap-shell__header{display:flex;align-items:center;justify-content:space-between;padding:0 2px 8px}.dg-minimap-shell__title{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#eceefbeb}.dg-minimap-shell__title i{width:6px;height:6px;border-radius:50%;background:#686df1;box-shadow:0 0 6px #686df1}.dg-minimap-shell__collapse{background:none;border:1px solid rgba(129,134,184,.3);border-radius:6px;color:#8b99c8;width:20px;height:20px;line-height:1;cursor:pointer;font-size:11px;display:grid;place-items:center}.dg-minimap-shell__collapse:hover{color:#eceefb;border-color:#9da1f780}.dg-minimap-shell .react-flow__minimap{position:static!important;margin:0!important;width:100%!important;height:92px!important;background:#06082a99!important;border-radius:9px;overflow:hidden}.dg-minimap-shell .react-flow__minimap svg{display:block;width:100%;height:100%}.dg-minimap-shell.collapsed{width:auto;padding:6px 10px}.dg-minimap-shell.collapsed .react-flow__minimap,.dg-minimap-shell.collapsed .dg-minimap-legend{display:none}.dg-minimap-shell.collapsed .dg-minimap-shell__header{padding-bottom:0}.dg-minimap-legend{display:flex;gap:10px;flex-wrap:wrap;padding:8px 2px 0}.dg-minimap-legend span{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:#8b99c8}.dg-minimap-legend i{width:7px;height:7px;border-radius:2px}.pz-diagram .react-flow__controls{box-shadow:none;border-radius:12px;overflow:visible;background:transparent;display:flex;flex-direction:column;gap:6px;transition:transform .18s ease}.pz-diagram .react-flow__controls-button{width:32px;height:32px;background:#1f2342d9;border:1px solid var(--line-acc);border-radius:8px;color:#c2ceed;display:flex;align-items:center;justify-content:center}.pz-diagram .react-flow__controls-button:hover{background:#686df14d;color:#fff}.pz-diagram .react-flow__controls-button svg{fill:currentColor;max-width:14px;max-height:14px}.react-flow__attribution{display:none}.dg-bottom{flex:none;display:flex;flex-direction:column;height:min(300px,38vh);min-height:0;background:#06082a;border-top:1px solid rgba(255,255,255,.08);transition:height .2s ease;overflow:hidden}.dg-bottom.minimized{height:41px}.dg-bottom__tabs{display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.dg-bottom__tab{flex:1;padding:11px 16px;background:transparent;border:none;color:#8186b8;font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .2s,color .2s}.dg-bottom__tab:hover{background:#686df114;color:#b6bae0}.dg-bottom__tab.active{color:#eceefb;background:#686df11a}.dg-bottom__minimize{flex:none;width:38px;align-self:stretch;background:none;border:none;border-left:1px solid rgba(255,255,255,.08);color:#8186b8;cursor:pointer;font-size:12px}.dg-bottom__minimize:hover{color:#eceefb;background:#686df114}.dg-bottom__body{flex:1;min-height:0;overflow-y:auto;padding:12px 16px}.dg-bottom__body.agent-host{padding:0;display:flex;flex-direction:column}.pz-beta{font-family:var(--font-mono);font-size:9px;font-weight:600;letter-spacing:.5px;color:#ffd54f;background:#ffc10726;border:1px solid rgba(255,193,7,.3);border-radius:6px;padding:2px 7px;margin-left:8px;vertical-align:middle;text-transform:uppercase}.pz-diagram-result{padding:11px 16px;border-radius:10px;font-size:13.5px;background:var(--card);border:1px solid var(--line)}.pz-diagram-result.ok{background:#4ed49d1a;border-color:#4ed49d59;color:var(--ok)}.pz-diagram-result.bad{background:#f66a7a0f;border-color:#f66a7a40}.pz-diag-line{font-size:12.5px;color:var(--muted);margin-top:5px}.pz-diag-line.err{color:var(--bad)}.pz-check-count{font-family:var(--font-mono);font-size:11px;color:var(--muted);margin-right:6px;padding:4px 11px;border:1px solid var(--line-acc);border-radius:999px;white-space:nowrap}.pz-check-count.ok{color:var(--ok);border-color:#4ed49d80}.pz-diagram-tip{font-size:12.5px;color:var(--muted);margin-top:16px;background:#756af612;border:1px solid var(--line);border-radius:9px;padding:9px 12px}.dg-edge-panel{position:absolute;right:0;top:0;bottom:0;z-index:30;width:320px;padding:20px 22px;background:#0b0e2efa;border-left:1px solid rgba(104,109,241,.32);box-shadow:-18px 0 50px #00000080;overflow-y:auto;animation:dg-panel-in .28s cubic-bezier(.22,.61,.36,1)}@keyframes dg-panel-in{0%{transform:translate(100%);opacity:.4}to{transform:translate(0);opacity:1}}.dg-edge-panel label{display:block;font-family:var(--font-mono);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#a7b0d8;margin:11px 0 6px}.dg-edge-panel label:first-child{margin-top:0}.dg-edge-panel input,.dg-edge-panel select{width:100%;box-sizing:border-box;background:#06082acc;border:1px solid rgba(104,109,241,.25);color:#eceefb;border-radius:11px;padding:9px 13px;font-size:14px;font-family:var(--font-sans);-webkit-appearance:none;-moz-appearance:none;appearance:none}.dg-edge-panel select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%238b99c8' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer}.dg-edge-panel input:focus,.dg-edge-panel select:focus{outline:none;border-color:var(--accent)}.dg-edge-panel__row{display:flex;gap:8px;margin-top:14px}.dg-edge-panel__row .pz-btn{flex:1}.dg-edge-del{position:absolute;pointer-events:all;width:44px;height:44px;border-radius:50%;background:#0d1034f7;border:1.5px solid rgba(109,106,248,.4);color:#f26b7f;display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer;box-shadow:0 6px 22px #0000008c}.dg-edge-del:hover{background:#f66b7f2e;border-color:#f26b7f}.dg-packet{fill:#c7cbff;stroke:#686df1;stroke-width:1.6;filter:drop-shadow(0 0 7px rgba(157,161,247,.95))}.pz-diagram .react-flow__edge.sim-run .react-flow__edge-path{stroke:#9da1f7!important;stroke-width:3.5!important;filter:drop-shadow(0 0 5px rgba(157,161,247,.85)) drop-shadow(0 0 10px rgba(104,109,241,.5))}.pz-diagram .react-flow__edge.sim-ok .react-flow__edge-path{stroke:#4ed49d!important;stroke-width:2.5!important;filter:drop-shadow(0 0 4px rgba(78,212,157,.5))}.dg-sim-log{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:5px}.dg-sim-log li{display:flex;align-items:center;gap:9px;font-family:var(--font-mono);font-size:12px;padding:7px 12px;border-radius:9px;background:var(--card);border:1px solid var(--line);color:var(--text)}.dg-sim-log li.ok{border-color:#4ed49d4d}.dg-sim-log li.ok .dg-sim-tick{color:var(--ok)}.dg-sim-log li.fail{border-color:#f66a7a66;color:#fbd0d7}.dg-sim-log li.fail .dg-sim-tick{color:var(--bad)}.dg-sim-tick{font-weight:800;width:14px;flex:none}.dg-sim-log li.par{border-left:2px solid rgba(157,161,247,.5)}.dg-sim-wave{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#8b99c8;margin:8px 0 2px}.dg-sim-verdict{margin-top:10px;font-weight:800;font-size:13.5px}.dg-sim-verdict.ok{color:var(--ok)}.dg-sim-verdict.fail{color:var(--bad)}.dg-node.offline{opacity:.55;border-style:dashed;border-color:#f66a7a8c}.dg-node__badges{position:absolute;top:-11px;right:-9px;display:flex;gap:5px;z-index:3}.dg-node__badge{font-family:var(--font-mono);font-size:9.5px;font-weight:700;letter-spacing:.04em;border-radius:999px;padding:2px 8px;white-space:nowrap;box-shadow:0 3px 10px #0006}.dg-node__badge.dead{background:#2a0f1c;color:#f26b7f;border:1px solid rgba(246,107,127,.55)}.dg-node__badge.queue{background:#2a2410;color:#f6a54a;border:1px solid rgba(246,165,74,.55)}.dg-node-panel-name{font-size:15px;font-weight:800;color:#eceefb;margin-bottom:2px}.dg-report{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.dg-report-card{flex:1;min-width:110px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 14px;text-align:center}.dg-report-card b{display:block;font-size:22px;font-weight:800;color:var(--head);font-variant-numeric:tabular-nums}.dg-report-card b i{font-style:normal;font-size:12px;color:var(--muted);margin-left:2px}.dg-report-card span{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.dg-report-card.bad{border-color:#f66a7a66}.dg-report-card.bad b{color:var(--bad)}.dg-insights{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.dg-insights li{background:#756af612;border:1px solid rgba(117,106,246,.22);border-radius:10px;padding:9px 13px;font-size:13px;line-height:1.55;color:var(--text)}.dg-spoiler{margin-top:14px;border:1px dashed rgba(117,106,246,.35);border-radius:10px;padding:0}.dg-spoiler summary{cursor:pointer;padding:10px 14px;font-size:13px;font-weight:600;color:var(--accent2);list-style:none;-webkit-user-select:none;user-select:none}.dg-spoiler summary::-webkit-details-marker{display:none}.dg-spoiler summary:hover{color:var(--head)}.dg-spoiler[open]{background:#756af60d}.dg-spoiler ul{margin:0;padding:2px 16px 12px 32px;font-size:13px;line-height:1.7;color:var(--text)}.acc-login-btn{font-weight:700}.acc-wrap{position:relative}.acc-avatar{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--line-acc,rgba(117,106,246,.4));background:linear-gradient(135deg,#756af6,#c85edf);color:#fff;font-weight:800;font-size:14px;cursor:pointer;display:grid;place-items:center;line-height:1}.acc-avatar.pulse{animation:accpulse 1s ease infinite}@keyframes accpulse{50%{box-shadow:0 0 0 5px #756af640}}.acc-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:80;min-width:230px;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 44px #00000073;padding:8px;overflow:hidden}.acc-menu-head{padding:8px 10px 4px;display:flex;flex-direction:column;gap:1px}.acc-menu-head b{font-size:14px}.acc-menu-head small{color:var(--muted);font-size:12px}.acc-menu-sync{padding:2px 10px 8px;font-family:ui-monospace,monospace;font-size:11px;color:var(--muted);border-bottom:1px solid var(--line);margin-bottom:6px}.acc-menu-item{display:block;width:100%;text-align:left;background:none;border:none;color:var(--text);padding:8px 10px;font-size:13.5px;border-radius:8px;cursor:pointer}.acc-menu-item:hover{background:var(--card)}.acc-menu-item.danger{color:#f66a7a}.acc-modal{background:var(--panel);border:1px solid var(--line);border-radius:18px;width:min(400px,92vw);box-shadow:0 22px 70px #0000008c;overflow:hidden}.acc-tabs{display:flex;align-items:center;border-bottom:1px solid var(--line)}.acc-tabs button{flex:none;background:none;border:none;color:var(--muted);padding:14px 18px;font-size:14px;font-weight:700;cursor:pointer;border-bottom:2px solid transparent}.acc-tabs button.active{color:var(--text);border-bottom-color:#756af6}.acc-close{margin-left:auto;font-size:14px}.acc-body{padding:18px 20px 20px}.acc-sub{margin:0 0 14px;color:var(--muted);font-size:13px;line-height:1.55}.acc-field{display:block;margin-bottom:12px}.acc-field span{display:block;font-size:12px;color:var(--muted);margin-bottom:5px;font-weight:600}.acc-field input{width:100%;box-sizing:border-box;background:var(--card);border:1px solid var(--line);color:var(--text);border-radius:10px;padding:10px 13px;font-size:14px}.acc-field input:focus{outline:none;border-color:#756af6}.acc-error{background:#f66a7a1a;border:1px solid rgba(246,106,122,.35);color:#f8a3ae;border-radius:9px;padding:8px 12px;font-size:13px;margin-bottom:12px}.acc-submit{width:100%;padding:11px;font-size:14.5px}.dg-goals{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 14px;background:#0a0e3999;border-bottom:1px solid rgba(104,109,241,.18)}.dg-goals-title{font-family:var(--font-mono);font-size:9.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#8b99c8;margin-right:4px}.dg-goal{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:var(--muted);background:#ffffff0a;border:1px solid rgba(129,134,184,.25);border-radius:999px;padding:4px 12px;transition:border-color .25s,color .25s,background .25s}.dg-goal i{font-style:normal;font-weight:800}.dg-goal b{font-family:var(--font-mono);font-size:11px;font-weight:700;color:inherit;opacity:.85}.dg-goal.ok{color:var(--ok);border-color:#4ed49d73;background:#4ed49d12}.dg-goal.bad{color:#f8a3ae;border-color:#f66a7a73;background:#f66a7a0f}.dg-legend{display:grid;grid-template-columns:max-content 1fr;gap:12px 18px;align-items:start;margin-top:16px;padding:15px 17px;background:#0d103480;border:1px solid rgba(104,109,241,.18);border-radius:12px}.dg-legend-k{color:var(--accent2);font-weight:700;font-size:13px;white-space:nowrap;font-variant-emoji:text}.dg-legend-v{color:var(--muted);font-size:12.5px;line-height:1.5}.dg-node-info{margin:6px 0 4px;font-size:12px;line-height:1.55;color:var(--muted)}.dg-badflash{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:40;background:#be3c48f5;color:#fff;padding:8px 16px;border-radius:20px;font-size:13px;font-weight:600;box-shadow:0 8px 26px #00000073;animation:dg-flash .25s ease}@keyframes dg-flash{0%{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%)}}.pz-edge-invalid{position:absolute;pointer-events:all;font-size:17px;cursor:pointer;filter:drop-shadow(0 0 4px rgba(242,107,127,.8))}.dg-stars{display:inline-flex;align-items:center;gap:3px;margin-left:12px;vertical-align:middle}.dg-star{font-size:17px;color:#8c96be59}.dg-star.on{color:#f6c545;text-shadow:0 0 8px rgba(246,197,69,.6)}.dg-stars em{margin-left:8px;font-style:normal;font-size:11.5px;color:var(--muted);font-weight:500}.dg-testrun{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--card)}.dg-testrun-head{padding:11px 15px;font-weight:700;font-size:13.5px;display:flex;align-items:center;flex-wrap:wrap;gap:6px}.dg-testrun-head.ok{background:#22c55e1f;color:var(--ok)}.dg-testrun-head.bad{background:#ef44441a;color:#fbb}.dg-testrun-list{list-style:none;margin:0;padding:8px 10px;display:flex;flex-direction:column;gap:5px}.dg-testrun-list li{display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:10px;font-size:12.5px;padding:7px 11px;border-radius:9px;background:var(--panel);border:1px solid var(--line)}.dg-testrun-list li.ok{border-color:#4ed49d4d}.dg-testrun-list li.fail{border-color:#f66a7a66}.dg-testrun-tick{font-weight:800;text-align:center}.dg-testrun-list li.ok .dg-testrun-tick{color:var(--ok)}.dg-testrun-list li.fail .dg-testrun-tick{color:var(--bad)}.dg-testrun-name{color:var(--text)}.dg-testrun-hidden{font-style:normal;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-left:6px}.dg-testrun-actual{font-family:var(--font-mono,ui-monospace,monospace);font-size:11.5px;color:var(--muted);text-align:right;white-space:nowrap}.dg-testrun-list li.fail .dg-testrun-actual{color:#f5a5b0}.dg-hints{margin-top:12px;border:1px dashed rgba(104,109,241,.35);border-radius:12px;padding:12px 14px}.dg-hints-head{font-size:13px;font-weight:700;margin-bottom:8px}.dg-hints-warn{font-weight:500;font-size:11px;color:var(--muted)}.dg-hint{background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:8px 11px;font-size:13px;margin-bottom:7px;line-height:1.5}.dg-hint b{color:var(--accent2);margin-right:5px}.dg-hint-btn{display:inline-block;background:var(--card);border:1px solid var(--line);color:var(--text);border-radius:9px;padding:8px 14px;font-size:12.5px;cursor:pointer;margin:2px 6px 2px 0}.dg-hint-btn:hover{border-color:var(--accent)}.dg-hint-btn.ai{color:var(--accent2);border-color:#686df166}.pz-diagram .react-flow__edge.invalid .react-flow__edge-path{stroke:#f26b7f!important}.pz-explain-btn{margin-top:12px;background:var(--card);border:1px solid rgba(104,109,241,.4);color:var(--accent2);border-radius:10px;padding:9px 16px;font-size:13px;cursor:pointer;font-weight:600}.pz-explain-btn:hover:not(:disabled){border-color:var(--accent);background:var(--chip)}.pz-explain-btn:disabled{opacity:.6;cursor:default}.pz-explain{margin-top:12px;border:1px solid rgba(104,109,241,.3);border-radius:12px;overflow:hidden;background:var(--card)}.pz-explain-head{padding:9px 14px;font-weight:700;font-size:13px;color:var(--accent2);background:var(--chip);border-bottom:1px solid var(--line)}.pz-explain-body{padding:12px 15px;font-size:13.5px;line-height:1.6;white-space:pre-wrap}.pz-whatif-code{margin:0;padding:12px 15px;background:var(--code-bg);font-family:ui-monospace,monospace;font-size:12.5px;overflow-x:auto;border-bottom:1px solid var(--line);white-space:pre-wrap}.pz button:focus-visible,.pz a:focus-visible,.pz input:focus-visible,.pz select:focus-visible,.pz textarea:focus-visible,.pz [role=tab]:focus-visible,.pz [tabindex]:focus-visible,.dg-node:focus-visible,.dg-palette__item:focus-visible,.pz-modal button:focus-visible{outline:2px solid var(--accent2);outline-offset:2px;border-radius:6px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.bk .layout{display:flex;min-height:calc(100vh - 46px)}.bk .bk-sidebar{width:322px;flex:none;background:var(--panel);border-right:1px solid var(--line);height:calc(100vh - 46px);position:sticky;top:46px;overflow-y:auto;overscroll-behavior:contain}.bk .bk-brand{padding:14px 18px 12px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--panel);z-index:2}.bk .bk-brand .book-progress{height:3px;background:var(--card2);border-radius:9px;overflow:hidden;margin-bottom:10px}.bk .bk-brand .book-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));width:0;transition:width .3s}.bk .bk-search{width:100%;background:var(--card);border:1px solid var(--line);color:var(--text);border-radius:9px;padding:9px 12px;font-size:13.5px}.bk .bk-search:focus{outline:none;border-color:var(--accent)}.bk .bk-nav{padding:8px 10px 40px}.bk .nav-part{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:700;margin:15px 10px 5px}.bk .nav-item{margin:1px 0}.bk .nav-ch{display:block;padding:7px 12px;border-radius:8px;color:var(--text);font-size:13.5px;line-height:1.35;cursor:pointer}.bk .nav-ch:hover{background:var(--card)}.bk .nav-ch.active{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-weight:600}.bk .subnav{margin:3px 0 6px 8px;padding-left:10px;border-left:2px solid var(--line)}.bk .subnav a{display:block;padding:5px 10px;border-radius:7px;color:var(--muted);font-size:12.5px;line-height:1.3;cursor:pointer}.bk .subnav a:hover{background:var(--card);color:var(--text)}.bk .subnav a.active{color:var(--accent2);font-weight:600}.bk .subnav a.active .sn{color:var(--accent2)}.bk .subnav .sn{color:var(--muted);opacity:.75;font-variant-numeric:tabular-nums;margin-right:5px;font-weight:700}.bk .bk-hits{padding:4px 10px}.bk .hit{display:block;padding:8px 12px;border-radius:8px;font-size:13px;color:var(--text);cursor:pointer}.bk .hit:hover{background:var(--card)}.bk .hit b{color:var(--accent2)}.bk .hit small{display:block;color:var(--muted);font-size:11.5px;margin-top:2px}.bk .bk-main{flex:1;min-width:0;display:flex;justify-content:center}.bk .bk-reader{max-width:800px;width:100%;padding:16px 44px 120px}.bk .bk-topbar{display:flex;align-items:center;gap:8px;position:sticky;top:46px;z-index:5;background:linear-gradient(var(--bg) 60%,transparent);padding:12px 0 10px}.bk .bk-topbar .sp{flex:1}.bk .crumb{font-size:12.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bk .crumb b{color:var(--text);font-weight:600}.bk .menu-btn{display:none}.bk .bk-progress{height:4px;background:var(--card2);border-radius:99px;overflow:hidden;margin:2px 0 8px}.bk .bk-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));width:0}.bk .ch-meta{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin:14px 0 26px}.bk .ch-meta .row{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;font-size:12.5px;color:var(--muted)}.bk .ch-meta .row+.row{margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}.bk .ch-meta .lab{font-weight:700;color:var(--text);font-size:12px}.bk .ch-meta .badge{background:var(--card2);border:1px solid var(--line);border-radius:999px;padding:2px 10px;font-size:11.5px}.bk .chip{background:var(--chip);border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-size:12.5px;color:var(--accent2);cursor:pointer}.bk .chip:hover{border-color:var(--accent)}.bk .chip.dep{--chip:transparent}.bk .bk-chapnav{display:flex;justify-content:space-between;gap:12px;margin-top:46px;padding-top:22px;border-top:1px solid var(--line)}.bk .bk-chapnav a{flex:1;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:13px 16px;color:var(--text);font-size:14px;cursor:pointer}.bk .bk-chapnav a:hover{border-color:var(--accent)}.bk .bk-chapnav .lbl{display:block;font-size:11.5px;color:var(--muted);margin-bottom:3px}.bk .bk-chapnav .r{text-align:right}.bk .bk-chapnav a.empty{visibility:hidden}.bk .bk-totop{position:fixed;right:22px;bottom:22px;width:42px;height:42px;border-radius:50%;background:var(--accent);color:#fff;border:none;font-size:19px;cursor:pointer;box-shadow:0 6px 20px #0000004d;opacity:0;pointer-events:none;transition:opacity .2s;z-index:30}.bk .bk-totop.show{opacity:1;pointer-events:auto}.bk .backdrop{display:none}@media(max-width:960px){.bk .bk-sidebar{position:fixed;left:0;top:46px;z-index:40;transform:translate(-100%);transition:transform .22s}.bk .bk-sidebar.open{transform:none}.bk .backdrop.show{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:39}.bk .menu-btn{display:inline-block}.bk .bk-reader{padding:14px 18px 100px}.bk .bk article h1{font-size:24px}.bk .bk article h2{font-size:20px}}.bk .crumb .crumb-sec{color:var(--accent2);font-weight:600}.qz *{box-sizing:border-box}.qz body{margin:0;background:var(--bg);color:var(--text);font:16px/1.55 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif;background-image:radial-gradient(900px 400px at 80% -10%,rgba(124,92,255,.12),transparent),radial-gradient(700px 350px at 0% 100%,rgba(34,197,94,.06),transparent);background-attachment:fixed;transition:background .2s,color .2s}.qz #app{max-width:880px;margin:0 auto;padding:24px 16px 80px}.qz h1{font-size:25px;margin:0 0 6px}.qz h2{font-size:19px;margin:0 0 14px}.qz button{font-family:inherit}.qz .sub{color:var(--muted);margin:0 0 6px;font-size:14px}.qz .hint{color:var(--muted);font-size:12.5px;margin:14px 0 0}.qz .ok-text{color:var(--ok)}.qz .bad-text{color:var(--bad)}.qz .card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px;margin-top:16px;box-shadow:0 8px 30px #00000040}.qz .head-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}.qz .head-btns{display:flex;gap:8px}.qz .sec-head{display:flex;justify-content:space-between;align-items:center;font-weight:600;margin:20px 0 10px;font-size:15px;color:#c3cce0}.qz .mini{background:var(--card2);border:1px solid var(--line);color:var(--muted);border-radius:8px;padding:4px 10px;font-size:12.5px;cursor:pointer;margin-left:6px}.qz .mini:hover{color:var(--text);border-color:var(--accent)}.qz .cat-mini .mini:first-child{margin-left:0}.qz .topic-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}@media(max-width:640px){.qz .topic-grid{grid-template-columns:1fr}}.qz .cats{display:flex;flex-direction:column;gap:8px}.qz .catgrp{background:var(--card2);border:1px solid var(--line);border-radius:12px;overflow:hidden}.qz .catgrp.off{opacity:.55}.qz .catgrp summary{list-style:none;display:flex;align-items:center;gap:10px;padding:11px 14px;cursor:pointer;font-weight:600;font-size:14.5px}.qz .catgrp summary::-webkit-details-marker{display:none}.qz .catgrp .arrow{color:var(--muted);transition:transform .15s;font-size:12px}.qz .catgrp[open] .arrow{transform:rotate(90deg)}.qz .cat-cnt{margin-left:auto;color:var(--muted);font-weight:400;font-size:12.5px;white-space:nowrap}.qz .cat-body{padding:4px 12px 12px;border-top:1px solid var(--line)}.qz .cat-body .topic-grid .chk{background:var(--card)}.qz .cat-mini{margin:8px 0 10px}.qz .chk{display:flex;align-items:center;gap:9px;background:var(--card2);border:1px solid var(--line);border-radius:10px;padding:9px 12px;cursor:pointer;font-size:14px}.qz .chk:has(input:checked){border-color:var(--accent);background:#7c5cff1a}.qz .chk input{accent-color:var(--accent);width:16px;height:16px;flex:none}.qz .chk em{color:var(--muted);font-style:normal;font-size:12px}.qz .chk.small{border:none;background:none;padding:6px 0;color:var(--muted)}.qz .level-row{display:flex;gap:8px;flex-wrap:wrap}.qz .pill{border-radius:999px}.qz .cnt-row{display:flex;align-items:center;gap:14px;margin-bottom:8px}.qz input[type=range]{flex:1;accent-color:var(--accent)}.qz .cnt-val{font-size:22px;font-weight:700;min-width:44px;text-align:center}.qz .cnt-max{color:var(--muted);font-size:13px;white-space:nowrap}.qz .mode-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}@media(max-width:640px){.qz .mode-row{grid-template-columns:1fr}}.qz .mode{display:flex;gap:10px;align-items:flex-start;background:var(--card2);border:1px solid var(--line);border-radius:12px;padding:12px;cursor:pointer}.qz .mode:has(input:checked){border-color:var(--accent);background:#7c5cff1a}.qz .mode.dis{opacity:.45;cursor:not-allowed}.qz .mode input{accent-color:var(--accent);margin-top:4px}.qz .mode small{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}.qz .start{width:100%;margin-top:22px;padding:14px;border:none;border-radius:12px;font-size:17px;font-weight:700;color:#fff;cursor:pointer;background:linear-gradient(135deg,var(--accent),var(--accent2))}.qz .start:disabled{opacity:.4;cursor:not-allowed}.qz .warn{color:var(--warn);font-size:13px;margin-top:8px;text-align:center}.qz .topbar{display:flex;align-items:center;gap:12px;margin-top:6px}.qz .progress-label{font-weight:600;color:#c3cce0}.qz .timer{margin-left:auto;font-variant-numeric:tabular-nums;font-weight:700;background:var(--card2);border:1px solid var(--line);padding:4px 12px;border-radius:8px}.qz .timer.danger{color:var(--bad);border-color:var(--bad)}.qz .quit{margin-left:auto}.qz .timer~.quit{margin-left:0}.qz .pbar{height:5px;background:var(--card2);border-radius:99px;margin-top:10px;overflow:hidden}.qz .pfill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:width .3s}.qz .palette{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}.qz .pal{width:34px;height:30px;border-radius:8px;border:1px solid var(--line);background:var(--card2);color:var(--muted);font-size:12.5px;cursor:pointer}.qz .pal.done{background:#7c5cff2e;color:var(--text);border-color:var(--accent)}.qz .pal.cur{outline:2px solid var(--accent2)}.qz .meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;align-items:center}.qz .badge{font-size:11.5px;padding:3px 10px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}.qz .badge.lvl.middle{color:#4ade80;border-color:#4ade8066}.qz .badge.lvl.senior{color:#a78bfa;border-color:#a78bfa73}.qz .badge.lvl.expert{color:#f472b6;border-color:#f472b673}.qz .badge.st{border-style:dashed}.qz .flag{margin-left:auto;background:none;border:none;color:var(--warn);font-size:21px;cursor:pointer;line-height:1;padding:2px 6px;opacity:.5}.qz .flag.on{opacity:1}.qz .qtext{font-size:17px;font-weight:600;margin-bottom:14px;white-space:pre-wrap}.qz .qtext.sm{font-size:15px}.qz .code{background:var(--code-bg);border:1px solid var(--line);border-radius:10px;padding:14px;overflow-x:auto;font:13.5px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#d7e2f5;margin:0 0 16px;white-space:pre;-moz-tab-size:4;tab-size:4}.qz .tk-kw{color:#c792ea}.qz .tk-str{color:#c3e88d}.qz .tk-com{color:#5b6b8c;font-style:italic}.qz .tk-num{color:#f78c6c}.qz .tk-type{color:#82aaff}.qz .opts{display:flex;flex-direction:column;gap:9px}.qz .opt{display:flex;gap:12px;align-items:flex-start;text-align:left;background:var(--card2);border:1px solid var(--line);border-radius:11px;padding:12px 14px;color:var(--text);font-size:15px;cursor:pointer;transition:border-color .12s}.qz .opt:hover:not(:disabled){border-color:var(--accent)}.qz .opt .letter{flex:none;width:26px;height:26px;border-radius:8px;background:#7c5cff29;color:var(--accent2);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}.qz .opt.picked{border-color:var(--accent);background:#7c5cff21}.qz .opt.correct{border-color:var(--ok);background:#22c55e21}.qz .opt.correct .letter{background:#22c55e33;color:var(--ok)}.qz .opt.wrong{border-color:var(--bad);background:#ef44441f}.qz .opt.wrong .letter{background:#ef444433;color:var(--bad)}.qz .opt:disabled{cursor:default;opacity:.92}.qz .feedback{margin-top:14px;padding:13px 15px;border-radius:11px;font-size:14.5px;line-height:1.6}.qz .feedback.ok{background:#22c55e1a;border:1px solid rgba(34,197,94,.35)}.qz .feedback.bad{background:#ef444417;border:1px solid rgba(239,68,68,.35)}.qz .nav{display:flex;justify-content:space-between;gap:10px;margin-top:18px}.qz .nav.center{justify-content:center;align-items:center}.qz .nav.wrap{flex-wrap:wrap}.qz .primary{margin-left:auto;background:linear-gradient(135deg,var(--accent),var(--accent2));border:none;color:#fff;font-weight:700;padding:11px 26px;border-radius:10px;font-size:15px;cursor:pointer}.qz .nav.center .primary{margin-left:0}.qz .ghost{background:none;border:1px solid var(--line);color:var(--muted);padding:11px 20px;border-radius:10px;font-size:15px;cursor:pointer}.qz .ghost:hover{color:var(--text);border-color:var(--accent)}.qz .ghost.sm{padding:7px 14px;font-size:13.5px}.qz .ghost.danger:hover{border-color:var(--bad);color:var(--bad)}.qz .ghost:disabled{opacity:.35;cursor:default}.qz .result-head{text-align:center}.qz .score{font-size:44px;font-weight:800;margin:10px 0 2px}.qz .score small{font-size:22px;color:var(--muted);font-weight:600}.qz .grade{font-size:16px;font-weight:600;margin:4px 0 2px}.qz .trow{display:grid;grid-template-columns:1fr auto 130px;gap:12px;align-items:center;padding:7px 0;font-size:14px;border-bottom:1px solid rgba(42,53,80,.5)}.qz .trow:last-child{border:none}.qz .tnum{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.qz .tbar{height:8px;background:var(--card2);border-radius:99px;overflow:hidden;display:flex}.qz .tbar i{display:block;height:100%}.qz .tbar:not(.dual) i{border-radius:99px}.qz .review{border:1px solid var(--line);border-left-width:4px;border-radius:12px;padding:15px;margin-top:12px;background:var(--card2)}.qz .review.r-bad{border-left-color:var(--bad)}.qz .review.r-ok{border-left-color:var(--ok)}.qz .ans{font-size:14px;margin-top:6px}.qz .ans.ok{color:var(--ok)}.qz .ans.bad{color:var(--bad)}.qz .expl{font-size:13.5px;color:#b9c3d8;margin-top:9px;padding-top:9px;border-top:1px dashed var(--line);line-height:1.6}.qz .stat-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}@media(max-width:640px){.qz .stat-tiles{grid-template-columns:1fr 1fr}}.qz .tile{background:var(--card2);border:1px solid var(--line);border-radius:12px;padding:14px;text-align:center}.qz .tile b{display:block;font-size:26px}.qz .tile span{color:var(--muted);font-size:12.5px}.qz .trow.hist{grid-template-columns:1fr auto 100px}.qz .browse-filters{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.qz .search{flex:1;min-width:220px;background:var(--card2);border:1px solid var(--line);color:var(--text);border-radius:10px;padding:10px 14px;font-size:14px}.qz .search:focus{outline:none;border-color:var(--accent)}.qz select{background:var(--card2);border:1px solid var(--line);color:var(--text);border-radius:10px;padding:10px 12px;font-size:13.5px}.qz .browse-item{padding:16px}.qz .page-label{color:var(--muted);font-size:13.5px}.qz .ghost.sm.icon{padding:7px 10px;font-size:15px}.qz .refs{margin-top:12px;padding-top:10px;border-top:1px dashed var(--line);display:flex;flex-wrap:wrap;gap:8px;align-items:center}.qz .refs-label{font-size:12.5px;color:var(--muted);font-weight:600}.qz .ref-link{font-size:12.5px;color:var(--accent2);text-decoration:none;background:#7c5cff1a;border:1px solid var(--line);padding:3px 10px;border-radius:999px;transition:border-color .12s}.qz .ref-link:hover{border-color:var(--accent);text-decoration:underline}.qz .marathon-hud{margin-left:auto;display:flex;gap:12px;align-items:center;font-weight:700}.qz .marathon-hud .lives{font-size:15px;letter-spacing:1px}.qz .marathon-hud .streak{background:var(--card2);border:1px solid var(--line);padding:4px 12px;border-radius:8px;font-variant-numeric:tabular-nums}.qz .marathon-note{background:#f59e0b1a;border:1px solid rgba(245,158,11,.35);border-radius:12px;padding:13px 15px;font-size:14px;margin-top:16px;line-height:1.5}td.linenos .normal,span.linenos{color:inherit;background-color:transparent;padding-left:5px;padding-right:5px}[data-theme=dark] .bk .hl .hll{background-color:#49483e}[data-theme=dark] .bk .hl{background:#272822;color:#f8f8f2}[data-theme=dark] .bk .hl .c{color:#959077}[data-theme=dark] .bk .hl .err{color:#ed007e;background-color:#1e0010}[data-theme=dark] .bk .hl .esc,[data-theme=dark] .bk .hl .g{color:#f8f8f2}[data-theme=dark] .bk .hl .k{color:#66d9ef}[data-theme=dark] .bk .hl .l{color:#ae81ff}[data-theme=dark] .bk .hl .n{color:#f8f8f2}[data-theme=dark] .bk .hl .o{color:#ff4689}[data-theme=dark] .bk .hl .x,[data-theme=dark] .bk .hl .p{color:#f8f8f2}[data-theme=dark] .bk .hl .ch,[data-theme=dark] .bk .hl .cm,[data-theme=dark] .bk .hl .cp,[data-theme=dark] .bk .hl .cpf,[data-theme=dark] .bk .hl .c1,[data-theme=dark] .bk .hl .cs{color:#959077}[data-theme=dark] .bk .hl .gd{color:#ff4689}[data-theme=dark] .bk .hl .ge{color:#f8f8f2;font-style:italic}[data-theme=dark] .bk .hl .ges{color:#f8f8f2;font-weight:700;font-style:italic}[data-theme=dark] .bk .hl .gr,[data-theme=dark] .bk .hl .gh{color:#f8f8f2}[data-theme=dark] .bk .hl .gi{color:#a6e22e}[data-theme=dark] .bk .hl .go{color:#66d9ef}[data-theme=dark] .bk .hl .gp{color:#ff4689;font-weight:700}[data-theme=dark] .bk .hl .gs{color:#f8f8f2;font-weight:700}[data-theme=dark] .bk .hl .gu{color:#959077}[data-theme=dark] .bk .hl .gt{color:#f8f8f2}[data-theme=dark] .bk .hl .kc,[data-theme=dark] .bk .hl .kd{color:#66d9ef}[data-theme=dark] .bk .hl .kn{color:#ff4689}[data-theme=dark] .bk .hl .kp,[data-theme=dark] .bk .hl .kr,[data-theme=dark] .bk .hl .kt{color:#66d9ef}[data-theme=dark] .bk .hl .ld{color:#e6db74}[data-theme=dark] .bk .hl .m{color:#ae81ff}[data-theme=dark] .bk .hl .s{color:#e6db74}[data-theme=dark] .bk .hl .na{color:#a6e22e}[data-theme=dark] .bk .hl .nb{color:#f8f8f2}[data-theme=dark] .bk .hl .nc{color:#a6e22e}[data-theme=dark] .bk .hl .no{color:#66d9ef}[data-theme=dark] .bk .hl .nd{color:#a6e22e}[data-theme=dark] .bk .hl .ni{color:#f8f8f2}[data-theme=dark] .bk .hl .ne,[data-theme=dark] .bk .hl .nf{color:#a6e22e}[data-theme=dark] .bk .hl .nl,[data-theme=dark] .bk .hl .nn{color:#f8f8f2}[data-theme=dark] .bk .hl .nx{color:#a6e22e}[data-theme=dark] .bk .hl .py{color:#f8f8f2}[data-theme=dark] .bk .hl .nt{color:#ff4689}[data-theme=dark] .bk .hl .nv{color:#f8f8f2}[data-theme=dark] .bk .hl .ow{color:#ff4689}[data-theme=dark] .bk .hl .pm,[data-theme=dark] .bk .hl .w{color:#f8f8f2}[data-theme=dark] .bk .hl .mb,[data-theme=dark] .bk .hl .mf,[data-theme=dark] .bk .hl .mh,[data-theme=dark] .bk .hl .mi,[data-theme=dark] .bk .hl .mo{color:#ae81ff}[data-theme=dark] .bk .hl .sa,[data-theme=dark] .bk .hl .sb,[data-theme=dark] .bk .hl .sc,[data-theme=dark] .bk .hl .dl,[data-theme=dark] .bk .hl .sd,[data-theme=dark] .bk .hl .s2{color:#e6db74}[data-theme=dark] .bk .hl .se{color:#ae81ff}[data-theme=dark] .bk .hl .sh,[data-theme=dark] .bk .hl .si,[data-theme=dark] .bk .hl .sx,[data-theme=dark] .bk .hl .sr,[data-theme=dark] .bk .hl .s1,[data-theme=dark] .bk .hl .ss{color:#e6db74}[data-theme=dark] .bk .hl .bp{color:#f8f8f2}[data-theme=dark] .bk .hl .fm{color:#a6e22e}[data-theme=dark] .bk .hl .vc,[data-theme=dark] .bk .hl .vg,[data-theme=dark] .bk .hl .vi,[data-theme=dark] .bk .hl .vm{color:#f8f8f2}[data-theme=dark] .bk .hl .il{color:#ae81ff}pre{line-height:125%}td.linenos .normal,span.linenos{color:#666;background-color:transparent;padding-left:5px;padding-right:5px}td.linenos .special,span.linenos.special{color:#000;background-color:#ffffc0;padding-left:5px;padding-right:5px}[data-theme=light] .bk .hl .hll{background-color:#ffc}[data-theme=light] .bk .hl{background:#f0f0f0}[data-theme=light] .bk .hl .c{color:#60a0b0;font-style:italic}[data-theme=light] .bk .hl .err{border:1px solid #F00}[data-theme=light] .bk .hl .k{color:#007020;font-weight:700}[data-theme=light] .bk .hl .o{color:#666}[data-theme=light] .bk .hl .ch,[data-theme=light] .bk .hl .cm{color:#60a0b0;font-style:italic}[data-theme=light] .bk .hl .cp{color:#007020}[data-theme=light] .bk .hl .cpf,[data-theme=light] .bk .hl .c1{color:#60a0b0;font-style:italic}[data-theme=light] .bk .hl .cs{color:#60a0b0;background-color:#fff0f0}[data-theme=light] .bk .hl .gd{color:#a00000}[data-theme=light] .bk .hl .ge{font-style:italic}[data-theme=light] .bk .hl .ges{font-weight:700;font-style:italic}[data-theme=light] .bk .hl .gr{color:red}[data-theme=light] .bk .hl .gh{color:navy;font-weight:700}[data-theme=light] .bk .hl .gi{color:#00a000}[data-theme=light] .bk .hl .go{color:#888}[data-theme=light] .bk .hl .gp{color:#c65d09;font-weight:700}[data-theme=light] .bk .hl .gs{font-weight:700}[data-theme=light] .bk .hl .gu{color:purple;font-weight:700}[data-theme=light] .bk .hl .gt{color:#04d}[data-theme=light] .bk .hl .kc,[data-theme=light] .bk .hl .kd,[data-theme=light] .bk .hl .kn{color:#007020;font-weight:700}[data-theme=light] .bk .hl .kp{color:#007020}[data-theme=light] .bk .hl .kr{color:#007020;font-weight:700}[data-theme=light] .bk .hl .kt{color:#902000}[data-theme=light] .bk .hl .m{color:#40a070}[data-theme=light] .bk .hl .s,[data-theme=light] .bk .hl .na{color:#4070a0}[data-theme=light] .bk .hl .nb{color:#007020}[data-theme=light] .bk .hl .nc{color:#0e84b5;font-weight:700}[data-theme=light] .bk .hl .no{color:#60add5}[data-theme=light] .bk .hl .nd{color:#555;font-weight:700}[data-theme=light] .bk .hl .ni{color:#d55537;font-weight:700}[data-theme=light] .bk .hl .ne{color:#007020}[data-theme=light] .bk .hl .nf{color:#06287e}[data-theme=light] .bk .hl .nl{color:#002070;font-weight:700}[data-theme=light] .bk .hl .nn{color:#0e84b5;font-weight:700}[data-theme=light] .bk .hl .nt{color:#062873;font-weight:700}[data-theme=light] .bk .hl .nv{color:#bb60d5}[data-theme=light] .bk .hl .ow{color:#007020;font-weight:700}[data-theme=light] .bk .hl .w{color:#bbb}[data-theme=light] .bk .hl .mb,[data-theme=light] .bk .hl .mf,[data-theme=light] .bk .hl .mh,[data-theme=light] .bk .hl .mi,[data-theme=light] .bk .hl .mo{color:#40a070}[data-theme=light] .bk .hl .sa,[data-theme=light] .bk .hl .sb,[data-theme=light] .bk .hl .sc,[data-theme=light] .bk .hl .dl{color:#4070a0}[data-theme=light] .bk .hl .sd{color:#4070a0;font-style:italic}[data-theme=light] .bk .hl .s2{color:#4070a0}[data-theme=light] .bk .hl .se{color:#4070a0;font-weight:700}[data-theme=light] .bk .hl .sh{color:#4070a0}[data-theme=light] .bk .hl .si{color:#70a0d0;font-style:italic}[data-theme=light] .bk .hl .sx{color:#c65d09}[data-theme=light] .bk .hl .sr{color:#235388}[data-theme=light] .bk .hl .s1{color:#4070a0}[data-theme=light] .bk .hl .ss{color:#517918}[data-theme=light] .bk .hl .bp{color:#007020}[data-theme=light] .bk .hl .fm{color:#06287e}[data-theme=light] .bk .hl .vc,[data-theme=light] .bk .hl .vg,[data-theme=light] .bk .hl .vi,[data-theme=light] .bk .hl .vm{color:#bb60d5}[data-theme=light] .bk .hl .il{color:#40a070}.appbar .logo{display:flex;align-items:center;gap:9px}.appbar .logo .logo-name{font-weight:800;font-size:16px;letter-spacing:-.01em;background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;color:transparent}.appbar .logo small{margin-left:0}.st-loading,.st-error{display:flex;align-items:center;justify-content:center;min-height:50vh;padding:40px;color:var(--muted);font-size:15px}.st-error{color:var(--bad)}.st-auth{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(900px 500px at 80% -10%,rgba(124,92,255,.16),transparent),radial-gradient(700px 400px at 0% 110%,rgba(34,197,94,.07),transparent),var(--bg)}.st-auth-card{width:min(400px,100%);background:var(--panel);border:1px solid var(--line);border-radius:20px;box-shadow:0 22px 70px #00000080;padding:30px 28px 26px;display:flex;flex-direction:column}.st-auth-brand{margin-bottom:14px}.st-auth-logo{margin:0;font-size:30px;font-weight:800;letter-spacing:-.02em;background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;color:transparent}.st-auth-sub{margin:4px 0 22px;color:var(--muted);font-size:14px}.st-field{display:block;margin-bottom:14px}.st-field span{display:block;font-size:12px;color:var(--muted);margin-bottom:6px;font-weight:600}.st-field input{width:100%;box-sizing:border-box;background:var(--card);border:1px solid var(--line);color:var(--text);border-radius:10px;padding:11px 13px;font-size:14px}.st-field input:focus{outline:none;border-color:var(--accent)}.st-auth-error{background:#ef44441a;border:1px solid rgba(239,68,68,.35);color:#f8a3ae;border-radius:10px;padding:9px 13px;font-size:13.5px;margin-bottom:14px}.st-auth-submit{width:100%;padding:12px;margin-top:6px;border:none;border-radius:11px;font-size:15px;font-weight:700;color:#fff;cursor:pointer;background:linear-gradient(135deg,var(--accent),var(--accent2))}.st-auth-submit:disabled{opacity:.5;cursor:default}.st-auth-switch{margin-top:14px;background:none;border:none;color:var(--accent2);font-size:13.5px;cursor:pointer;text-align:center}.st-auth-switch:hover{text-decoration:underline}
