.back-to-top{position:fixed;bottom:2rem;right:2rem;width:48px;height:48px;border-radius:50%;background:#1a73e8;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #1a73e84d;transition:all .3s ease;z-index:900;opacity:0;visibility:hidden;transform:translateY(20px)}.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{background:#1557b0;transform:translateY(-3px);box-shadow:0 6px 20px #1a73e866}.back-to-top:active{transform:translateY(-1px)}.back-to-top:focus{outline:2px solid #1a73e8;outline-offset:3px}.back-to-top svg{font-size:1.25rem}[data-theme=dark] .back-to-top{background:#8ab4f8;color:#202124;box-shadow:0 4px 12px #8ab4f84d}[data-theme=dark] .back-to-top:hover{background:#aecbfa;box-shadow:0 6px 20px #8ab4f866}[data-theme=dark] .back-to-top:focus{outline-color:#8ab4f8}@media(max-width:768px){.back-to-top{width:44px;height:44px;bottom:1.5rem;right:1.5rem}.back-to-top svg{font-size:1.1rem}}@media(max-width:480px){.back-to-top{width:40px;height:40px;bottom:1rem;right:1rem}}.interactive-code-block{--icb-primary: #1a73e8;--icb-primary-hover: #1557b0;--icb-success: #34a853;--icb-error: #ea4335;--icb-warning: #fbbc04;--icb-radius: 12px;--icb-radius-sm: 8px;--icb-transition: .2s cubic-bezier(.4, 0, .2, 1)}.interactive-code-block{font-family:Google Sans,Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;border-radius:var(--icb-radius);overflow:hidden;margin:1.5rem 0;box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d;transition:box-shadow var(--icb-transition)}.interactive-code-block:hover{box-shadow:0 3px 6px #00000026,0 2px 4px #0000001f}.interactive-code-block.vs-dark{background:#1e1e1e;border:1px solid #333}.interactive-code-block.light{background:#fff;border:1px solid #dadce0}.icb-header{display:flex;justify-content:flex-end;align-items:center;padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.08);min-height:44px}.interactive-code-block.light .icb-header{border-bottom:1px solid #e8eaed}.icb-header-left{display:flex;align-items:center;gap:12px}.icb-header-right{display:flex;align-items:center;gap:4px}.icb-language-pill{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--lang-color, #5f6368);color:#fff;font-size:18px;flex-shrink:0;box-shadow:0 1px 2px #0000001a}.icb-lang-icon{display:flex;align-items:center;justify-content:center}.icb-lang-label{font-size:14px;font-weight:500;color:#9aa0a6;letter-spacing:.1px}.interactive-code-block.light .icb-lang-label{color:#5f6368}.icb-title{font-size:16px;font-weight:500;color:#e8eaed;margin:0;letter-spacing:.1px}.interactive-code-block.light .icb-title{color:#202124}.icb-btn{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;transition:background var(--icb-transition);position:relative}.icb-btn-icon{width:40px;height:40px;border-radius:50%;color:#9aa0a6;font-size:18px;border:none;background:transparent}.icb-btn-icon:before{content:"";position:absolute;inset:0;border-radius:50%;background:currentColor;opacity:0;transition:opacity var(--icb-transition)}.icb-btn-icon:hover:before{opacity:.08}.icb-btn-icon:active:before{opacity:.12}.interactive-code-block.vs-dark .icb-btn-icon:hover{color:#e8eaed}.interactive-code-block.light .icb-btn-icon{color:#5f6368}.interactive-code-block.light .icb-btn-icon:hover{color:#202124}.icb-btn-icon.copied{color:var(--icb-success)}.icb-editor-container{position:relative;transition:height var(--icb-transition)}.icb-editor-container .monaco-editor{padding-top:0!important}.icb-editor-container .monaco-editor .margin{background:transparent!important}.interactive-code-block.vs-dark .icb-editor-container{background:#1e1e1e}.interactive-code-block.light .icb-editor-container{background:#fff}.icb-input-section{padding:8px 16px;border-top:1px solid rgba(255,255,255,.08)}.interactive-code-block.light .icb-input-section{border-top:1px solid #e8eaed}.icb-input-toggle{display:inline-flex;align-items:center;gap:8px;background:transparent;border:none;color:#9aa0a6;font-size:14px;font-weight:500;cursor:pointer;padding:8px 12px;margin:-8px -12px;border-radius:var(--icb-radius-sm);transition:background var(--icb-transition),color var(--icb-transition)}.icb-input-toggle:hover{background:#ffffff14;color:#e8eaed}.interactive-code-block.light .icb-input-toggle{color:#5f6368}.interactive-code-block.light .icb-input-toggle:hover{background:#0000000a;color:#202124}.icb-input-toggle svg{font-size:16px;transition:transform var(--icb-transition)}.icb-stdin{width:100%;margin-top:12px;padding:12px;border-radius:var(--icb-radius-sm);border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:#e8eaed;font-family:Roboto Mono,Fira Code,Consolas,monospace;font-size:13px;resize:vertical;min-height:60px;transition:border-color var(--icb-transition),box-shadow var(--icb-transition)}.interactive-code-block.light .icb-stdin{background:#f8f9fa;border-color:#dadce0;color:#202124}.icb-stdin::placeholder{color:#9aa0a6}.icb-stdin:focus{outline:none;border-color:var(--icb-primary);box-shadow:0 0 0 2px #1a73e833}.icb-actions{padding:16px;display:flex;gap:12px}.icb-run-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 24px;height:40px;min-width:120px;border:none;border-radius:20px;font-size:14px;font-weight:500;letter-spacing:.25px;color:#fff;background:var(--icb-primary);cursor:pointer;transition:background var(--icb-transition),box-shadow var(--icb-transition),transform .1s ease;box-shadow:0 1px 2px #0000001a}.icb-run-btn:hover:not(:disabled){background:var(--icb-primary-hover);box-shadow:0 2px 4px #0003}.icb-run-btn:active:not(:disabled){transform:scale(.98)}.icb-run-btn:disabled{opacity:.6;cursor:not-allowed}.icb-run-btn svg{font-size:16px}.icb-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:icb-spin .8s linear infinite}@keyframes icb-spin{to{transform:rotate(360deg)}}.icb-output{border-top:1px solid rgba(255,255,255,.08);animation:icb-fadeIn .3s ease}.interactive-code-block.light .icb-output{border-top:1px solid #e8eaed}.icb-output-header{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#ffffff0a;font-size:14px;font-weight:500;color:#e8eaed}.interactive-code-block.light .icb-output-header{background:#f8f9fa;color:#202124}.icb-output-meta{font-size:12px;font-weight:400;color:#9aa0a6;padding:4px 8px;background:#ffffff14;border-radius:4px}.interactive-code-block.light .icb-output-meta{background:#0000000a;color:#5f6368}.icb-output-content{padding:16px}.icb-stdout{margin:0;padding:12px 16px;background:#34a85314;border-radius:var(--icb-radius-sm);border-left:4px solid var(--icb-success);font-family:Roboto Mono,Fira Code,Consolas,monospace;font-size:13px;color:#e8eaed;white-space:pre-wrap;word-break:break-word;overflow-x:auto}.interactive-code-block.light .icb-stdout{color:#202124;background:#34a8530f}.icb-stderr{margin-top:12px;padding:12px 16px;background:#ea433514;border-radius:var(--icb-radius-sm);border-left:4px solid var(--icb-error);color:#f28b82;font-size:13px}.interactive-code-block.light .icb-stderr{color:#c5221f;background:#ea43350f}.icb-stderr pre{margin:8px 0 0;font-family:Roboto Mono,Fira Code,Consolas,monospace;font-size:12px;white-space:pre-wrap;word-break:break-word}.icb-status{margin-top:12px;padding:8px 12px;background:#ffffff0a;border-radius:var(--icb-radius-sm);font-size:12px;color:#9aa0a6}.icb-status.success{color:var(--icb-success);background:#34a85314}.icb-comparison{display:flex;align-items:center;margin-top:12px;padding:12px 16px;border-radius:var(--icb-radius-sm);font-size:14px;font-weight:500}.icb-comparison.match{background:#34a8531a;color:var(--icb-success)}.icb-comparison.mismatch{background:#fbbc041a;color:#f9ab00}.icb-comparison-icon{margin-right:8px;font-size:18px;flex-shrink:0}.icb-comparison code{background:#00000026;padding:2px 8px;border-radius:4px;font-family:Roboto Mono,Fira Code,Consolas,monospace;font-size:13px}@keyframes icb-fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.interactive-code-block{margin:1rem 0;border-radius:var(--icb-radius-sm)}.icb-header{padding:12px;min-height:48px}.icb-language-pill{width:36px;height:36px;font-size:16px}.icb-title{font-size:14px}.icb-btn-icon{width:36px;height:36px}.icb-actions{padding:12px}.icb-run-btn{width:100%;justify-content:center}.icb-output-content{padding:12px}.icb-stdout,.icb-stderr{font-size:12px;padding:10px 12px}}.icb-btn:focus-visible,.icb-run-btn:focus-visible,.icb-input-toggle:focus-visible{outline:2px solid var(--icb-primary);outline-offset:2px}@media(prefers-contrast:high){.interactive-code-block{border-width:2px}.icb-stdout,.icb-stderr{border-left-width:6px}}@media(prefers-reduced-motion:reduce){.icb-spinner,.icb-output{animation:none}.icb-run-btn:active:not(:disabled){transform:none}*{transition-duration:.01ms!important}}.code-tabs-container{margin:1.5rem 0}.code-tabs-header{display:flex;flex-direction:column;gap:0}.code-tabs-title{font-size:.8125rem;font-weight:600;color:#5f6368;padding:.5rem 1rem;background:#f1f3f4;border-radius:8px 8px 0 0;border:1px solid #e8eaed;border-bottom:none}[data-theme=dark] .code-tabs-title{background:#292d31;color:#9aa0a6;border-color:#3c4043}.code-tabs-nav{display:flex;gap:0;border-bottom:2px solid #e8eaed;background:#f8f9fa;padding:0 .5rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.code-tabs-title+.code-tabs-nav{border-radius:0}.code-tabs-title~.code-tabs-nav{border-top:1px solid #e8eaed}.code-tabs-header:not(:has(.code-tabs-title)) .code-tabs-nav{border-radius:8px 8px 0 0;border-top:1px solid #e8eaed;border-left:1px solid #e8eaed;border-right:1px solid #e8eaed}[data-theme=dark] .code-tabs-nav{border-bottom-color:#3c4043;background:#21262d}[data-theme=dark] .code-tabs-title~.code-tabs-nav{border-top-color:#3c4043}[data-theme=dark] .code-tabs-header:not(:has(.code-tabs-title)) .code-tabs-nav{border-color:#3c4043}.code-tab-btn{position:relative;padding:.625rem 1.25rem;border:none;background:transparent;color:#5f6368;font-size:.875rem;font-weight:500;font-family:inherit;cursor:pointer;white-space:nowrap;transition:color .2s ease,background .2s ease;margin-bottom:-2px;border-bottom:2px solid transparent}.code-tab-btn:hover{color:#202124;background:#1a73e80a}.code-tab-btn.active{color:#1a73e8;border-bottom-color:#1a73e8;font-weight:600}[data-theme=dark] .code-tab-btn{color:#9aa0a6}[data-theme=dark] .code-tab-btn:hover{color:#e8eaed;background:#8ab4f814}[data-theme=dark] .code-tab-btn.active{color:#8ab4f8;border-bottom-color:#8ab4f8}.code-tabs-content{position:relative}.code-tabs-content .interactive-code-block{margin:0;border-radius:0 0 12px 12px;border-top:none}@media(max-width:768px){.code-tab-btn{padding:.5rem .875rem;font-size:.8125rem}.code-tabs-title{font-size:.75rem;padding:.375rem .75rem}}.av-container{--av-bg: #ffffff;--av-surface: #f8f9fa;--av-border: #e0e4e8;--av-text: #1a1a2e;--av-text-secondary: #5f6368;--av-text-muted: #9aa0a6;--av-primary: #1a73e8;--av-primary-light: rgba(26, 115, 232, .08);--av-success: #1e8e3e;--av-success-light: rgba(30, 142, 62, .1);--av-warning: #f9ab00;--av-warning-light: rgba(249, 171, 0, .1);--av-danger: #d93025;--av-danger-light: rgba(217, 48, 37, .1);--av-accent: #a142f4;--av-accent-light: rgba(161, 66, 244, .1);--av-orange: #e8710a;--av-orange-light: rgba(232, 113, 10, .1);--av-teal: #00897b;--av-teal-light: rgba(0, 137, 123, .1);--av-code-bg: #fafbfc;--av-code-highlight: rgba(26, 115, 232, .12);--av-code-highlight-border: rgba(26, 115, 232, .4);--av-code-line-number: #b0b8c1;--av-cell-default: #e8eaed;--av-cell-default-text: #202124;--av-cell-active: #1a73e8;--av-cell-highlighted: #34a853;--av-cell-compared: #f9ab00;--av-cell-found: #1e8e3e;--av-cell-sorted: #00897b;--av-cell-visited: #9aa0a6;--av-cell-pivot: #a142f4;--av-cell-swapping: #e8710a;--av-cell-inserted: #1a73e8;--av-shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--av-shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--av-shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--av-radius: 10px;--av-radius-sm: 6px}[data-theme=dark] .av-container,.av-container.vs-dark{--av-bg: #1e1e2e;--av-surface: #252535;--av-border: #3c3c52;--av-text: #e0e0f0;--av-text-secondary: #a0a0b8;--av-text-muted: #6e6e88;--av-primary: #8ab4f8;--av-primary-light: rgba(138, 180, 248, .12);--av-success: #81c995;--av-success-light: rgba(129, 201, 149, .12);--av-warning: #fdd663;--av-warning-light: rgba(253, 214, 99, .12);--av-danger: #f28b82;--av-danger-light: rgba(242, 139, 130, .12);--av-accent: #c58af9;--av-accent-light: rgba(197, 138, 249, .12);--av-orange: #fcad70;--av-orange-light: rgba(252, 173, 112, .12);--av-teal: #4db6ac;--av-teal-light: rgba(77, 182, 172, .12);--av-code-bg: #1a1a28;--av-code-highlight: rgba(138, 180, 248, .15);--av-code-highlight-border: rgba(138, 180, 248, .5);--av-code-line-number: #4a4a60;--av-cell-default: #3c3c52;--av-cell-default-text: #e0e0f0;--av-cell-active: #8ab4f8;--av-cell-highlighted: #81c995;--av-cell-compared: #fdd663;--av-cell-found: #81c995;--av-cell-sorted: #4db6ac;--av-cell-visited: #6e6e88;--av-cell-pivot: #c58af9;--av-cell-swapping: #fcad70;--av-cell-inserted: #8ab4f8;--av-shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--av-shadow-md: 0 4px 12px rgba(0, 0, 0, .35);--av-shadow-lg: 0 8px 24px rgba(0, 0, 0, .4)}.av-container{background:var(--av-bg);border:1px solid var(--av-border);border-radius:var(--av-radius);overflow:hidden;margin:1.5rem 0;box-shadow:var(--av-shadow-sm);transition:box-shadow .2s ease}.av-container:hover{box-shadow:var(--av-shadow-md)}.av-container--fullscreen{position:fixed;inset:0;z-index:9999;margin:0;border-radius:0;display:flex;flex-direction:column;overflow:hidden}.av-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--av-surface);border-bottom:1px solid var(--av-border)}.av-title{display:flex;align-items:center;gap:.75rem;margin:0;font-size:.9375rem;font-weight:600;color:var(--av-text)}.av-title-label{font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--av-text-muted)}.av-header-actions{display:flex;align-items:center;gap:.5rem}.av-lang-select{font-size:.8125rem;padding:.3rem .6rem;border-radius:var(--av-radius-sm);border:1px solid var(--av-border);background:var(--av-bg);color:var(--av-text);cursor:pointer}.av-fullscreen-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;background:transparent;color:var(--av-text-secondary);cursor:pointer;border-radius:var(--av-radius-sm);transition:background .15s,color .15s}.av-fullscreen-btn:hover{background:var(--av-primary-light);color:var(--av-primary)}.av-toggle-code-btn{display:flex;align-items:center;gap:.35rem;padding:.3rem .65rem;border:none;border-radius:var(--av-radius-sm);background:transparent;color:var(--av-text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}.av-toggle-code-btn:hover{background:var(--av-primary-light);color:var(--av-primary)}.av-input-panel{display:flex;flex-wrap:wrap;gap:1rem;padding:.75rem 1rem;background:var(--av-surface);border-bottom:1px solid var(--av-border)}.av-input-field{display:flex;align-items:center;gap:.5rem}.av-input-label{font-size:.8125rem;font-weight:600;color:var(--av-text);white-space:nowrap}.av-input-value{font-size:.8125rem;padding:.35rem .6rem;border:1px solid var(--av-border);border-radius:var(--av-radius-sm);background:var(--av-bg);color:var(--av-text);font-family:Fira Code,JetBrains Mono,Consolas,monospace;min-width:100px}.av-input-value:focus{outline:none;border-color:var(--av-primary);box-shadow:0 0 0 3px var(--av-primary-light)}.av-main{display:grid;grid-template-columns:1fr;min-height:0}.av-code-panel{overflow:auto;max-height:240px;border-bottom:1px solid var(--av-border);scroll-behavior:smooth}.av-viz-panel{display:flex;flex-direction:column;gap:.75rem;padding:.75rem 1rem;overflow:auto;max-height:none;align-items:center}.av-container--fullscreen .av-main{grid-template-columns:1fr 1fr;flex:1;min-height:0}.av-container--fullscreen .av-code-panel{max-height:none;border-bottom:none;border-right:1px solid var(--av-border)}.av-container--fullscreen .av-viz-panel{max-height:none;padding:1rem;gap:1rem}.av-container--fullscreen .av-main:not(:has(.av-code-panel)){grid-template-columns:1fr}.av-container--fullscreen .av-main:not(:has(.av-code-panel)) .av-viz-panel{max-height:none}.av-code-highlighter{position:relative;font-family:Fira Code,JetBrains Mono,Consolas,monospace;font-size:.8125rem;line-height:1.65;background:var(--av-code-bg)}.av-code-pre{margin:0;padding:.75rem 0;overflow-x:auto}.av-code-pre code{display:block}.av-code-line{display:flex;padding:0 1rem 0 0;border-left:3px solid transparent;transition:background .2s ease,border-color .2s ease}.av-code-line--highlighted{background:var(--av-code-highlight);border-left-color:var(--av-code-highlight-border)}.av-code-line-number{display:inline-block;width:3rem;padding-right:1rem;text-align:right;color:var(--av-code-line-number);-webkit-user-select:none;user-select:none;flex-shrink:0}.av-code-line-content{white-space:pre}.av-token-keyword{color:#d73a49;font-weight:600}.av-token-string{color:#22863a}.av-token-number{color:#005cc5}.av-token-comment{color:#6a737d;font-style:italic}.av-token-function{color:#6f42c1}[data-theme=dark] .av-token-keyword{color:#ff7b72}[data-theme=dark] .av-token-string{color:#a5d6ff}[data-theme=dark] .av-token-number{color:#79c0ff}[data-theme=dark] .av-token-comment{color:#8b949e}[data-theme=dark] .av-token-function{color:#d2a8ff}.av-data-structures{display:flex;flex-direction:column;gap:1rem;align-items:center}.av-ds{width:100%}.av-ds-label{font-size:.75rem;font-weight:600;color:var(--av-text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.5rem}.av-cells-container{position:relative;display:inline-flex;flex-direction:column}.av-cells-row{display:flex;gap:4px;position:relative;z-index:1}.av-cell{width:48px;height:48px;display:flex;align-items:center;justify-content:center;flex-direction:column;border-radius:var(--av-radius-sm);font-weight:600;font-size:.9375rem;transition:background .25s ease,transform .25s ease,box-shadow .25s ease;position:relative;background:var(--av-cell-default);color:var(--av-cell-default-text)}.av-cell-value{line-height:1}.av-cell-label{font-size:.5625rem;font-weight:500;opacity:.8;margin-top:2px}.av-cell--active{background:var(--av-cell-active);color:#fff;transform:scale(1.08);box-shadow:0 2px 8px #1a73e859}.av-cell--highlighted{background:var(--av-cell-highlighted);color:#fff}.av-cell--compared{background:var(--av-cell-compared);color:#1a1a2e}.av-cell--found{background:var(--av-cell-found);color:#fff;transform:scale(1.1);box-shadow:0 2px 10px #1e8e3e66}.av-cell--sorted{background:var(--av-cell-sorted);color:#fff}.av-cell--visited{background:var(--av-cell-visited);color:#fff;opacity:.7}.av-cell--pivot{background:var(--av-cell-pivot);color:#fff;transform:scale(1.08);box-shadow:0 2px 8px #a142f459}.av-cell--swapping{background:var(--av-cell-swapping);color:#fff;animation:av-shake .3s ease}.av-cell--inserted{background:var(--av-cell-inserted);color:#fff;animation:av-pop .3s ease}@keyframes av-shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}@keyframes av-pop{0%{transform:scale(.8);opacity:.5}50%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}.av-index-row{display:flex;gap:4px;margin-top:4px}.av-index-slot{width:48px;text-align:center;font-size:.6875rem;color:var(--av-text-muted);font-family:Fira Code,JetBrains Mono,monospace}.av-pointer-row{display:flex;gap:4px;height:36px}.av-pointer-row--top{margin-bottom:2px}.av-pointer-row--bottom{margin-top:2px}.av-pointer-slot{display:flex;align-items:center;justify-content:center}.av-pointer-marker{display:flex;flex-direction:column;align-items:center;gap:0;font-size:.6875rem;font-weight:700;line-height:1;animation:av-pointer-appear .25s ease}.av-pointer-marker--bottom{flex-direction:column-reverse}.av-pointer-arrow{font-size:.75rem;line-height:1}.av-pointer-name{font-family:Fira Code,JetBrains Mono,monospace;font-size:.625rem;letter-spacing:.02em}@keyframes av-pointer-appear{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.av-range-highlight{position:absolute;top:-4px;height:calc(100% + 8px);border-radius:var(--av-radius-sm);z-index:0;pointer-events:none;transition:left .3s ease,width .3s ease}.av-range-label{position:absolute;top:-18px;left:50%;transform:translate(-50%);font-size:.625rem;font-weight:600;color:inherit;white-space:nowrap;opacity:.9}.av-ds-map{background:var(--av-surface);border-radius:var(--av-radius-sm);padding:.75rem}.av-map-entries{display:flex;flex-wrap:wrap;gap:.5rem}.av-map-entry{display:flex;align-items:center;gap:.35rem;padding:.35rem .6rem;border-radius:4px;border:1px solid var(--av-border);background:var(--av-bg);font-size:.8125rem;font-family:Fira Code,JetBrains Mono,monospace;transition:background .2s,border-color .2s}.av-map-entry.av-cell--active{border-color:var(--av-primary);background:var(--av-primary-light)}.av-map-entry.av-cell--highlighted{border-color:var(--av-success);background:var(--av-success-light)}.av-map-key{font-weight:600;color:var(--av-primary)}.av-map-separator{color:var(--av-text-muted)}.av-map-value{color:var(--av-text)}.av-map-empty{color:var(--av-text-muted);font-style:italic;font-size:.8125rem}.av-ds-hashtable{background:var(--av-surface);border-radius:var(--av-radius-sm);padding:.75rem}.av-ht-hash-display{display:inline-flex;align-items:center;gap:.4rem;margin-bottom:.75rem;padding:.3rem .7rem;border-radius:var(--av-radius-sm);background:var(--av-primary-light);border:1px solid var(--av-primary);font-family:Fira Code,JetBrains Mono,monospace;font-size:.8rem}.av-ht-hash-label{font-weight:600;color:var(--av-primary)}.av-ht-hash-value{color:var(--av-text)}.av-ht-buckets{display:flex;flex-direction:column;gap:.25rem}.av-ht-bucket{display:flex;align-items:center;gap:0;min-height:2.2rem;border-radius:4px;transition:background .2s}.av-ht-bucket.av-cell--active{background:var(--av-primary-light)}.av-ht-bucket.av-cell--highlighted{background:var(--av-success-light)}.av-ht-bucket.av-cell--compared{background:var(--av-warning-light, rgba(251, 191, 36, .1))}.av-ht-bucket-index{display:flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;border-radius:4px;background:var(--av-bg);border:1px solid var(--av-border);font-family:Fira Code,JetBrains Mono,monospace;font-size:.8rem;font-weight:600;color:var(--av-text-muted);flex-shrink:0}.av-ht-bucket.av-cell--active .av-ht-bucket-index{border-color:var(--av-primary);color:var(--av-primary);background:var(--av-primary-light)}.av-ht-bucket-arrow{color:var(--av-text-muted);font-size:.85rem;padding:0 .4rem;flex-shrink:0}.av-ht-chain{display:flex;align-items:center;gap:0;flex-wrap:wrap}.av-ht-chain-arrow{color:var(--av-text-muted);font-size:.8rem;padding:0 .3rem}.av-ht-entry{display:inline-flex;align-items:center;gap:.25rem;padding:.3rem .55rem;border-radius:4px;border:1px solid var(--av-border);background:var(--av-bg);font-family:Fira Code,JetBrains Mono,monospace;font-size:.78rem;transition:background .2s,border-color .2s,transform .2s}.av-ht-entry.av-cell--active{border-color:var(--av-primary);background:var(--av-primary-light);transform:scale(1.05)}.av-ht-entry.av-cell--highlighted{border-color:var(--av-success);background:var(--av-success-light)}.av-ht-entry.av-cell--inserted{border-color:var(--av-success);background:var(--av-success-light);transform:scale(1.08)}.av-ht-entry.av-cell--found{border-color:var(--av-success);background:var(--av-success-light);box-shadow:0 0 6px var(--av-success)}.av-ht-entry.av-cell--compared{border-color:var(--av-warning, #f59e0b);background:var(--av-warning-light, rgba(251, 191, 36, .1))}.av-ht-entry.av-cell--swapping{border-color:var(--av-error, #ef4444);background:var(--av-error-light, rgba(239, 68, 68, .1))}.av-ht-entry-key{font-weight:600;color:var(--av-primary)}.av-ht-entry-sep{color:var(--av-text-muted)}.av-ht-entry-value{color:var(--av-text)}.av-ht-empty-bucket{color:var(--av-text-muted);font-style:italic;font-size:.78rem;font-family:Fira Code,JetBrains Mono,monospace;padding:.15rem 0}.av-ds-tree{background:var(--av-surface);border-radius:var(--av-radius-sm);padding:1rem;overflow-x:auto}.av-tree-container{display:flex;flex-direction:column;align-items:center;min-width:max-content}.av-tree-empty{color:var(--av-text-muted);font-style:italic;font-size:.85rem;text-align:center;padding:1.5rem}.av-tree-level{display:grid;justify-items:center;align-items:center;width:100%}.av-tree-node-slot{display:flex;justify-content:center;align-items:center;min-height:2.5rem}.av-tree-node{display:flex;flex-direction:column;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--av-surface);border:2px solid var(--av-border);font-family:Fira Code,JetBrains Mono,monospace;font-size:.85rem;font-weight:600;color:var(--av-text);transition:all .25s ease;position:relative;z-index:1}.av-tree-node-value{line-height:1}.av-tree-node-label{position:absolute;top:-1.25rem;font-size:.6rem;font-weight:700;color:var(--av-primary);white-space:nowrap;letter-spacing:.02em}.av-tree-node-placeholder{width:2.5rem;height:2.5rem}.av-tree-node.av-cell--active{border-color:var(--av-primary);background:var(--av-primary-light);color:var(--av-primary);box-shadow:0 0 0 3px var(--av-primary-light)}.av-tree-node.av-cell--highlighted{border-color:var(--av-secondary, #8b5cf6);background:var(--av-secondary-light, rgba(139, 92, 246, .12));color:var(--av-secondary, #8b5cf6)}.av-tree-node.av-cell--compared{border-color:var(--av-warning, #f59e0b);background:var(--av-warning-light, rgba(251, 191, 36, .1));color:var(--av-warning, #f59e0b)}.av-tree-node.av-cell--found{border-color:var(--av-success);background:var(--av-success-light);color:var(--av-success);box-shadow:0 0 0 3px var(--av-success-light)}.av-tree-node.av-cell--sorted,.av-tree-node.av-cell--visited{border-color:var(--av-success);background:var(--av-success-light);color:var(--av-success)}.av-tree-node.av-cell--inserted{border-color:var(--av-primary);background:var(--av-primary-light);color:var(--av-primary);animation:av-pulse .4s ease}.av-tree-node.av-cell--pivot{border-color:var(--av-error, #ef4444);background:var(--av-error-light, rgba(239, 68, 68, .1));color:var(--av-error, #ef4444)}.av-tree-edge-row{display:grid;width:100%;height:1.25rem;position:relative}.av-tree-edge-slot{position:relative;height:100%}.av-tree-edge-slot.av-tree-edge--left:before,.av-tree-edge-slot.av-tree-edge--right:before{content:"";position:absolute;top:0;height:100%;border-top:2px solid var(--av-border)}.av-tree-edge-slot.av-tree-edge--left:before{left:50%;right:0;border-left:2px solid var(--av-border);border-top-left-radius:6px}.av-tree-edge-slot.av-tree-edge--right:before{left:0;right:50%;border-right:2px solid var(--av-border);border-top-right-radius:6px}.av-ds-graph{display:flex;flex-direction:column;align-items:center}.av-graph-svg{width:100%;max-width:520px;height:auto;min-height:200px;max-height:360px}.av-graph-empty{color:var(--av-text-muted);font-style:italic;font-size:.85rem;text-align:center;padding:2rem 1rem}@media(max-width:768px){.av-graph-svg{max-width:100%;max-height:280px}}.av-ds-stack{display:flex;flex-direction:column;align-items:center}.av-stack-items{display:flex;flex-direction:column;gap:2px;min-width:80px;position:relative}.av-stack-top-label{font-size:.625rem;font-weight:700;color:var(--av-primary);position:absolute;left:-48px;top:4px}.av-stack-item{padding:.4rem 1rem;text-align:center;font-weight:600;font-size:.875rem;border:1px solid var(--av-border);border-radius:4px;background:var(--av-cell-default);color:var(--av-cell-default-text);transition:background .2s,transform .2s}.av-stack-empty{color:var(--av-text-muted);font-style:italic;font-size:.8125rem;padding:.5rem}.av-ds-queue{display:flex;flex-direction:column;align-items:flex-start}.av-queue-items{display:flex;flex-direction:row;align-items:center;gap:2px;position:relative}.av-queue-front-label,.av-queue-rear-label{font-size:.625rem;font-weight:700;color:var(--av-primary);white-space:nowrap;padding:0 4px}.av-queue-item{padding:.4rem 1rem;text-align:center;font-weight:600;font-size:.875rem;border:1px solid var(--av-border);border-radius:4px;background:var(--av-cell-default);color:var(--av-cell-default-text);transition:background .2s,transform .2s;min-width:40px;display:flex;flex-direction:column;align-items:center}.av-queue-item-value{line-height:1.2}.av-queue-item-label{font-size:.55rem;font-weight:600;color:var(--av-text-muted);margin-top:2px;line-height:1}.av-queue-item.av-cell--active .av-queue-item-label,.av-queue-item.av-cell--found .av-queue-item-label,.av-queue-item.av-cell--sorted .av-queue-item-label,.av-queue-item.av-cell--swapping .av-queue-item-label,.av-queue-item.av-cell--inserted .av-queue-item-label{color:inherit}.av-queue-empty{color:var(--av-text-muted);font-style:italic;font-size:.8125rem;padding:.5rem}.av-matrix-grid{display:inline-flex;flex-direction:column;gap:2px}.av-matrix-row{display:flex;gap:2px}.av-matrix-cell{width:40px;height:40px;font-size:.8125rem}.av-matrix-icon{display:block;pointer-events:none;transition:transform .3s ease,filter .3s ease;filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))}.av-cell--active .av-matrix-icon,.av-cell--highlighted .av-matrix-icon{transform:scale(1.1);filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.av-cell--found .av-matrix-icon,.av-cell--sorted .av-matrix-icon{filter:drop-shadow(0 0 6px rgba(255,255,255,.5))}.av-matrix-maze .av-maze-open{--av-maze-icon-inner: #f5f0e8}.av-matrix-maze .av-maze-open.av-cell--active{--av-maze-icon-inner: #ffe082}.av-matrix-maze .av-maze-open.av-cell--found,.av-matrix-maze .av-maze-open.av-cell--sorted{--av-maze-icon-inner: #43a047}.av-matrix-chessboard .av-chess-dark{--av-chess-icon-jewel: rgba(255, 255, 255, .5)}.av-matrix-chessboard .av-chess-light{--av-chess-icon-jewel: rgba(0, 0, 0, .3)}[data-theme=dark] .av-matrix-maze .av-maze-open{--av-maze-icon-inner: #3a3530}.av-matrix-chessboard .av-matrix-grid{border:3px solid #333;border-radius:4px;overflow:hidden;gap:0;box-shadow:0 4px 16px #0003,inset 0 0 0 1px #0000000d}.av-matrix-chessboard .av-matrix-row{gap:0}.av-matrix-chessboard .av-matrix-cell{width:56px;height:56px;border-radius:0;border:none;font-size:1.5rem;font-weight:700;transition:background-color .25s ease,box-shadow .25s ease;transform:none;box-shadow:none}.av-matrix-chessboard .av-chess-light{background-color:#f0f0f0;color:#1a1a1a}.av-matrix-chessboard .av-chess-dark{background-color:#4a4a4a;color:#f0f0f0}.av-matrix-chessboard .av-chess-light.av-cell--active,.av-matrix-chessboard .av-chess-dark.av-cell--active{background-color:#64b5f6;color:#111;box-shadow:inset 0 0 0 2px #1e88e5}.av-matrix-chessboard .av-chess-light.av-cell--found,.av-matrix-chessboard .av-chess-dark.av-cell--found{background-color:#43a047;color:#fff;box-shadow:inset 0 0 0 2px #2e7d32}.av-matrix-chessboard .av-chess-light.av-cell--compared,.av-matrix-chessboard .av-chess-dark.av-cell--compared{background-color:#ef5350;color:#fff;box-shadow:inset 0 0 0 2px #c62828}.av-matrix-chessboard .av-chess-light.av-cell--sorted,.av-matrix-chessboard .av-chess-dark.av-cell--sorted{background-color:#66bb6a;color:#fff;box-shadow:inset 0 0 0 2px #388e3c}.av-matrix-chessboard .av-chess-light.av-cell--highlighted,.av-matrix-chessboard .av-chess-dark.av-cell--highlighted{background-color:#ffa726;color:#111;box-shadow:inset 0 0 0 2px #ef6c00}.av-matrix-chessboard .av-chess-light.av-cell--visited,.av-matrix-chessboard .av-chess-dark.av-cell--visited{background-color:#ab47bc;color:#fff;box-shadow:inset 0 0 0 2px #7b1fa2}[data-theme=dark] .av-matrix-chessboard .av-matrix-grid{border-color:#999}[data-theme=dark] .av-matrix-chessboard .av-chess-light{background-color:#d4d4d4;color:#1a1a1a}[data-theme=dark] .av-matrix-chessboard .av-chess-dark{background-color:#555;color:#f0f0f0}@media(max-width:600px){.av-matrix-chessboard .av-matrix-cell{width:40px;height:40px;font-size:1.125rem}}.av-matrix-maze .av-matrix-grid{border:3px solid #2c2c2c;border-radius:6px;overflow:hidden;gap:0;box-shadow:0 4px 20px #00000040,inset 0 0 0 1px #00000014}.av-matrix-maze .av-matrix-row{gap:0}.av-matrix-maze .av-matrix-cell{width:56px;height:56px;border-radius:0;border:1px solid rgba(0,0,0,.06);font-size:1.4rem;font-weight:700;transition:background-color .3s ease,box-shadow .3s ease;transform:none;box-shadow:none}.av-matrix-maze .av-maze-wall{background-color:#2c2c2c;color:#555;font-size:0;box-shadow:inset 0 0 6px #00000080}.av-matrix-maze .av-maze-open{background-color:#f5f0e8;color:#444}.av-matrix-maze .av-maze-open.av-cell--active{background-color:#ffe082;color:#333;box-shadow:inset 0 0 0 2px #ffa000,0 0 8px #ffa00066}.av-matrix-maze .av-maze-open.av-cell--highlighted{background-color:#ffcc80;color:#333;box-shadow:inset 0 0 0 2px #fb8c00}.av-matrix-maze .av-maze-open.av-cell--visited{background-color:#c8e6c9;color:#2e7d32;box-shadow:inset 0 0 0 1px #81c784}.av-matrix-maze .av-maze-open.av-cell--found,.av-matrix-maze .av-maze-open.av-cell--sorted{background-color:#43a047;color:#fff;box-shadow:inset 0 0 0 2px #2e7d32,0 0 6px #2e7d3259}.av-matrix-maze .av-maze-open.av-cell--compared{background-color:#ffcdd2;color:#c62828;box-shadow:inset 0 0 0 1px #ef9a9a}[data-theme=dark] .av-matrix-maze .av-matrix-grid{border-color:#888}[data-theme=dark] .av-matrix-maze .av-maze-wall{background-color:#1a1a1a;box-shadow:inset 0 0 6px #000000b3}[data-theme=dark] .av-matrix-maze .av-maze-open{background-color:#3a3530;color:#ccc}[data-theme=dark] .av-matrix-maze .av-maze-open.av-cell--active{background-color:#e6a800;color:#111}[data-theme=dark] .av-matrix-maze .av-maze-open.av-cell--highlighted{background-color:#c77700;color:#fff}[data-theme=dark] .av-matrix-maze .av-maze-open.av-cell--visited{background-color:#2e5e30;color:#a5d6a7}[data-theme=dark] .av-matrix-maze .av-maze-open.av-cell--found,[data-theme=dark] .av-matrix-maze .av-maze-open.av-cell--sorted{background-color:#2e7d32;color:#fff}[data-theme=dark] .av-matrix-maze .av-maze-open.av-cell--compared{background-color:#5c2020;color:#ef9a9a}@media(max-width:600px){.av-matrix-maze .av-matrix-cell{width:40px;height:40px;font-size:1rem}}.av-ds-linkedlist{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;overflow-x:auto;padding:4px 4px .5rem}.av-ll-nodes-row{display:flex;align-items:flex-end;gap:0}.av-ll-column,.av-ll-arrow-column,.av-ll-null-column{display:flex;flex-direction:column;align-items:center;gap:4px}.av-ll-pointer-spacer{min-height:1.375rem}.av-ll-pointer-slot{display:flex;flex-direction:column;align-items:center;gap:2px;min-height:1.375rem}.av-ll-pointer-tag{font-size:.6875rem;font-weight:700;padding:.1rem .4rem;border-radius:4px;border:1.5px solid;background:var(--av-bg);white-space:nowrap;line-height:1}.av-ll-node{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:48px;height:48px;padding:0 .5rem;border:2px solid var(--av-border);border-radius:8px;background:var(--av-cell-default);color:var(--av-cell-default-text);transition:background .2s,border-color .2s,transform .2s;position:relative}.av-ll-node.av-cell--active{background:var(--av-cell-active);color:var(--av-cell-active-text, #fff);border-color:var(--av-primary);transform:scale(1.08);z-index:1}.av-ll-node.av-cell--highlighted{background:var(--av-cell-highlighted);border-color:var(--av-accent)}.av-ll-node.av-cell--compared{background:var(--av-cell-compared);border-color:var(--av-warning)}.av-ll-node.av-cell--found{background:var(--av-cell-found);color:var(--av-cell-found-text, #fff);border-color:var(--av-success)}.av-ll-node.av-cell--sorted{background:var(--av-cell-sorted);border-color:var(--av-success)}.av-ll-node.av-cell--visited{background:var(--av-cell-visited);border-color:var(--av-teal)}.av-ll-node.av-cell--swapping{background:var(--av-cell-swapping, var(--av-orange-light));border-color:var(--av-orange)}.av-ll-node.av-cell--inserted{background:var(--av-cell-inserted, var(--av-accent-light));border-color:var(--av-accent);transform:scale(1.1);z-index:1}.av-ll-node-value{font-weight:700;font-size:.9375rem;font-family:Fira Code,JetBrains Mono,monospace}.av-ll-node-label{font-size:.5625rem;color:var(--av-text-muted);font-weight:500;margin-top:1px}.av-ll-node.av-cell--active .av-ll-node-label,.av-ll-node.av-cell--found .av-ll-node-label,.av-ll-node.av-cell--sorted .av-ll-node-label,.av-ll-node.av-cell--swapping .av-ll-node-label,.av-ll-node.av-cell--inserted .av-ll-node-label{color:inherit}.av-ll-arrow{display:flex;align-items:center;justify-content:center;height:48px;font-size:1.125rem;font-weight:700;color:var(--av-text-muted);padding:0 .25rem;-webkit-user-select:none;user-select:none;flex-shrink:0}.av-ll-null{display:flex;align-items:center;justify-content:center;height:48px;font-size:.75rem;font-weight:700;color:var(--av-text-muted);padding:0 .25rem;font-family:Fira Code,JetBrains Mono,monospace;opacity:.7}@media(max-width:480px){.av-ll-node{min-width:38px;height:38px;padding:0 .3rem}.av-ll-arrow,.av-ll-null{height:38px}.av-ll-node-value{font-size:.8125rem}.av-ll-pointer-spacer,.av-ll-pointer-slot{min-height:1.2rem}}.av-variable-watch{display:flex;flex-direction:column;gap:.5rem;background:var(--av-surface);border-radius:var(--av-radius-sm);padding:.75rem;width:100%;box-sizing:border-box}.av-var-group-label{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--av-text-muted);margin-bottom:.25rem}.av-var-list{display:flex;flex-wrap:wrap;gap:.5rem}.av-var-item{display:flex;align-items:center;gap:.3rem;padding:.3rem .6rem;border-radius:4px;font-family:Fira Code,JetBrains Mono,monospace;font-size:.8125rem;background:var(--av-bg);border:1px solid var(--av-border);transition:background .25s,border-color .25s,box-shadow .25s}.av-var-item--changed{border-color:var(--av-primary);background:var(--av-primary-light);box-shadow:0 0 0 2px var(--av-primary-light)}.av-var-name{font-weight:600;color:var(--av-primary)}.av-var-eq{color:var(--av-text-muted)}.av-var-value{color:var(--av-text);font-weight:500}.av-step-description{background:var(--av-surface);border-radius:var(--av-radius-sm);padding:.75rem;width:100%;box-sizing:border-box}.av-step-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.4rem}.av-phase-badge{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.15rem .5rem;border-radius:4px}.av-phase--initialize{background:var(--av-primary-light);color:var(--av-primary)}.av-phase--expand{background:var(--av-success-light);color:var(--av-success)}.av-phase--contract{background:var(--av-orange-light);color:var(--av-orange)}.av-phase--compare{background:var(--av-warning-light);color:var(--av-warning)}.av-phase--swap{background:var(--av-orange-light);color:var(--av-orange)}.av-phase--update{background:var(--av-accent-light);color:var(--av-accent)}.av-phase--process{background:var(--av-primary-light);color:var(--av-primary)}.av-phase--found{background:var(--av-success-light);color:var(--av-success)}.av-phase--skip{background:var(--av-teal-light);color:var(--av-teal)}.av-phase--complete{background:var(--av-success-light);color:var(--av-success)}.av-step-counter{font-size:.75rem;font-weight:500;color:var(--av-text-muted);font-family:Fira Code,JetBrains Mono,monospace}.av-step-text{margin:0;font-size:.875rem;color:var(--av-text);line-height:1.5}.av-playback-controls{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:var(--av-surface);border-top:1px solid var(--av-border)}.av-transport{display:flex;align-items:center;gap:.25rem}.av-transport-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;background:transparent;color:var(--av-text);cursor:pointer;border-radius:50%;font-size:1rem;transition:background .15s,color .15s,opacity .15s}.av-transport-btn:hover:not(:disabled){background:var(--av-primary-light);color:var(--av-primary)}.av-transport-btn:disabled{opacity:.35;cursor:not-allowed}.av-transport-btn--play{width:40px;height:40px;background:var(--av-primary);color:#fff;font-size:1.125rem}.av-transport-btn--play:hover:not(:disabled){background:var(--av-primary);color:#fff;opacity:.9;transform:scale(1.05)}.av-scrubber{flex:1;display:flex;align-items:center;gap:.75rem}.av-scrubber-slider{flex:1;-webkit-appearance:none;appearance:none;height:6px;border-radius:3px;background:var(--av-border);outline:none;cursor:pointer}.av-scrubber-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--av-primary);cursor:pointer;border:2px solid var(--av-bg);box-shadow:var(--av-shadow-sm);transition:transform .15s}.av-scrubber-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.av-scrubber-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--av-primary);cursor:pointer;border:2px solid var(--av-bg);box-shadow:var(--av-shadow-sm)}.av-scrubber-label{font-size:.75rem;font-weight:600;color:var(--av-text-muted);font-family:Fira Code,JetBrains Mono,monospace;white-space:nowrap;min-width:48px;text-align:right}.av-speed-control{flex-shrink:0}.av-speed-select{font-size:.8125rem;font-weight:600;padding:.3rem .5rem;border-radius:var(--av-radius-sm);border:1px solid var(--av-border);background:var(--av-bg);color:var(--av-text);cursor:pointer;font-family:Fira Code,JetBrains Mono,monospace}.av-speed-select:focus{outline:none;border-color:var(--av-primary)}@media(max-width:768px){.av-code-panel{max-height:200px}.av-container--fullscreen .av-main{grid-template-columns:1fr;flex:1;min-height:0;overflow-y:auto}.av-container--fullscreen .av-code-panel{max-height:280px;border-right:none;border-bottom:1px solid var(--av-border)}.av-container--fullscreen .av-viz-panel{max-height:none}.av-cell{width:40px;height:40px;font-size:.8125rem}.av-index-slot{width:40px}.av-pointer-slot{width:40px!important}.av-cells-row,.av-index-row,.av-pointer-row{gap:3px}.av-playback-controls{flex-wrap:wrap;gap:.5rem}.av-scrubber{order:3;flex-basis:100%}.av-input-panel{flex-direction:column;gap:.5rem}}@media(max-width:480px){.av-cell{width:34px;height:34px;font-size:.75rem}.av-index-slot{width:34px;font-size:.5625rem}.av-pointer-slot{width:34px!important}.av-code-highlighter{font-size:.75rem}.av-code-line-number{width:2.25rem;padding-right:.5rem}.av-header{flex-wrap:wrap;gap:.5rem}.av-title{font-size:.8125rem}}.mermaid-diagram{margin:1.5rem 0;padding:0;border:1px solid #e8eaed;border-radius:8px;background:#fff;overflow:hidden}[data-theme=dark] .mermaid-diagram{border-color:#3c4043;background:#292d31}.mermaid-diagram-content{display:flex;justify-content:center;align-items:center;padding:1.5rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;touch-action:pan-x pan-y;position:relative}.mermaid-diagram-content::-webkit-scrollbar{height:6px}.mermaid-diagram-content::-webkit-scrollbar-track{background:transparent}.mermaid-diagram-content::-webkit-scrollbar-thumb{background:#dadce0;border-radius:3px}.mermaid-diagram-content::-webkit-scrollbar-thumb:hover{background:#bdc1c6}[data-theme=dark] .mermaid-diagram-content::-webkit-scrollbar-thumb{background:#5f6368}[data-theme=dark] .mermaid-diagram-content::-webkit-scrollbar-thumb:hover{background:#80868b}.mermaid-diagram-content{scrollbar-width:thin;scrollbar-color:#dadce0 transparent}[data-theme=dark] .mermaid-diagram-content{scrollbar-color:#5f6368 transparent}.mermaid-diagram-content svg{max-width:100%;height:auto;display:block}.mermaid-diagram-content .commit-label{font-size:.7rem!important;font-weight:500!important;letter-spacing:.02em}.mermaid-diagram-content .branch-label{font-size:.75rem!important;font-weight:600!important;letter-spacing:.01em}.mermaid-diagram-content .tag-label{font-size:.625rem!important;font-weight:600!important}.mermaid-diagram-content .commit-label-bkg{rx:4;ry:4}.mermaid-diagram-content svg[id*=mermaid]{min-width:480px}.mermaid-diagram-content .gitGraph{padding:12px}.mermaid-diagram-content .commit circle{r:5}.mermaid-diagram-content .branch-label-bkg{filter:drop-shadow(0 1px 2px rgba(0,0,0,.1));rx:4;ry:4}[data-theme=dark] .mermaid-diagram-content .branch-label-bkg{filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.mermaid-diagram-content .tag-label-bkg{rx:4;ry:4}.mermaid-diagram-content .note rect,.mermaid-diagram-content g.note rect{rx:6;ry:6}.mermaid-diagram-content .noteText,.mermaid-diagram-content g.note text{font-size:13px!important;letter-spacing:.01em}.mermaid-diagram-content g.note foreignObject div{padding:10px 14px!important;line-height:1.6!important;font-size:13px!important}.mermaid-diagram-caption{padding:.75rem 1.25rem;border-top:1px solid #e8eaed;background:#f8f9fa;font-size:.8125rem;color:#5f6368;text-align:center;font-style:italic;line-height:1.4}[data-theme=dark] .mermaid-diagram-caption{border-top-color:#3c4043;background:#21262d;color:#9aa0a6}.mermaid-error{border-color:#f28b82}[data-theme=dark] .mermaid-error{border-color:#d93025}.mermaid-error-content{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:2rem 1.5rem;text-align:center}.mermaid-error-icon{font-size:1.25rem}.mermaid-error-content p{margin:0;font-size:.875rem;color:#d93025}[data-theme=dark] .mermaid-error-content p{color:#f28b82}.mermaid-diagram-content.has-overflow:after{content:"";position:absolute;right:0;top:0;bottom:0;width:24px;background:linear-gradient(to right,transparent,rgba(255,255,255,.8));pointer-events:none}[data-theme=dark] .mermaid-diagram-content.has-overflow:after{background:linear-gradient(to right,transparent,rgba(41,45,49,.8))}@media(max-width:1024px){.mermaid-diagram{margin:1.25rem 0}.mermaid-diagram-content{padding:1.25rem}}@media(max-width:768px){.mermaid-diagram{margin:1rem 0;border-radius:6px}.mermaid-diagram-content{padding:1rem}.mermaid-diagram-caption{padding:.625rem 1rem;font-size:.75rem}.mermaid-diagram-content svg[id*=mermaid]{min-width:360px}.mermaid-diagram-content .noteText,.mermaid-diagram-content g.note text{font-size:11px!important}.mermaid-diagram-content g.note foreignObject div{padding:8px 10px!important;font-size:11px!important}}@media(max-width:480px){.mermaid-diagram{margin:.75rem -.5rem;border-radius:0;border-left:none;border-right:none}.mermaid-diagram-content{padding:.75rem}.mermaid-diagram-caption{padding:.5rem .75rem;font-size:.6875rem}.mermaid-diagram-content svg[id*=mermaid]{min-width:300px}.mermaid-diagram-content .commit-label{font-size:.6rem!important}.mermaid-diagram-content .branch-label{font-size:.65rem!important}}@media(prefers-reduced-motion:reduce){.mermaid-diagram-content svg *{animation:none!important;transition:none!important}.mermaid-diagram-content{scroll-behavior:auto}}@media(forced-colors:active){.mermaid-diagram{border:2px solid CanvasText}.mermaid-diagram-caption{border-top:1px solid CanvasText}}@media print{.mermaid-diagram{break-inside:avoid;border:1px solid #ccc;page-break-inside:avoid}.mermaid-diagram-content{overflow:visible;padding:.5rem}.mermaid-diagram-content svg{max-width:100%!important;min-width:0!important}}.timeline-figure{margin:1.5rem 0;padding:0;border:1px solid #e8eaed;border-radius:8px;background:#fff;overflow:hidden}[data-theme=dark] .timeline-figure{border-color:#3c4043;background:#292d31}.timeline-title{text-align:center;font-size:1.35rem;font-weight:800;letter-spacing:.01em;margin:0;padding:1.5rem 1.5rem 0;color:#202124}[data-theme=dark] .timeline-title{color:#e8eaed}.timeline-scroll-container{overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;padding:1.5rem 2rem;scrollbar-width:thin;scrollbar-color:#dadce0 transparent}[data-theme=dark] .timeline-scroll-container{scrollbar-color:#5f6368 transparent}.timeline-scroll-container::-webkit-scrollbar{height:6px}.timeline-scroll-container::-webkit-scrollbar-track{background:transparent}.timeline-scroll-container::-webkit-scrollbar-thumb{background:#dadce0;border-radius:3px}[data-theme=dark] .timeline-scroll-container::-webkit-scrollbar-thumb{background:#5f6368}.timeline-track{position:relative;min-width:900px;height:340px}.timeline-line{position:absolute;top:50%;left:0;right:0;height:3px;background:#bdc1c6;transform:translateY(-50%);z-index:0}[data-theme=dark] .timeline-line{background:#5f6368}.timeline-line:after{content:"";position:absolute;right:-6px;top:50%;transform:translateY(-50%);width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:12px solid #bdc1c6}[data-theme=dark] .timeline-line:after{border-left-color:#5f6368}.timeline-entries{display:flex;justify-content:space-between;align-items:center;height:100%;position:relative;z-index:1;padding:0 1rem}.timeline-entry{display:flex;flex-direction:column;align-items:center;position:relative;flex:1;min-width:0;height:100%;justify-content:center}.timeline-marker{width:52px;height:52px;border-radius:50%;border:3px solid;display:flex;align-items:center;justify-content:center;background:#1a73e8;position:absolute;top:50%;transform:translateY(-50%);z-index:3;box-shadow:0 2px 8px #00000026}.timeline-year{font-size:.7rem;font-weight:800;color:#fff;letter-spacing:.02em;line-height:1}.timeline-connector{width:2px;height:40px;background:repeating-linear-gradient(to bottom,#9aa0a6 0px,#9aa0a6 4px,transparent 4px,transparent 8px);position:absolute;left:50%;transform:translate(-50%);z-index:1}[data-theme=dark] .timeline-connector{background:repeating-linear-gradient(to bottom,#80868b 0px,#80868b 4px,transparent 4px,transparent 8px)}.timeline-entry--above .timeline-connector{bottom:calc(50% + 26px);top:auto}.timeline-entry--below .timeline-connector{top:calc(50% + 26px);bottom:auto}.timeline-card{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:130px;position:absolute;left:50%;transform:translate(-50%);z-index:2}.timeline-entry--above .timeline-card{bottom:calc(50% + 68px);top:auto}.timeline-entry--below .timeline-card{top:calc(50% + 68px);bottom:auto}.timeline-card-title{font-size:.82rem;font-weight:700;color:#202124;line-height:1.3}[data-theme=dark] .timeline-card-title{color:#e8eaed}.timeline-card-desc{font-size:.72rem;color:#5f6368;line-height:1.3;margin-top:2px}[data-theme=dark] .timeline-card-desc{color:#9aa0a6}.timeline-caption{padding:.75rem 1.25rem;border-top:1px solid #e8eaed;background:#f8f9fa;font-size:.8125rem;color:#5f6368;text-align:center;font-style:italic;line-height:1.4}[data-theme=dark] .timeline-caption{border-top-color:#3c4043;background:#21262d;color:#9aa0a6}@media(max-width:1024px){.timeline-figure{margin:1.25rem 0}.timeline-scroll-container{padding:1.25rem 1.5rem}.timeline-track{min-width:800px}}@media(max-width:768px){.timeline-figure{margin:1rem 0;border-radius:6px}.timeline-title{font-size:1.15rem;padding:1rem 1rem 0}.timeline-scroll-container{padding:1rem}.timeline-track{min-width:750px;height:320px}.timeline-marker{width:46px;height:46px}.timeline-year{font-size:.65rem}.timeline-card-title{font-size:.75rem}.timeline-caption{padding:.625rem 1rem;font-size:.75rem}}@media(max-width:480px){.timeline-figure{border-radius:0;border-left:none;border-right:none;margin:.75rem -.5rem}.timeline-title{font-size:1rem}.timeline-track{min-width:700px;height:300px}.timeline-marker{width:42px;height:42px}.timeline-year{font-size:.6rem}.timeline-card-title{font-size:.7rem}.timeline-caption{padding:.5rem .75rem;font-size:.6875rem}}@media(prefers-reduced-motion:reduce){.timeline-scroll-container{scroll-behavior:auto}}@media(forced-colors:active){.timeline-figure{border:2px solid CanvasText}.timeline-caption{border-top:1px solid CanvasText}.timeline-marker{forced-color-adjust:none}}@media print{.timeline-figure{break-inside:avoid;page-break-inside:avoid;border:1px solid #ccc}.timeline-scroll-container{overflow:visible}.timeline-track{min-width:0}}.steps-figure{margin:2rem 0;padding:0;width:100%}.steps-container{background:linear-gradient(145deg,#f0f4ff,#e8ecf4);border-radius:16px;padding:2rem 1.5rem 1.5rem;border:1px solid #dde3ef;width:100%;box-sizing:border-box}.steps-staircase{display:flex;align-items:flex-end;gap:clamp(4px,1%,10px);height:clamp(140px,22vw,240px);width:100%}.steps-column{flex:1 1 0;display:flex;flex-direction:column;justify-content:flex-end;height:100%;min-width:0}.steps-block{height:var(--step-height, 50%);min-height:36px;border-radius:10px 10px 4px 4px;padding:clamp(.5rem,1.2vw,1rem) clamp(.4rem,1vw,.8rem);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(2px,.5vw,6px);box-shadow:0 4px 14px #00000026,inset 0 1px #ffffff4d;transition:transform .25s ease,box-shadow .25s ease;position:relative;overflow:hidden;cursor:default}.steps-block:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#ffffff80,#ffffff26);border-radius:10px 10px 0 0}.steps-block:after{content:"";position:absolute;bottom:0;left:0;right:0;height:30%;background:linear-gradient(to top,rgba(0,0,0,.08),transparent);pointer-events:none}.steps-block:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 10px 24px #0003,inset 0 1px #ffffff4d}.steps-label{display:flex;flex-direction:column;align-items:center;gap:clamp(2px,.4vw,6px);position:relative;z-index:1}.steps-number{display:flex;align-items:center;justify-content:center;width:clamp(18px,2.5vw,26px);height:clamp(18px,2.5vw,26px);border-radius:50%;background:#ffffff4d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);font-size:clamp(.55rem,.9vw,.75rem);font-weight:800;line-height:1;flex-shrink:0;border:1.5px solid rgba(255,255,255,.35)}.steps-title{font-size:clamp(.6rem,1.3vw,.92rem);font-weight:700;text-align:center;line-height:1.15;letter-spacing:.02em;text-shadow:0 1px 2px rgba(0,0,0,.15);white-space:nowrap;position:relative;z-index:1}.steps-description{font-size:clamp(.5rem,.85vw,.7rem);opacity:.9;text-align:center;line-height:1.25;margin-top:2px;position:relative;z-index:1}.steps-arrow{display:flex;align-items:center;gap:0;margin-top:1rem;padding:0 2px}.steps-arrow-line{flex:1;height:3px;background:linear-gradient(90deg,#b0bec5,#546e7a);border-radius:2px}.steps-arrow-head{width:0;height:0;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:12px solid #546e7a;flex-shrink:0}.steps-caption{text-align:center;font-style:italic;color:#5f6b7a;font-size:clamp(.8rem,1.2vw,.95rem);margin-top:.75rem;padding:.6rem 1rem;background:#ebeef4;border-radius:0 0 12px 12px}.steps-container--descending{background:linear-gradient(160deg,#eef3ff,#e4e9f5,#dce3f0)}.steps-staircase--descending{align-items:flex-start}.steps-staircase--descending .steps-column{justify-content:flex-start}.steps-staircase--descending .steps-block{border-radius:4px 4px 10px 10px}.steps-staircase--descending .steps-block:before{top:auto;bottom:0;height:4px;border-radius:0 0 10px 10px;background:linear-gradient(90deg,#0000000f,#00000005)}.steps-staircase--descending .steps-block:after{top:0;bottom:auto;height:30%;background:linear-gradient(to bottom,rgba(255,255,255,.12),transparent)}[data-theme=dark] .steps-container,.dark .steps-container{background:linear-gradient(145deg,#1a1d2e,#141620);border-color:#2d3148}[data-theme=dark] .steps-container--descending,.dark .steps-container--descending{background:linear-gradient(160deg,#1a1d2e,#151828,#121424)}[data-theme=dark] .steps-block,.dark .steps-block{box-shadow:0 4px 14px #0006,inset 0 1px #ffffff1a}[data-theme=dark] .steps-block:hover,.dark .steps-block:hover{box-shadow:0 10px 24px #00000080,inset 0 1px #ffffff1a}[data-theme=dark] .steps-arrow-line,.dark .steps-arrow-line{background:linear-gradient(90deg,#4a5568,#718096)}[data-theme=dark] .steps-arrow-head,.dark .steps-arrow-head{border-left-color:#718096}[data-theme=dark] .steps-caption,.dark .steps-caption{color:#94a3b8;background:#1c1f30}@media(max-width:768px){.steps-container{padding:1.25rem 1rem 1rem;border-radius:12px}.steps-staircase{height:clamp(120px,28vw,200px)}.steps-block{border-radius:8px 8px 3px 3px}.steps-description{display:none}.steps-caption{border-radius:0 0 10px 10px}}@media(max-width:480px){.steps-container{padding:1rem .5rem .75rem;border-radius:10px}.steps-staircase{height:clamp(100px,34vw,170px);gap:2px}.steps-block{padding:.3rem .2rem;gap:1px;border-radius:6px 6px 2px 2px}.steps-number{width:16px;height:16px;font-size:.5rem}.steps-title{font-size:.5rem}.steps-arrow{margin-top:.5rem}.steps-caption{font-size:.75rem;padding:.4rem .5rem;border-radius:0 0 8px 8px}}.iter-figure{margin:2rem 0;padding:0;width:100%}.iter-container{background:linear-gradient(145deg,#f5f7fb,#edf0f7);border-radius:16px;padding:clamp(1.25rem,2.5vw,2rem);border:1px solid #dde3ef;display:flex;flex-direction:column;align-items:center;gap:0}.iter-row{display:flex;align-items:center;gap:clamp(.75rem,1.5vw,1.25rem);background:var(--iter-bg);border:2px solid var(--iter-color);border-radius:14px;padding:clamp(.75rem,1.5vw,1rem) clamp(.75rem,2vw,1.5rem);width:100%;max-width:720px;transition:transform .25s ease,box-shadow .25s ease;position:relative;box-shadow:0 2px 10px #0000000f}.iter-row:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a,0 0 0 1px var(--iter-color)}.iter-badge{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0;min-width:clamp(50px,7vw,72px)}.iter-badge-number{display:flex;align-items:center;justify-content:center;width:clamp(28px,3.5vw,38px);height:clamp(28px,3.5vw,38px);border-radius:50%;background:var(--iter-color);color:#fff;font-weight:800;font-size:clamp(.7rem,1.2vw,.95rem);box-shadow:0 2px 8px #00000026}.iter-badge-label{font-size:clamp(.55rem,.9vw,.7rem);font-weight:700;color:var(--iter-color);text-transform:uppercase;letter-spacing:.06em;text-align:center;white-space:nowrap}.iter-phases{display:flex;align-items:center;gap:clamp(4px,.6vw,8px);flex:1;min-width:0;justify-content:center}.iter-phase{background:var(--iter-color);color:#fff;border-radius:8px;padding:clamp(.4rem,.8vw,.6rem) clamp(.6rem,1.4vw,1.1rem);font-size:clamp(.65rem,1.1vw,.85rem);font-weight:600;letter-spacing:.01em;text-align:center;white-space:nowrap;box-shadow:0 2px 6px #0000001f,inset 0 1px #ffffff40;transition:transform .2s ease,box-shadow .2s ease;cursor:default;position:relative;overflow:hidden}.iter-phase:after{content:"";position:absolute;top:0;left:0;right:0;height:40%;background:linear-gradient(to bottom,rgba(255,255,255,.15),transparent);border-radius:8px 8px 0 0;pointer-events:none}.iter-phase:hover{transform:scale(1.06);box-shadow:0 4px 12px #0000002e,inset 0 1px #ffffff40}.iter-phase-arrow{flex-shrink:0;width:clamp(14px,1.8vw,22px);height:14px;color:var(--iter-color);opacity:.6;display:flex;align-items:center}.iter-phase-arrow svg{width:100%;height:100%}.iter-connector{display:flex;align-items:center;justify-content:center;height:clamp(24px,3vw,36px);width:60px}.iter-connector-svg{width:60px;height:100%}.iter-caption{text-align:center;font-style:italic;color:#5f6b7a;font-size:clamp(.8rem,1.2vw,.95rem);margin-top:.75rem;padding:.6rem 1rem;background:#ebeef4;border-radius:0 0 12px 12px}[data-theme=dark] .iter-container,.dark .iter-container{background:linear-gradient(145deg,#1a1d2e,#141620);border-color:#2d3148}[data-theme=dark] .iter-row,.dark .iter-row{box-shadow:0 2px 10px #0000004d}[data-theme=dark] .iter-row:hover,.dark .iter-row:hover{box-shadow:0 8px 24px #0006,0 0 0 1px var(--iter-color)}[data-theme=dark] .iter-badge-label,.dark .iter-badge-label{opacity:.9}[data-theme=dark] .iter-phase,.dark .iter-phase{box-shadow:0 2px 6px #0000004d,inset 0 1px #ffffff1f}[data-theme=dark] .iter-phase:hover,.dark .iter-phase:hover{box-shadow:0 4px 12px #0006,inset 0 1px #ffffff1f}[data-theme=dark] .iter-connector-svg path:first-child,.dark .iter-connector-svg path:first-child{stroke:#5f6b7a}[data-theme=dark] .iter-connector-svg path:last-child,.dark .iter-connector-svg path:last-child{fill:#5f6b7a}[data-theme=dark] .iter-caption,.dark .iter-caption{color:#94a3b8;background:#1c1f30}@media(max-width:768px){.iter-container{padding:clamp(1rem,2vw,1.5rem);border-radius:12px}.iter-row{border-radius:10px;padding:.6rem .75rem;gap:.6rem}.iter-badge{min-width:44px}.iter-phase{border-radius:6px;padding:.35rem .5rem}.iter-caption{border-radius:0 0 10px 10px}}@media(max-width:480px){.iter-container{padding:.75rem .5rem;border-radius:10px}.iter-row{flex-direction:column;align-items:stretch;padding:.6rem;gap:.4rem;border-radius:8px}.iter-badge{flex-direction:row;gap:8px;min-width:0;justify-content:center}.iter-badge-number{width:24px;height:24px;font-size:.65rem}.iter-badge-label{font-size:.6rem}.iter-phases{flex-wrap:wrap;gap:4px;justify-content:center}.iter-phase{padding:.3rem .5rem;font-size:.6rem;border-radius:5px}.iter-phase-arrow{width:12px}.iter-connector{height:20px}.iter-caption{font-size:.75rem;padding:.4rem .5rem;border-radius:0 0 8px 8px}}@media(prefers-reduced-motion:reduce){.iter-row,.iter-phase{transition:none}.iter-row:hover,.iter-phase:hover{transform:none}}.cflow-figure{margin:2rem 0;padding:0;width:100%}.cflow-container{background:linear-gradient(145deg,#f5f7fb,#edf0f7);border-radius:16px;padding:clamp(1.25rem,2.5vw,2rem);border:1px solid #dde3ef}.cflow-lanes{display:flex;flex-direction:column;gap:clamp(.75rem,1.5vw,1.25rem);width:100%}.cflow-lane{flex:1;border:2px solid var(--lane-color);border-radius:12px;background:var(--lane-bg);transition:transform .25s ease,box-shadow .25s ease}.cflow-lane:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000014}.cflow-lane-header{background:var(--lane-color);padding:clamp(.5rem,1vw,.75rem) clamp(.75rem,1.5vw,1.25rem);text-align:center;border-radius:10px 10px 0 0}.cflow-lane-title{font-size:clamp(.7rem,1.2vw,.95rem);font-weight:800;color:#fff;letter-spacing:.03em;text-transform:uppercase}.cflow-lane-phases{display:flex;align-items:center;gap:clamp(4px,.8vw,10px);padding:clamp(.75rem,1.5vw,1.25rem) clamp(.75rem,1.5vw,1.25rem)}.cflow-phase{flex:1 1 0;min-width:0;background:#fff;border:1.5px solid var(--lane-color);border-radius:10px;padding:clamp(.5rem,.9vw,.7rem) clamp(.3rem,.5vw,.5rem);transition:transform .2s ease,box-shadow .2s ease;cursor:default;box-shadow:0 2px 6px #00000012;text-align:center;overflow:hidden}.cflow-phase:hover{transform:scale(1.04);box-shadow:0 4px 14px #00000021}.cflow-phase-label{font-size:clamp(.6rem,1vw,.85rem);font-weight:600;color:#333;line-height:1.2;overflow:hidden;text-overflow:ellipsis;display:block}.cflow-phase-arrow{flex-shrink:0;width:clamp(14px,1.8vw,22px);height:14px;color:var(--lane-color);opacity:.5;display:flex;align-items:center}.cflow-phase-arrow svg{width:100%;height:100%}.cflow-caption{text-align:center;font-style:italic;color:#5f6b7a;font-size:clamp(.8rem,1.2vw,.95rem);margin-top:.75rem;padding:.6rem 1rem;background:#ebeef4;border-radius:0 0 12px 12px}[data-theme=dark] .cflow-container,.dark .cflow-container{background:linear-gradient(145deg,#1a1d2e,#141620);border-color:#2d3148}[data-theme=dark] .cflow-lane,.dark .cflow-lane{box-shadow:0 2px 8px #0000004d}[data-theme=dark] .cflow-lane:hover,.dark .cflow-lane:hover{box-shadow:0 6px 20px #0006}[data-theme=dark] .cflow-phase,.dark .cflow-phase{background:#ffffff14;border-color:var(--lane-color)}[data-theme=dark] .cflow-phase-label,.dark .cflow-phase-label{color:#e0e0e0}[data-theme=dark] .cflow-caption,.dark .cflow-caption{color:#94a3b8;background:#1c1f30}@media(max-width:768px){.cflow-container{padding:1rem;border-radius:12px}.cflow-lanes{gap:.75rem}.cflow-lane{border-radius:10px}.cflow-lane-phases{padding:.6rem .5rem}.cflow-phase{border-radius:7px}.cflow-caption{border-radius:0 0 10px 10px}}@media(max-width:480px){.cflow-container{padding:.75rem .5rem;border-radius:10px}.cflow-lane-header{padding:.4rem .5rem}.cflow-lane-title{font-size:.65rem}.cflow-lane-phases{padding:.5rem .4rem;gap:3px}.cflow-phase{padding:.3rem .45rem;border-radius:5px}.cflow-phase-label{font-size:.55rem}.cflow-phase-arrow{width:10px}.cflow-caption{font-size:.75rem;padding:.4rem .5rem;border-radius:0 0 8px 8px}}@media(prefers-reduced-motion:reduce){.cflow-lane,.cflow-phase{transition:none}}.pattern-illustration{margin:2rem auto;text-align:center}.pattern-illustration.single{max-width:480px}.illustration-panels{display:flex;gap:0;justify-content:center;align-items:stretch}.illustration-panels.panels-1{justify-content:center}.illustration-panels.panels-2{display:grid;grid-template-columns:1fr 1fr;gap:0}.illustration-panels.panels-3{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.illustration-panels.panels-4{display:grid;grid-template-columns:repeat(2,1fr);gap:0}.illustration-panel{display:flex;flex-direction:column;align-items:center}.panel-frame{position:relative;background:#fff;border:2.5px solid #2d2d2d;border-radius:4px;overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:180px}.illustration-panels.panels-2 .illustration-panel:first-child .panel-frame{border-right:1.25px solid #2d2d2d;border-radius:4px 0 0 4px}.illustration-panels.panels-2 .illustration-panel:last-child .panel-frame{border-left:1.25px solid #2d2d2d;border-radius:0 4px 4px 0}[data-theme=dark] .panel-frame{background:#1e1e1e;border-color:#555}.panel-image{width:100%;height:auto;display:block;object-fit:contain}.panel-caption{font-size:.8125rem;color:#666;margin-top:.5rem;font-style:italic}[data-theme=dark] .panel-caption{color:#9aa0a6}.speech-bubble{position:absolute;background:#fff;border:2px solid #2d2d2d;border-radius:16px;padding:.625rem 1rem;max-width:60%;z-index:2;font-size:.8125rem;font-weight:500;line-height:1.4;color:#2d2d2d}.speech-bubble:after{content:"";position:absolute;width:0;height:0}.speech-bubble.top-left{top:12px;left:12px}.speech-bubble.top-left:after{bottom:-10px;left:20px;border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid #2d2d2d}.speech-bubble.top-right{top:12px;right:12px}.speech-bubble.top-right:after{bottom:-10px;right:20px;border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid #2d2d2d}.speech-bubble.bottom-left{bottom:12px;left:12px}.speech-bubble.bottom-left:after{top:-10px;left:20px;border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:10px solid #2d2d2d}.speech-bubble.bottom-right{bottom:12px;right:12px}.speech-bubble.bottom-right:after{top:-10px;right:20px;border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:10px solid #2d2d2d}.speech-bubble p{margin:0}[data-theme=dark] .speech-bubble{background:#2d2d2d;border-color:#888;color:#e8eaed}.illustration-caption{margin-top:1rem;font-size:.875rem;color:#5f6368;font-style:italic;line-height:1.5}[data-theme=dark] .illustration-caption{color:#9aa0a6}.inline-illustration{margin:1.5rem auto;text-align:center}.inline-illustration img{width:100%;height:auto;border-radius:8px;border:1px solid #e8eaed}[data-theme=dark] .inline-illustration img{border-color:#3c4043;filter:brightness(.9)}.inline-illustration figcaption{margin-top:.75rem;font-size:.8125rem;color:#5f6368;font-style:italic}[data-theme=dark] .inline-illustration figcaption{color:#9aa0a6}@media(max-width:768px){.illustration-panels.panels-2,.illustration-panels.panels-3{grid-template-columns:1fr}.illustration-panels.panels-2 .illustration-panel:first-child .panel-frame,.illustration-panels.panels-2 .illustration-panel:last-child .panel-frame{border-radius:4px;border:2.5px solid #2d2d2d}.panel-frame{min-height:140px}.speech-bubble{font-size:.75rem;padding:.5rem .75rem;max-width:70%}}@media(max-width:480px){.pattern-illustration{margin:1.25rem auto}.panel-frame{min-height:120px}}.auth-page{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 180px);padding:var(--spacing-lg) var(--spacing-md);background:var(--color-background)}.auth-card{width:100%;max-width:420px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;padding:2rem 2rem 1.75rem;box-shadow:0 1px 3px #0000000a,0 6px 24px #0000000f}.auth-header{text-align:center;margin-bottom:1.5rem}.auth-logo{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,var(--color-primary),#2563eb);color:#fff;margin-bottom:1rem}.auth-title{font-size:1.5rem;font-weight:700;color:var(--color-text);margin:0 0 .35rem;letter-spacing:-.02em}.auth-subtitle{font-size:.875rem;color:var(--color-textSecondary);margin:0}.auth-error{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;margin-bottom:1.25rem;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#dc2626;font-size:.8125rem;line-height:1.4}[data-theme=dark] .auth-error{background:#dc26261a;border-color:#dc262640}.auth-error svg{flex-shrink:0}.auth-error-close{margin-left:auto;background:none;border:none;color:inherit;font-size:1.1rem;cursor:pointer;padding:0 4px;opacity:.6;transition:opacity .15s}.auth-error-close:hover{opacity:1}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-field{display:flex;flex-direction:column;gap:.375rem}.auth-label-row{display:flex;justify-content:space-between;align-items:baseline}.auth-label{font-size:.8125rem;font-weight:600;color:var(--color-text)}.auth-link-small{font-size:.75rem;color:var(--color-primary);text-decoration:none;font-weight:500}.auth-link-small:hover{text-decoration:underline}.auth-input-wrap{display:flex;align-items:center;gap:.5rem;background:var(--color-background);border:1.5px solid var(--color-border);border-radius:10px;padding:0 .75rem;transition:border-color .2s,box-shadow .2s}.auth-input-wrap:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61f}.auth-input-wrap svg{flex-shrink:0;color:var(--color-textSecondary)}.auth-input{flex:1;border:none;outline:none;background:transparent;padding:.65rem 0;font-size:.875rem;color:var(--color-text);font-family:inherit}.auth-input::placeholder{color:var(--color-textSecondary);opacity:.65}.auth-toggle-pw{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--color-textSecondary);cursor:pointer;padding:4px;border-radius:6px;transition:color .15s,background .15s}.auth-toggle-pw:hover{color:var(--color-text);background:#0000000a}.auth-submit{display:flex;align-items:center;justify-content:center;height:44px;margin-top:.5rem;border:none;border-radius:10px;background:linear-gradient(135deg,var(--color-primary),#2563eb);color:#fff;font-size:.9375rem;font-weight:600;font-family:inherit;cursor:pointer;transition:opacity .2s,transform .1s}.auth-submit:hover:not(:disabled){opacity:.92}.auth-submit:active:not(:disabled){transform:scale(.985)}.auth-submit:disabled{opacity:.5;cursor:not-allowed}.auth-spinner{display:inline-block;width:20px;height:20px;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:authSpin .65s linear infinite}@keyframes authSpin{to{transform:rotate(360deg)}}.auth-divider{display:flex;align-items:center;gap:.75rem;margin:1.5rem 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.auth-divider span{font-size:.75rem;color:var(--color-textSecondary);white-space:nowrap}.auth-social{display:flex;gap:.75rem}.auth-social-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;height:42px;border:1.5px solid var(--color-border);border-radius:10px;background:var(--color-background);color:var(--color-text);font-size:.8125rem;font-weight:500;font-family:inherit;cursor:pointer;transition:border-color .2s,background .2s}.auth-social-btn:hover:not(:disabled){border-color:var(--color-textSecondary);background:var(--color-surface)}.auth-social-btn:disabled{opacity:.5;cursor:not-allowed}.auth-footer-text{text-align:center;font-size:.8125rem;color:var(--color-textSecondary);margin:1.25rem 0 0}.auth-link{color:var(--color-primary);font-weight:600;text-decoration:none}.auth-link:hover{text-decoration:underline}.auth-terms{text-align:center;font-size:.6875rem;color:var(--color-textSecondary);margin:.75rem 0 0;line-height:1.5}.auth-terms a{color:var(--color-primary);text-decoration:none}.auth-terms a:hover{text-decoration:underline}[data-theme=dark] .auth-card{box-shadow:0 1px 3px #0000001f,0 8px 32px #0003}[data-theme=dark] .auth-logo{background:linear-gradient(135deg,#60a5fa,#3b82f6)}[data-theme=dark] .auth-input-wrap:focus-within{box-shadow:0 0 0 3px #60a5fa26}[data-theme=dark] .auth-submit{background:linear-gradient(135deg,#60a5fa,#3b82f6)}[data-theme=dark] .auth-toggle-pw:hover{background:#ffffff0f}.auth-field-error{font-size:.75rem;color:#dc2626;margin-top:.125rem}.auth-input-wrap--error{border-color:#dc2626}.auth-input-wrap--error:focus-within{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261f}.pw-strength{display:flex;align-items:center;gap:.5rem;margin-top:.375rem}.pw-strength-bar{display:flex;gap:3px;flex:1;max-width:140px}.pw-strength-segment{height:4px;flex:1;border-radius:2px;background:var(--color-border);transition:background .2s ease}.pw-strength-label{font-size:.6875rem;font-weight:600;white-space:nowrap}.auth-logo--success{background:linear-gradient(135deg,#22c55e,#16a34a)}.auth-link-btn{background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0}.auth-submit--link{display:flex;align-items:center;justify-content:center;text-decoration:none;margin-top:1rem}.auth-submit--outline{background:transparent;color:var(--color-text);border:1.5px solid var(--color-border)}.auth-submit--outline:hover:not(:disabled){border-color:var(--color-textSecondary);opacity:1}.profile-avatar{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),#2563eb);color:#fff;font-size:1.5rem;font-weight:700;margin-bottom:1rem;overflow:hidden}.profile-avatar-img{width:100%;height:100%;object-fit:cover}.profile-avatar-initials{line-height:1}.profile-info{display:flex;flex-direction:column;gap:.75rem;margin:1.5rem 0;padding:1rem;background:var(--color-background);border-radius:10px;border:1px solid var(--color-border)}.profile-row{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.profile-row svg{flex-shrink:0;color:var(--color-textSecondary)}.profile-row-label{color:var(--color-textSecondary);min-width:60px}.profile-row-value{color:var(--color-text);font-weight:500}.profile-provider-badge{text-transform:capitalize}.profile-actions{margin-top:1rem}@media(max-width:480px){.auth-card{border:none;border-radius:0;box-shadow:none;padding:1.5rem 1.25rem}.auth-page{align-items:flex-start;padding-top:var(--spacing-md)}}@media(prefers-reduced-motion:reduce){.auth-spinner{animation-duration:1.5s}.auth-submit,.auth-social-btn,.auth-input-wrap{transition:none}}.auth-callback-spinner{display:flex;justify-content:center;align-items:center;padding:2rem 0}.auth-spinner--large{width:40px;height:40px;border-width:3px;border-color:var(--color-border);border-top-color:var(--color-primary)}.auth-callback-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem}.auth-logo--pulse{animation:authLogoPulse 1.5s ease-in-out infinite}@keyframes authLogoPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}.profile-page{max-width:720px;margin:0 auto;padding:2rem 1rem 4rem;display:flex;flex-direction:column;gap:1rem}.profile-card{background:var(--color-surface, #fff);border:1px solid var(--color-border, #e5e7eb);border-radius:12px;padding:1.5rem}[data-theme=dark] .profile-card{background:var(--color-surface, #1e1e2e);border-color:var(--color-border, #313244)}.profile-card-title{font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary, #6b7280);margin:0 0 1rem}.profile-card--user{padding:1.75rem}.profile-user-header{display:flex;align-items:center;gap:1.25rem}.profile-avatar-lg{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.profile-avatar-lg-img{width:100%;height:100%;object-fit:cover}.profile-avatar-lg-initials{color:#fff;font-size:1.375rem;font-weight:700;letter-spacing:.02em}.profile-user-info{flex:1;min-width:0}.profile-user-name{font-size:1.375rem;font-weight:700;margin:0;color:var(--color-text, #111827);line-height:1.3}[data-theme=dark] .profile-user-name{color:var(--color-text, #f1f5f9)}.profile-user-email{font-size:.875rem;color:var(--color-text-secondary, #6b7280);margin:.125rem 0 0}.profile-user-since{font-size:.75rem;color:var(--color-text-tertiary, #9ca3af);margin:.25rem 0 0}.profile-logout-btn{background:none;border:1px solid var(--color-border, #e5e7eb);border-radius:8px;padding:.5rem;cursor:pointer;color:var(--color-text-secondary, #6b7280);transition:all .15s ease;flex-shrink:0}.profile-logout-btn:hover{color:#ef4444;border-color:#fca5a5;background:#ef44440f}[data-theme=dark] .profile-logout-btn{border-color:var(--color-border, #313244)}[data-theme=dark] .profile-logout-btn:hover{background:#ef44441f;border-color:#ef44444d}.profile-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.profile-stat-card{background:var(--color-surface, #fff);border:1px solid var(--color-border, #e5e7eb);border-radius:12px;padding:1.25rem 1rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem}[data-theme=dark] .profile-stat-card{background:var(--color-surface, #1e1e2e);border-color:var(--color-border, #313244)}.profile-stat-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center}.profile-stat-icon--solved{background:#22c55e1f;color:#16a34a}.profile-stat-icon--attempted{background:#f59e0b1f;color:#d97706}.profile-stat-icon--streak{background:#f973161f;color:#ea580c}.profile-stat-icon--rate{background:#6366f11f;color:#6366f1}.profile-stat-value{font-size:1.5rem;font-weight:800;color:var(--color-text, #111827);line-height:1}[data-theme=dark] .profile-stat-value{color:var(--color-text, #f1f5f9)}.profile-stat-label{font-size:.75rem;color:var(--color-text-secondary, #6b7280);font-weight:500}.profile-difficulty-bars{display:flex;flex-direction:column;gap:.875rem}.profile-diff-row{display:flex;flex-direction:column;gap:.375rem}.profile-diff-header{display:flex;justify-content:space-between;align-items:center}.profile-diff-label{font-size:.8125rem;font-weight:600}.profile-diff-label--easy{color:#16a34a}.profile-diff-label--medium{color:#d97706}.profile-diff-label--hard{color:#dc2626}.profile-diff-count{font-size:.75rem;color:var(--color-text-secondary, #6b7280);font-weight:500;font-variant-numeric:tabular-nums}.profile-diff-track{height:8px;border-radius:4px;background:var(--color-border, #e5e7eb);overflow:hidden}[data-theme=dark] .profile-diff-track{background:var(--color-border, #313244)}.profile-diff-fill{height:100%;border-radius:4px;transition:width .6s cubic-bezier(.16,1,.3,1);min-width:0}.profile-diff-fill--easy{background:#22c55e}.profile-diff-fill--medium{background:#f59e0b}.profile-diff-fill--hard{background:#ef4444}.profile-streak-row{display:flex;align-items:center;justify-content:center;gap:1.5rem}.profile-streak-item{display:flex;flex-direction:column;align-items:center;gap:.25rem;flex:1}.profile-streak-value{font-size:1.75rem;font-weight:800;color:var(--color-text, #111827);line-height:1}[data-theme=dark] .profile-streak-value{color:var(--color-text, #f1f5f9)}.profile-streak-label{font-size:.6875rem;color:var(--color-text-secondary, #6b7280);font-weight:500;text-transform:uppercase;letter-spacing:.04em}.profile-streak-divider{width:1px;height:40px;background:var(--color-border, #e5e7eb)}[data-theme=dark] .profile-streak-divider{background:var(--color-border, #313244)}.profile-cta{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.5rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border-radius:10px;font-size:.9375rem;font-weight:600;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}.profile-cta:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}@media(max-width:640px){.profile-page{padding:1rem .75rem 3rem}.profile-stats-grid{grid-template-columns:repeat(2,1fr)}.profile-user-header{flex-direction:column;text-align:center}.profile-logout-btn{position:absolute;top:1rem;right:1rem}.profile-card--user{position:relative}.profile-streak-row{gap:1rem}}.toast-container{position:fixed;bottom:1.25rem;right:1.25rem;z-index:9999;display:flex;flex-direction:column;gap:.5rem;pointer-events:none;max-width:400px}.toast{display:flex;align-items:flex-start;gap:.625rem;padding:.75rem 1rem;border-radius:10px;background:var(--color-surface, #ffffff);border:1px solid var(--color-border, #e5e7eb);box-shadow:0 8px 30px #0000001f,0 2px 8px #0000000f;pointer-events:auto;position:relative;overflow:hidden;animation:toast-enter .3s cubic-bezier(.16,1,.3,1);min-width:280px}.toast--exiting{animation:toast-exit .28s cubic-bezier(.16,1,.3,1) forwards}.toast--success{border-left:3px solid #22c55e}.toast--success .toast__icon{color:#22c55e;background:#22c55e1a}.toast--error{border-left:3px solid #ef4444}.toast--error .toast__icon{color:#ef4444;background:#ef44441a}.toast--info{border-left:3px solid #3b82f6}.toast--info .toast__icon{color:#3b82f6;background:#3b82f61a}.toast--warning{border-left:3px solid #f59e0b}.toast--warning .toast__icon{color:#f59e0b;background:#f59e0b1a}.toast__icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;flex-shrink:0}.toast__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem;padding-top:.1875rem}.toast__message{font-size:.875rem;font-weight:600;color:var(--color-text, #1a1a2e);line-height:1.4}.toast__detail{font-size:.8125rem;color:var(--color-text-secondary, #6b7280);line-height:1.4}.toast__close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:6px;background:transparent;color:var(--color-text-secondary, #9ca3af);cursor:pointer;transition:background .15s,color .15s;flex-shrink:0;padding:0}.toast__close:hover{background:#0000000f;color:var(--color-text, #1a1a2e)}.toast__progress{position:absolute;bottom:0;left:0;height:2px;background:currentColor;opacity:.2;animation:toast-progress linear forwards;width:100%;transform-origin:left}.toast--success .toast__progress{color:#22c55e}.toast--error .toast__progress{color:#ef4444}.toast--info .toast__progress{color:#3b82f6}.toast--warning .toast__progress{color:#f59e0b}@keyframes toast-enter{0%{opacity:0;transform:translate(100%) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes toast-exit{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(100%) scale(.95)}}@keyframes toast-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}[data-theme=dark] .toast{background:var(--color-surface, #1e1e2e);border-color:var(--color-border, #374151);box-shadow:0 8px 30px #00000059,0 2px 8px #0003}[data-theme=dark] .toast__close:hover{background:#ffffff14;color:var(--color-text, #e2e8f0)}@media(max-width:480px){.toast-container{bottom:1rem;right:.75rem;left:.75rem;max-width:none}.toast{min-width:0}}:root{--color-primary: #3b82f6;--color-secondary: #64748b;--color-background: #ffffff;--color-surface: #f8fafc;--color-text: #1e293b;--color-textSecondary: #64748b;--color-border: #e2e8f0;--color-primaryHover: #2563eb;--color-backgroundHover: #f1f5f9;--color-borderHover: #cbd5e1;--color-codeBackground: #f8fafc;--color-primary-light: #dbeafe;--color-primary-dark: #1e40af;--color-success: #1a73e8;--color-success-light: #e8f0fe;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-xxl: 3rem;--border-radius: 8px;--header-height: 57px;--p4u-accent-color: #3b82f6}:is([data-theme=dark],[data-theme=midnight],[data-theme=solarized-dark],[data-theme=dracula]){--color-primary: #60a5fa;--color-secondary: #94a3b8;--color-background: #0f172a;--color-surface: #1e293b;--color-text: #f1f5f9;--color-textSecondary: #94a3b8;--color-border: #3b4963;--color-primaryHover: #3b82f6;--color-backgroundHover: #1f2937;--color-borderHover: #4b5563;--color-codeBackground: #111827;--color-primary-light: #1e40af;--color-primary-dark: #3b82f6;--color-success: #8ab4f8;--color-success-light: rgba(138, 180, 248, .15)}[data-theme=midnight]{--color-primary: #818cf8;--color-secondary: #6b7280;--color-background: #09090b;--color-surface: #18181b;--color-text: #e4e4e7;--color-textSecondary: #a1a1aa;--color-border: #27272a;--color-primaryHover: #6366f1;--color-backgroundHover: #1c1c22;--color-borderHover: #3f3f46;--color-codeBackground: #0c0c0f;--color-primary-light: #312e81;--color-primary-dark: #818cf8;--color-success: #a78bfa;--color-success-light: rgba(167, 139, 250, .15)}[data-theme=solarized-dark]{--color-primary: #268bd2;--color-secondary: #657b83;--color-background: #002b36;--color-surface: #073642;--color-text: #fdf6e3;--color-textSecondary: #839496;--color-border: #094959;--color-primaryHover: #2aa198;--color-backgroundHover: #063847;--color-borderHover: #0b5e72;--color-codeBackground: #01313d;--color-primary-light: #0d4e6b;--color-primary-dark: #268bd2;--color-success: #2aa198;--color-success-light: rgba(42, 161, 152, .15)}[data-theme=dracula]{--color-primary: #bd93f9;--color-secondary: #6272a4;--color-background: #282a36;--color-surface: #343746;--color-text: #f8f8f2;--color-textSecondary: #6272a4;--color-border: #44475a;--color-primaryHover: #ff79c6;--color-backgroundHover: #3c3f58;--color-borderHover: #565977;--color-codeBackground: #21222c;--color-primary-light: #44375a;--color-primary-dark: #bd93f9;--color-success: #50fa7b;--color-success-light: rgba(80, 250, 123, .15)}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:Inter,Segoe UI,Roboto,sans-serif;background-color:var(--color-background);color:var(--color-text);line-height:1.6}#root{min-height:100vh;display:flex;flex-direction:column}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-md{gap:var(--spacing-md)}.gap-sm{gap:var(--spacing-sm)}.text-center{text-align:center}.mt-auto{margin-top:auto}nav a,.nav-link,.navigation-item a{color:var(--color-text)!important;opacity:1!important}[data-theme=light] nav a,[data-theme=light] .nav-link,[data-theme=light] .navigation-item a{color:#1e293b!important}:is([data-theme=dark],[data-theme=midnight],[data-theme=solarized-dark],[data-theme=dracula]) nav a,:is([data-theme=dark],[data-theme=midnight],[data-theme=solarized-dark],[data-theme=dracula]) .nav-link,:is([data-theme=dark],[data-theme=midnight],[data-theme=solarized-dark],[data-theme=dracula]) .navigation-item a{color:#f1f5f9!important}.p4u-no-animations *,.p4u-no-animations *:before,.p4u-no-animations *:after{animation-duration:0s!important;animation-delay:0s!important;transition-duration:0s!important;transition-delay:0s!important}.p4u-reduced-motion *,.p4u-reduced-motion *:before,.p4u-reduced-motion *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.p4u-high-contrast *{border-color:currentColor!important}.p4u-high-contrast button,.p4u-high-contrast a,.p4u-high-contrast input,.p4u-high-contrast select,.p4u-high-contrast textarea{outline:2px solid currentColor;outline-offset:2px}.p4u-high-contrast img{filter:contrast(1.25)}[data-focus-indicators=enhanced] *:focus-visible{outline:3px solid var(--p4u-accent-color, #3b82f6)!important;outline-offset:3px!important;box-shadow:0 0 0 6px #3b82f633!important}[data-ui-font-size=large]{font-size:112.5%}[data-ui-font-size=x-large]{font-size:125%}.p4u-compact{--spacing-xs: .125rem;--spacing-sm: .25rem;--spacing-md: .625rem;--spacing-lg: 1rem;--spacing-xl: 1.25rem;--spacing-xxl: 2rem}@media(max-width:768px){.container{padding:0 var(--spacing-sm)}.mobile-hidden{display:none}}@media(min-width:769px){.desktop-hidden{display:none}}.main-content{flex:1;padding:var(--spacing-xl) 0}.hero{text-align:center;padding:var(--spacing-xl) 0;margin-bottom:var(--spacing-xl)}.hero .hero-title{font-size:3rem;font-weight:800;color:var(--color-text);margin-bottom:var(--spacing-md);background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero .hero-description{font-size:1.25rem;color:var(--color-textSecondary);max-width:600px;margin:0 auto var(--spacing-xl);line-height:1.6}.hero-actions{display:flex;gap:var(--spacing-md);justify-content:center;flex-wrap:wrap}.btn{padding:var(--spacing-md) var(--spacing-xl);border:none;border-radius:.5rem;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease-in-out;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-primary);filter:brightness(.9);transform:translateY(-1px)}.btn-secondary{background-color:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.btn-secondary:hover{background-color:var(--color-primary);color:#fff;transform:translateY(-1px)}.features{margin-top:var(--spacing-xxl);padding:var(--spacing-xxl) 0;background:linear-gradient(135deg,var(--color-surface),var(--color-background));position:relative}.features:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--color-border),transparent)}.features .section-title{font-size:2.5rem;font-weight:800;text-align:center;color:var(--color-text);margin-bottom:var(--spacing-xxl);line-height:1.2;position:relative}.features .section-title:after{content:"";position:absolute;bottom:-var(--spacing-md);left:50%;transform:translate(-50%);width:80px;height:3px;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));border-radius:2px}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--spacing-xl);margin-top:var(--spacing-lg);justify-items:center}.feature-card{background-color:var(--color-surface);padding:var(--spacing-xl);border-radius:1rem;border:1px solid var(--color-border);transition:all .3s ease-in-out;position:relative;overflow:hidden;max-width:380px;height:fit-content;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.feature-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));transform:scaleX(0);transition:transform .3s ease-in-out;transform-origin:left}.feature-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px #3b82f626;border-color:var(--color-primary)}.feature-card:hover:before{transform:scaleX(1)}.feature-card h3{font-size:1.5rem;font-weight:700;color:var(--color-text);margin-bottom:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-sm)}.feature-card p{color:var(--color-textSecondary);line-height:1.7;margin:0;font-size:1rem}.selected-tutorial{margin:var(--spacing-xl) 0;padding:var(--spacing-lg);background:linear-gradient(135deg,var(--color-primary)10,var(--color-surface));border-radius:.75rem;border:2px solid var(--color-primary)}.tutorial-highlight h2{color:var(--color-primary);font-size:1.75rem;margin-bottom:var(--spacing-md)}.tutorial-highlight p{color:var(--color-text);font-size:1.125rem;margin-bottom:var(--spacing-md)}.tutorial-meta{display:flex;gap:var(--spacing-md);align-items:center}.difficulty{padding:var(--spacing-xs) var(--spacing-md);border-radius:1rem;font-size:.875rem;font-weight:600;text-transform:capitalize}.difficulty-beginner{background-color:#e8f0fe;color:#1a73e8}.difficulty-intermediate{background-color:#fef3c7;color:#92400e}.difficulty-advanced{background-color:#fee2e2;color:#991b1b}.estimated-time{color:var(--color-textSecondary);font-size:.875rem}@media(max-width:768px){.hero .hero-title{font-size:2rem}.hero .hero-description{font-size:1.125rem}.hero-actions{flex-direction:column;align-items:center}.btn{width:100%;max-width:300px}.features{padding:var(--spacing-xl) 0;margin-top:var(--spacing-xl)}.features .section-title{font-size:2rem;margin-bottom:var(--spacing-xl)}.features .section-title:after{width:60px;height:2px}.features-grid{grid-template-columns:1fr;gap:var(--spacing-lg);margin-top:var(--spacing-md)}.feature-card{max-width:100%;margin:0 auto;padding:var(--spacing-lg)}.feature-card h3{font-size:1.25rem}}@media(min-width:769px)and (max-width:1024px){.features-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-xl)}.feature-card{max-width:100%}}@media(min-width:1400px){.features-grid{grid-template-columns:repeat(3,1fr);max-width:1200px;margin:var(--spacing-lg) auto 0}}.ad-container{display:flex;justify-content:center;align-items:center;margin:var(--spacing-lg) 0;padding:var(--spacing-sm);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);min-height:90px;position:relative;overflow:hidden}.ad-container:before{content:"";position:absolute;inset:0;background:linear-gradient(45deg,transparent 25%,rgba(var(--color-primary-rgb),.05) 25%,rgba(var(--color-primary-rgb),.05) 50%,transparent 50%,transparent 75%,rgba(var(--color-primary-rgb),.05) 75%);background-size:20px 20px;opacity:.3;pointer-events:none}.tutorial-top-ad{margin:var(--spacing-md) 0 var(--spacing-lg) 0;min-height:90px}.tutorial-bottom-ad{margin:var(--spacing-xl) 0 var(--spacing-lg) 0;min-height:90px}.sidebar-ad{margin:var(--spacing-lg) 0;min-height:250px;max-width:160px;width:100%}.in-content-ad{margin:var(--spacing-xl) auto;max-width:336px;min-height:280px}@media(max-width:768px){.ad-container{margin:var(--spacing-md) 0;padding:var(--spacing-xs);min-height:60px}.tutorial-top-ad,.tutorial-bottom-ad{min-height:60px}.sidebar-ad{display:none}.in-content-ad{max-width:300px;min-height:250px}}[data-theme=dark] .ad-container{background:var(--color-surface);border-color:var(--color-border)}[data-theme=dark] .ad-container:before{background:linear-gradient(45deg,transparent 25%,rgba(255,255,255,.03) 25%,rgba(255,255,255,.03) 50%,transparent 50%,transparent 75%,rgba(255,255,255,.03) 75%);background-size:20px 20px}[data-theme=dark] .hero{background:radial-gradient(ellipse at top,rgba(59,130,246,.08) 0%,transparent 60%)}[data-theme=dark] .features{background:linear-gradient(135deg,rgba(30,41,59,.6),var(--color-background))}[data-theme=dark] .features:before{background:linear-gradient(90deg,transparent,rgba(96,165,250,.25),transparent)}[data-theme=dark] .feature-card{background-color:#1e293bcc;border-color:var(--color-border);box-shadow:0 2px 8px #0003}[data-theme=dark] .feature-card:hover{box-shadow:0 20px 40px #60a5fa1f;border-color:var(--color-primary);background-color:#1e293bf2}[data-theme=dark] .btn-secondary{border-color:var(--color-primary);color:var(--color-primary)}[data-theme=dark] .btn-secondary:hover{background-color:var(--color-primary);color:#fff}.compiler-loading{display:flex;justify-content:center;align-items:center;height:100vh;background:var(--color-background, #f6f8fa)}.compiler-loading-inner{text-align:center}.compiler-loading-spinner{position:relative;width:64px;height:64px;margin:0 auto 20px}.compiler-loading-ring{width:64px;height:64px;color:var(--color-primary, #3b82f6);animation:compilerSpin 1.2s linear infinite;stroke-dasharray:80,200;stroke-dashoffset:0}.compiler-loading-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:16px;font-weight:700;font-family:SF Mono,Fira Code,Consolas,monospace;color:var(--color-primary, #3b82f6);letter-spacing:-.5px}.compiler-loading-text{font-size:15px;font-weight:500;color:var(--color-textSecondary, #64748b);margin:0;font-family:inherit}.compiler-loading-dots:after{content:"";animation:compilerDots 1.5s steps(4,end) infinite}@keyframes compilerSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes compilerDots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}to{content:""}}:root{--tutorial-primary: #1a73e8;--tutorial-primary-light: #4285f4;--tutorial-primary-dark: #1557b0;--tutorial-primary-rgb: 26, 115, 232;--tutorial-success: #1a73e8;--tutorial-success-light: #e8f0fe;--tutorial-info: #0969DA;--tutorial-info-light: #e8f4fd;--tutorial-warning: #BF8700;--tutorial-warning-light: #fff8e6;--tutorial-error: #CF222E;--tutorial-error-light: #fde8e8;--tutorial-bg-light: #FAFBFC;--tutorial-bg-dark: #0D1117;--tutorial-card-bg: #FFFFFF;--tutorial-card-border: #E1E4E8;--tutorial-border-color: #e8eaed;--tutorial-text-primary: #202124;--tutorial-text-body: #3c4043;--tutorial-text-secondary: #57606A;--tutorial-text-muted: #5f6368;--tutorial-text-subtle: #8B949E;--tutorial-shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--tutorial-shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--tutorial-shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--tutorial-radius-sm: 6px;--tutorial-radius-md: 10px;--tutorial-radius-lg: 16px;--tutorial-font-code: "JetBrains Mono", "Fira Code", "Monaco", "Menlo", "Consolas", monospace}[data-theme=dark]{--tutorial-primary: #8ab4f8;--tutorial-primary-light: #aecbfa;--tutorial-primary-dark: #669df6;--tutorial-primary-rgb: 138, 180, 248;--tutorial-bg-light: #161B22;--tutorial-card-bg: #21262D;--tutorial-card-border: #30363D;--tutorial-border-color: #3c4043;--tutorial-text-primary: #e8eaed;--tutorial-text-body: #bdc1c6;--tutorial-text-secondary: #8B949E;--tutorial-text-muted: #9aa0a6;--tutorial-text-subtle: #6E7681;--tutorial-success-light: rgba(26, 115, 232, .12);--tutorial-info-light: rgba(9, 105, 218, .15);--tutorial-warning-light: rgba(191, 135, 0, .15);--tutorial-error-light: rgba(207, 34, 46, .15)}.tutorial-content-page{max-width:100%;padding:0;line-height:1.6;color:var(--tutorial-text-primary)}.tutorial-hero{padding:0 0 2rem;margin-bottom:1.5rem;border-bottom:1px solid var(--tutorial-border-color)}.tutorial-hero-title{font-size:2rem;font-weight:400;line-height:1.3;color:var(--tutorial-text-primary);margin:0 0 .75rem}.tutorial-hero-title .highlight{color:#1a73e8}[data-theme=dark] .tutorial-hero-title .highlight{color:#8ab4f8}.tutorial-hero-description{font-size:1rem;line-height:1.6;color:var(--tutorial-text-muted);margin:0;max-width:600px}.tutorial-section{margin-bottom:3rem}.tutorial-section h2{font-size:1.5rem;font-weight:400;color:var(--tutorial-text-primary);margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--tutorial-border-color)}.tutorial-section h2 .section-icon{color:#1a73e8;font-size:1.5rem;vertical-align:middle;margin-right:.5rem}[data-theme=dark] .tutorial-section h2 .section-icon{color:#8ab4f8}.tutorial-section h3{font-size:1.25rem;font-weight:500;color:var(--tutorial-text-primary);margin:2rem 0 1rem}.tutorial-section p{font-size:1rem;line-height:1.7;color:var(--tutorial-text-body);margin:0 0 1rem}.tutorial-section ul,.tutorial-section ol{margin:.5rem 0 1rem 1.5rem;padding:0}.tutorial-section li{font-size:1rem;line-height:1.7;color:var(--tutorial-text-body);margin-bottom:.5rem}.tutorial-section strong{color:var(--tutorial-text-primary)}.tutorial-section code{background:rgba(var(--tutorial-primary-rgb),.08);color:#1a73e8;padding:.15em .4em;border-radius:4px;font-family:var(--tutorial-font-code);font-size:.9em}.tutorial-section pre code{background:none;color:inherit;padding:0;border-radius:0;font-size:inherit}[data-theme=dark] .tutorial-section code{background:rgba(var(--tutorial-primary-rgb),.15);color:#8ab4f8}[data-theme=dark] .tutorial-section pre code{background:none;color:inherit}.tutorial-callout{display:flex;gap:.875rem;padding:1rem 1.25rem;border-radius:8px;margin:1.25rem 0}.tutorial-callout-bordered{padding:1.25rem 1.5rem;border-radius:var(--tutorial-radius-md);margin:1.5rem 0;position:relative}.tutorial-callout-info,.tutorial-callout.callout-primary,.tutorial-callout.callout-info{background:#e8f0fe;border:1px solid #c6dafc}[data-theme=dark] .tutorial-callout-info,[data-theme=dark] .tutorial-callout.callout-primary,[data-theme=dark] .tutorial-callout.callout-info{background:#1a3a5c;border-color:#2d4a6f}.tutorial-callout-bordered.callout-info{background:linear-gradient(135deg,#e8f4fd,#d5ebf9);border-left:4px solid var(--tutorial-info)}[data-theme=dark] .tutorial-callout-bordered.callout-info{background:linear-gradient(135deg,#0969da26,#0969da14)}.tutorial-callout-tip,.tutorial-callout.callout-tip,.tutorial-callout.callout-success{background:#e8f0fe;border:1px solid #c6dafc}[data-theme=dark] .tutorial-callout-tip,[data-theme=dark] .tutorial-callout.callout-tip,[data-theme=dark] .tutorial-callout.callout-success{background:#8ab4f81a;border-color:#8ab4f84d}.tutorial-callout-bordered.callout-tip{background:linear-gradient(135deg,#e8f0fe,#d6e4fd);border-left:4px solid var(--tutorial-success)}[data-theme=dark] .tutorial-callout-bordered.callout-tip{background:linear-gradient(135deg,#8ab4f81f,#8ab4f80f)}.tutorial-callout-warning,.tutorial-callout.callout-warning{background:#fef7e0;border:1px solid #f9e39c}[data-theme=dark] .tutorial-callout-warning,[data-theme=dark] .tutorial-callout.callout-warning{background:#3d3523;border-color:#5c4b2a}.tutorial-callout-bordered.callout-warning{background:linear-gradient(135deg,#fff8e6,#fff3cd);border-left:4px solid var(--tutorial-warning)}[data-theme=dark] .tutorial-callout-bordered.callout-warning{background:linear-gradient(135deg,#bf870026,#bf870014)}.tutorial-callout-danger,.tutorial-callout.callout-danger{background:#fce8e6;border:1px solid #f5c6cb}[data-theme=dark] .tutorial-callout-danger,[data-theme=dark] .tutorial-callout.callout-danger{background:#3d2323;border-color:#5c2a2a}.tutorial-callout-bordered.callout-danger{background:linear-gradient(135deg,#fde8e8,#f8d0d0);border-left:4px solid var(--tutorial-error)}[data-theme=dark] .tutorial-callout-bordered.callout-danger{background:linear-gradient(135deg,#cf222e26,#cf222e14)}.tutorial-callout-bordered.callout-brand{background:linear-gradient(135deg,#e8f0fe,#d5ebf9);border-left:4px solid #1a73e8}[data-theme=dark] .tutorial-callout-bordered.callout-brand{background:linear-gradient(135deg,#1a73e826,#1a73e814)}.tutorial-callout-icon{flex-shrink:0;font-size:1.25rem}.tutorial-callout-info .tutorial-callout-icon,.tutorial-callout-tip .tutorial-callout-icon{color:#1a73e8}.tutorial-callout-warning .tutorial-callout-icon{color:#f9ab00}.tutorial-callout-danger .tutorial-callout-icon{color:#d93025}.tutorial-callout.callout-info .tutorial-callout-icon,.tutorial-callout.callout-success .tutorial-callout-icon{color:#1a73e8}.tutorial-callout.callout-warning .tutorial-callout-icon{color:#f97316}.tutorial-callout.callout-danger .tutorial-callout-icon{color:#d93025}.tutorial-callout.callout-primary .tutorial-callout-icon{color:#1a73e8}.tutorial-callout.callout-tip .tutorial-callout-icon{color:#f9ab00}[data-theme=dark] .tutorial-callout-info .tutorial-callout-icon,[data-theme=dark] .tutorial-callout-tip .tutorial-callout-icon{color:#8ab4f8}[data-theme=dark] .tutorial-callout-warning .tutorial-callout-icon{color:#fdd663}[data-theme=dark] .tutorial-callout-danger .tutorial-callout-icon{color:#f28b82}.tutorial-callout-title{font-weight:600;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem;font-size:.9375rem;color:var(--tutorial-text-primary)}.tutorial-callout-bordered.callout-info .tutorial-callout-title{color:var(--tutorial-info)}.tutorial-callout-bordered.callout-tip .tutorial-callout-title{color:var(--tutorial-success)}.tutorial-callout-bordered.callout-warning .tutorial-callout-title{color:var(--tutorial-warning)}.tutorial-callout-bordered.callout-danger .tutorial-callout-title{color:var(--tutorial-error)}.tutorial-callout-bordered.callout-brand .tutorial-callout-title{color:#1a73e8}[data-theme=dark] .tutorial-callout-bordered.callout-brand .tutorial-callout-title{color:#8ab4f8}.tutorial-callout-content{font-size:.875rem;line-height:1.6;color:var(--tutorial-text-muted)}.tutorial-callout-content h4{margin:0 0 .375rem;font-size:.9375rem;font-weight:500;color:var(--tutorial-text-primary)}.tutorial-callout-content p{margin:0;font-size:.875rem;line-height:1.6;color:var(--tutorial-text-muted)}.tutorial-features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin:2rem 0}.tutorial-feature-card{background:var(--tutorial-card-bg);border:1px solid var(--tutorial-card-border);border-radius:var(--tutorial-radius-md);padding:1.5rem;transition:all .2s ease}.tutorial-feature-card:hover{border-color:#1a73e8;box-shadow:var(--tutorial-shadow-md);transform:translateY(-2px)}[data-theme=dark] .tutorial-feature-card:hover{border-color:#8ab4f8}.tutorial-feature-icon{font-size:1.75rem;margin-bottom:.75rem;color:#1a73e8}[data-theme=dark] .tutorial-feature-icon{color:#8ab4f8}.tutorial-feature-icon-wrapper{width:48px;height:48px;border-radius:var(--tutorial-radius-sm);display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:1rem;background:rgba(var(--tutorial-primary-rgb),.1);color:#1a73e8}[data-theme=dark] .tutorial-feature-icon-wrapper{background:rgba(var(--tutorial-primary-rgb),.15);color:#8ab4f8}.tutorial-feature-title,.tutorial-feature-card h4{font-size:1.1rem;font-weight:600;color:var(--tutorial-text-primary);margin:0 0 .5rem}.tutorial-feature-description,.tutorial-feature-card p{font-size:.9375rem;color:var(--tutorial-text-secondary);line-height:1.6;margin:0}.tutorial-code-example{margin:1.5rem 0;border-radius:var(--tutorial-radius-md);overflow:hidden;border:1px solid var(--tutorial-card-border)}.tutorial-code-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:linear-gradient(135deg,#1a73e8,#1557b0);color:#fff}.tutorial-code-title{font-size:.9375rem;font-weight:500;color:#fff}.tutorial-code-badge{background:#fff3;color:#fff;padding:.25rem .75rem;border-radius:100px;font-size:.75rem;font-weight:600}.tutorial-code-body{background:#f8f9fa;padding:1rem 1.25rem}[data-theme=dark] .tutorial-code-body{background:#1e1e1e}.tutorial-code-body pre{margin:0;color:#383a42;font-family:var(--tutorial-font-code);font-size:.875rem;line-height:1.6;overflow-x:auto}[data-theme=dark] .tutorial-code-body pre{color:#d4d4d4}.tutorial-code-body .keyword{color:#d73a49}.tutorial-code-body .string{color:#22863a}.tutorial-code-body .comment{color:#6a737d}.tutorial-code-body .function{color:#6f42c1}.tutorial-code-body .number{color:#005cc5}[data-theme=dark] .tutorial-code-body .keyword{color:#569cd6}[data-theme=dark] .tutorial-code-body .string{color:#ce9178}[data-theme=dark] .tutorial-code-body .comment{color:#6a9955}[data-theme=dark] .tutorial-code-body .function{color:#dcdcaa}[data-theme=dark] .tutorial-code-body .number{color:#b5cea8}.tutorial-code-output{background:#f1f3f4;border-top:1px solid #e8eaed;padding:1rem 1.25rem}[data-theme=dark] .tutorial-code-output{background:#0d1117;border-top-color:#30363d}.tutorial-code-output-label{font-size:.75rem;color:#5f6368;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}[data-theme=dark] .tutorial-code-output-label{color:#8b949e}.tutorial-code-output pre{margin:0;color:#188038;font-family:var(--tutorial-font-code);font-size:.875rem}[data-theme=dark] .tutorial-code-output pre{color:#4ec9b0}.tutorial-code-header-neutral{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#f8f9fa;border-bottom:1px solid var(--tutorial-border-color)}[data-theme=dark] .tutorial-code-header-neutral{background:#1e1e1e;border-bottom-color:#3c4043}.tutorial-code-header-neutral .tutorial-code-title{color:var(--tutorial-text-primary)}.tutorial-table-container{overflow-x:auto;margin:1.5rem 0;border-radius:8px;border:1px solid var(--tutorial-border-color)}.tutorial-table{width:100%;border-collapse:collapse;font-size:.95rem;background:var(--tutorial-card-bg)}.tutorial-table th{background:linear-gradient(135deg,#1a73e8,#1557b0);color:#fff;padding:.875rem 1rem;text-align:left;font-weight:600}.tutorial-table td{padding:.75rem 1rem;border-bottom:1px solid var(--tutorial-card-border);color:var(--tutorial-text-body)}.tutorial-table tbody tr:last-child td{border-bottom:none}.tutorial-table tbody tr:hover{background:rgba(var(--tutorial-primary-rgb),.03)}.tutorial-table code{background:rgba(var(--tutorial-primary-rgb),.08);padding:.125rem .375rem;border-radius:4px;font-family:var(--tutorial-font-code);font-size:.85em;color:#1a73e8}[data-theme=dark] .tutorial-table code{background:rgba(var(--tutorial-primary-rgb),.15);color:#8ab4f8}.tutorial-table-neutral th{background:#f8f9fa;color:var(--tutorial-text-primary)}[data-theme=dark] .tutorial-table-neutral th{background:#292a2d}.tutorial-learning-path{margin:2rem 0}.tutorial-learning-step{display:flex;gap:1.25rem;margin-bottom:1.5rem;position:relative}.tutorial-learning-step:not(:last-child):after{content:"";position:absolute;left:1.25rem;top:3rem;bottom:-.5rem;width:2px;background:linear-gradient(to bottom,#1a73e8,transparent)}[data-theme=dark] .tutorial-learning-step:not(:last-child):after{background:linear-gradient(to bottom,#8ab4f8,transparent)}.tutorial-step-number{width:2.5rem;height:2.5rem;background:#1a73e8;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;flex-shrink:0;z-index:1}[data-theme=dark] .tutorial-step-number{background:#8ab4f8;color:#202124}.tutorial-step-content{flex:1;padding-top:.25rem}.tutorial-step-title{font-size:1.1rem;font-weight:600;color:var(--tutorial-text-primary);margin-bottom:.5rem}.tutorial-step-description{font-size:.95rem;color:var(--tutorial-text-secondary);line-height:1.6}.tutorial-path-item{display:flex;gap:1.5rem;padding:1.5rem;background:var(--tutorial-card-bg);border:1px solid var(--tutorial-card-border);border-radius:var(--tutorial-radius-md);transition:all .2s ease;margin-bottom:1rem}.tutorial-path-item:hover{border-color:#1a73e8;box-shadow:var(--tutorial-shadow-sm)}[data-theme=dark] .tutorial-path-item:hover{border-color:#8ab4f8}.tutorial-path-number{flex-shrink:0;width:40px;height:40px;background:#1a73e8;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:700}[data-theme=dark] .tutorial-path-number{background:#8ab4f8;color:#202124}.tutorial-path-content h4{display:flex;align-items:center;gap:.5rem;margin:0 0 .75rem;font-size:1.1rem;color:var(--tutorial-text-primary)}.tutorial-path-content ul{margin:0;padding-left:1.25rem;list-style-type:disc}.tutorial-path-content li{margin-bottom:.35rem;font-size:.95rem;color:var(--tutorial-text-secondary);line-height:1.5}.tutorial-takeaways{background:#e8f0fe;border:1px solid #c6dafc;border-radius:var(--tutorial-radius-lg);padding:2rem;margin:2rem 0}[data-theme=dark] .tutorial-takeaways{background:rgba(var(--tutorial-primary-rgb),.1);border-color:rgba(var(--tutorial-primary-rgb),.3)}.tutorial-takeaways-title{font-size:1.25rem;font-weight:600;color:#1a73e8;margin-bottom:1.25rem;display:flex;align-items:center;gap:.5rem}[data-theme=dark] .tutorial-takeaways-title{color:#8ab4f8}.tutorial-takeaways-list{list-style:none;padding:0;margin:0;display:grid;gap:.75rem}.tutorial-takeaways-item{display:flex;align-items:flex-start;gap:.75rem;font-size:.95rem;line-height:1.5;color:var(--tutorial-text-secondary)}.tutorial-takeaways-item:before{content:"✓";flex-shrink:0;color:#1a73e8;font-weight:700}[data-theme=dark] .tutorial-takeaways-item:before{color:#8ab4f8}.tutorial-try-it{background:var(--tutorial-card-bg);border:2px solid #1a73e8;border-radius:var(--tutorial-radius-md);padding:1.5rem;margin:2rem 0}[data-theme=dark] .tutorial-try-it{border-color:#8ab4f8}.tutorial-try-it-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;color:#1a73e8;font-weight:600;font-size:1.1rem}[data-theme=dark] .tutorial-try-it-header{color:#8ab4f8}.tutorial-try-it-header h4{margin:0;font-size:1rem;font-weight:500;color:var(--tutorial-text-primary)}.tutorial-try-icon{font-size:1.25rem;color:#1a73e8}[data-theme=dark] .tutorial-try-icon{color:#8ab4f8}.tutorial-try-it>p{margin:0 0 1rem;color:var(--tutorial-text-muted);font-size:.9375rem}.tutorial-syntax-comparison{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin:2rem 0}.tutorial-syntax-card{background:var(--tutorial-card-bg);border:1px solid var(--tutorial-card-border);border-radius:var(--tutorial-radius-md);overflow:hidden}.tutorial-syntax-header{padding:.75rem 1rem;font-weight:600;font-size:.9rem}.tutorial-syntax-header.primary{background:linear-gradient(135deg,#1a73e8,#1557b0);color:#fff}.tutorial-syntax-header.secondary{background:#f1f5f9;color:#475569}[data-theme=dark] .tutorial-syntax-header.secondary{background:#1e293b;color:#94a3b8}.tutorial-syntax-body{padding:1rem;background:#f8f9fa}[data-theme=dark] .tutorial-syntax-body{background:#1e1e1e}.tutorial-syntax-body pre{margin:0;color:#383a42;font-family:var(--tutorial-font-code);font-size:.85rem;line-height:1.6}[data-theme=dark] .tutorial-syntax-body pre{color:#d4d4d4}.tutorial-list{padding-left:0;list-style:none;margin:1rem 0}.tutorial-list li{padding:.5rem 0 .5rem 2rem;position:relative;color:var(--tutorial-text-secondary);line-height:1.6}.tutorial-list li:before{content:"▸";position:absolute;left:.5rem;color:#1a73e8;font-weight:700}[data-theme=dark] .tutorial-list li:before{color:#8ab4f8}.tutorial-list-numbered{counter-reset:tutorial-counter;padding-left:0;list-style:none;margin:1rem 0}.tutorial-list-numbered li{counter-increment:tutorial-counter;padding:.5rem 0 .5rem 3rem;position:relative;color:var(--tutorial-text-secondary);line-height:1.6}.tutorial-list-numbered li:before{content:counter(tutorial-counter);position:absolute;left:0;width:2rem;height:2rem;background:#1a73e8;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:600;top:.35rem}[data-theme=dark] .tutorial-list-numbered li:before{background:#8ab4f8;color:#202124}.tutorial-steps-list{list-style:none;padding:0;margin:1.5rem 0;counter-reset:step}.tutorial-steps-list li{position:relative;padding-left:3rem;margin-bottom:1.25rem;counter-increment:step;color:var(--tutorial-text-body);line-height:1.6}.tutorial-steps-list li:before{content:counter(step);position:absolute;left:0;top:0;width:2rem;height:2rem;background:#1a73e8;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem}[data-theme=dark] .tutorial-steps-list li:before{background:#8ab4f8;color:#202124}.tutorial-quote{border-left:4px solid #1a73e8;padding:1rem 1.5rem;margin:1.5rem 0;background:rgba(var(--tutorial-primary-rgb),.03);font-style:italic;color:var(--tutorial-text-secondary)}[data-theme=dark] .tutorial-quote{border-left-color:#8ab4f8}.tutorial-quote-author{margin-top:.75rem;font-style:normal;font-weight:600;color:#1a73e8;font-size:.9rem}[data-theme=dark] .tutorial-quote-author{color:#8ab4f8}.tutorial-nav-buttons{display:flex;justify-content:space-between;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--tutorial-card-border);gap:1rem}.tutorial-nav-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#1a73e8;color:#fff;border:none;border-radius:var(--tutorial-radius-sm);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.tutorial-nav-button:hover{background:#1557b0;transform:translateY(-1px)}.tutorial-nav-button.prev{background:transparent;color:#1a73e8;border:1px solid #1a73e8}.tutorial-nav-button.prev:hover{background:#1a73e8;color:#fff}[data-theme=dark] .tutorial-nav-button{background:#8ab4f8;color:#202124}[data-theme=dark] .tutorial-nav-button:hover{background:#aecbfa}[data-theme=dark] .tutorial-nav-button.prev{background:transparent;color:#8ab4f8;border-color:#8ab4f8}[data-theme=dark] .tutorial-nav-button.prev:hover{background:#8ab4f8;color:#202124}@media(max-width:480px){.tutorial-nav-buttons{flex-direction:column}.tutorial-nav-button{width:100%;justify-content:center}}.tutorial-external-link,.tutorial-inline-link{color:#1a73e8;text-decoration:none;font-weight:500;transition:color .2s ease}.tutorial-external-link{display:inline-flex;align-items:center;gap:.25rem}.tutorial-external-link svg{font-size:.875em;opacity:.7}.tutorial-external-link:hover,.tutorial-inline-link:hover{color:#1557b0;text-decoration:underline}[data-theme=dark] .tutorial-external-link,[data-theme=dark] .tutorial-inline-link{color:#8ab4f8}[data-theme=dark] .tutorial-external-link:hover,[data-theme=dark] .tutorial-inline-link:hover{color:#aecbfa}.tutorial-tips-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin:1.5rem 0}.tutorial-tip{background:linear-gradient(135deg,rgba(var(--tutorial-primary-rgb),.08),rgba(var(--tutorial-primary-rgb),.02));border-left:3px solid #1a73e8;padding:1rem 1.25rem;border-radius:0 8px 8px 0}[data-theme=dark] .tutorial-tip{border-color:#8ab4f8}.tutorial-tip h4{margin:0 0 .5rem;font-size:.9375rem;color:var(--tutorial-text-primary)}.tutorial-tip p{margin:0;font-size:.875rem;color:var(--tutorial-text-muted);line-height:1.5}.tutorial-tip code{background:rgba(var(--tutorial-primary-rgb),.1);color:#1a73e8;padding:.125rem .375rem;border-radius:4px;font-size:.8125rem;font-family:var(--tutorial-font-code)}[data-theme=dark] .tutorial-tip code{background:rgba(var(--tutorial-primary-rgb),.15);color:#8ab4f8}.tutorial-workflow{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:2.5rem 1rem;background:var(--tutorial-card-bg);border:1px solid var(--tutorial-card-border);border-radius:var(--tutorial-radius-lg);margin:2rem 0;overflow-x:auto}.tutorial-workflow-stage{flex:1;max-width:200px;text-align:center;padding:1.5rem 1rem}.tutorial-stage-icon{width:64px;height:64px;margin:0 auto 1rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.75rem;background:rgba(var(--tutorial-primary-rgb),.1);color:#1a73e8}[data-theme=dark] .tutorial-stage-icon{background:rgba(var(--tutorial-primary-rgb),.15);color:#8ab4f8}.tutorial-workflow-stage h4{margin:0 0 .5rem;font-size:1rem;color:var(--tutorial-text-primary)}.tutorial-workflow-stage p{margin:0;font-size:.875rem;color:var(--tutorial-text-secondary);line-height:1.5}.tutorial-workflow-arrow{display:flex;flex-direction:column;align-items:center;gap:.25rem;flex-shrink:0;padding:0 .5rem}.tutorial-arrow-label{font-size:.7rem;font-family:var(--tutorial-font-code);color:#1a73e8;white-space:nowrap}[data-theme=dark] .tutorial-arrow-label{color:#8ab4f8}.tutorial-arrow-icon{font-size:1.25rem;color:var(--tutorial-text-subtle)}.tutorial-challenges{display:grid;gap:1rem;margin:1.5rem 0}.tutorial-challenge{position:relative;background:var(--tutorial-card-bg);border:1px solid var(--tutorial-card-border);border-radius:10px;padding:1.75rem 1.25rem 1.25rem}.tutorial-challenge-level{position:absolute;top:-.5rem;left:1rem;padding:.25rem .75rem;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border-radius:4px;color:#fff}.tutorial-challenge-level.easy{background:#1a73e8}.tutorial-challenge-level.medium{background:#fbbc04;color:#37474f}.tutorial-challenge-level.hard{background:#ea4335}.tutorial-challenge h4{margin:0 0 .375rem;font-size:.9375rem;color:var(--tutorial-text-primary)}.tutorial-challenge p{margin:0;font-size:.875rem;color:var(--tutorial-text-muted);line-height:1.5}.tutorial-browser-preview{margin:1.5rem 0;border:1px solid var(--tutorial-border-color);border-radius:8px;overflow:hidden}.tutorial-browser-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#f8f9fa;border-bottom:1px solid var(--tutorial-border-color)}[data-theme=dark] .tutorial-browser-header{background:#292d31;border-bottom-color:#3c4043}.tutorial-browser-dot{width:12px;height:12px;border-radius:50%}.tutorial-browser-dot.red{background:#ff5f57}.tutorial-browser-dot.yellow{background:#febc2e}.tutorial-browser-dot.green{background:#28c840}.tutorial-browser-content{padding:1rem;background:#fff;min-height:100px}[data-theme=dark] .tutorial-browser-content{background:#fff;color:#202124}.inline-icon{vertical-align:middle;margin-right:.25rem}@media(max-width:768px){.tutorial-hero-title{font-size:1.5rem}.tutorial-hero-description{font-size:.95rem}.tutorial-section h2{font-size:1.25rem}.tutorial-features-grid,.tutorial-syntax-comparison{grid-template-columns:1fr}.tutorial-workflow{flex-direction:column;gap:1rem;padding:1.5rem}.tutorial-workflow-arrow{transform:rotate(90deg);padding:.5rem 0}.tutorial-workflow-stage{max-width:100%}.tutorial-table{font-size:.85rem}.tutorial-table th,.tutorial-table td{padding:.625rem .75rem}.tutorial-callout{flex-direction:column}.tutorial-path-item{flex-direction:column;align-items:flex-start}.tutorial-tips-grid{grid-template-columns:1fr}}@media(max-width:480px){.tutorial-hero-title{font-size:1.25rem}.tutorial-section h2{font-size:1.15rem}}.php-tutorial-page,.python-tutorial-page,.sql-intro-page,.html-tutorial-page,.css-intro-page,.dsa-tutorial-page,.cpp-intro-page,.c-intro-page,.nodejs-page,.bash-page,.java-tutorial-page,.git-tutorial-page,.js-intro-page,.xml-page,.excel-intro-page,.postman-page,.powermock-page,.mockito-page,.junit-page,.maven-page,.swagger-page,.restful-page,.pattern-page,.se-page,.sd-page{max-width:100%;padding:0;line-height:1.6;color:var(--tutorial-text-primary)}.hero-section,.php-hero-minimal,.python-hero-minimal,.sql-hero-minimal,.html-hero-minimal,.css-hero-minimal,.dsa-hero-minimal,.cpp-hero-minimal,.c-hero-minimal,.nodejs-hero-minimal,.bash-hero-minimal,.java-hero-minimal,.git-hero-minimal,.js-hero-minimal,.xml-hero-minimal,.excel-hero-minimal,.postman-hero-minimal,.powermock-hero-minimal,.mockito-hero-minimal,.junit-hero-minimal,.maven-hero-minimal,.swagger-hero-minimal,.rest-hero-minimal,.restful-hero-minimal,.pattern-hero-minimal,.se-hero-minimal,.sd-hero-minimal{padding:0 0 2rem;margin-bottom:1.5rem;border-bottom:1px solid var(--tutorial-border-color, #e8eaed)}[data-theme=dark] .hero-section,[data-theme=dark] .php-hero-minimal,[data-theme=dark] .python-hero-minimal,[data-theme=dark] .sql-hero-minimal,[data-theme=dark] .html-hero-minimal,[data-theme=dark] .css-hero-minimal,[data-theme=dark] .dsa-hero-minimal,[data-theme=dark] .cpp-hero-minimal,[data-theme=dark] .c-hero-minimal,[data-theme=dark] .nodejs-hero-minimal,[data-theme=dark] .bash-hero-minimal,[data-theme=dark] .java-hero-minimal,[data-theme=dark] .git-hero-minimal,[data-theme=dark] .js-hero-minimal,[data-theme=dark] .xml-hero-minimal,[data-theme=dark] .excel-hero-minimal,[data-theme=dark] .postman-hero-minimal,[data-theme=dark] .powermock-hero-minimal,[data-theme=dark] .mockito-hero-minimal,[data-theme=dark] .junit-hero-minimal,[data-theme=dark] .maven-hero-minimal,[data-theme=dark] .swagger-hero-minimal,[data-theme=dark] .rest-hero-minimal,[data-theme=dark] .restful-hero-minimal,[data-theme=dark] .pattern-hero-minimal,[data-theme=dark] .se-hero-minimal,[data-theme=dark] .sd-hero-minimal{border-bottom-color:#3c4043}.hero-title,.hero-title-minimal,.php-hero-title,.python-hero-title,.sql-hero-title,.html-hero-title,.css-hero-title,.dsa-hero-title,.cpp-hero-title,.c-hero-title,.nodejs-hero-title,.bash-hero-title,.java-hero-title,.git-hero-title,.js-hero-title,.xml-hero-title,.excel-hero-title,.postman-hero-title,.powermock-hero-title,.mockito-hero-title,.junit-hero-title,.maven-hero-title,.swagger-hero-title,.rest-hero-title,.restful-hero-title,.pattern-hero-title,.se-hero-title,.sd-hero-title{font-size:2rem;font-weight:400;line-height:1.3;color:#202124;margin:0 0 .75rem}[data-theme=dark] .hero-title,[data-theme=dark] .hero-title-minimal,[data-theme=dark] .php-hero-title,[data-theme=dark] .python-hero-title,[data-theme=dark] .sql-hero-title,[data-theme=dark] .html-hero-title,[data-theme=dark] .css-hero-title,[data-theme=dark] .dsa-hero-title,[data-theme=dark] .cpp-hero-title,[data-theme=dark] .c-hero-title,[data-theme=dark] .nodejs-hero-title,[data-theme=dark] .bash-hero-title,[data-theme=dark] .java-hero-title,[data-theme=dark] .git-hero-title,[data-theme=dark] .js-hero-title,[data-theme=dark] .xml-hero-title,[data-theme=dark] .excel-hero-title,[data-theme=dark] .postman-hero-title,[data-theme=dark] .powermock-hero-title,[data-theme=dark] .mockito-hero-title,[data-theme=dark] .junit-hero-title,[data-theme=dark] .maven-hero-title,[data-theme=dark] .swagger-hero-title,[data-theme=dark] .rest-hero-title,[data-theme=dark] .restful-hero-title,[data-theme=dark] .pattern-hero-title,[data-theme=dark] .se-hero-title,[data-theme=dark] .sd-hero-title{color:#e8eaed}.hero-title .highlight,.hero-title-minimal .highlight,.php-hero-title .highlight,.python-hero-title .highlight,.sql-hero-title .highlight,.html-hero-title .highlight,.css-hero-title .highlight,.dsa-hero-title .highlight,.cpp-hero-title .highlight,.c-hero-title .highlight,.nodejs-hero-title .highlight,.bash-hero-title .highlight,.java-hero-title .highlight,.git-hero-title .highlight,.js-hero-title .highlight,.xml-hero-title .highlight,.excel-hero-title .highlight,.postman-hero-title .highlight,.powermock-hero-title .highlight,.mockito-hero-title .highlight,.junit-hero-title .highlight,.maven-hero-title .highlight,.swagger-hero-title .highlight,.rest-hero-title .highlight,.restful-hero-title .highlight,.pattern-hero-title .highlight,.se-hero-title .highlight,.sd-hero-title .highlight,.php-hero-title .highlight-purple,.python-hero-title .highlight-yellow{color:#1a73e8}[data-theme=dark] .hero-title .highlight,[data-theme=dark] .hero-title-minimal .highlight,[data-theme=dark] .php-hero-title .highlight,[data-theme=dark] .python-hero-title .highlight,[data-theme=dark] .sql-hero-title .highlight,[data-theme=dark] .html-hero-title .highlight,[data-theme=dark] .css-hero-title .highlight,[data-theme=dark] .dsa-hero-title .highlight,[data-theme=dark] .cpp-hero-title .highlight,[data-theme=dark] .c-hero-title .highlight,[data-theme=dark] .nodejs-hero-title .highlight,[data-theme=dark] .bash-hero-title .highlight,[data-theme=dark] .java-hero-title .highlight,[data-theme=dark] .git-hero-title .highlight,[data-theme=dark] .js-hero-title .highlight,[data-theme=dark] .xml-hero-title .highlight,[data-theme=dark] .excel-hero-title .highlight,[data-theme=dark] .postman-hero-title .highlight,[data-theme=dark] .powermock-hero-title .highlight,[data-theme=dark] .mockito-hero-title .highlight,[data-theme=dark] .junit-hero-title .highlight,[data-theme=dark] .maven-hero-title .highlight,[data-theme=dark] .swagger-hero-title .highlight,[data-theme=dark] .rest-hero-title .highlight,[data-theme=dark] .restful-hero-title .highlight,[data-theme=dark] .pattern-hero-title .highlight,[data-theme=dark] .se-hero-title .highlight,[data-theme=dark] .sd-hero-title .highlight,[data-theme=dark] .php-hero-title .highlight-purple,[data-theme=dark] .python-hero-title .highlight-yellow{color:#8ab4f8}.hero-subtitle,.hero-subtitle-minimal,.hero-section .hero-description,.php-hero-description,.python-hero-description,.sql-hero-description,.html-hero-description,.css-hero-description,.dsa-hero-description,.cpp-hero-description,.c-hero-description,.nodejs-hero-description,.bash-hero-description,.java-hero-description,.git-hero-description,.js-hero-description,.xml-hero-description,.excel-hero-description,.postman-hero-description,.powermock-hero-description,.mockito-hero-description,.junit-hero-description,.maven-hero-description,.swagger-hero-description,.rest-hero-description,.restful-hero-description,.pattern-hero-description,.se-hero-description,.sd-hero-description{font-size:1rem;line-height:1.6;color:#5f6368;margin:0;max-width:600px}[data-theme=dark] .hero-subtitle,[data-theme=dark] .hero-subtitle-minimal,[data-theme=dark] .hero-section .hero-description,[data-theme=dark] .php-hero-description,[data-theme=dark] .python-hero-description,[data-theme=dark] .sql-hero-description,[data-theme=dark] .html-hero-description,[data-theme=dark] .css-hero-description,[data-theme=dark] .dsa-hero-description,[data-theme=dark] .cpp-hero-description,[data-theme=dark] .c-hero-description,[data-theme=dark] .nodejs-hero-description,[data-theme=dark] .bash-hero-description,[data-theme=dark] .java-hero-description,[data-theme=dark] .git-hero-description,[data-theme=dark] .js-hero-description,[data-theme=dark] .xml-hero-description,[data-theme=dark] .excel-hero-description,[data-theme=dark] .postman-hero-description,[data-theme=dark] .powermock-hero-description,[data-theme=dark] .mockito-hero-description,[data-theme=dark] .junit-hero-description,[data-theme=dark] .maven-hero-description,[data-theme=dark] .swagger-hero-description,[data-theme=dark] .rest-hero-description,[data-theme=dark] .restful-hero-description,[data-theme=dark] .pattern-hero-description,[data-theme=dark] .se-hero-description,[data-theme=dark] .sd-hero-description{color:#9aa0a6}@media(max-width:768px){.hero-title,.hero-title-minimal,.php-hero-title,.python-hero-title,.sql-hero-title,.html-hero-title,.css-hero-title,.dsa-hero-title,.cpp-hero-title,.c-hero-title,.nodejs-hero-title,.bash-hero-title,.java-hero-title,.git-hero-title,.js-hero-title,.xml-hero-title,.excel-hero-title,.postman-hero-title,.powermock-hero-title,.mockito-hero-title,.junit-hero-title,.maven-hero-title,.swagger-hero-title,.rest-hero-title,.restful-hero-title,.pattern-hero-title,.se-hero-title,.sd-hero-title{font-size:1.5rem}.hero-subtitle,.hero-subtitle-minimal,.hero-section .hero-description{font-size:.95rem}}.content-section{margin-bottom:3rem}.content-section h2{font-size:1.5rem;font-weight:400;color:var(--tutorial-text-primary, #202124);margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--tutorial-border-color, #e8eaed)}[data-theme=dark] .content-section h2{color:#e8eaed;border-bottom-color:#3c4043}.content-section h2 .section-icon{color:#1a73e8;font-size:1.5rem;vertical-align:middle;margin-right:.5rem}[data-theme=dark] .content-section h2 .section-icon{color:#8ab4f8}.content-section h3{font-size:1.25rem;font-weight:500;color:var(--tutorial-text-primary, #202124);margin:2rem 0 1rem}[data-theme=dark] .content-section h3{color:#e8eaed}.content-section p{font-size:1rem;line-height:1.7;color:var(--tutorial-text-muted, #5f6368);margin:0 0 1rem}[data-theme=dark] .content-section p{color:#9aa0a6}.content-section p strong{color:var(--tutorial-text-primary, #202124)}[data-theme=dark] .content-section p strong{color:#e8eaed}.content-section ul,.content-section ol{margin:.5rem 0 1rem 1.5rem;padding:0}.content-section li{font-size:1rem;line-height:1.7;color:var(--tutorial-text-body, #3c4043);margin-bottom:.5rem}[data-theme=dark] .content-section li{color:#bdc1c6}.content-section li strong{color:var(--tutorial-text-primary, #202124)}[data-theme=dark] .content-section li strong{color:#e8eaed}.content-section strong{color:var(--tutorial-text-primary, #202124)}[data-theme=dark] .content-section strong{color:#e8eaed}.content-section code{background:#1a73e814;color:#1a73e8;padding:.15em .4em;border-radius:4px;font-family:JetBrains Mono,Fira Code,Monaco,Menlo,Consolas,monospace;font-size:.9em}.content-section pre code{background:none;color:inherit;padding:0;border-radius:0;font-size:inherit}[data-theme=dark] .content-section code{background:#8ab4f826;color:#8ab4f8}[data-theme=dark] .content-section pre code{background:none;color:inherit}.callout-box{display:flex;gap:.875rem;padding:1rem 1.25rem;border-radius:8px;margin:1.25rem 0}.callout-box.callout-primary{background:#e8f0fe;border:1px solid #c6dafc}[data-theme=dark] .callout-box.callout-primary{background:#1a3a5c;border-color:#2d4a6f}.callout-box.callout-info{background:#e8f0fe;border:1px solid #c6dafc}[data-theme=dark] .callout-box.callout-info{background:#1a3a5c;border-color:#2d4a6f}.callout-box.callout-success{background:#e8f0fe;border:1px solid #c6dafc}[data-theme=dark] .callout-box.callout-success{background:#8ab4f81a;border-color:#8ab4f84d}.callout-box.callout-tip{background:#e8f0fe;border:1px solid #c6dafc}[data-theme=dark] .callout-box.callout-tip{background:#8ab4f81a;border-color:#8ab4f84d}.callout-box.callout-warning{background:#fef7e0;border:1px solid #f9e39c}[data-theme=dark] .callout-box.callout-warning{background:#3d3523;border-color:#5c4b2a}.callout-box.callout-error,.callout-box.callout-danger{background:#fce8e6;border:1px solid #f5c6cb}[data-theme=dark] .callout-box.callout-error,[data-theme=dark] .callout-box.callout-danger{background:#3d2323;border-color:#5c2a2a}.callout-icon{flex-shrink:0;font-size:1.25rem;color:#1a73e8}[data-theme=dark] .callout-icon{color:#8ab4f8}.callout-box.callout-info .callout-icon,.callout-box.callout-success .callout-icon,.callout-box.callout-tip .callout-icon{color:#1a73e8}.callout-box.callout-warning .callout-icon{color:#f9ab00}.callout-box.callout-error .callout-icon,.callout-box.callout-danger .callout-icon{color:#d93025}[data-theme=dark] .callout-box.callout-info .callout-icon,[data-theme=dark] .callout-box.callout-success .callout-icon,[data-theme=dark] .callout-box.callout-tip .callout-icon{color:#8ab4f8}[data-theme=dark] .callout-box.callout-warning .callout-icon{color:#fdd663}[data-theme=dark] .callout-box.callout-error .callout-icon,[data-theme=dark] .callout-box.callout-danger .callout-icon{color:#f28b82}.callout-content h4{margin:0 0 .375rem;font-size:.9375rem;font-weight:500;color:var(--tutorial-text-primary, #202124)}[data-theme=dark] .callout-content h4{color:#e8eaed}.callout-content p{margin:0;font-size:.875rem;line-height:1.6;color:var(--tutorial-text-muted, #5f6368)}[data-theme=dark] .callout-content p{color:#9aa0a6}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin:2rem 0}.feature-card{padding:1.5rem;background:var(--tutorial-card-bg, #fff);border:1px solid var(--tutorial-card-border, #E1E4E8);border-radius:10px;transition:all .2s ease}.feature-card:hover{border-color:#1a73e8;box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}[data-theme=dark] .feature-card:hover{border-color:#8ab4f8}.feature-icon-wrapper{width:48px;height:48px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:1rem;background:#1a73e81a;color:#1a73e8}[data-theme=dark] .feature-icon-wrapper{background:#8ab4f826;color:#8ab4f8}.feature-card h4{margin:0 0 .5rem;font-size:1.1rem;font-weight:600;color:var(--tutorial-text-primary, #202124)}[data-theme=dark] .feature-card h4{color:#e8eaed}.feature-card p{margin:0;font-size:.9375rem;line-height:1.6;color:var(--tutorial-text-secondary, #57606A)}.commands-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin:2rem 0}.command-card{background:var(--tutorial-card-bg, #fff);border:1px solid var(--tutorial-border-color, #e8eaed);border-radius:8px;overflow:hidden}[data-theme=dark] .command-card{background:#292929;border-color:#3c4043}.command-header{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:#f8f9fa;border-bottom:1px solid var(--tutorial-border-color, #e8eaed)}[data-theme=dark] .command-header{background:#1e1e1e;border-color:#3c4043}.command-icon{font-size:1.125rem;color:#1a73e8}[data-theme=dark] .command-icon{color:#8ab4f8}.command-header h4{margin:0;font-size:.9375rem;font-weight:500;color:var(--tutorial-text-primary, #202124)}[data-theme=dark] .command-header h4{color:#e8eaed}.command-card .code-block-wrapper{border:none;border-radius:0;margin:0}.learning-path{display:flex;flex-direction:column;gap:1.5rem;margin:2rem 0}.path-item{display:flex;gap:1.5rem;padding:1.5rem;background:var(--tutorial-card-bg, #fff);border:1px solid var(--tutorial-card-border, #E1E4E8);border-radius:10px;transition:all .2s ease}.path-item:hover{border-color:#1a73e8;box-shadow:0 1px 2px #0000000a}[data-theme=dark] .path-item:hover{border-color:#8ab4f8}.path-item:last-child{margin-bottom:0}.path-number{flex-shrink:0;width:40px;height:40px;background:#1a73e8;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:700}[data-theme=dark] .path-number{background:#8ab4f8;color:#202124}.path-content li{margin-bottom:.35rem;font-size:.95rem;color:var(--tutorial-text-secondary, #57606A);line-height:1.5}.workflow-visualization{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:2.5rem 1rem;background:var(--tutorial-card-bg, #fff);border:1px solid var(--tutorial-card-border, #E1E4E8);border-radius:16px;margin:2rem 0;overflow-x:auto}.workflow-stage{flex:1;max-width:200px;text-align:center;padding:1.5rem 1rem}.stage-icon-wrapper{width:64px;height:64px;margin:0 auto 1rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.75rem;background:#1a73e81a;color:#1a73e8}[data-theme=dark] .stage-icon-wrapper{background:#8ab4f826;color:#8ab4f8}.stage-tag{display:inline-block;padding:.2rem .6rem;background:#1a73e814;color:#1a73e8;border-radius:4px;font-size:.75rem;font-weight:600;margin-bottom:.5rem}[data-theme=dark] .stage-tag{background:#8ab4f81f;color:#8ab4f8}.workflow-stage h4{margin:0 0 .5rem;font-size:1rem;color:var(--tutorial-text-primary, #202124)}[data-theme=dark] .workflow-stage h4{color:#e8eaed}.workflow-stage p{margin:0;font-size:.875rem;color:var(--tutorial-text-secondary, #57606A);line-height:1.5}.arrow-label{font-size:.7rem;font-family:JetBrains Mono,Fira Code,monospace;color:#1a73e8;white-space:nowrap}[data-theme=dark] .arrow-label{color:#8ab4f8}.key-takeaways{background:#e8f0fe;border:1px solid #c6dafc;border-radius:16px;padding:2rem;margin:2rem 0}[data-theme=dark] .key-takeaways{background:#8ab4f81a;border-color:#8ab4f84d}.takeaway-title{font-size:1.25rem;font-weight:600;color:#1a73e8;margin-bottom:1.25rem;display:flex;align-items:center;gap:.5rem}[data-theme=dark] .takeaway-title{color:#8ab4f8}.takeaway-grid,.takeaways-list{list-style:none;padding:0;margin:0;display:grid;gap:.75rem}.takeaway-item{display:flex;align-items:flex-start;gap:.75rem;font-size:.95rem;line-height:1.5;color:var(--tutorial-text-secondary, #57606A)}.takeaway-item:before{content:"✓";flex-shrink:0;color:#1a73e8;font-weight:700}[data-theme=dark] .takeaway-item:before{color:#8ab4f8}.takeaway-icon{flex-shrink:0;color:#1a73e8}[data-theme=dark] .takeaway-icon{color:#8ab4f8}.nav-buttons{display:flex;justify-content:space-between;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--tutorial-card-border, #E1E4E8);gap:1rem}.nav-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#1a73e8;color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none}.nav-button:hover{background:#1557b0;transform:translateY(-1px)}.nav-button.secondary,.nav-button.prev{background:transparent;color:#1a73e8;border:1px solid #1a73e8}.nav-button.secondary:hover,.nav-button.prev:hover{background:#1a73e8;color:#fff}[data-theme=dark] .nav-button{background:#8ab4f8;color:#202124}[data-theme=dark] .nav-button:hover{background:#aecbfa}[data-theme=dark] .nav-button.secondary,[data-theme=dark] .nav-button.prev{background:transparent;color:#8ab4f8;border-color:#8ab4f8}[data-theme=dark] .nav-button.secondary:hover,[data-theme=dark] .nav-button.prev:hover{background:#8ab4f8;color:#202124}.inline-code{background:#1a73e814;color:#1a73e8;padding:.15em .4em;border-radius:4px;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.9em}[data-theme=dark] .inline-code{background:#8ab4f826;color:#8ab4f8}.dsa-content-section{margin-bottom:3rem}.dsa-content-section h2{font-size:1.5rem;font-weight:400;color:var(--tutorial-text-primary, #202124);margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--tutorial-border-color, #e8eaed)}[data-theme=dark] .dsa-content-section h2{color:#e8eaed;border-bottom-color:#3c4043}.dsa-content-section h2 .section-icon{color:#1a73e8;font-size:1.5rem;vertical-align:middle;margin-right:.5rem}[data-theme=dark] .dsa-content-section h2 .section-icon{color:#8ab4f8}.dsa-content-section h3{font-size:1.25rem;font-weight:500;color:var(--tutorial-text-primary, #202124);margin:2rem 0 1rem}[data-theme=dark] .dsa-content-section h3{color:#e8eaed}.dsa-content-section code{background:#1a73e814;color:#1a73e8;padding:.15em .4em;border-radius:4px;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.9em}.dsa-content-section pre code{background:none;color:inherit;padding:0;border-radius:0;font-size:inherit}[data-theme=dark] .dsa-content-section code{background:#8ab4f826;color:#8ab4f8}[data-theme=dark] .dsa-content-section pre code{background:none;color:inherit}@media(max-width:768px){.content-section h2{font-size:1.25rem}.features-grid,.commands-grid{grid-template-columns:1fr}.path-item{flex-direction:column;align-items:flex-start}.callout-box{flex-direction:column}.try-command{flex-direction:column;align-items:flex-start;gap:.5rem}.workflow-visualization{flex-direction:column;gap:1rem;padding:1.5rem}.workflow-arrow{transform:rotate(90deg);padding:.5rem 0}.workflow-stage{max-width:100%}.comparison-table th,.comparison-table td{padding:.75rem;font-size:.85rem}.nav-buttons{flex-direction:column}.nav-button{width:100%;justify-content:center}}@media(max-width:480px){.content-section h2{font-size:1.15rem}.comparison-table th,.comparison-table td{padding:.625rem;font-size:.8rem}}.php-content-section,.python-content-section,.html-content-section,.sql-content-section,.excel-content-section,.xml-content-section,.mockito-content-section,.junit-content-section,.maven-content-section,.postman-content-section,.powermock-content-section,.rest-content-section{margin-bottom:3rem}.php-content-section h2,.python-content-section h2,.html-content-section h2,.sql-content-section h2,.excel-content-section h2,.xml-content-section h2,.mockito-content-section h2,.junit-content-section h2,.maven-content-section h2,.postman-content-section h2,.powermock-content-section h2,.rest-content-section h2{font-size:1.5rem;font-weight:400;color:#202124;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid #e8eaed}[data-theme=dark] .php-content-section h2,[data-theme=dark] .python-content-section h2,[data-theme=dark] .html-content-section h2,[data-theme=dark] .sql-content-section h2,[data-theme=dark] .excel-content-section h2,[data-theme=dark] .xml-content-section h2,[data-theme=dark] .mockito-content-section h2,[data-theme=dark] .junit-content-section h2,[data-theme=dark] .maven-content-section h2,[data-theme=dark] .postman-content-section h2,[data-theme=dark] .powermock-content-section h2,[data-theme=dark] .rest-content-section h2{color:#e8eaed;border-bottom-color:#3c4043}.php-content-section h2 svg,.python-content-section h2 svg,.html-content-section h2 svg,.sql-content-section h2 svg,.excel-content-section h2 svg,.xml-content-section h2 svg,.mockito-content-section h2 svg,.junit-content-section h2 svg,.maven-content-section h2 svg,.postman-content-section h2 svg,.powermock-content-section h2 svg,.rest-content-section h2 svg{color:#1a73e8}[data-theme=dark] .php-content-section h2 svg,[data-theme=dark] .python-content-section h2 svg,[data-theme=dark] .html-content-section h2 svg,[data-theme=dark] .sql-content-section h2 svg,[data-theme=dark] .excel-content-section h2 svg,[data-theme=dark] .xml-content-section h2 svg,[data-theme=dark] .mockito-content-section h2 svg,[data-theme=dark] .junit-content-section h2 svg,[data-theme=dark] .maven-content-section h2 svg,[data-theme=dark] .postman-content-section h2 svg,[data-theme=dark] .powermock-content-section h2 svg,[data-theme=dark] .rest-content-section h2 svg{color:#8ab4f8}.php-content-section h3,.python-content-section h3,.html-content-section h3,.sql-content-section h3,.excel-content-section h3,.xml-content-section h3,.mockito-content-section h3,.junit-content-section h3,.maven-content-section h3,.postman-content-section h3,.powermock-content-section h3,.rest-content-section h3{font-size:1.125rem;font-weight:500;color:#202124;margin:1.5rem 0 .75rem}[data-theme=dark] .php-content-section h3,[data-theme=dark] .python-content-section h3,[data-theme=dark] .html-content-section h3,[data-theme=dark] .sql-content-section h3,[data-theme=dark] .excel-content-section h3,[data-theme=dark] .xml-content-section h3,[data-theme=dark] .mockito-content-section h3,[data-theme=dark] .junit-content-section h3,[data-theme=dark] .maven-content-section h3,[data-theme=dark] .postman-content-section h3,[data-theme=dark] .powermock-content-section h3,[data-theme=dark] .rest-content-section h3{color:#e8eaed}.php-content-section h4,.python-content-section h4,.html-content-section h4,.sql-content-section h4,.postman-content-section h4{font-size:1rem;font-weight:500;color:#202124;margin:1.25rem 0 .5rem}[data-theme=dark] .php-content-section h4,[data-theme=dark] .python-content-section h4,[data-theme=dark] .html-content-section h4,[data-theme=dark] .sql-content-section h4,[data-theme=dark] .postman-content-section h4{color:#e8eaed}.php-content-section p,.python-content-section p,.html-content-section p,.sql-content-section p,.excel-content-section p,.xml-content-section p,.mockito-content-section p,.junit-content-section p,.maven-content-section p,.postman-content-section p,.powermock-content-section p,.rest-content-section p{font-size:1rem;line-height:1.7;color:#5f6368;margin:0 0 1rem}[data-theme=dark] .php-content-section p,[data-theme=dark] .python-content-section p,[data-theme=dark] .html-content-section p,[data-theme=dark] .sql-content-section p,[data-theme=dark] .excel-content-section p,[data-theme=dark] .xml-content-section p,[data-theme=dark] .mockito-content-section p,[data-theme=dark] .junit-content-section p,[data-theme=dark] .maven-content-section p,[data-theme=dark] .postman-content-section p,[data-theme=dark] .powermock-content-section p,[data-theme=dark] .rest-content-section p{color:#9aa0a6}.php-content-section strong,.python-content-section strong,.html-content-section strong,.excel-content-section strong,.rest-content-section strong{color:#202124}[data-theme=dark] .php-content-section strong,[data-theme=dark] .python-content-section strong,[data-theme=dark] .html-content-section strong,[data-theme=dark] .excel-content-section strong,[data-theme=dark] .rest-content-section strong{color:#e8eaed}.php-content-section ul,.php-content-section ol,.python-content-section ul,.python-content-section ol,.html-content-section ul,.html-content-section ol,.sql-content-section ul,.sql-content-section ol,.xml-content-section ul,.xml-content-section ol,.mockito-content-section ul,.mockito-content-section ol,.junit-content-section ul,.junit-content-section ol,.maven-content-section ul,.maven-content-section ol,.postman-content-section ul,.postman-content-section ol,.powermock-content-section ul,.powermock-content-section ol,.rest-content-section ul,.rest-content-section ol{margin:.5rem 0 1rem 1.5rem;padding:0}.php-content-section li,.python-content-section li,.html-content-section li,.sql-content-section li,.xml-content-section li,.mockito-content-section li,.junit-content-section li,.maven-content-section li,.postman-content-section li,.powermock-content-section li,.rest-content-section li{font-size:1rem;line-height:1.7;color:#5f6368;margin-bottom:.5rem}[data-theme=dark] .php-content-section li,[data-theme=dark] .python-content-section li,[data-theme=dark] .html-content-section li,[data-theme=dark] .sql-content-section li,[data-theme=dark] .xml-content-section li,[data-theme=dark] .mockito-content-section li,[data-theme=dark] .junit-content-section li,[data-theme=dark] .maven-content-section li,[data-theme=dark] .postman-content-section li,[data-theme=dark] .powermock-content-section li,[data-theme=dark] .rest-content-section li{color:#9aa0a6}.php-content-section code,.python-content-section code,.html-content-section code,.sql-content-section code,.sql-content-section p code,.xml-content-section code,.xml-content-section p code,.excel-content-section code{background:#1a73e814;color:#1a73e8;padding:.15em .4em;border-radius:4px;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.9em}.php-content-section pre code,.python-content-section pre code,.html-content-section pre code,.sql-content-section pre code,.xml-content-section pre code,.excel-content-section pre code{background:none;color:inherit;padding:0;border-radius:0;font-size:inherit}[data-theme=dark] .php-content-section code,[data-theme=dark] .python-content-section code,[data-theme=dark] .html-content-section code,[data-theme=dark] .sql-content-section code,[data-theme=dark] .sql-content-section p code,[data-theme=dark] .xml-content-section code,[data-theme=dark] .xml-content-section p code,[data-theme=dark] .excel-content-section code{background:#8ab4f826;color:#8ab4f8}[data-theme=dark] .php-content-section pre code,[data-theme=dark] .python-content-section pre code,[data-theme=dark] .html-content-section pre code,[data-theme=dark] .sql-content-section pre code,[data-theme=dark] .xml-content-section pre code,[data-theme=dark] .excel-content-section pre code{background:none;color:inherit}.php-callout,.python-callout,.sql-callout-box,.html-callout-box,.excel-callout-box,.xml-callout-box,.mockito-callout-box,.junit-callout-box,.maven-callout-box,.postman-callout-box,.powermock-callout-box,.rest-callout-box,.dsa-callout-box{display:flex;gap:.875rem;padding:1rem 1.25rem;border-radius:8px;margin:1.25rem 0}.sql-callout-box.callout-primary,.html-callout-box.callout-primary,.excel-callout-box.callout-primary,.xml-callout-box.callout-primary,.rest-callout-box.callout-primary,.mockito-callout-box.callout-info,.junit-callout-box.callout-info,.maven-callout-box.callout-info,.postman-callout-box.callout-info,.powermock-callout-box.callout-info,.dsa-callout-box.callout-info{background:#e8f0fe;border:1px solid #c6dafc}[data-theme=dark] .sql-callout-box.callout-primary,[data-theme=dark] .html-callout-box.callout-primary,[data-theme=dark] .excel-callout-box.callout-primary,[data-theme=dark] .xml-callout-box.callout-primary,[data-theme=dark] .rest-callout-box.callout-primary,[data-theme=dark] .mockito-callout-box.callout-info,[data-theme=dark] .junit-callout-box.callout-info,[data-theme=dark] .maven-callout-box.callout-info,[data-theme=dark] .postman-callout-box.callout-info,[data-theme=dark] .powermock-callout-box.callout-info,[data-theme=dark] .dsa-callout-box.callout-info{background:#1a3a5c;border-color:#2d4a6f}.sql-callout-box.callout-success,.html-callout-box.callout-success,.xml-callout-box.callout-success,.mockito-callout-box.callout-success,.junit-callout-box.callout-success,.maven-callout-box.callout-success,.postman-callout-box.callout-success,.powermock-callout-box.callout-success{background:#e8f0fe;border:1px solid #c6dafc}[data-theme=dark] .sql-callout-box.callout-success,[data-theme=dark] .html-callout-box.callout-success,[data-theme=dark] .xml-callout-box.callout-success,[data-theme=dark] .mockito-callout-box.callout-success,[data-theme=dark] .junit-callout-box.callout-success,[data-theme=dark] .maven-callout-box.callout-success,[data-theme=dark] .postman-callout-box.callout-success,[data-theme=dark] .powermock-callout-box.callout-success{background:#8ab4f81a;border-color:#8ab4f84d}.sql-callout-box.callout-tip,.html-callout-box.callout-tip,.xml-callout-box.callout-tip,.mockito-callout-box.callout-tip,.junit-callout-box.callout-tip,.maven-callout-box.callout-tip,.postman-callout-box.callout-tip,.powermock-callout-box.callout-tip{background:#e8f0fe;border:1px solid #c6dafc}[data-theme=dark] .sql-callout-box.callout-tip,[data-theme=dark] .html-callout-box.callout-tip,[data-theme=dark] .xml-callout-box.callout-tip,[data-theme=dark] .mockito-callout-box.callout-tip,[data-theme=dark] .junit-callout-box.callout-tip,[data-theme=dark] .maven-callout-box.callout-tip,[data-theme=dark] .postman-callout-box.callout-tip,[data-theme=dark] .powermock-callout-box.callout-tip{background:#8ab4f81a;border-color:#8ab4f84d}.sql-callout-box.callout-warning,.html-callout-box.callout-warning,.xml-callout-box.callout-warning,.mockito-callout-box.callout-warning,.junit-callout-box.callout-warning,.maven-callout-box.callout-warning,.postman-callout-box.callout-warning,.powermock-callout-box.callout-warning{background:#fef7e0;border:1px solid #f9e39c}[data-theme=dark] .sql-callout-box.callout-warning,[data-theme=dark] .html-callout-box.callout-warning,[data-theme=dark] .xml-callout-box.callout-warning,[data-theme=dark] .mockito-callout-box.callout-warning,[data-theme=dark] .junit-callout-box.callout-warning,[data-theme=dark] .maven-callout-box.callout-warning,[data-theme=dark] .postman-callout-box.callout-warning,[data-theme=dark] .powermock-callout-box.callout-warning{background:#3d3523;border-color:#5c4b2a}.html-callout-box.callout-danger,.xml-callout-box.callout-danger{background:#fce8e6;border:1px solid #f5c6cb}[data-theme=dark] .html-callout-box.callout-danger,[data-theme=dark] .xml-callout-box.callout-danger{background:#3d2323;border-color:#5c2a2a}.php-callout-icon,.python-callout-icon,.sql-callout-icon,.html-callout-icon,.excel-callout-icon,.xml-callout-icon,.mockito-callout-icon,.junit-callout-icon,.maven-callout-icon,.postman-callout-icon,.powermock-callout-icon,.rest-callout-icon,.dsa-callout-icon{flex-shrink:0;font-size:1.25rem;color:#1a73e8}[data-theme=dark] .php-callout-icon,[data-theme=dark] .python-callout-icon,[data-theme=dark] .sql-callout-icon,[data-theme=dark] .html-callout-icon,[data-theme=dark] .excel-callout-icon,[data-theme=dark] .xml-callout-icon,[data-theme=dark] .mockito-callout-icon,[data-theme=dark] .junit-callout-icon,[data-theme=dark] .maven-callout-icon,[data-theme=dark] .postman-callout-icon,[data-theme=dark] .powermock-callout-icon,[data-theme=dark] .rest-callout-icon,[data-theme=dark] .dsa-callout-icon{color:#8ab4f8}.sql-callout-box.callout-success .sql-callout-icon,.html-callout-box.callout-success .html-callout-icon,.xml-callout-box.callout-success .xml-callout-icon,.mockito-callout-box.callout-success .mockito-callout-icon,.junit-callout-box.callout-success .junit-callout-icon,.maven-callout-box.callout-success .maven-callout-icon,.postman-callout-box.callout-success .postman-callout-icon,.powermock-callout-box.callout-success .powermock-callout-icon,.sql-callout-box.callout-tip .sql-callout-icon,.html-callout-box.callout-tip .html-callout-icon,.xml-callout-box.callout-tip .xml-callout-icon,.mockito-callout-box.callout-tip .mockito-callout-icon,.junit-callout-box.callout-tip .junit-callout-icon,.maven-callout-box.callout-tip .maven-callout-icon,.postman-callout-box.callout-tip .postman-callout-icon,.powermock-callout-box.callout-tip .powermock-callout-icon{color:#1a73e8}.sql-callout-box.callout-warning .sql-callout-icon,.html-callout-box.callout-warning .html-callout-icon,.xml-callout-box.callout-warning .xml-callout-icon,.mockito-callout-box.callout-warning .mockito-callout-icon,.junit-callout-box.callout-warning .junit-callout-icon,.maven-callout-box.callout-warning .maven-callout-icon,.postman-callout-box.callout-warning .postman-callout-icon,.powermock-callout-box.callout-warning .powermock-callout-icon{color:#f9ab00}.html-callout-box.callout-danger .html-callout-icon,.xml-callout-box.callout-danger .xml-callout-icon{color:#d93025}.php-callout-title,.python-callout-title,.sql-callout-content h4,.html-callout-content h4,.excel-callout-content h4,.xml-callout-content h4,.mockito-callout-content h4,.junit-callout-content h4,.maven-callout-content h4,.postman-callout-content h4,.powermock-callout-content h4,.rest-callout-content h4,.dsa-callout-content h4,.dsa-callout-title{margin:0 0 .375rem;font-size:.9375rem;font-weight:500;color:#202124}[data-theme=dark] .php-callout-title,[data-theme=dark] .python-callout-title,[data-theme=dark] .sql-callout-content h4,[data-theme=dark] .html-callout-content h4,[data-theme=dark] .excel-callout-content h4,[data-theme=dark] .xml-callout-content h4,[data-theme=dark] .mockito-callout-content h4,[data-theme=dark] .junit-callout-content h4,[data-theme=dark] .maven-callout-content h4,[data-theme=dark] .postman-callout-content h4,[data-theme=dark] .powermock-callout-content h4,[data-theme=dark] .rest-callout-content h4,[data-theme=dark] .dsa-callout-content h4,[data-theme=dark] .dsa-callout-title{color:#e8eaed}.php-callout-content,.python-callout-content,.sql-callout-content p,.html-callout-content p,.excel-callout-content p,.xml-callout-content p,.mockito-callout-content p,.junit-callout-content p,.maven-callout-content p,.postman-callout-content p,.powermock-callout-content p,.rest-callout-content p,.dsa-callout-content p{margin:0;font-size:.875rem;line-height:1.6;color:#5f6368}[data-theme=dark] .php-callout-content,[data-theme=dark] .python-callout-content,[data-theme=dark] .sql-callout-content p,[data-theme=dark] .html-callout-content p,[data-theme=dark] .excel-callout-content p,[data-theme=dark] .xml-callout-content p,[data-theme=dark] .mockito-callout-content p,[data-theme=dark] .junit-callout-content p,[data-theme=dark] .maven-callout-content p,[data-theme=dark] .postman-callout-content p,[data-theme=dark] .powermock-callout-content p,[data-theme=dark] .rest-callout-content p,[data-theme=dark] .dsa-callout-content p{color:#9aa0a6}.php-features-grid,.python-features-grid,.html-features-grid,.sql-features-grid,.excel-features-grid,.xml-features-grid,.postman-features-grid,.rest-features-grid,.dsa-features-grid,.mockito-feature-grid,.junit-feature-grid,.maven-feature-grid,.powermock-feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin:2rem 0}.php-feature-card,.python-feature-card,.html-feature-card,.sql-feature-card,.excel-feature-card,.xml-feature-card,.postman-feature-card,.rest-feature-card,.dsa-feature-card,.mockito-feature-card,.junit-feature-card,.maven-feature-card,.powermock-feature-card{padding:1.5rem;background:#fff;border:1px solid #e8eaed;border-radius:10px;transition:all .2s ease}[data-theme=dark] .php-feature-card,[data-theme=dark] .python-feature-card,[data-theme=dark] .html-feature-card,[data-theme=dark] .sql-feature-card,[data-theme=dark] .excel-feature-card,[data-theme=dark] .xml-feature-card,[data-theme=dark] .postman-feature-card,[data-theme=dark] .rest-feature-card,[data-theme=dark] .dsa-feature-card,[data-theme=dark] .mockito-feature-card,[data-theme=dark] .junit-feature-card,[data-theme=dark] .maven-feature-card,[data-theme=dark] .powermock-feature-card{background:#292d31;border-color:#3c4043}.php-feature-card:hover,.python-feature-card:hover,.html-feature-card:hover,.sql-feature-card:hover,.excel-feature-card:hover,.xml-feature-card:hover,.postman-feature-card:hover,.rest-feature-card:hover,.dsa-feature-card:hover,.mockito-feature-card:hover,.junit-feature-card:hover,.maven-feature-card:hover,.powermock-feature-card:hover{border-color:#1a73e8;box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}[data-theme=dark] .php-feature-card:hover,[data-theme=dark] .python-feature-card:hover,[data-theme=dark] .html-feature-card:hover,[data-theme=dark] .sql-feature-card:hover,[data-theme=dark] .excel-feature-card:hover,[data-theme=dark] .xml-feature-card:hover,[data-theme=dark] .postman-feature-card:hover,[data-theme=dark] .rest-feature-card:hover,[data-theme=dark] .dsa-feature-card:hover,[data-theme=dark] .mockito-feature-card:hover,[data-theme=dark] .junit-feature-card:hover,[data-theme=dark] .maven-feature-card:hover,[data-theme=dark] .powermock-feature-card:hover{border-color:#8ab4f8}.php-feature-icon,.python-feature-icon,.html-feature-icon,.sql-feature-icon-wrapper,.excel-feature-icon,.xml-feature-icon,.postman-feature-icon,.rest-feature-icon,.dsa-feature-icon,.mockito-feature-icon,.junit-feature-icon,.maven-feature-icon,.powermock-feature-icon{width:48px;height:48px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:1rem;background:#1a73e81a;color:#1a73e8}[data-theme=dark] .php-feature-icon,[data-theme=dark] .python-feature-icon,[data-theme=dark] .html-feature-icon,[data-theme=dark] .sql-feature-icon-wrapper,[data-theme=dark] .excel-feature-icon,[data-theme=dark] .xml-feature-icon,[data-theme=dark] .postman-feature-icon,[data-theme=dark] .rest-feature-icon,[data-theme=dark] .dsa-feature-icon,[data-theme=dark] .mockito-feature-icon,[data-theme=dark] .junit-feature-icon,[data-theme=dark] .maven-feature-icon,[data-theme=dark] .powermock-feature-icon{background:#8ab4f826;color:#8ab4f8}.php-feature-title,.python-feature-title,.html-feature-card h4,.sql-feature-card h4,.excel-feature-card h4,.xml-feature-card h4,.postman-feature-card h4,.rest-feature-card h3,.rest-feature-card h4,.dsa-feature-title,.mockito-feature-card h3,.mockito-feature-card h4,.junit-feature-card h3,.maven-feature-card h3,.powermock-feature-card h3{margin:0 0 .5rem;font-size:1.1rem;font-weight:600;color:#202124}[data-theme=dark] .php-feature-title,[data-theme=dark] .python-feature-title,[data-theme=dark] .html-feature-card h4,[data-theme=dark] .sql-feature-card h4,[data-theme=dark] .excel-feature-card h4,[data-theme=dark] .xml-feature-card h4,[data-theme=dark] .postman-feature-card h4,[data-theme=dark] .rest-feature-card h3,[data-theme=dark] .rest-feature-card h4,[data-theme=dark] .dsa-feature-title,[data-theme=dark] .mockito-feature-card h3,[data-theme=dark] .mockito-feature-card h4,[data-theme=dark] .junit-feature-card h3,[data-theme=dark] .maven-feature-card h3,[data-theme=dark] .powermock-feature-card h3{color:#e8eaed}.php-feature-description,.python-feature-description,.html-feature-card p,.sql-feature-card p,.excel-feature-card p,.xml-feature-card p,.postman-feature-card p,.rest-feature-card p,.dsa-feature-description,.mockito-feature-card p,.junit-feature-card p,.maven-feature-card p,.powermock-feature-card p{margin:0;font-size:.9375rem;line-height:1.6;color:#5f6368}[data-theme=dark] .php-feature-description,[data-theme=dark] .python-feature-description,[data-theme=dark] .html-feature-card p,[data-theme=dark] .sql-feature-card p,[data-theme=dark] .excel-feature-card p,[data-theme=dark] .xml-feature-card p,[data-theme=dark] .postman-feature-card p,[data-theme=dark] .rest-feature-card p,[data-theme=dark] .dsa-feature-description,[data-theme=dark] .mockito-feature-card p,[data-theme=dark] .junit-feature-card p,[data-theme=dark] .maven-feature-card p,[data-theme=dark] .powermock-feature-card p{color:#9aa0a6}.php-learning-path,.python-learning-path,.html-learning-path,.sql-learning-path,.excel-learning-path,.xml-learning-path,.rest-learning-path,.powermock-learning-path,.dsa-learning-path{display:flex;flex-direction:column;gap:1.5rem;margin:2rem 0}.php-learning-step,.python-learning-step,.sql-path-item,.html-path-item,.excel-path-item,.xml-path-item,.rest-path-step,.powermock-path-item,.dsa-path-item{display:flex;gap:1.5rem;padding:1.5rem;background:#fff;border:1px solid #e8eaed;border-radius:10px;transition:all .2s ease}[data-theme=dark] .php-learning-step,[data-theme=dark] .python-learning-step,[data-theme=dark] .sql-path-item,[data-theme=dark] .html-path-item,[data-theme=dark] .excel-path-item,[data-theme=dark] .xml-path-item,[data-theme=dark] .rest-path-step,[data-theme=dark] .powermock-path-item,[data-theme=dark] .dsa-path-item{background:#292d31;border-color:#3c4043}.php-learning-step:hover,.python-learning-step:hover,.sql-path-item:hover,.html-path-item:hover,.excel-path-item:hover,.xml-path-item:hover,.rest-path-step:hover,.powermock-path-item:hover,.dsa-path-item:hover{border-color:#1a73e8;box-shadow:0 1px 2px #0000000a}[data-theme=dark] .php-learning-step:hover,[data-theme=dark] .python-learning-step:hover,[data-theme=dark] .sql-path-item:hover,[data-theme=dark] .html-path-item:hover,[data-theme=dark] .excel-path-item:hover,[data-theme=dark] .xml-path-item:hover,[data-theme=dark] .rest-path-step:hover,[data-theme=dark] .powermock-path-item:hover,[data-theme=dark] .dsa-path-item:hover{border-color:#8ab4f8}.php-step-number,.python-step-number,.sql-path-number,.html-path-number,.excel-path-number,.xml-path-number,.powermock-path-number,.dsa-path-number{flex-shrink:0;width:40px;height:40px;background:#1a73e8;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:700}[data-theme=dark] .php-step-number,[data-theme=dark] .python-step-number,[data-theme=dark] .sql-path-number,[data-theme=dark] .html-path-number,[data-theme=dark] .excel-path-number,[data-theme=dark] .xml-path-number,[data-theme=dark] .powermock-path-number,[data-theme=dark] .dsa-path-number{background:#8ab4f8;color:#202124}.path-content h4{display:flex;align-items:center;gap:.5rem;margin:0 0 .75rem;font-size:1.1rem;color:#202124}[data-theme=dark] .path-content h4{color:#e8eaed}.path-content ul{margin:0;padding-left:1.25rem;list-style-type:disc}.path-content li{margin-bottom:.35rem;font-size:.95rem;color:#5f6368;line-height:1.5}.php-try-it,.python-try-it,.sql-try-it-box,.xml-try-it-box,.excel-try-it-box,.mockito-try-it-box,.junit-try-it-box,.maven-try-it-box,.postman-try-it-box,.powermock-try-it-box,.rest-try-it-box{background:#e8f0fe;border:1px solid #c6dafc;border-radius:8px;padding:1.5rem;margin:1.5rem 0}[data-theme=dark] .php-try-it,[data-theme=dark] .python-try-it,[data-theme=dark] .sql-try-it-box,[data-theme=dark] .xml-try-it-box,[data-theme=dark] .excel-try-it-box,[data-theme=dark] .mockito-try-it-box,[data-theme=dark] .junit-try-it-box,[data-theme=dark] .maven-try-it-box,[data-theme=dark] .postman-try-it-box,[data-theme=dark] .powermock-try-it-box,[data-theme=dark] .rest-try-it-box{background:#8ab4f81a;border-color:#8ab4f84d}.php-try-it-header,.python-try-it-header,.sql-try-it-header,.xml-try-it-header,.excel-try-it-header,.mockito-try-it-header,.junit-try-it-header,.maven-try-it-header,.postman-try-it-header,.powermock-try-it-header,.rest-try-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.php-try-it-icon,.python-try-it-icon,.sql-try-icon,.xml-try-icon,.excel-try-icon,.mockito-try-icon,.junit-try-icon,.maven-try-icon,.postman-try-icon,.powermock-try-icon,.rest-try-icon{font-size:1.25rem;color:#1a73e8}[data-theme=dark] .php-try-it-icon,[data-theme=dark] .python-try-it-icon,[data-theme=dark] .sql-try-icon,[data-theme=dark] .xml-try-icon,[data-theme=dark] .excel-try-icon,[data-theme=dark] .mockito-try-icon,[data-theme=dark] .junit-try-icon,[data-theme=dark] .maven-try-icon,[data-theme=dark] .postman-try-icon,[data-theme=dark] .powermock-try-icon,[data-theme=dark] .rest-try-icon{color:#8ab4f8}.php-try-it-header h4,.python-try-it-header h4,.sql-try-it-header h4,.xml-try-it-header h4,.excel-try-it-header h4,.mockito-try-it-header h4,.junit-try-it-header h4,.maven-try-it-header h4,.postman-try-it-header h4,.powermock-try-it-header h4,.rest-try-header h4{margin:0;font-size:1rem;font-weight:500;color:#202124}[data-theme=dark] .php-try-it-header h4,[data-theme=dark] .python-try-it-header h4,[data-theme=dark] .sql-try-it-header h4,[data-theme=dark] .xml-try-it-header h4,[data-theme=dark] .excel-try-it-header h4,[data-theme=dark] .mockito-try-it-header h4,[data-theme=dark] .junit-try-it-header h4,[data-theme=dark] .maven-try-it-header h4,[data-theme=dark] .postman-try-it-header h4,[data-theme=dark] .powermock-try-it-header h4,[data-theme=dark] .rest-try-header h4{color:#e8eaed}.php-try-commands,.python-try-commands,.mockito-try-commands,.junit-try-commands,.maven-try-commands,.powermock-try-commands,.rest-try-steps{display:flex;flex-direction:column;gap:.5rem}.php-try-command,.python-try-command,.mockito-try-command,.junit-try-command,.maven-try-command,.powermock-try-command,.rest-try-step{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.625rem .875rem;background:#fff;border:1px solid #e8eaed;border-radius:4px}[data-theme=dark] .php-try-command,[data-theme=dark] .python-try-command,[data-theme=dark] .mockito-try-command,[data-theme=dark] .junit-try-command,[data-theme=dark] .maven-try-command,[data-theme=dark] .powermock-try-command,[data-theme=dark] .rest-try-step{background:#292929;border-color:#3c4043}.php-try-command code,.python-try-command code,.mockito-try-command code,.junit-try-command code,.maven-try-command code,.powermock-try-command code,.rest-try-step code{font-family:Fira Code,Consolas,monospace;font-size:.8125rem;color:#1a73e8}[data-theme=dark] .php-try-command code,[data-theme=dark] .python-try-command code,[data-theme=dark] .mockito-try-command code,[data-theme=dark] .junit-try-command code,[data-theme=dark] .maven-try-command code,[data-theme=dark] .powermock-try-command code,[data-theme=dark] .rest-try-step code{color:#8ab4f8}.php-try-description,.python-try-description,.mockito-try-description,.junit-try-description,.maven-try-description,.powermock-try-description,.rest-try-description{font-size:.8125rem;color:#5f6368}[data-theme=dark] .php-try-description,[data-theme=dark] .python-try-description,[data-theme=dark] .mockito-try-description,[data-theme=dark] .junit-try-description,[data-theme=dark] .maven-try-description,[data-theme=dark] .powermock-try-description,[data-theme=dark] .rest-try-description{color:#9aa0a6}.comparison-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;margin:1.5rem 0}.comparison-card{background:var(--tutorial-card-bg, #fff);border:1px solid var(--tutorial-border-color, #e8eaed);border-radius:8px;overflow:hidden}[data-theme=dark] .comparison-card{background:#292d31;border-color:#3c4043}.comparison-card h4{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;margin:0;font-size:1rem;font-weight:600}.comparison-card ul{margin:0;padding:1rem 1rem 1rem 2rem;list-style-type:disc}.comparison-card li{margin-bottom:.5rem;color:#3c4043;font-size:.9375rem;line-height:1.5}[data-theme=dark] .comparison-card li{color:#bdc1c6}.comparison-card li:last-child{margin-bottom:0}.comparison-card.valid h4{background:#e8f0fe;color:#1a73e8}[data-theme=dark] .comparison-card.valid h4{background:#8ab4f81f;color:#8ab4f8}.comparison-card.invalid h4{background:#fce8e6;color:#d93025}[data-theme=dark] .comparison-card.invalid h4{background:#f28b821f;color:#f28b82}@media(max-width:768px){.comparison-grid{grid-template-columns:1fr}}.try-it-box{background:#e8f0fe;border:1px solid #c6dafc;border-radius:8px;padding:1.5rem;margin:1.5rem 0}[data-theme=dark] .try-it-box{background:#8ab4f81a;border-color:#8ab4f84d}.try-it-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.try-icon{font-size:1.25rem;color:#1a73e8}[data-theme=dark] .try-icon{color:#8ab4f8}.try-it-header h4{margin:0;font-size:1rem;font-weight:500;color:var(--tutorial-text-primary, #202124)}[data-theme=dark] .try-it-header h4{color:#e8eaed}.try-it-box>p{margin:0 0 1rem;color:var(--tutorial-text-muted, #5f6368);font-size:.9375rem}[data-theme=dark] .try-it-box>p{color:#9aa0a6}.try-commands{display:flex;flex-direction:column;gap:.5rem}.try-command{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.625rem .875rem;background:var(--tutorial-card-bg, #fff);border:1px solid var(--tutorial-border-color, #e8eaed);border-radius:4px}[data-theme=dark] .try-command{background:#292929;border-color:#3c4043}.try-command code{font-family:Roboto Mono,Monaco,Menlo,Consolas,monospace;font-size:.8125rem;color:#1a73e8}[data-theme=dark] .try-command code{color:#8ab4f8}.try-description{font-size:.8125rem;color:var(--tutorial-text-muted, #5f6368)}[data-theme=dark] .try-description{color:#9aa0a6}.comparison-table-wrapper{overflow-x:auto;margin:2rem 0;border-radius:10px;border:1px solid var(--tutorial-card-border, #E1E4E8)}.comparison-table{width:100%;border-collapse:collapse;background:var(--tutorial-card-bg, #fff)}.comparison-table th,.comparison-table td{padding:1rem 1.25rem;text-align:left;border-bottom:1px solid var(--tutorial-card-border, #E1E4E8)}.comparison-table th{background:#f8f9fa;font-weight:600;color:var(--tutorial-text-primary, #202124);font-size:.95rem}[data-theme=dark] .comparison-table th{background:#1e1e1e;color:#e8eaed}.comparison-table .highlight-col{background:#1a73e80d}.comparison-table th.highlight-col{background:#1a73e81a;color:#1a73e8}[data-theme=dark] .comparison-table th.highlight-col{background:#8ab4f81a;color:#8ab4f8}.comparison-table td{color:var(--tutorial-text-secondary, #57606A);font-size:.95rem}.comparison-table .table-icon{margin-right:.5rem;vertical-align:middle}.comparison-table .check-icon{color:#1a73e8;margin-right:.5rem}.comparison-table tr:last-child td{border-bottom:none}.comparison-table tr:hover td{background:#1a73e805}.comparison-table code{background:#1a73e814;padding:.125rem .375rem;border-radius:4px;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.85em;color:#1a73e8}[data-theme=dark] .comparison-table code{background:#8ab4f826;color:#8ab4f8}.php-table-container,.sql-table-container,.excel-comparison-wrapper,.xml-comparison-table-wrapper,.rest-comparison-wrapper,.postman-comparison-table-wrapper,.dsa-table-container{overflow-x:auto;margin:2rem 0;border-radius:10px;border:1px solid #e8eaed}[data-theme=dark] .php-table-container,[data-theme=dark] .sql-table-container,[data-theme=dark] .excel-comparison-wrapper,[data-theme=dark] .xml-comparison-table-wrapper,[data-theme=dark] .rest-comparison-wrapper,[data-theme=dark] .postman-comparison-table-wrapper,[data-theme=dark] .dsa-table-container{border-color:#3c4043}.php-table,.sql-table,.excel-comparison-table,.xml-comparison-table,.mockito-comparison-table,.postman-comparison-table,.rest-comparison-table,.dsa-table,.dsa-complexity-table{width:100%;border-collapse:collapse;background:#fff}[data-theme=dark] .php-table,[data-theme=dark] .sql-table,[data-theme=dark] .excel-comparison-table,[data-theme=dark] .xml-comparison-table,[data-theme=dark] .mockito-comparison-table,[data-theme=dark] .postman-comparison-table,[data-theme=dark] .rest-comparison-table,[data-theme=dark] .dsa-table,[data-theme=dark] .dsa-complexity-table{background:#1e1e1e}.php-table th,.sql-table th,.excel-comparison-table th,.xml-comparison-table th,.mockito-comparison-table th,.postman-comparison-table th,.rest-comparison-table th,.dsa-table th,.dsa-complexity-table th{padding:1rem 1.25rem;text-align:left;border-bottom:1px solid #e8eaed;background:#f8f9fa;font-weight:600;color:#202124;font-size:.95rem}[data-theme=dark] .php-table th,[data-theme=dark] .sql-table th,[data-theme=dark] .excel-comparison-table th,[data-theme=dark] .xml-comparison-table th,[data-theme=dark] .mockito-comparison-table th,[data-theme=dark] .postman-comparison-table th,[data-theme=dark] .rest-comparison-table th,[data-theme=dark] .dsa-table th,[data-theme=dark] .dsa-complexity-table th{background:#292d31;color:#e8eaed;border-bottom-color:#3c4043}.php-table td,.sql-table td,.excel-comparison-table td,.xml-comparison-table td,.mockito-comparison-table td,.postman-comparison-table td,.rest-comparison-table td,.dsa-table td,.dsa-complexity-table td{padding:.75rem 1.25rem;text-align:left;border-bottom:1px solid #e8eaed;color:#5f6368;font-size:.95rem}[data-theme=dark] .php-table td,[data-theme=dark] .sql-table td,[data-theme=dark] .excel-comparison-table td,[data-theme=dark] .xml-comparison-table td,[data-theme=dark] .mockito-comparison-table td,[data-theme=dark] .postman-comparison-table td,[data-theme=dark] .rest-comparison-table td,[data-theme=dark] .dsa-table td,[data-theme=dark] .dsa-complexity-table td{color:#9aa0a6;border-bottom-color:#3c4043}.php-table tbody tr:hover,.sql-table tbody tr:hover,.excel-comparison-table tbody tr:hover,.xml-comparison-table tbody tr:hover,.mockito-comparison-table tbody tr:hover,.postman-comparison-table tbody tr:hover,.rest-comparison-table tbody tr:hover,.dsa-table tbody tr:hover,.dsa-complexity-table tbody tr:hover{background:#1a73e805}[data-theme=dark] .php-table tbody tr:hover,[data-theme=dark] .sql-table tbody tr:hover,[data-theme=dark] .excel-comparison-table tbody tr:hover,[data-theme=dark] .xml-comparison-table tbody tr:hover,[data-theme=dark] .mockito-comparison-table tbody tr:hover,[data-theme=dark] .postman-comparison-table tbody tr:hover,[data-theme=dark] .rest-comparison-table tbody tr:hover,[data-theme=dark] .dsa-table tbody tr:hover,[data-theme=dark] .dsa-complexity-table tbody tr:hover{background:#8ab4f80d}.php-table code,.sql-table code,.excel-comparison-table code,.xml-comparison-table code,.mockito-comparison-table code,.postman-comparison-table code,.rest-comparison-table code,.dsa-table code,.dsa-complexity-table code{background:#1a73e814;padding:.125rem .375rem;border-radius:4px;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.85em;color:#1a73e8}[data-theme=dark] .php-table code,[data-theme=dark] .sql-table code,[data-theme=dark] .excel-comparison-table code,[data-theme=dark] .xml-comparison-table code,[data-theme=dark] .mockito-comparison-table code,[data-theme=dark] .postman-comparison-table code,[data-theme=dark] .rest-comparison-table code,[data-theme=dark] .dsa-table code,[data-theme=dark] .dsa-complexity-table code{background:#8ab4f826;color:#8ab4f8}.php-takeaways,.python-takeaways,.html-takeaways-box,.excel-takeaways-box,.xml-takeaways-box,.dsa-takeaways{background:#e8f0fe;border:1px solid #c6dafc;border-radius:16px;padding:2rem;margin:2rem 0}[data-theme=dark] .php-takeaways,[data-theme=dark] .python-takeaways,[data-theme=dark] .html-takeaways-box,[data-theme=dark] .excel-takeaways-box,[data-theme=dark] .xml-takeaways-box,[data-theme=dark] .dsa-takeaways{background:#8ab4f81a;border-color:#8ab4f84d}.php-takeaways-title,.python-takeaways-title,.html-takeaways-header h4,.excel-takeaways-header h4,.xml-takeaways-header h4,.dsa-takeaways-title{font-size:1.25rem;font-weight:600;color:#1a73e8;margin-bottom:1.25rem;display:flex;align-items:center;gap:.5rem}[data-theme=dark] .php-takeaways-title,[data-theme=dark] .python-takeaways-title,[data-theme=dark] .html-takeaways-header h4,[data-theme=dark] .excel-takeaways-header h4,[data-theme=dark] .xml-takeaways-header h4,[data-theme=dark] .dsa-takeaways-title{color:#8ab4f8}.php-takeaways-list,.python-takeaways-list,.html-takeaways-list,.excel-takeaways-list,.xml-takeaways-list,.dsa-takeaways-list{list-style:none;padding:0;margin:0;display:grid;gap:.75rem}.php-takeaways-item,.python-takeaways-item,.html-takeaway-item,.excel-takeaway-item,.xml-takeaway-item,.dsa-takeaways-item{display:flex;align-items:flex-start;gap:.75rem;font-size:.95rem;line-height:1.5;color:#5f6368}[data-theme=dark] .php-takeaways-item,[data-theme=dark] .python-takeaways-item,[data-theme=dark] .html-takeaway-item,[data-theme=dark] .excel-takeaway-item,[data-theme=dark] .xml-takeaway-item,[data-theme=dark] .dsa-takeaways-item{color:#9aa0a6}.sql-workflow-visualization,.xml-workflow-visualization,.rest-workflow,.powermock-workflow-visualization{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:2.5rem 1rem;background:#fff;border:1px solid #e8eaed;border-radius:16px;margin:2rem 0;overflow-x:auto}[data-theme=dark] .sql-workflow-visualization,[data-theme=dark] .xml-workflow-visualization,[data-theme=dark] .rest-workflow,[data-theme=dark] .powermock-workflow-visualization{background:#292d31;border-color:#3c4043}.sql-workflow-stage,.xml-workflow-stage,.rest-workflow-step,.powermock-workflow-stage{flex:1;max-width:200px;text-align:center;padding:1.5rem 1rem}.sql-stage-icon-wrapper,.xml-stage-icon-wrapper,.powermock-stage-icon-wrapper{width:64px;height:64px;margin:0 auto 1rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.75rem;background:#1a73e81a;color:#1a73e8}[data-theme=dark] .sql-stage-icon-wrapper,[data-theme=dark] .xml-stage-icon-wrapper,[data-theme=dark] .powermock-stage-icon-wrapper{background:#8ab4f826;color:#8ab4f8}.sql-workflow-stage h4,.xml-workflow-stage h4,.rest-workflow-step h4,.powermock-workflow-stage h4{margin:0 0 .5rem;font-size:1rem;color:#202124}[data-theme=dark] .sql-workflow-stage h4,[data-theme=dark] .xml-workflow-stage h4,[data-theme=dark] .rest-workflow-step h4,[data-theme=dark] .powermock-workflow-stage h4{color:#e8eaed}.sql-workflow-stage p,.xml-workflow-stage p,.rest-workflow-step p,.powermock-workflow-stage p{margin:0;font-size:.875rem;color:#5f6368;line-height:1.5}.workflow-arrow{display:flex;flex-direction:column;align-items:center;gap:.25rem;flex-shrink:0;padding:0 .5rem}.sql-arrow-label,.xml-arrow-label,.powermock-arrow-label{font-size:.7rem;font-family:JetBrains Mono,Fira Code,monospace;color:#1a73e8;white-space:nowrap}[data-theme=dark] .sql-arrow-label,[data-theme=dark] .xml-arrow-label,[data-theme=dark] .powermock-arrow-label{color:#8ab4f8}.arrow-icon{font-size:1.25rem;color:var(--tutorial-text-subtle, #8B949E)}.php-nav-buttons,.python-nav-buttons,.dsa-nav-buttons{display:flex;justify-content:space-between;margin-top:3rem;padding-top:2rem;border-top:1px solid #e8eaed;gap:1rem}[data-theme=dark] .php-nav-buttons,[data-theme=dark] .python-nav-buttons,[data-theme=dark] .dsa-nav-buttons{border-top-color:#3c4043}.php-nav-button,.python-nav-button,.dsa-nav-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#1a73e8;color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none}.php-nav-button:hover,.python-nav-button:hover,.dsa-nav-button:hover{background:#1557b0;transform:translateY(-1px)}.php-nav-button.prev,.python-nav-button.prev,.dsa-nav-button.prev{background:transparent;color:#1a73e8;border:1px solid #1a73e8}.php-nav-button.prev:hover,.python-nav-button.prev:hover,.dsa-nav-button.prev:hover{background:#1a73e8;color:#fff}[data-theme=dark] .php-nav-button,[data-theme=dark] .python-nav-button,[data-theme=dark] .dsa-nav-button{background:#8ab4f8;color:#202124}[data-theme=dark] .php-nav-button:hover,[data-theme=dark] .python-nav-button:hover,[data-theme=dark] .dsa-nav-button:hover{background:#aecbfa}[data-theme=dark] .php-nav-button.prev,[data-theme=dark] .python-nav-button.prev,[data-theme=dark] .dsa-nav-button.prev{background:transparent;color:#8ab4f8;border-color:#8ab4f8}[data-theme=dark] .php-nav-button.prev:hover,[data-theme=dark] .python-nav-button.prev:hover,[data-theme=dark] .dsa-nav-button.prev:hover{background:#8ab4f8;color:#202124}.mockito-pros-cons-grid,.junit-pros-cons-grid,.maven-pros-cons-grid,.powermock-pros-cons-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin:2rem 0}.mockito-pros-section,.junit-pros-section,.maven-pros-section,.powermock-pros-section{padding:1.5rem;border-radius:8px;background:#34a85314;border:1px solid rgba(52,168,83,.2)}[data-theme=dark] .mockito-pros-section,[data-theme=dark] .junit-pros-section,[data-theme=dark] .maven-pros-section,[data-theme=dark] .powermock-pros-section{background:#34a8531a;border-color:#34a8534d}.mockito-cons-section,.junit-cons-section,.maven-cons-section,.powermock-cons-section{padding:1.5rem;border-radius:8px;background:#ea433514;border:1px solid rgba(234,67,53,.2)}[data-theme=dark] .mockito-cons-section,[data-theme=dark] .junit-cons-section,[data-theme=dark] .maven-cons-section,[data-theme=dark] .powermock-cons-section{background:#ea43351a;border-color:#ea43354d}.mockito-pros-section h4,.junit-pros-section h4,.maven-pros-section h4,.powermock-pros-section h4{margin:0 0 1rem;font-size:1rem;font-weight:500;display:flex;align-items:center;gap:.5rem;color:#1a73e8}[data-theme=dark] .mockito-pros-section h4,[data-theme=dark] .junit-pros-section h4,[data-theme=dark] .maven-pros-section h4,[data-theme=dark] .powermock-pros-section h4{color:#8ab4f8}.mockito-cons-section h4,.junit-cons-section h4,.maven-cons-section h4,.powermock-cons-section h4{margin:0 0 1rem;font-size:1rem;font-weight:500;display:flex;align-items:center;gap:.5rem;color:#ea4335}[data-theme=dark] .mockito-cons-section h4,[data-theme=dark] .junit-cons-section h4,[data-theme=dark] .maven-cons-section h4,[data-theme=dark] .powermock-cons-section h4{color:#f28b82}.mockito-pros-section li,.junit-pros-section li,.maven-pros-section li,.powermock-pros-section li{color:#1a73e8;margin-bottom:.5rem;font-size:.95rem;line-height:1.5}[data-theme=dark] .mockito-pros-section li,[data-theme=dark] .junit-pros-section li,[data-theme=dark] .maven-pros-section li,[data-theme=dark] .powermock-pros-section li{color:#8ab4f8}.mockito-cons-section li,.junit-cons-section li,.maven-cons-section li,.powermock-cons-section li{color:#c5221f;margin-bottom:.5rem;font-size:.95rem;line-height:1.5}[data-theme=dark] .mockito-cons-section li,[data-theme=dark] .junit-cons-section li,[data-theme=dark] .maven-cons-section li,[data-theme=dark] .powermock-cons-section li{color:#f28b82}@media(max-width:768px){.php-content-section h2,.python-content-section h2,.html-content-section h2,.sql-content-section h2,.excel-content-section h2,.xml-content-section h2,.mockito-content-section h2,.junit-content-section h2,.maven-content-section h2,.postman-content-section h2,.powermock-content-section h2,.rest-content-section h2{font-size:1.25rem}.php-features-grid,.python-features-grid,.html-features-grid,.sql-features-grid,.excel-features-grid,.xml-features-grid,.postman-features-grid,.rest-features-grid,.dsa-features-grid,.mockito-feature-grid,.junit-feature-grid,.maven-feature-grid,.powermock-feature-grid{grid-template-columns:1fr}.php-learning-step,.python-learning-step,.sql-path-item,.html-path-item,.excel-path-item,.xml-path-item,.rest-path-step,.powermock-path-item,.dsa-path-item{flex-direction:column;align-items:flex-start}.sql-callout-box,.html-callout-box,.excel-callout-box,.xml-callout-box,.mockito-callout-box,.junit-callout-box,.maven-callout-box,.postman-callout-box,.powermock-callout-box,.rest-callout-box{flex-direction:column}.sql-workflow-visualization,.xml-workflow-visualization,.rest-workflow,.powermock-workflow-visualization{flex-direction:column;gap:1rem;padding:1.5rem}.sql-workflow-arrow,.xml-workflow-arrow,.rest-workflow-arrow,.powermock-workflow-arrow{transform:rotate(90deg);padding:.5rem 0}.sql-workflow-stage,.xml-workflow-stage,.rest-workflow-step,.powermock-workflow-stage{max-width:100%}.mockito-pros-cons-grid,.junit-pros-cons-grid,.maven-pros-cons-grid,.powermock-pros-cons-grid{grid-template-columns:1fr}.php-table th,.php-table td,.sql-table th,.sql-table td,.excel-comparison-table th,.excel-comparison-table td,.xml-comparison-table th,.xml-comparison-table td,.mockito-comparison-table th,.mockito-comparison-table td,.postman-comparison-table th,.postman-comparison-table td,.rest-comparison-table th,.rest-comparison-table td,.dsa-table th,.dsa-table td{padding:.75rem;font-size:.85rem}.php-nav-buttons,.python-nav-buttons,.dsa-nav-buttons{flex-direction:column}.php-nav-button,.python-nav-button,.dsa-nav-button{width:100%;justify-content:center}}@media(max-width:480px){.php-content-section h2,.python-content-section h2,.html-content-section h2,.sql-content-section h2,.excel-content-section h2,.xml-content-section h2,.mockito-content-section h2,.junit-content-section h2,.maven-content-section h2,.postman-content-section h2,.powermock-content-section h2,.rest-content-section h2{font-size:1.15rem}}.code-block-wrapper{background:#f8f9fa;border:1px solid #e0e3e7;border-radius:12px;margin:1.25rem 0;overflow:hidden;width:100%;max-width:100%;box-sizing:border-box;box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;transition:box-shadow .2s ease}.code-block-wrapper:hover{box-shadow:0 2px 6px #00000014,0 1px 3px #0000000f}[data-theme=dark] .code-block-wrapper{background:#1e1e1e;border-color:#2d2d2d;box-shadow:0 1px 3px #0003,0 1px 2px #00000026}[data-theme=dark] .code-block-wrapper:hover{box-shadow:0 2px 8px #0000004d,0 1px 4px #0003}.code-block-title{padding:.625rem 1rem;background:transparent;border-bottom:none;font-size:.8125rem;font-weight:600;color:#1a73e8;letter-spacing:.01em}[data-theme=dark] .code-block-title{background:transparent;color:#8ab4f8}.code-block-container{position:relative}.copy-btn{position:absolute;top:8px;right:8px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;background:#0000000a;color:#5f6368;cursor:pointer;opacity:1;transition:all .2s ease;z-index:2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.copy-btn:hover{background:#1a73e81f;color:#1a73e8;transform:scale(1.05)}[data-theme=dark] .copy-btn{background:#ffffff0f;color:#9aa0a6}[data-theme=dark] .copy-btn:hover{background:#8ab4f82e;color:#8ab4f8;transform:scale(1.05)}.copy-btn.copied{color:#1a73e8;background:#1a73e81a}[data-theme=dark] .copy-btn.copied{color:#8ab4f8;background:#8ab4f826}.code-pre{margin:0;padding:1rem 1.25rem;background:transparent;color:#383a42;overflow-x:auto;font-family:Fira Code,Roboto Mono,Monaco,Menlo,Consolas,monospace;font-size:.875rem;line-height:1.7;-webkit-overflow-scrolling:touch;max-width:100%;box-sizing:border-box}[data-theme=dark] .code-pre{color:#e8eaed}.code-pre::-webkit-scrollbar{height:6px}.code-pre::-webkit-scrollbar-track{background:transparent;margin:0 8px}.code-pre::-webkit-scrollbar-thumb{background:#c8ccd0;border-radius:3px}.code-pre::-webkit-scrollbar-thumb:hover{background:#a8acb0}[data-theme=dark] .code-pre::-webkit-scrollbar-thumb{background:#4a4e52}[data-theme=dark] .code-pre::-webkit-scrollbar-thumb:hover{background:#5f6368}.code-pre code{background:none;padding:0;font-family:inherit;font-size:inherit;white-space:pre-wrap;word-break:break-word}.code-block{background:#f8f9fa;border-radius:12px;overflow:hidden}[data-theme=dark] .code-block{background:#1e1e1e}.code-block-title+.code-block{border-radius:0 0 12px 12px}.code-content{position:relative;display:flex;overflow-x:auto}.code-content>.copy-btn{position:absolute;top:8px;right:8px;flex-shrink:0}.code-line-numbers{display:flex;flex-direction:column;padding:1rem 0;background:#00000005;border-right:1px solid #e0e3e7;-webkit-user-select:none;user-select:none}[data-theme=dark] .code-line-numbers{background:#ffffff05;border-right-color:#333}.code-line-numbers span{padding:0 .75rem;font-family:Fira Code,Consolas,monospace;font-size:.875rem;line-height:1.65;color:#9aa0a6;text-align:right}[data-theme=dark] .code-line-numbers span{color:#606060}.code-block pre{margin:0;padding:1rem;overflow-x:auto;flex:1}.code-block pre.with-line-numbers{padding-left:.75rem}.code-block code{font-family:Fira Code,Consolas,Monaco,monospace;font-size:.875rem;line-height:1.65;color:#383a42;white-space:pre;background:transparent!important;padding:0!important;border-radius:0!important}[data-theme=dark] .code-block code{color:#d4d4d4}.code-actions{display:flex;gap:.5rem;align-items:center}.code-action-btn{padding:.25rem .625rem;background:transparent;border:1px solid #4a4a4a;border-radius:4px;font-size:.75rem;color:#a0a0a0;cursor:pointer;transition:all .15s ease}.code-action-btn:hover{background:#3c3c3c;border-color:#5a5a5a;color:#e0e0e0}.code-action-btn.run-btn:hover{border-color:#1a73e8;color:#8ab4f8}.code-action-btn:disabled{opacity:.5;cursor:not-allowed}.code-output{border-top:1px solid #e0e3e7;background:#f3f4f6}[data-theme=dark] .code-output{border-color:#2d2d2d;background:#252525}.output-pre{margin:0;padding:.875rem 1.25rem;background:transparent;color:#188038;font-family:Roboto Mono,Monaco,Menlo,Consolas,monospace;font-size:.8125rem;white-space:pre-wrap;overflow-x:auto;-webkit-overflow-scrolling:touch;line-height:1.5;word-break:break-word}[data-theme=dark] .output-pre{color:#8ab4f8}.output-header{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#eaecef;font-size:.75rem;font-weight:600;color:#5f6368;letter-spacing:.02em}[data-theme=dark] .output-header{background:#2a2d31;color:#9aa0a6}.output-icon{color:#1a73e8}[data-theme=dark] .output-icon{color:#8ab4f8}.output-content{margin:0;padding:1rem;font-family:Fira Code,Consolas,monospace;font-size:.8125rem;line-height:1.5;color:#202124;white-space:pre-wrap;word-break:break-word}[data-theme=dark] .output-content{color:#e8eaed}.output-label{padding:.5rem 1rem 0;font-size:.75rem;font-weight:600;color:#5f6368;text-transform:uppercase;letter-spacing:.5px}[data-theme=dark] .output-label{color:#9aa0a6}.code-pre code[class*=language-],.code-block code[class*=language-],pre[class*=language-]{background:transparent!important;text-shadow:none!important}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#6a737d!important;font-style:italic}.token.punctuation{color:#393a34!important}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:#005cc5!important}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:#22863a!important}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string,.token.atrule,.token.attr-value,.token.keyword{color:#d73a49!important}.token.key{color:#0451a5!important;font-weight:600}.token.function,.token.class-name{color:#6f42c1!important}.token.regex,.token.important,.token.variable{color:#e36209!important}.token.parameter{color:#24292e!important}.token.interpolation{color:#005cc5!important}.token.important,.token.bold{font-weight:600}.token.italic{font-style:italic}.token.entity{cursor:help}.token.namespace{opacity:.8}[data-theme=dark] .token.comment,[data-theme=dark] .token.prolog,[data-theme=dark] .token.doctype,[data-theme=dark] .token.cdata{color:#6a9955!important;font-style:italic}[data-theme=dark] .token.punctuation{color:#d4d4d4!important}[data-theme=dark] .token.property,[data-theme=dark] .token.tag,[data-theme=dark] .token.boolean,[data-theme=dark] .token.number,[data-theme=dark] .token.constant,[data-theme=dark] .token.symbol,[data-theme=dark] .token.deleted{color:#b5cea8!important}[data-theme=dark] .token.selector,[data-theme=dark] .token.attr-name,[data-theme=dark] .token.string,[data-theme=dark] .token.char,[data-theme=dark] .token.builtin,[data-theme=dark] .token.inserted{color:#ce9178!important}[data-theme=dark] .token.operator,[data-theme=dark] .token.entity,[data-theme=dark] .token.url,[data-theme=dark] .language-css .token.string,[data-theme=dark] .style .token.string{color:#d7ba7d!important}[data-theme=dark] .token.atrule,[data-theme=dark] .token.attr-value,[data-theme=dark] .token.keyword{color:#569cd6!important}[data-theme=dark] .token.key{color:#9cdcfe!important;font-weight:600}[data-theme=dark] .token.function{color:#dcdcaa!important}[data-theme=dark] .token.class-name{color:#4ec9b0!important}[data-theme=dark] .token.regex,[data-theme=dark] .token.important,[data-theme=dark] .token.variable{color:#d16969!important}[data-theme=dark] .token.parameter,[data-theme=dark] .token.interpolation{color:#9cdcfe!important}[data-theme=dark] .token.namespace{opacity:.8}@media(max-width:768px){.code-block-wrapper{margin:1rem 0;border-radius:10px}.code-pre{padding:.875rem 1rem;font-size:.8125rem}.output-pre{padding:.75rem 1rem;font-size:.75rem}.copy-btn{top:6px;right:6px;width:28px;height:28px}.code-block code{font-size:.75rem}}@media(max-width:480px){.code-pre{padding:.75rem;font-size:.75rem}.output-pre{padding:.625rem .75rem;font-size:.7rem}}.definition-list{margin:1rem 0;padding:0}.definition-list-default .definition-item{display:flex;align-items:baseline;gap:.5rem;padding:.625rem 0;border-bottom:1px solid var(--color-border, #e8eaed)}.definition-list-default .definition-item:last-child{border-bottom:none;padding-bottom:0}.definition-list-default .definition-item:first-child{padding-top:0}.definition-list-default .definition-term{flex-shrink:0;font-family:Roboto Mono,Monaco,monospace;font-size:.875rem;font-weight:600;color:#1a73e8;background:#1a73e814;padding:.2rem .5rem;border-radius:4px}.definition-list-default .definition-description{margin:0;color:#5f6368;font-size:.9375rem;line-height:1.5}.definition-list-inline .definition-item{display:flex;align-items:baseline;gap:.375rem;padding:.5rem 0}.definition-list-inline .definition-term{font-weight:600;color:var(--color-text, #202124);font-size:.9375rem}.definition-list-inline .definition-term:after{content:" —";color:#dadce0;font-weight:400}.definition-list-inline .definition-description{margin:0;color:#5f6368;font-size:.9375rem;line-height:1.5}.definition-list-card{display:flex;flex-direction:column;gap:.75rem}.definition-list-card .definition-item{background:var(--color-surface, #fff);border:1px solid var(--color-border, #e8eaed);border-radius:8px;padding:1rem;transition:border-color .2s ease}.definition-list-card .definition-item:hover{border-color:#1a73e84d}.definition-list-card .definition-term{display:block;font-family:Roboto Mono,Monaco,monospace;font-size:.875rem;font-weight:600;color:#1a73e8;margin-bottom:.375rem}.definition-list-card .definition-description{margin:0;color:#5f6368;font-size:.875rem;line-height:1.5}[data-theme=dark] .definition-list-default .definition-term{color:#8ab4f8;background:#8ab4f81f}[data-theme=dark] .definition-list-default .definition-description,[data-theme=dark] .definition-list-inline .definition-description,[data-theme=dark] .definition-list-card .definition-description{color:#9aa0a6}[data-theme=dark] .definition-list-inline .definition-term:after{color:#5f6368}[data-theme=dark] .definition-list-card .definition-item{background:var(--color-surface, #292929)}[data-theme=dark] .definition-list-card .definition-item:hover{border-color:#8ab4f84d}[data-theme=dark] .definition-list-card .definition-term{color:#8ab4f8}@media(max-width:768px){.definition-list-default .definition-item{flex-direction:column;align-items:flex-start;gap:.25rem}.definition-list-default .definition-term{font-size:.8125rem}.definition-list-default .definition-description{font-size:.875rem;padding-left:0}.definition-list-card .definition-item{padding:.875rem}}@media(max-width:480px){.definition-list-inline .definition-item{flex-direction:column;gap:.125rem}.definition-list-inline .definition-term:after{display:none}}.step-list{display:flex;flex-direction:column;gap:0;margin:1.5rem 0}.step-item{display:flex;gap:1rem;position:relative}.step-indicator{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:36px}.step-number{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:linear-gradient(135deg,#1a73e8,#1557b0);color:#fff;font-weight:600;font-size:.95rem;border-radius:50%;box-shadow:0 2px 8px #1a73e840;position:relative;z-index:1}.step-check{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:linear-gradient(135deg,#1a73e8,#1557b0);color:#fff;font-size:1.1rem;border-radius:50%;box-shadow:0 2px 8px #1a73e840;position:relative;z-index:1}.step-connector{width:2px;flex:1;min-height:20px;background:linear-gradient(180deg,#1a73e8,#1a73e833);margin-top:4px}.step-content{flex:1;padding-bottom:1.5rem}.step-title{font-size:1.05rem;font-weight:600;color:var(--color-text, #202124);margin:0 0 .5rem;padding-top:.35rem;line-height:1.4}.step-body{font-size:.95rem;color:var(--color-textSecondary, #5f6368);line-height:1.7}.step-body p{margin:0 0 .75rem}.step-body p:last-child{margin-bottom:0}.step-body ul{margin:.5rem 0;padding-left:1.25rem}.step-body li{margin-bottom:.5rem;color:var(--color-text, #202124)}.step-body li:last-child{margin-bottom:0}.step-body code{background:#1a73e814;color:#1a73e8;padding:.15rem .4rem;border-radius:4px;font-family:Roboto Mono,Monaco,monospace;font-size:.875em}.step-body strong{color:var(--color-text, #202124);font-weight:600}.step-body a{color:#1a73e8;text-decoration:none;font-weight:500}.step-body a:hover{text-decoration:underline}.step-item:last-child .step-content{padding-bottom:0}[data-theme=dark] .step-number{background:linear-gradient(135deg,#8ab4f8,#669df6);color:#202124;box-shadow:0 2px 8px #8ab4f840}[data-theme=dark] .step-check{background:linear-gradient(135deg,#8ab4f8,#6b9cf8);color:#202124;box-shadow:0 2px 8px #8ab4f840}[data-theme=dark] .step-connector{background:linear-gradient(180deg,#8ab4f8,#8ab4f833)}[data-theme=dark] .step-body code{background:#8ab4f81f;color:#8ab4f8}[data-theme=dark] .step-body a{color:#8ab4f8}@media(max-width:768px){.step-indicator{width:32px}.step-number,.step-check{width:32px;height:32px;font-size:.875rem}.step-title{font-size:1rem;padding-top:.25rem}.step-body{font-size:.9rem}.step-content{padding-bottom:1.25rem}}@media(max-width:480px){.step-list{margin:1rem 0}.step-item{gap:.75rem}.step-indicator{width:28px}.step-number,.step-check{width:28px;height:28px;font-size:.8rem}.step-title{font-size:.95rem}.step-body{font-size:.875rem}.step-content{padding-bottom:1rem}}.tp{min-height:100vh;background-color:var(--color-background)}.tp-header{max-width:1000px;margin:0 auto;padding:2.75rem 2rem 1.75rem;border-bottom:1px solid var(--color-border)}.tp-title{font-size:1.75rem;font-weight:700;color:var(--color-text);line-height:1.25;margin:0 0 .375rem}.tp-subtitle{font-size:.95rem;color:var(--color-textSecondary);line-height:1.5;margin:0}.tp-body{max-width:1000px;margin:0 auto;padding:2rem 2rem 4rem}.tp-section{margin-bottom:2.5rem}.tp-section:last-child{margin-bottom:0}.tp-section-title{font-size:.8125rem;font-weight:600;color:var(--color-text);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .875rem}.tp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.875rem}.tp-card{position:relative;display:block;background-color:var(--color-background);border:1px solid var(--color-border);border-left:3px solid var(--color-border);border-radius:6px;padding:1.125rem 2.5rem 1.125rem 1.125rem;text-decoration:none;color:inherit;transition:border-color .2s ease,box-shadow .2s ease}.tp-card:hover{border-color:var(--color-primary);border-left-color:var(--color-primary);box-shadow:0 2px 8px #0000000f}.tp-card-name{font-size:.9375rem;font-weight:600;color:var(--color-text);margin:0 0 .25rem;line-height:1.3;transition:color .2s ease}.tp-card:hover .tp-card-name{color:var(--color-primary)}.tp-card-desc{font-size:.8125rem;color:var(--color-textSecondary);line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tp-card-arrow{position:absolute;right:.875rem;top:50%;transform:translateY(-50%);color:var(--color-border);opacity:0;transition:opacity .2s ease,color .2s ease;display:flex;align-items:center}.tp-card:hover .tp-card-arrow{opacity:1;color:var(--color-primary)}@media(max-width:640px){.tp-header{padding:2rem 1.25rem 1.25rem}.tp-title{font-size:1.5rem}.tp-body{padding:1.5rem 1.25rem 3rem}.tp-grid{grid-template-columns:1fr;gap:.625rem}.tp-card{padding:1rem 2.25rem 1rem 1rem}.tp-card-arrow{opacity:.3}}@media(min-width:641px)and (max-width:919px){.tp-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:920px){.tp-grid{grid-template-columns:repeat(3,1fr)}}[data-theme=dark] .tp-card{background-color:var(--color-surface);border-color:var(--color-border);border-left-color:var(--color-border)}[data-theme=dark] .tp-card:hover{border-color:var(--color-primary);border-left-color:var(--color-primary);box-shadow:0 2px 8px #00000040}.not-found-container{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 200px);padding:2rem}.not-found-content{max-width:480px;text-align:center}.not-found-illustration{margin-bottom:1.5rem;-webkit-user-select:none;user-select:none}.not-found-code{font-size:8rem;font-weight:800;line-height:1;color:var(--color-primary);letter-spacing:-.04em}.not-found-title{font-size:1.5rem;font-weight:600;color:var(--color-text);margin:0 0 .75rem}.not-found-description{font-size:1rem;color:var(--color-textSecondary);margin:0 0 2rem;line-height:1.6}.not-found-btn{display:inline-block;padding:.75rem 2rem;border-radius:.375rem;background-color:var(--color-primary);color:#fff;font-size:1rem;font-weight:600;text-decoration:none;letter-spacing:.01em;transition:background-color .2s,box-shadow .2s;box-shadow:0 1px 3px #0000001f}.not-found-btn:hover{background-color:var(--color-primary-dark, #1e40af);box-shadow:0 2px 6px #3b82f659;color:#fff}.not-found-btn:active{transform:scale(.98)}@media(max-width:480px){.not-found-code{font-size:5.5rem}.not-found-title{font-size:1.25rem}}@keyframes staticFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.static-page{min-height:calc(100vh - 200px);padding:3rem 1.5rem 5rem;animation:staticFadeIn .45s ease-out}.static-page-container{max-width:980px;margin:0 auto}.static-page-narrow{max-width:780px}.static-page-header{margin-bottom:3rem;padding:2.5rem 2rem;border-radius:16px;background:linear-gradient(135deg,var(--color-surface) 0%,var(--color-background) 100%);border:1px solid var(--color-border)}.static-page-title{font-size:2.25rem;font-weight:800;color:var(--color-text);margin:0 0 .6rem;line-height:1.2;letter-spacing:-.02em}.static-page-subtitle{font-size:1.1rem;color:var(--color-textSecondary);margin:0;line-height:1.7;max-width:580px}.static-page-meta{font-size:.85rem;color:var(--color-textSecondary);margin:.25rem 0 0;letter-spacing:.01em}.static-section{margin-bottom:3rem}.static-section-title{font-size:1.35rem;font-weight:700;color:var(--color-text);margin:0 0 1.25rem;display:flex;align-items:center;gap:.6rem;letter-spacing:-.01em}.static-section-icon{color:var(--color-primary);font-size:1.15rem;flex-shrink:0}.static-text{font-size:.95rem;color:var(--color-textSecondary);line-height:1.75;margin:0 0 1rem}.static-text:last-child{margin-bottom:0}.static-link{color:var(--color-primary);text-decoration:none;font-weight:500;transition:opacity .2s ease}.static-link:hover{opacity:.75;text-decoration:underline}.static-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.static-card{padding:1.75rem 1.5rem;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);box-shadow:0 1px 3px #0000000a;transition:box-shadow .25s ease,transform .25s ease,border-color .25s ease}.static-card:hover{box-shadow:0 4px 16px #00000014;transform:translateY(-2px);border-color:var(--color-primary)}[data-theme=dark] .static-card:hover{box-shadow:0 4px 16px #00000040}.static-card-icon{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:10px;background:var(--color-primary-light);color:var(--color-primary);font-size:1.15rem;margin-bottom:1rem}[data-theme=dark] .static-card-icon{background:#60a5fa1f}.static-card-title{font-size:1rem;font-weight:600;color:var(--color-text);margin:0 0 .5rem}.static-card-text{font-size:.875rem;color:var(--color-textSecondary);line-height:1.65;margin:0}.static-values-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.static-values-list li{font-size:.95rem;color:var(--color-textSecondary);line-height:1.65;padding:1rem 1.25rem;border-left:3px solid var(--color-primary);background:var(--color-surface);border-radius:0 10px 10px 0;transition:border-color .2s ease}.static-values-list li:hover{border-left-color:var(--color-primary-dark)}.static-values-list li strong{color:var(--color-text);font-weight:600}.contact-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:3rem;align-items:start}.contact-form-section{padding:2rem;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);box-shadow:0 1px 3px #0000000a}.contact-form{display:flex;flex-direction:column;gap:1.25rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-label{font-size:.8rem;font-weight:600;color:var(--color-text);text-transform:uppercase;letter-spacing:.05em}.form-input{padding:.7rem .85rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-background);color:var(--color-text);font-size:.9rem;font-family:inherit;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}[data-theme=dark] .form-input:focus{box-shadow:0 0 0 3px #60a5fa26}.form-textarea{resize:vertical;min-height:120px}.contact-success{text-align:center;padding:2.5rem 1.5rem}.contact-success-icon{font-size:2.5rem;color:var(--color-primary);margin-bottom:1rem}.contact-success h3{font-size:1.35rem;font-weight:700;color:var(--color-text);margin:0 0 .5rem}.contact-success p{font-size:.9rem;color:var(--color-textSecondary);margin:0 0 1.5rem}.contact-info{display:flex;flex-direction:column;gap:1rem}.contact-channel{display:flex;align-items:flex-start;gap:.85rem;padding:1.15rem;border-radius:10px;border:1px solid var(--color-border);background:var(--color-surface);transition:border-color .2s ease}.contact-channel:hover{border-color:var(--color-primary)}.contact-channel-icon{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:8px;background:var(--color-primary-light);color:var(--color-primary);font-size:.85rem;flex-shrink:0}[data-theme=dark] .contact-channel-icon{background:#60a5fa1f}.contact-channel-title{font-size:.85rem;font-weight:600;color:var(--color-text);margin:0 0 .15rem}.contact-channel-text{font-size:.85rem;color:var(--color-textSecondary);margin:0}.blog-list{display:flex;flex-direction:column;gap:1.25rem}.blog-card{padding:1.5rem 1.75rem;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);box-shadow:0 1px 3px #0000000a;transition:box-shadow .25s ease,transform .25s ease,border-color .25s ease}.blog-card:hover{box-shadow:0 4px 14px #00000012;transform:translateY(-1px);border-color:var(--color-primary)}[data-theme=dark] .blog-card:hover{box-shadow:0 4px 14px #00000040}.blog-card-meta{display:flex;align-items:center;gap:1rem;margin-bottom:.65rem}.blog-card-tag,.blog-card-date{font-size:.75rem;color:var(--color-textSecondary);display:flex;align-items:center;gap:.3rem}.blog-card-tag{font-weight:600;color:var(--color-primary);background:var(--color-primary-light);padding:.2rem .6rem;border-radius:6px}[data-theme=dark] .blog-card-tag{background:#60a5fa1f}.blog-meta-icon{font-size:.65rem}.blog-card-title{font-size:1.1rem;font-weight:600;margin:0 0 .45rem}.blog-card-link{color:var(--color-text);text-decoration:none;transition:color .2s ease}.blog-card-link:hover{color:var(--color-primary)}.blog-card-excerpt{font-size:.875rem;color:var(--color-textSecondary);line-height:1.65;margin:0}.legal-section{margin-bottom:2.25rem;padding-bottom:2.25rem;border-bottom:1px solid var(--color-border)}.legal-section:last-child{border-bottom:none;padding-bottom:0}.legal-heading{font-size:1.1rem;font-weight:700;color:var(--color-text);margin:0 0 .75rem;letter-spacing:-.01em}.legal-list{margin:0 0 1rem;padding-left:1.25rem;display:flex;flex-direction:column;gap:.45rem}.legal-list li{font-size:.9rem;color:var(--color-textSecondary);line-height:1.7}.legal-list li strong{color:var(--color-text)}.cookie-table-wrapper{overflow-x:auto;border:1px solid var(--color-border);border-radius:10px}.cookie-table{width:100%;border-collapse:collapse;font-size:.85rem}.cookie-table th,.cookie-table td{text-align:left;padding:.75rem 1rem;border-bottom:1px solid var(--color-border)}.cookie-table tr:last-child td{border-bottom:none}.cookie-table th{font-weight:600;color:var(--color-text);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;background:var(--color-surface)}.cookie-table td{color:var(--color-textSecondary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.7rem 1.5rem;border-radius:8px;font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer;text-decoration:none;border:none;transition:all .2s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{opacity:.9}.btn-secondary{background:transparent;color:var(--color-primary);border:1px solid var(--color-primary)}.btn-secondary:hover{background:var(--color-primary-light)}@media(max-width:768px){.static-page{padding:2rem 1rem 4rem}.static-page-header{padding:1.75rem 1.25rem}.static-page-title{font-size:1.65rem}.contact-layout{grid-template-columns:1fr}.contact-form-section{padding:1.5rem}.form-row,.static-grid{grid-template-columns:1fr}}@media(max-width:480px){.static-page{padding:1.5rem .75rem 3rem}.static-page-header{padding:1.5rem 1rem}.static-page-title{font-size:1.4rem}.contact-form-section{padding:1.25rem}}.pl{min-height:100vh;background-color:var(--color-background);animation:pl-fade-in .35s cubic-bezier(.16,1,.3,1)}@keyframes pl-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.pl-hero{background:var(--topic-gradient);border-bottom:1px solid var(--color-border);padding:1.5rem 0 2rem}.pl-hero-inner{max-width:1120px;margin:0 auto;padding:0 2rem}.pl-breadcrumb{display:flex;align-items:center;gap:.4rem;font-size:.85rem;margin-bottom:1.25rem}.pl-breadcrumb-link{display:inline-flex;align-items:center;gap:.25rem;color:var(--topic-color, var(--color-primary));text-decoration:none;font-weight:500;transition:opacity .15s ease}.pl-breadcrumb-link:hover{opacity:.8}.pl-breadcrumb-sep{color:var(--color-textSecondary);opacity:.5}.pl-breadcrumb-current{color:var(--color-textSecondary);font-weight:500}.pl-hero-content{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;margin-bottom:1.75rem}.pl-hero-left{display:flex;align-items:flex-start;gap:1rem}.pl-hero-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;background:#ffffffb3;color:var(--topic-color, var(--color-primary));flex-shrink:0;box-shadow:0 1px 3px #0000000f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}[data-theme=dark] .pl-hero-icon{background:#ffffff14;box-shadow:0 1px 3px #0003}.pl-title{font-size:1.75rem;font-weight:800;color:var(--color-text);line-height:1.2;margin:0 0 .35rem;letter-spacing:-.01em}.pl-subtitle{font-size:.9rem;color:var(--color-textSecondary);line-height:1.55;margin:0;max-width:560px}.pl-stat-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:.875rem}.pl-stat-card{background:#ffffffa6;border:1px solid rgba(255,255,255,.5);border-radius:10px;padding:.875rem 1rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .15s ease,box-shadow .15s ease}.pl-stat-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000000d}[data-theme=dark] .pl-stat-card{background:#ffffff0a;border-color:#ffffff0f}[data-theme=dark] .pl-stat-card:hover{box-shadow:0 4px 12px #0003}.pl-stat-card-value{display:block;font-size:1.5rem;font-weight:800;line-height:1.2;color:var(--color-text);font-variant-numeric:tabular-nums}.pl-stat-card--easy .pl-stat-card-value{color:#16a34a}.pl-stat-card--medium .pl-stat-card-value{color:#d97706}.pl-stat-card--hard .pl-stat-card-value{color:#dc2626}[data-theme=dark] .pl-stat-card--easy .pl-stat-card-value{color:#4ade80}[data-theme=dark] .pl-stat-card--medium .pl-stat-card-value{color:#fbbf24}[data-theme=dark] .pl-stat-card--hard .pl-stat-card-value{color:#f87171}.pl-stat-card-label{display:block;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--color-textSecondary);margin-top:.15rem}.pl-stat-card-bar{height:3px;border-radius:3px;background:#0000000f;margin-top:.625rem;overflow:hidden}[data-theme=dark] .pl-stat-card-bar{background:#ffffff14}.pl-stat-card-fill{height:100%;border-radius:3px;transition:width .6s cubic-bezier(.16,1,.3,1)}.pl-stat-card-fill--easy{background:#22c55e}.pl-stat-card-fill--medium{background:#f59e0b}.pl-stat-card-fill--hard{background:#ef4444}.pl-body{max-width:1120px;margin:0 auto;padding:1.25rem 2rem 3rem}.pl-toolbar{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap;margin-bottom:1rem}.pl-search{position:relative;flex:1;min-width:180px;max-width:320px}.pl-search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--color-textSecondary);pointer-events:none;display:flex}.pl-search-input{width:100%;height:36px;padding:0 .75rem 0 2.25rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-background);color:var(--color-text);font-size:.8125rem;font-family:inherit;outline:none;transition:border-color .15s ease}.pl-search-input::placeholder{color:var(--color-textSecondary);opacity:.7}.pl-search-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f614}.pl-filter{position:relative}.pl-filter-select{height:36px;padding:0 2rem 0 .75rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-background);color:var(--color-text);font-size:.8125rem;font-family:inherit;cursor:pointer;outline:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%2364748b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;transition:border-color .15s ease}.pl-filter-select:focus{border-color:var(--color-primary)}.pl-filter-select--active{border-color:var(--color-primary);background-color:#3b82f60a}.pl-clear-btn{height:36px;padding:0 .875rem;border:none;border-radius:6px;background:transparent;color:var(--color-primary);font-size:.8125rem;font-weight:500;font-family:inherit;cursor:pointer;transition:background .15s ease;white-space:nowrap}.pl-clear-btn:hover{background:#3b82f60f}.pl-random-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-background);color:var(--color-textSecondary);cursor:pointer;transition:all .15s ease;flex-shrink:0}.pl-random-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:#3b82f60a}.pl-random-btn:active{transform:scale(.95)}[data-theme=dark] .pl-random-btn{background:var(--color-surface);border-color:var(--color-border)}.pl-results-info{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;padding:0 .125rem}.pl-results-count{font-size:.8125rem;color:var(--color-textSecondary)}.pl-results-count strong{font-weight:600;color:var(--color-text)}.pl-table-wrap{border:1px solid var(--color-border);border-radius:8px;overflow:auto;max-height:calc(100vh - 360px);position:relative}.pl-table{width:100%;border-collapse:collapse;font-size:.875rem}.pl-table thead{background:var(--color-surface)}.pl-thead-sticky{position:sticky;top:0;z-index:10;background:var(--color-surface)}.pl-thead-sticky:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--color-border)}.pl-table th{padding:.6875rem 1rem;font-size:.75rem;font-weight:600;color:var(--color-textSecondary);text-align:left;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--color-border);white-space:nowrap;-webkit-user-select:none;user-select:none}.pl-table th.pl-th-sortable{cursor:pointer;transition:color .15s ease}.pl-table th.pl-th-sortable:hover{color:var(--color-primary)}.pl-th-inner{display:inline-flex;align-items:center;gap:.25rem}.pl-sort-icon{display:flex;color:var(--color-border);transition:color .15s ease}.pl-sort-icon--active{color:var(--color-primary)}.pl-table td{padding:.625rem 1rem;border-bottom:1px solid var(--color-border);vertical-align:middle}.pl-table tbody tr:last-child td{border-bottom:none}.pl-table tbody tr:nth-child(2n){background:#00000004}[data-theme=dark] .pl-table tbody tr:nth-child(2n){background:#ffffff04}.pl-table tbody tr{transition:background .12s ease;animation:pl-row-enter .3s cubic-bezier(.16,1,.3,1) both}.pl-table tbody tr:nth-child(1){animation-delay:.02s}.pl-table tbody tr:nth-child(2){animation-delay:.04s}.pl-table tbody tr:nth-child(3){animation-delay:.06s}.pl-table tbody tr:nth-child(4){animation-delay:.08s}.pl-table tbody tr:nth-child(5){animation-delay:.1s}.pl-table tbody tr:nth-child(6){animation-delay:.12s}.pl-table tbody tr:nth-child(7){animation-delay:.14s}.pl-table tbody tr:nth-child(8){animation-delay:.16s}.pl-table tbody tr:nth-child(9){animation-delay:.18s}.pl-table tbody tr:nth-child(10){animation-delay:.2s}.pl-table tbody tr:nth-child(n+11){animation-delay:.22s}@keyframes pl-row-enter{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.pl-table tbody tr:hover{background:#3b82f60a}[data-theme=dark] .pl-table tbody tr:hover{background:#3b82f60f}.pl-th-status,.pl-col-status{width:32px;text-align:center;padding-left:.5rem;padding-right:0}.pl-status-icon{display:inline-flex;align-items:center;justify-content:center}.pl-col-id{width:60px;color:var(--color-textSecondary);font-variant-numeric:tabular-nums}.pl-col-title{min-width:240px}.pl-problem-link{color:var(--color-text);text-decoration:none;font-weight:500;transition:color .15s ease}.pl-problem-link:hover{color:var(--color-primary)}.pl-col-difficulty{width:90px}.pl-difficulty{display:inline-block;font-size:.8125rem;font-weight:600;line-height:1.5;text-transform:capitalize}.pl-difficulty--easy{color:#15803d}.pl-difficulty--medium{color:#a16207}.pl-difficulty--hard{color:#b91c1c}[data-theme=dark] .pl-difficulty--easy{color:#4ade80}[data-theme=dark] .pl-difficulty--medium{color:#fbbf24}[data-theme=dark] .pl-difficulty--hard{color:#f87171}.pl-col-acceptance{width:120px;font-variant-numeric:tabular-nums;color:var(--color-textSecondary)}.pl-acceptance-wrap{display:flex;flex-direction:column;gap:.25rem}.pl-acceptance-text{font-size:.8125rem;font-weight:500;font-variant-numeric:tabular-nums;color:var(--color-textSecondary)}.pl-acceptance-bar{width:100%;height:3px;border-radius:3px;background:#0000000f;overflow:hidden}[data-theme=dark] .pl-acceptance-bar{background:#ffffff14}.pl-acceptance-fill{height:100%;border-radius:3px;transition:width .4s cubic-bezier(.16,1,.3,1)}.pl-solve-badge{display:inline-block;margin-left:.5rem;padding:.0625rem .375rem;border-radius:9999px;font-size:.625rem;font-weight:700;background:#dcfce7;color:#15803d;vertical-align:middle;letter-spacing:.04em;line-height:1.6}[data-theme=dark] .pl-solve-badge{background:#22c55e26;color:#4ade80}.pl-col-topics{min-width:180px}.pl-topics{display:flex;flex-wrap:wrap;gap:.25rem}.pl-topic-tag{display:inline-block;padding:.0625rem .4375rem;border-radius:4px;font-size:.6875rem;font-weight:500;color:var(--color-primary);background:var(--color-primary-light);white-space:nowrap}[data-theme=dark] .pl-topic-tag{color:var(--color-primary);background:#60a5fa1a}.pl-empty{text-align:center;padding:3rem 1.5rem}.pl-empty-icon{font-size:2.5rem;margin-bottom:.75rem;opacity:.5}.pl-empty-title{font-size:1rem;font-weight:600;color:var(--color-text);margin:0 0 .25rem}.pl-empty-desc{font-size:.875rem;color:var(--color-textSecondary);margin:0}.pl-pagination{display:flex;align-items:center;justify-content:space-between;padding:1rem 0 0;gap:1rem;flex-wrap:wrap}.pl-pagination-info{font-size:.8125rem;color:var(--color-textSecondary)}.pl-pagination-controls{display:flex;align-items:center;gap:.25rem}.pl-page-btn{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 .5rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-background);color:var(--color-text);font-size:.8125rem;font-family:inherit;cursor:pointer;transition:all .15s ease;-webkit-user-select:none;user-select:none}.pl-page-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.pl-page-btn:disabled{opacity:.4;cursor:not-allowed}.pl-page-btn--active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.pl-page-btn--active:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark);color:#fff}.pl-page-ellipsis{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;color:var(--color-textSecondary);font-size:.8125rem}.pl-page-size{display:flex;align-items:center;gap:.375rem}.pl-page-size-label{font-size:.8125rem;color:var(--color-textSecondary)}.pl-page-size-select{height:34px;padding:0 1.5rem 0 .5rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-background);color:var(--color-text);font-size:.8125rem;font-family:inherit;cursor:pointer;outline:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%2364748b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center}@media(max-width:768px){.pl-hero{padding:1.25rem 0 1.5rem}.pl-hero-inner{padding:0 1.25rem}.pl-hero-content{flex-direction:column;gap:1rem;margin-bottom:1.25rem}.pl-hero-left{gap:.75rem}.pl-hero-icon{width:44px;height:44px;border-radius:12px}.pl-title{font-size:1.375rem}.pl-stat-cards{grid-template-columns:repeat(2,1fr);gap:.625rem}.pl-body{padding:1rem 1.25rem 2.5rem}.pl-toolbar{flex-direction:column;align-items:stretch}.pl-search{max-width:none}.pl-col-topics,.pl-th-topics,.pl-col-acceptance,.pl-th-acceptance{display:none}.pl-table td,.pl-table th{padding:.5rem .625rem}.pl-pagination{flex-direction:column;align-items:center}}@media(max-width:480px){.pl-stat-cards{grid-template-columns:repeat(2,1fr)}.pl-hero-icon{width:40px;height:40px}.pl-title{font-size:1.25rem}.pl-col-id,.pl-th-id{display:none}}[data-theme=dark] .pl-hero{border-bottom-color:var(--color-border)}[data-theme=dark] .pl-table-wrap{border-color:var(--color-border)}[data-theme=dark] .pl-table thead,[data-theme=dark] .pl-thead-sticky{background:var(--color-surface)}[data-theme=dark] .pl-search-input,[data-theme=dark] .pl-filter-select,[data-theme=dark] .pl-page-btn,[data-theme=dark] .pl-page-size-select{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}@media(prefers-reduced-motion:reduce){.pl,.pl-table tbody tr{animation:none!important}}@keyframes ph-fade-in-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.ph{max-width:1100px;margin:0 auto;padding:2rem 1.5rem 4rem;animation:ph-fade-in-up .4s cubic-bezier(.16,1,.3,1)}.ph-hero{padding:2.5rem 0 2rem;border-bottom:1px solid var(--color-border, #e5e7eb);margin-bottom:2.5rem}.ph-hero-top{display:flex;align-items:center;justify-content:space-between;gap:2rem}.ph-hero-text{flex:1;min-width:0}.ph-hero-progress{display:flex;align-items:center;gap:1.5rem;flex-shrink:0}.ph-title{font-size:2.25rem;font-weight:800;color:var(--color-text, #1a1a2e);margin:0 0 .75rem;letter-spacing:-.02em}.ph-subtitle{font-size:1.1rem;color:var(--color-text-secondary, #6b7280);max-width:640px;margin:0 0 2rem;line-height:1.6}.ph-donut{position:relative;display:flex;flex-direction:column;align-items:center;gap:.5rem}.ph-donut__svg{display:block}.ph-donut__center{position:absolute;top:0;left:0;width:120px;height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.ph-donut__total{font-size:1.5rem;font-weight:800;color:var(--color-text, #1a1a2e);line-height:1}.ph-donut__label{font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary, #6b7280)}.ph-donut__legend{display:flex;gap:.625rem;font-size:.6875rem;font-weight:500;color:var(--color-text-secondary, #6b7280)}.ph-donut__legend-item{display:flex;align-items:center;gap:.25rem}.ph-donut__dot{display:inline-block;width:8px;height:8px;border-radius:50%}.ph-donut__dot--easy{background:#22c55e}.ph-donut__dot--medium{background:#f59e0b}.ph-donut__dot--hard{background:#ef4444}.ph-streak{display:flex;flex-direction:column;align-items:center;gap:.125rem}.ph-streak__fire{font-size:2rem;line-height:1}.ph-streak__info{display:flex;flex-direction:column;align-items:center}.ph-streak__count{font-size:1.5rem;font-weight:800;color:var(--color-text, #1a1a2e);line-height:1.1}.ph-streak__label{font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary, #6b7280)}.ph-streak__max{font-size:.6875rem;color:var(--color-text-secondary, #9ca3af);margin-top:.125rem}.ph-global-stats{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap}.ph-gstat{display:flex;flex-direction:column;align-items:center;gap:.25rem}.ph-gstat-value{font-size:1.5rem;font-weight:700;color:var(--color-text, #1a1a2e)}.ph-gstat-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary, #6b7280)}.ph-gstat--easy .ph-gstat-value{color:var(--color-success, #10b981)}.ph-gstat--medium .ph-gstat-value{color:var(--color-warning, #f59e0b)}.ph-gstat--hard .ph-gstat-value{color:var(--color-error, #ef4444)}.ph-gstat--ready .ph-gstat-value{color:var(--color-primary, #6366f1)}.ph-gstat--solved .ph-gstat-value{color:#22c55e}.ph-featured{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:2.5rem}.ph-daily{display:flex;flex-direction:column;gap:.5rem;padding:1.5rem;border-radius:14px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease;position:relative;overflow:hidden}.ph-daily:after{content:"";position:absolute;top:-30%;right:-15%;width:200px;height:200px;background:#ffffff14;border-radius:50%;pointer-events:none}.ph-daily:hover{transform:translateY(-3px);box-shadow:0 12px 28px #6366f14d}.ph-daily__badge{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;opacity:.85}.ph-daily__title{font-size:1.25rem;font-weight:700;margin:0}.ph-daily__meta{display:flex;align-items:center;gap:.75rem;font-size:.8125rem}.ph-daily__diff{padding:.125rem .5rem;border-radius:9999px;font-size:.6875rem;font-weight:600;text-transform:uppercase}.ph-daily__diff--easy,.ph-daily__diff--medium,.ph-daily__diff--hard{background:#fff3}.ph-daily__topics{opacity:.8}.ph-daily__cta{font-size:.875rem;font-weight:600;margin-top:.5rem;opacity:.9;transition:opacity .15s}.ph-daily:hover .ph-daily__cta{opacity:1}.ph-quickstart{padding:1.5rem;border-radius:14px;border:1px solid var(--color-border, #e5e7eb);background:var(--color-surface, #fff)}.ph-quickstart__title{font-size:1.05rem;font-weight:700;margin:0 0 .25rem}.ph-quickstart__desc{font-size:.8rem;color:var(--color-text-secondary, #6b7280);margin:0 0 .75rem}.ph-quickstart__list{display:flex;flex-direction:column;gap:.375rem}.ph-quickstart__item{display:flex;align-items:center;gap:.625rem;padding:.5rem .75rem;border-radius:8px;text-decoration:none;color:var(--color-text, #1a1a2e);transition:all .12s;border:1px solid transparent}.ph-quickstart__item:hover{background:var(--color-bg-hover, #f3f4f6);border-color:var(--color-border, #e5e7eb)}.ph-quickstart__diff{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;font-size:.65rem;font-weight:700;flex-shrink:0}.ph-quickstart__diff--easy{background:#dcfce7;color:#15803d}.ph-quickstart__diff--medium{background:#fef3c7;color:#b45309}.ph-quickstart__diff--hard{background:#fee2e2;color:#dc2626}.ph-quickstart__name{flex:1;font-size:.875rem;font-weight:500}.ph-quickstart__arrow{color:var(--color-text-secondary, #9ca3af);font-size:.875rem;transition:transform .15s,color .15s}.ph-quickstart__item:hover .ph-quickstart__arrow{transform:translate(3px);color:var(--color-primary, #6366f1)}.ph-value-props{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2.5rem}.ph-value-prop{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;border-radius:12px;background:var(--color-surface, #fff);border:1px solid var(--color-border, #e5e7eb)}.ph-value-prop__icon{font-size:1.5rem;flex-shrink:0}.ph-value-prop__title{font-size:.875rem;font-weight:600;margin-bottom:.125rem}.ph-value-prop__desc{font-size:.8rem;color:var(--color-text-secondary, #6b7280);line-height:1.5}.ph-study-plans{margin-bottom:2.5rem}.ph-study-plans__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.ph-plan{display:flex;align-items:flex-start;gap:.875rem;padding:1.25rem;border-radius:12px;border:1px solid var(--color-border, #e5e7eb);background:var(--color-surface, #fff);text-decoration:none;color:var(--color-text, #1a1a2e);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;animation:ph-fade-in-up .35s cubic-bezier(.16,1,.3,1) both}.ph-plan:nth-child(1){animation-delay:.05s}.ph-plan:nth-child(2){animation-delay:.1s}.ph-plan:nth-child(3){animation-delay:.15s}.ph-plan:nth-child(4){animation-delay:.2s}.ph-plan:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000014;border-color:var(--color-primary, #6366f1)}.ph-plan__icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;flex-shrink:0}.ph-plan--beginner .ph-plan__icon{background:#dcfce7;color:#16a34a}.ph-plan--intermediate .ph-plan__icon{background:#eef2ff;color:#6366f1}.ph-plan--advanced .ph-plan__icon{background:#fef2f2;color:#dc2626}.ph-plan__content{flex:1;min-width:0}.ph-plan__title{font-size:.9375rem;font-weight:650;margin:0 0 .25rem}.ph-plan__desc{font-size:.8125rem;color:var(--color-text-secondary, #6b7280);margin:0 0 .625rem;line-height:1.5}.ph-plan__meta{display:flex;align-items:center;gap:.625rem;font-size:.75rem}.ph-plan__diff{padding:.125rem .5rem;border-radius:9999px;font-weight:600;font-size:.6875rem;text-transform:uppercase;letter-spacing:.04em}.ph-plan__diff--beginner{background:#dcfce7;color:#15803d}.ph-plan__diff--intermediate{background:#eef2ff;color:#4f46e5}.ph-plan__diff--advanced{background:#fee2e2;color:#dc2626}.ph-plan__stat{color:var(--color-text-secondary, #9ca3af);font-weight:500}.ph-plan__arrow{flex-shrink:0;color:var(--color-text-tertiary, #9ca3af);font-size:1rem;margin-top:.5rem;transition:transform .15s,color .15s}.ph-plan:hover .ph-plan__arrow{transform:translate(3px);color:var(--color-primary, #6366f1)}.ph-section-title{font-size:1.35rem;font-weight:700;color:var(--color-text, #1a1a2e);margin:0 0 1.5rem}.ph-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.ph-card{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem;border-radius:12px;border:1px solid var(--color-border, #e5e7eb);background:var(--color-surface, #fff);text-decoration:none;position:relative;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;animation:ph-fade-in-up .4s cubic-bezier(.16,1,.3,1) both}.ph-card:nth-child(1){animation-delay:.05s}.ph-card:nth-child(2){animation-delay:.1s}.ph-card:nth-child(3){animation-delay:.15s}.ph-card:nth-child(4){animation-delay:.2s}.ph-card:nth-child(5){animation-delay:.25s}.ph-card:nth-child(6){animation-delay:.3s}.ph-card:nth-child(7){animation-delay:.35s}.ph-card:nth-child(8){animation-delay:.4s}.ph-card:nth-child(9){animation-delay:.45s}.ph-card:nth-child(10){animation-delay:.5s}.ph-card:nth-child(11){animation-delay:.55s}.ph-card:nth-child(12){animation-delay:.6s}.ph-card--active{cursor:pointer}.ph-card--active:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000014;border-color:var(--color-primary, #6366f1)}.ph-card--active:hover .ph-card-arrow{color:var(--color-primary, #6366f1);transform:translate(3px)}.ph-card--disabled{opacity:.6;cursor:default}.ph-card-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;flex-shrink:0;transition:transform .15s ease}.ph-card-icon--indigo{background:#eef2ff;color:#6366f1}.ph-card-icon--emerald{background:#ecfdf5;color:#10b981}.ph-card-icon--amber{background:#fffbeb;color:#d97706}.ph-card-icon--cyan{background:#ecfeff;color:#06b6d4}.ph-card-icon--green{background:#f0fdf4;color:#16a34a}.ph-card-icon--violet{background:#f5f3ff;color:#8b5cf6}.ph-card-icon--rose{background:#fff1f2;color:#f43f5e}.ph-card-icon--orange{background:#fff7ed;color:#ea580c}.ph-card-icon--sky{background:#f0f9ff;color:#0284c7}.ph-card-icon--teal{background:#f0fdfa;color:#0d9488}.ph-card-icon--fuchsia{background:#fdf4ff;color:#c026d3}.ph-card-icon--yellow{background:#fefce8;color:#ca8a04}.ph-card--active:hover .ph-card-icon{transform:scale(1.08)}.ph-card-content{flex:1;min-width:0}.ph-card-title{font-size:1.05rem;font-weight:650;color:var(--color-text, #1a1a2e);margin:0 0 .35rem}.ph-card-desc{font-size:.85rem;color:var(--color-text-secondary, #6b7280);margin:0;line-height:1.5}.ph-card-badge{position:absolute;top:.75rem;right:.75rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:.2rem .6rem;border-radius:9999px;background:var(--color-bg-secondary, #f3f4f6);color:var(--color-text-secondary, #6b7280)}.ph-card-arrow{flex-shrink:0;color:var(--color-text-tertiary, #9ca3af);margin-top:.25rem;transition:transform .15s ease,color .15s ease}.ph-card-progress-text{font-size:.75rem;font-weight:500;color:#22c55e;margin-top:.25rem}.ph-card-ring{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;margin-top:.25rem}.ph-card-ring svg{display:block}.ph-card-ring__pct{position:absolute;font-size:.5625rem;font-weight:700;color:#22c55e;line-height:1}@media(max-width:768px){.ph{padding:1.5rem 1rem 3rem}.ph-title{font-size:1.75rem}.ph-subtitle{font-size:1rem}.ph-hero-top{flex-direction:column;align-items:stretch}.ph-hero-progress{justify-content:center;margin-top:1rem}.ph-global-stats{gap:1.25rem;justify-content:center}.ph-grid,.ph-featured,.ph-value-props,.ph-study-plans__grid{grid-template-columns:1fr}}@media(max-width:480px){.ph-title{font-size:1.5rem}.ph-global-stats{gap:1rem}.ph-gstat-value{font-size:1.25rem}}[data-theme=dark] .ph-hero{border-bottom-color:var(--color-border, #374151)}[data-theme=dark] .ph-card{background:var(--color-surface, #1e1e2e);border-color:var(--color-border, #374151)}[data-theme=dark] .ph-card--active:hover{box-shadow:0 8px 24px #0000004d}[data-theme=dark] .ph-card-badge{background:var(--color-bg-secondary, #2d2d3f)}[data-theme=dark] .ph-quickstart{background:var(--color-surface, #1e1e2e);border-color:var(--color-border, #374151)}[data-theme=dark] .ph-quickstart__item:hover{background:#ffffff0d}[data-theme=dark] .ph-value-prop{background:var(--color-surface, #1e1e2e);border-color:var(--color-border, #374151)}[data-theme=dark] .ph-daily{background:linear-gradient(135deg,#4f46e5,#7c3aed)}[data-theme=dark] .ph-plan{background:var(--color-surface, #1e1e2e);border-color:var(--color-border, #374151)}[data-theme=dark] .ph-plan:hover{box-shadow:0 8px 24px #0000004d}[data-theme=dark] .ph-plan--beginner .ph-plan__icon{background:#16a34a1f}[data-theme=dark] .ph-plan--intermediate .ph-plan__icon{background:#6366f11f}[data-theme=dark] .ph-plan--advanced .ph-plan__icon{background:#dc26261f}[data-theme=dark] .ph-plan__diff--beginner{background:#16a34a26;color:#4ade80}[data-theme=dark] .ph-plan__diff--intermediate{background:#4f46e526;color:#a5b4fc}[data-theme=dark] .ph-plan__diff--advanced{background:#dc262626;color:#f87171}[data-theme=dark] .ph-donut__total{color:#e2e8f0}[data-theme=dark] .ph-card-icon--indigo{background:#6366f11f}[data-theme=dark] .ph-card-icon--emerald{background:#10b9811f}[data-theme=dark] .ph-card-icon--amber{background:#d977061f}[data-theme=dark] .ph-card-icon--cyan{background:#06b6d41f}[data-theme=dark] .ph-card-icon--green{background:#16a34a1f}[data-theme=dark] .ph-card-icon--violet{background:#8b5cf61f}[data-theme=dark] .ph-card-icon--rose{background:#f43f5e1f}[data-theme=dark] .ph-card-icon--orange{background:#ea580c1f}[data-theme=dark] .ph-card-icon--sky{background:#0284c71f}[data-theme=dark] .ph-card-icon--teal{background:#0d94881f}[data-theme=dark] .ph-card-icon--fuchsia{background:#c026d31f}[data-theme=dark] .ph-card-icon--yellow{background:#ca8a041f}@media(prefers-reduced-motion:reduce){.ph,.ph-card,.ph-plan{animation:none!important}}
