/* Operation diagrams use their own namespace; they do not style photographs. */
.ov-icon{display:inline-block;vertical-align:middle;width:24px;height:24px;flex:0 0 24px;color:inherit;overflow:visible}
.ov-icon-play{color:#287ad1}.ov-icon-stop{color:#ce4259}.ov-icon-windows{color:#3273bf}
.ov-key-group{display:inline-flex;max-width:100%;min-width:0;align-items:center;flex-wrap:wrap;gap:9px 13px;vertical-align:middle;margin:5px 0;color:#445a7b;line-height:1.8}
.ov-key-group .ov-key-combination{display:inline-flex;max-width:100%;min-width:0;align-items:flex-start;flex-wrap:wrap;gap:8px}
.ov-key-group .ov-key-unit{display:inline-flex;flex-direction:column;align-items:center;gap:5px;min-width:0;max-width:100%}
.ov-key-group .ov-key{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:47px;max-width:100%;min-height:45px;height:auto;padding:8px 11px;border:1px solid #a9b8ce;border-bottom:4px solid #9daec7;border-radius:8px;background:#fff;box-shadow:0 2px 0 #dce4f2;color:#334b70;font:700 15px/1.4 ui-monospace,Consolas,monospace;white-space:nowrap;box-sizing:border-box}
.ov-key-group .ov-key-windows .ov-key{background:#eff7ff;border-color:#8bb5e2;border-bottom-color:#6396cc}
.ov-key-group .ov-key-name{font:inherit;white-space:nowrap;letter-spacing:0}
.ov-key-group .ov-key-reading{display:block;max-width:100%;color:#647897;font-size:11px;line-height:1.6;text-align:center;overflow-wrap:anywhere}
.ov-key-group .ov-key-separator{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;min-height:45px;min-width:9px;font:700 17px/1.5 ui-monospace,Consolas,monospace;color:#8798b5}
.ov-key-group .ov-key-task{flex:1 0 100%;font-size:14px;font-weight:700;line-height:2;color:#546989;overflow-wrap:anywhere}
.ov-key-group .ov-key-relation{font-size:12px;line-height:1.9;color:#677c9c;overflow-wrap:anywhere}
.ov-key-group.ov-key-compact{gap:6px 10px;margin:3px 0}
.ov-key-compact .ov-key-combination{gap:6px}
.ov-key-group.ov-key-compact .ov-key{min-width:35px;min-height:35px;padding:5px 8px;font-size:12px;border-bottom-width:3px;border-radius:6px}
.ov-key-compact .ov-key .ov-icon{width:18px;height:18px;flex-basis:18px}
.ov-key-compact .ov-key-separator{min-height:35px;font-size:14px}
.ov-key-compact .ov-key-reading{font-size:10px}
.ov-key-compact .ov-key-task{font-size:12px}
.ov-key-compact .ov-key-relation{font-size:11px}
.ov-key-group .ov-wasd{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:190px;max-width:100%;gap:8px}.ov-wasd .ov-key-position-w{grid-column:2;grid-row:1}.ov-wasd .ov-key-position-a{grid-column:1;grid-row:2}.ov-wasd .ov-key-position-s{grid-column:2;grid-row:2}.ov-wasd .ov-key-position-d{grid-column:3;grid-row:2}.ov-key-direction{display:flex;align-items:center;justify-content:center;gap:4px;max-width:100%;font-size:11px;line-height:1.8;color:#627d9f}.ov-key-direction>.ov-icon{width:14px;height:14px;flex-basis:14px}.ov-key-compact .ov-wasd{width:170px}
.ov-target-label{display:block;font-size:13px;font-weight:700;line-height:2;color:#607395;margin-bottom:9px;overflow-wrap:anywhere}
.ov-file-target,.ov-file-tree{display:block;min-width:0;max-width:100%;box-sizing:border-box;margin:13px 0;padding:15px;border:1px solid #d2dfef;border-radius:10px;background:#f5f9ff;color:#3b547b}
.ov-file-target .ov-file-selected{display:grid;grid-template-columns:36px minmax(0,1fr) 23px;align-items:center;gap:11px;min-width:0;max-width:100%;padding:12px;border:2px solid #638ed0;border-radius:8px;background:#e1edff;color:#254c85;box-sizing:border-box}
.ov-file-target .ov-file-detail{min-width:0}
.ov-file-reference .ov-file-selected{grid-template-columns:36px minmax(0,1fr)}.ov-file-reference.ov-file-code .ov-file-selected{border-color:#c6d3e5;background:#eff3f9}.ov-file-reference.ov-file-code .ov-file-name{color:#566f91}
.ov-file-target .ov-file-download{cursor:pointer;text-decoration:none;border-color:#8366b8;background:#f0e9ff}.ov-file-target .ov-file-download:hover{border-color:#7250ad;background:#e9ddff}.ov-file-target .ov-file-download:focus-visible{outline:3px solid #eab842;outline-offset:4px}.ov-file-download>.ov-icon{color:#8061b2}.ov-file-download-cta{display:block;max-width:100%;margin-top:9px;color:#7752a8;font-size:13px;font-weight:700;line-height:2;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.ov-file-target .ov-file-name{display:block;min-width:0;max-width:100%;padding:0;border:0;background:transparent;color:#204d89;font:700 15px/1.9 ui-monospace,Consolas,monospace;white-space:normal;overflow-wrap:anywhere;word-break:normal;letter-spacing:0}
.ov-file-target .ov-file-type{display:inline-block;max-width:100%;margin-top:5px;padding:2px 7px;border-radius:4px;background:#fff9;color:#506e98;font-size:12px;line-height:1.9;overflow-wrap:anywhere}
.ov-file-target .ov-file-path{display:block;min-width:0;max-width:100%;margin-top:10px;padding:0;border:0;background:transparent;color:#587296;font:500 12px/2 ui-monospace,Consolas,monospace;white-space:normal;overflow-wrap:anywhere;word-break:normal}
.ov-file-glyph{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:38px;flex:0 0 32px;color:#597fab}
.ov-file-glyph>.ov-icon{width:30px;height:34px;flex-basis:30px}
.ov-file-letter{position:absolute;left:11px;top:15px;font:800 10px/1.3 ui-monospace,Consolas,monospace;color:#416c9d;background:#e1edff}
.ov-gesture{display:flex;align-items:center;gap:9px;max-width:100%;margin-top:12px;color:#6b558c;font-size:13px;line-height:2}
.ov-gesture>.ov-icon{width:29px;height:29px;flex-basis:29px}
.ov-gesture>span{min-width:0;overflow-wrap:anywhere}
.ov-file-tree .ov-tree-list{list-style:none;display:grid;gap:7px;min-width:0;margin:0;padding:0}
.ov-file-tree .ov-tree-row{display:grid;grid-template-columns:13px 28px minmax(0,1fr);align-items:center;gap:7px;min-width:0;max-width:100%;box-sizing:border-box;margin:0;padding:6px 8px 6px calc(8px + var(--ov-depth,0)*12px);border:1px solid transparent;border-radius:6px;line-height:1.8}
.ov-file-tree .ov-tree-row>.ov-icon{width:25px;height:25px;flex-basis:25px;color:#9b7c45}
.ov-file-tree .ov-tree-row>code{display:block;min-width:0;max-width:100%;padding:0;border:0;background:transparent;color:#4a6487;font:600 13px/1.9 ui-monospace,Consolas,monospace;white-space:normal;overflow-wrap:anywhere;word-break:normal}
.ov-tree-branch{color:#8b9bb1;font-size:16px;text-align:center}
.ov-file-tree .ov-tree-selected{border-color:#6b99d9;background:#dfecff;color:#264e88}
.ov-file-tree .ov-tree-selected>code{color:#244e8e;font-weight:800}
.ov-tree-row .ov-file-glyph{width:27px;height:31px;flex-basis:27px}
.ov-tree-row .ov-file-glyph>.ov-icon{width:26px;height:29px}
.ov-tree-row .ov-file-letter{left:9px;top:12px;font-size:9px}
.ov-tree-type{grid-column:3;min-width:0;max-width:100%;color:#637b9c;font-size:11px;line-height:1.9;overflow-wrap:anywhere}
.ov-control-target{display:block;min-width:0;max-width:100%;box-sizing:border-box;margin:10px 0;padding:13px 15px;border:1px dashed #c3cfdf;border-radius:9px;background:#f9fbff;color:#455f83}
.ov-control-target .ov-target-label{font-size:11px;margin-bottom:7px}
.ov-control-face{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;max-width:100%;min-width:0;min-height:42px;padding:8px 11px;border:1px solid #ccd8e8;border-radius:7px;background:#eef3fa;box-sizing:border-box;cursor:default}
.ov-control-face>strong{font-size:15px;line-height:1.9;min-width:0;overflow-wrap:anywhere}
.ov-control-reading{font-size:12px;line-height:1.9;color:#6c80a0;min-width:0;overflow-wrap:anywhere}
.ov-control-target>.ov-key-group{margin-top:12px}
.ov-windows-flow{display:block;min-width:0;max-width:100%;box-sizing:border-box;margin:18px 0;padding:20px;border:1px solid #ccd9ed;border-radius:12px;background:#f6f9ff;color:#405a82}
.ov-flow-heading{display:block;min-width:0;margin:0 0 12px}
.ov-platform{display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:5px 9px;border-radius:6px;background:#e4effe;color:#4c73a4;font-size:11px;font-weight:700;line-height:1.9}
.ov-platform>.ov-icon{width:17px;height:17px;flex-basis:17px}
.ov-platform>span{min-width:0;overflow-wrap:anywhere}
.ov-windows-flow .ov-flow-heading>h3{font-size:20px;line-height:2;margin:10px 0 0;color:#415b83;overflow-wrap:anywhere}
.ov-windows-flow .ov-diagram-note,.ov-windows-flow .ov-note{font-size:13px;line-height:2.1;color:#657d9d;margin:10px 0 0;overflow-wrap:anywhere}
.ov-windows-flow .ov-diagram-note{padding:10px 12px;border-left:3px solid #a4bbdc;background:#edf3fc;border-radius:3px}
.ov-windows-flow .ov-flow-steps{list-style:none;display:grid;gap:14px;min-width:0;margin:17px 0 0;padding:0}
.ov-windows-flow .ov-flow-step{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;align-items:start;min-width:0;margin:0;padding:14px 12px;border:1px solid #dbe3f0;border-radius:9px;background:#fff}
.ov-step-number{display:grid;place-items:center;min-width:28px;width:28px;min-height:28px;border-radius:50%;background:#e8e3f6;color:#755b9d;font:800 13px/1.4 ui-monospace,Consolas,monospace;margin-top:5px}
.ov-step-body{min-width:0;max-width:100%}
.ov-windows-flow .ov-step-body>h4{font-size:16px;line-height:2;margin:0 0 10px;color:#435e86;overflow-wrap:anywhere}
.ov-step-body>.ov-file-target,.ov-step-body>.ov-file-tree,.ov-step-body>.ov-control-target{margin-bottom:0}
.ov-keyboard-map{max-width:100%;min-width:0;margin-top:15px;padding:12px;border:1px solid #d5dfed;border-radius:8px;background:#f1f5fb}
.ov-keyboard-map .ov-target-label{font-size:11px}
.ov-keyboard-row{display:flex;align-items:flex-start;flex-wrap:wrap;gap:9px;max-width:100%;min-width:0}
.ov-keyboard-row .ov-key{display:flex;align-items:center;justify-content:center;gap:5px;min-width:45px;min-height:35px;height:auto;padding:5px 7px;border:1px solid #abbcd2;border-bottom:3px solid #9baec9;border-radius:6px;background:white;color:#405c82;font:700 11px/1.5 ui-monospace,Consolas,monospace;white-space:nowrap;box-sizing:border-box}
.ov-keyboard-row .ov-key>.ov-icon{width:17px;height:17px;flex-basis:17px}
.ov-keyboard-row .ov-key-unit{display:flex;flex-direction:column;align-items:center;gap:5px;max-width:100%;min-width:0}
.ov-keyboard-row .ov-key-windows .ov-key{background:#dfedff;border-color:#739ed3;border-bottom-color:#5a8fce}
.ov-keyboard-row .ov-key-reading{font-size:9px;line-height:1.7;color:#687e9e;text-align:center}
.ov-keyboard-caption{display:block;font-size:11px;line-height:2;color:#657d9d;margin-top:11px;overflow-wrap:anywhere}
.ov-search-demo,.ov-app-target,.ov-folder-row{display:flex;align-items:center;gap:10px;max-width:100%;min-width:0;box-sizing:border-box}
.ov-search-demo{padding:12px;border:1px solid #b9cbe3;border-radius:8px;background:#f4f8ff}
.ov-search-demo>div,.ov-app-target>div{min-width:0;flex:1}
.ov-search-demo span{display:block;font-size:11px;line-height:1.9;color:#7488a5}
.ov-search-demo code,.ov-app-target code{display:block;min-width:0;max-width:100%;font:700 14px/1.9 ui-monospace,Consolas,monospace;white-space:normal;overflow-wrap:anywhere;word-break:normal;background:transparent;padding:0;border:0;color:#365d92}
.ov-app-target{padding:13px;border:2px solid #729dd9;border-radius:8px;background:#e4efff;color:#416da8}
.ov-app-target>div>span{display:block;font-size:11px;line-height:1.9;color:#6481a6;margin-top:3px}
.ov-window-demo{padding:12px;border:1px dashed #c5d3e7;border-radius:8px;background:#f7faff;min-width:0}
.ov-window-demo>.ov-key-group{margin-top:14px}
.ov-dialog-demo{border:1px dashed #b8c9e1;border-radius:8px;background:#f9fbff;padding:12px;min-width:0}
.ov-dialog-heading{display:block;color:#657c9c;font-size:12px;font-weight:700;line-height:2;padding-bottom:9px;margin-bottom:10px;border-bottom:1px solid #d8e3f1}
.ov-folder-row{font-size:14px;line-height:2;color:#687b98;padding:6px 0}
.ov-folder-row>.ov-icon{color:#a58853}
.ov-dialog-demo>.ov-file-target{margin-top:10px;padding:10px}
.ov-save-fields{display:grid;gap:9px;min-width:0}
.ov-save-fields>div{display:flex;align-items:center;gap:9px;min-width:0;padding:11px;background:#f2f6fc;border:1px solid #d8e2ee;border-radius:7px;color:#617a9b;font-size:14px;line-height:2}
.ov-save-fields>div>span{min-width:0;overflow-wrap:anywhere}
.large-text .ov-windows-flow .ov-step-body>h4{font-size:19px}
.large-text .ov-windows-flow .ov-note,.large-text .ov-windows-flow .ov-diagram-note,.large-text .ov-gesture{font-size:16px}
.large-text .ov-file-target .ov-file-name{font-size:18px}
.large-text .ov-file-tree .ov-tree-row>code{font-size:16px}
.large-text .ov-key-group .ov-key-task{font-size:17px}
.large-text .ov-control-face>strong{font-size:18px}
@media(min-width:650px){.ov-flow-arrange .ov-flow-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.ov-flow-arrange .ov-flow-step:last-child{grid-column:1/-1}}
@media(max-width:600px){.ov-windows-flow{padding:13px;margin:14px 0}.ov-windows-flow .ov-flow-heading>h3{font-size:18px}.ov-windows-flow .ov-flow-step{grid-template-columns:23px minmax(0,1fr);gap:8px;padding:12px 9px}.ov-step-number{width:23px;min-width:23px;min-height:23px;font-size:11px}.ov-windows-flow .ov-step-body>h4{font-size:15px}.ov-key-group .ov-key{min-width:39px;min-height:40px;padding:7px 8px;font-size:13px;gap:5px}.ov-key-group .ov-key>.ov-icon{width:20px;height:20px;flex-basis:20px}.ov-key-group .ov-key-reading{font-size:10px}.ov-key-group .ov-key-separator{min-height:40px}.ov-key-group .ov-key-task{font-size:13px}.ov-keyboard-map{padding:9px}.ov-keyboard-row{gap:6px}.ov-keyboard-row .ov-key{font-size:10px;padding:5px;gap:3px}.ov-keyboard-row .ov-key-reading{font-size:8px}.ov-file-target,.ov-file-tree{padding:11px}.ov-file-target .ov-file-selected{grid-template-columns:29px minmax(0,1fr) 18px;padding:9px;gap:7px}.ov-file-selected>.ov-icon{width:18px;height:18px;flex-basis:18px}.ov-file-target .ov-file-name{font-size:13px}.ov-file-target .ov-file-path{font-size:11px}.ov-file-target .ov-file-type{font-size:11px}.ov-file-glyph{width:27px;height:32px}.ov-file-glyph>.ov-icon{width:27px;height:30px}.ov-file-letter{left:9px;top:13px;font-size:9px}.ov-file-tree .ov-tree-row{grid-template-columns:11px 25px minmax(0,1fr);gap:5px;padding-left:calc(4px + var(--ov-depth,0)*8px)}.ov-file-tree .ov-tree-row>code{font-size:11px}.ov-download-link{font-size:13px;padding:9px 11px}.ov-control-target{padding:10px}.ov-control-face{padding:8px;gap:7px}.ov-control-face>strong{font-size:14px}.ov-control-reading{font-size:11px}.ov-search-demo,.ov-app-target{padding:10px}.ov-search-demo code,.ov-app-target code{font-size:12px}.ov-window-demo,.ov-dialog-demo{padding:9px}.ov-save-fields>div{font-size:13px;padding:9px}.large-text .ov-windows-flow .ov-step-body>h4{font-size:17px}.large-text .ov-file-target .ov-file-name{font-size:16px}.large-text .ov-file-tree .ov-tree-row>code{font-size:14px}}

@media(max-width:600px){.ov-file-target.ov-file-reference .ov-file-selected{grid-template-columns:29px minmax(0,1fr)}.ov-file-download-cta{font-size:12px}}

/* Keep existing guide wrappers, while the diagram owns its layout and type sizes. */
.vg-file-card{display:block;padding:0;border:0;background:transparent}
.vg-file-card>.ov-windows-flow,.vg-file-card>.ov-file-target{width:100%;margin-top:0}
.vg-file-list .ov-file-target{border:0;padding:0;margin:8px 0 0;background:transparent}
.vg-key-rows>span.ov-key-group{display:flex;min-width:0;margin:0}
.vg-file-card .ov-file-name,.vg-file-list .ov-file-name{font:700 15px/1.9 ui-monospace,Consolas,monospace}
.vg-file-card .ov-file-path,.vg-file-list .ov-file-path{font:500 12px/2 ui-monospace,Consolas,monospace}
.vg-file-card .ov-tree-row>code,.vg-file-list .ov-tree-row>code{font:600 13px/1.9 ui-monospace,Consolas,monospace}
.vg-file-card .ov-search-demo code,.vg-file-card .ov-app-target code{font:700 14px/1.9 ui-monospace,Consolas,monospace}
.large-text .vg-file-card .ov-file-name,.large-text .vg-file-list .ov-file-name{font-size:18px}
.large-text .vg-file-card .ov-file-path,.large-text .vg-file-list .ov-file-path{font-size:13px}
.large-text .vg-file-card .ov-tree-row>code,.large-text .vg-file-list .ov-tree-row>code{font-size:16px}
.large-text .vg-file-card .ov-search-demo code,.large-text .vg-file-card .ov-app-target code{font-size:17px}
@media(max-width:600px){.vg-file-card .ov-file-name,.vg-file-list .ov-file-name{font-size:13px}.vg-file-card .ov-file-path,.vg-file-list .ov-file-path{font-size:11px}.vg-file-card .ov-tree-row>code,.vg-file-list .ov-tree-row>code{font-size:11px}.vg-file-card .ov-search-demo code,.vg-file-card .ov-app-target code{font-size:12px}.large-text .vg-file-card .ov-file-name,.large-text .vg-file-list .ov-file-name{font-size:16px}.large-text .vg-file-card .ov-file-path,.large-text .vg-file-list .ov-file-path{font-size:12px}.large-text .vg-file-card .ov-tree-row>code,.large-text .vg-file-list .ov-tree-row>code{font-size:14px}.large-text .vg-file-card .ov-search-demo code,.large-text .vg-file-card .ov-app-target code{font-size:15px}}
