.coordinate-plane-page .math-workspace-bar{padding:9px 0;gap:12px}.coordinate-plane-page .math-workspace-bar>strong{font-size:clamp(1.1rem,2vw,1.4rem)}.coordinate-plane-page .math-workspace-links{gap:8px}.coordinate-plane-page .math-workspace-links :is(a,button){display:inline-flex;align-items:center;min-height:40px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font:700 .85rem/1.3 Arial,sans-serif;text-decoration:none}.coordinate-plane-page .math-frame-shell{background:transparent;box-shadow:none;border:0}.coordinate-plane-page.cp-full-window{grid-template-rows:minmax(0,1fr)}.coordinate-plane-page.cp-full-window>.site-header,.coordinate-plane-page.cp-full-window .math-workspace-bar{display:none!important}.coordinate-plane-page.cp-full-window .math-tool-section{padding:3px;height:100dvh}.coordinate-plane-page.cp-full-window .math-tool-section__inner{max-width:none;width:100%;grid-template-rows:minmax(0,1fr)}
body.le-math-embed--coordinate-board{padding:0;font-family:Arial,Helvetica,sans-serif}.gg-app{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:6px;position:relative;min-width:0}.gg-controls{display:flex;gap:6px;align-items:center;min-width:0;overflow-x:auto;scrollbar-width:thin;padding:1px 1px 4px}.gg-controls-fill{flex:1}.gg-controls>button{width:44px;height:44px;min-width:44px;flex-shrink:0;padding:10px;background:var(--le-paper);color:var(--le-ink);border:1px solid var(--le-line);border-radius:7px;cursor:pointer}.gg-controls>button:hover,.gg-controls>button[aria-expanded=true]{background:var(--le-soft);border-color:var(--le-muted)}.gg-controls svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.gg-controls :focus-visible{outline:3px solid #167c73;outline-offset:1px}.gg-stage{width:100%;height:100%;min-height:0;justify-self:center;position:relative;overflow:hidden;background:white;border:1px solid var(--le-line);border-radius:8px}.gg-app[data-size=compact] .gg-stage{width:min(100%,820px);height:70%}.gg-app[data-size=medium] .gg-stage{width:min(100%,1100px);height:85%}#ggHost{width:100%;height:100%;overflow:hidden;position:relative}.gg-status{font-size:.75rem;line-height:1.4;color:var(--le-muted);min-height:18px;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}#ggLoading,#ggError{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--le-paper);color:var(--le-ink);padding:24px;text-align:center}#ggError a{color:var(--le-ink)}.gg-spinner{width:32px;height:32px;border:3px solid var(--le-line);border-top-color:#167c73;border-radius:50%;animation:gg-spin 1s linear infinite}@keyframes gg-spin{to{transform:rotate(360deg)}}.gg-popover{position:absolute;top:54px;right:8px;z-index:1000000;width:min(330px,calc(100% - 16px));padding:16px;max-height:calc(100% - 70px);overflow:auto;border:1px solid var(--le-line);border-radius:8px;box-shadow:0 8px 24px #15232f33;background:var(--le-paper);color:var(--le-ink);font-size:.9rem;line-height:1.5}.gg-popover strong{display:block;margin:0 0 12px}.gg-popover label{display:grid;gap:8px}.gg-popover select{font-size:16px!important;padding:9px;min-height:44px;width:100%}.gg-popover p{font-size:.8rem;color:var(--le-muted);margin-bottom:0}.gg-popover>button,.gg-open-file,#ggError button,#ggHelpDialog>button{display:block;min-height:44px;width:100%;padding:10px;margin:6px 0;border:1px solid var(--le-line);border-radius:6px;background:var(--le-soft);color:var(--le-ink);font:700 .85rem/1.4 Arial,sans-serif;cursor:pointer}.gg-open-file input{max-width:100%;font-size:16px!important}#ggTooltip{position:fixed;z-index:2000000;max-width:min(280px,calc(100vw - 16px));padding:8px 12px;border-radius:7px;background:#203441;color:#fff;font:700 14px/1.45 Arial,sans-serif;box-shadow:0 4px 16px #0003;pointer-events:none}#ggHelpDialog{width:min(640px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:20px;border:1px solid var(--le-line);border-radius:10px;background:var(--le-paper);color:var(--le-ink);font-size:1rem;line-height:1.65}#ggHelpDialog::backdrop{background:#15232f99}#ggHelpDialog a{color:inherit}.le-math-embed--coordinate-board [hidden]{display:none!important}
#ggHost .toolbar_button{border-radius:8px!important;border-color:#c8dcd8!important;background:#f7fcfb!important}#ggHost .toolbar_button[isselected=true]{border-color:#167c73!important;background:#e8f6f3!important}#ggHost .toolbar_button img,#ggHost .submenuContent li[mode]>img{filter:none!important}#ggHost .submenuContent{max-width:calc(100vw - 20px)!important;overflow-x:hidden!important}#ggHost .submenuContent .gwt-Label{white-space:normal;line-height:1.4;max-width:calc(100vw - 100px)}
#ggHost .submenuContent{min-width:min(340px,calc(100vw - 24px));width:max-content;box-sizing:border-box}#ggHost .submenuContent>li{display:flex;align-items:center;gap:10px;padding:8px 12px;min-height:46px;height:auto;box-sizing:border-box}#ggHost .submenuContent>li>img{flex-shrink:0;width:28px!important;height:28px!important;margin:0!important;float:none}#ggHost .submenuContent .gwt-Label{width:auto!important;font-size:14px;line-height:1.4}
#ggHost .submenuContent{background:#fff!important;color:#203441!important}#ggHost .submenuContent>li:hover{background:#e8f6f3!important}
/* The application API resizes the viewport; never shrink icon buttons by CSS transforms. */
@media(max-width:700px){.coordinate-plane-page .math-workspace-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:5px 0;gap:5px}.coordinate-plane-page .math-workspace-bar>strong{grid-row:1;grid-column:1}.coordinate-plane-page .math-workspace-bar>.exercise-utility-tools{grid-row:1;grid-column:2}.coordinate-plane-page .math-workspace-links{grid-row:2;grid-column:1/-1}.coordinate-plane-page .math-workspace-links :is(a,button){font-size:.75rem;padding:6px 8px}.gg-controls{gap:4px}.gg-controls>button{width:40px;min-width:40px;height:40px;min-height:40px;padding:9px}.gg-status{font-size:.7rem}.gg-popover{top:48px}}

/* A complete labelled menu on touch devices, instead of the native second icon strip. */
.gg-touch-layout .ggbtoolbarpanel{visibility:hidden!important}
.gg-touch-tools{position:absolute;top:0;left:0;right:0;height:56px;display:flex;gap:5px;padding:5px;box-sizing:border-box;overflow-x:auto;overscroll-behavior:contain;touch-action:pan-x;background:#f7fcfb;border-bottom:1px solid #c8dcd8;scrollbar-width:thin;z-index:10000}
.gg-touch-tools>button{flex:0 0 40px;width:40px;height:40px;border:1px solid #c8dcd8;border-radius:8px;background:#fff;padding:4px;cursor:pointer}
.gg-touch-tools>button[aria-expanded=true]{background:#e8f6f3;border-color:#167c73}
.gg-touch-tools img{width:30px;height:30px;display:block}
.gg-touch-menu{position:absolute;z-index:10001;top:56px;left:6px;right:6px;max-height:calc(100% - 68px);overflow:auto;overscroll-behavior:contain;padding:5px;background:#fff;color:#203441;border:1px solid #c8dcd8;border-radius:8px;box-shadow:0 8px 24px #15232f33}
.gg-touch-menu>button{display:flex;align-items:center;gap:10px;width:100%;min-height:46px;padding:8px;border:0;background:#fff;color:#203441;text-align:left;font:14px/1.4 Arial,sans-serif;cursor:pointer}
.gg-touch-menu>button:hover,.gg-touch-menu>button:focus-visible{background:#e8f6f3}
.gg-touch-menu img{flex:0 0 28px;width:28px;height:28px}

/* GeoGebra's embed wrapper retains its initial inline dimensions after API
   resizing. Keep every clipping ancestor in step with the measured stage. */
#ggHost,#ggHost>.applet_scaler{width:100%!important;height:100%!important}
.coordinate-plane-page.cp-full-window{height:100dvh!important}
html[data-fullscreen=true] .gg-app .gg-stage{width:100%!important;height:100%!important}
.gg-controls #ggTheme[aria-pressed=true]{background:var(--le-soft);border-color:var(--le-muted)}
/* Only the drawing surface is adjusted, including all engine-rendered objects
   and labels. Data, chosen object colours and PNG/SVG exports are unchanged. */
html[data-theme=dark] #ggHost .EuclidianPanel canvas{filter:invert(.9) hue-rotate(180deg)}
html[data-theme=dark] .gg-stage,html[data-theme=dark] #ggHost .GeoGebraFrame{background:#1a1a1a!important;border-color:var(--le-line)!important}
html[data-theme=dark] #ggHost :is(.ggbtoolbarpanel,.toolBPanel,.rightButtonPanel,.toolbar_mainItem,.algebraPanel,.AlgebraView,.avItem,.avInputItem,.avInputItem .avItemContent,.inputPanel,.StyleBar,.styleBarPanel,.zoomPanel){background:var(--le-paper)!important;color:var(--le-ink)!important;border-color:var(--le-line)!important}
html[data-theme=dark] #ggHost :is(.toolbar_button,.zoomPanelBtn){background:var(--le-control)!important;border-color:var(--le-line)!important}
html[data-theme=dark] #ggHost .toolbar_button[isselected=true]{background:#21413f!important;border-color:#78cbbb!important}
html[data-theme=dark] #ggHost .submenuContent,html[data-theme=dark] .gg-touch-menu{background:var(--le-paper)!important;color:var(--le-ink)!important;border-color:var(--le-line)!important}
html[data-theme=dark] #ggHost .submenuContent>li:hover,html[data-theme=dark] .gg-touch-menu>button:hover,html[data-theme=dark] .gg-touch-menu>button:focus-visible{background:#21413f!important}
html[data-theme=dark] #ggHost :is(.toolbar_button img,.submenuContent li[mode]>img,.zoomPanelBtn img,.undoButton img,.redoButton img),html[data-theme=dark] :is(.gg-touch-tools,.gg-touch-menu) img{filter:brightness(1.7) saturate(.8)!important}
html[data-theme=dark] .gg-touch-tools{background:var(--le-paper);border-color:var(--le-line)}
html[data-theme=dark] .gg-touch-tools>button{background:var(--le-control);border-color:var(--le-line)}
html[data-theme=dark] .gg-touch-tools>button[aria-expanded=true]{background:#21413f;border-color:#78cbbb}
html[data-theme=dark] .gg-touch-menu>button{background:var(--le-paper);color:var(--le-ink)}
html[data-theme=dark] #ggHost :is(.avItem,.algebraPanel) :is(.gwt-Label,.avPlainText,.elemText,.avDefinition,.avValue){color:var(--le-ink)!important}
.coordinate-plane-page.cp-full-window .le-season-preview{display:none!important}
#ggHost .EuclidianPanel canvas{border-radius:0}
html[data-theme=dark] #ggHost :is(.algebraPanel,.AlgebraView) canvas{background:transparent!important;filter:invert(.9) hue-rotate(180deg)}
html[data-theme=dark] #ggHost .arrowOutputImg{filter:invert(.9)}
html[data-theme=dark] #ggHost .zoomPanel{background:transparent!important}
html[data-theme=dark] #ggHost .gwt-SplitLayoutPanel-HDragger{background:var(--le-line)!important}

/* Native hovered/keyboard rows set their own text colour; cover the label
   as well as the row so every menu state has the same readable contrast. */
#ggHost .submenuContent>li,#ggHost .submenuContent>li .gwt-Label{color:#203441!important}
html[data-theme=dark] #ggHost .submenuContent>li,html[data-theme=dark] #ggHost .submenuContent>li .gwt-Label{color:var(--le-ink)!important}
#ggHost .submenuArrow img{display:none!important}
#ggHost .submenuArrow::after{content:"";display:block;width:0;height:0;border-left:12px solid transparent;border-right:12px solid transparent;border-bottom:12px solid #fff}
html[data-theme=dark] #ggHost .submenuArrow::after{border-bottom-color:var(--le-paper)}
.gg-popover label+label{margin-top:16px}

.gg-grid-setting{margin-top:16px}
.gg-grid-setting>label{display:flex;align-items:center;justify-content:space-between;gap:8px}
#ggGridValue{font-weight:700;color:var(--le-ink);font-variant-numeric:tabular-nums}
#ggGridStep{display:block;min-height:44px;width:100%;margin:6px 0 0;padding:0;accent-color:#167c73;cursor:pointer}
.gg-grid-limits{display:flex;justify-content:space-between;font-size:.8rem;color:var(--le-muted)}
.gg-popover .gg-snap-toggle{display:flex;align-items:center;gap:10px;margin-top:16px;min-height:44px;cursor:pointer}
.gg-snap-toggle input{width:20px;height:20px;flex-shrink:0;accent-color:#167c73}
html[data-theme=dark] #ggGridStep,html[data-theme=dark] .gg-snap-toggle input{accent-color:#78cbbb}
