/* Fashion Geek Studio */
.fgs{--ink:#1d1d1f;--ink3:#6e6e73;--tile:#f5f5f7;--blue:#0071e3;position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:10px;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",sans-serif;color:var(--ink)}
.fgs-top{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;align-items:center}
.fgs-tools{display:flex;flex-wrap:wrap;gap:6px}
.fgs-grp{display:flex;background:var(--tile);border-radius:14px;padding:3px;gap:2px}
.fgs-tools button,.fgs-view button{width:38px;height:38px;border:0;border-radius:11px;background:transparent;cursor:pointer;display:grid;place-items:center;color:var(--ink);font:600 17px inherit}
.fgs-tools button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.fgs-tools button:hover,.fgs-view button:hover{background:#e8e8ed}
.fgs-tools button[aria-pressed=true]{background:var(--blue);color:#fff}
.fgs-view{display:flex;background:var(--tile);border-radius:14px;padding:3px;gap:2px}
.fgs-view button[aria-pressed=true]{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.fgs-view button[aria-pressed=false]{opacity:.45}
.fgs-main{display:grid;grid-template-columns:270px minmax(0,1fr);gap:10px;min-height:0}
.fgs-side{background:var(--tile);border-radius:18px;padding:8px;overflow:auto;max-height:70vh}
.fgs-side[hidden]+.fgs-stage{grid-column:1/-1}
.fgs-stage{position:relative;border-radius:18px;overflow:hidden;background:#fff;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.fgs-board{width:100%;height:min(70vh,640px);border:0!important;border-radius:0;background:#fff;touch-action:none}
.fgs[data-tool]:not([data-tool=move]) .fgs-board{cursor:crosshair}
.fgs-hint{position:absolute;left:12px;top:12px;max-width:calc(100% - 24px);background:rgba(29,29,31,.86);color:#fff;font-size:13.5px;padding:7px 12px;border-radius:12px;pointer-events:none;opacity:0;transition:opacity .2s}
.fgs-hint.on{opacity:1}
.fgs-alg{display:grid;gap:3px}
.fgs-row{display:grid;grid-template-columns:14px minmax(0,1fr) 24px;gap:8px;align-items:start;padding:7px 6px 7px 8px;border-radius:12px;cursor:text}
.fgs-row:hover{background:#fff}
.fgs-row i{width:12px;height:12px;border-radius:50%;margin-top:4px;cursor:pointer;box-shadow:0 0 0 2px #fff inset}
.fgs-row.off i{background:transparent!important;box-shadow:inset 0 0 0 2px #c7c7cc}
.fgs-row.off div{opacity:.5}
.fgs-row b{font-size:15px}
.fgs-row span{font-size:14px;font-variant-numeric:tabular-nums}
.fgs-row small{display:block;font-size:12px;color:var(--ink3);font-family:"SF Mono",ui-monospace,Menlo,monospace;word-break:break-all}
.fgs-row em{display:block;font-size:12px;color:#e0464f;font-style:normal}
.fgs-row .x{border:0;background:none;color:#aeaeb2;font-size:18px;cursor:pointer;border-radius:6px;line-height:1;padding:2px}
.fgs-row .x:hover{background:#e8e8ed;color:var(--ink)}
.fgs-row.err{background:#fdecec}
.fgs-empty{font-size:14px;color:var(--ink3);padding:10px}
.fgs-in{display:flex;gap:8px;align-items:center;background:var(--tile);border-radius:16px;padding:6px 6px 6px 14px}
.fgs-in span{font:600 13px inherit;color:var(--ink3)}
.fgs-in input{flex:1;min-width:0;border:0;background:#fff;border-radius:11px;padding:10px 12px;font:15px "SF Mono",ui-monospace,Menlo,monospace;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);outline:none}
.fgs-in input:focus{box-shadow:0 0 0 4px rgba(0,113,227,.2),inset 0 0 0 1px var(--blue)}
.fgs-help{width:36px;height:36px;border:0;border-radius:50%;background:#fff;font-weight:700;cursor:pointer}
.fgs-ref{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px;background:var(--tile);border-radius:16px;padding:10px}
.fgs-ref button{border:0;background:#fff;border-radius:12px;padding:9px 11px;text-align:left;cursor:pointer;display:grid;gap:2px}
.fgs-ref code{font:600 13px "SF Mono",ui-monospace,Menlo,monospace;color:var(--blue)}
.fgs-ref span{font-size:12.5px;color:var(--ink3)}
.fgs-toast{position:absolute;left:50%;bottom:76px;transform:translate(-50%,10px);opacity:0;background:rgba(29,29,31,.92);color:#fff;padding:9px 16px;border-radius:99px;font-size:14px;pointer-events:none;transition:.25s;z-index:5;max-width:90%;text-align:center}
.fgs-toast.on{opacity:1;transform:translate(-50%,0)}
@media (max-width:820px){.fgs-main{grid-template-columns:minmax(0,1fr)}.fgs-side{order:2;max-height:240px}.fgs-board{height:62vh}.fgs-tools button,.fgs-view button{width:34px;height:34px}}
.JXGtext{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text",sans-serif!important}

/* ===== Habillage Citizen Geek (atelier épuré) ===== */
.fgs{gap:12px}
.fgs-top{background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:18px;padding:8px;box-shadow:0 1px 0 rgba(29,29,31,.08),0 10px 26px rgba(40,40,60,.06)}
.fgs-grp{background:#f4f4f7;border-radius:13px}
.fgs-tools button,.fgs-view button{width:40px;height:40px;border-radius:10px;position:relative;transition:background .15s,transform .15s}
.fgs-tools button svg{width:23px;height:23px;stroke-width:1.9}
.fgs-tools button:hover{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1)}
.fgs-tools button[aria-pressed=true]{background:linear-gradient(180deg,#1a84f0,#0068d6);color:#fff;box-shadow:0 4px 12px rgba(0,113,227,.35)}
.fgs-tools button[title]:hover::after{content:attr(title);position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);background:#1d1d1f;color:#fff;font:500 12px -apple-system,sans-serif;padding:5px 9px;border-radius:8px;white-space:nowrap;z-index:20;pointer-events:none}
.fgs-view{background:#f4f4f7;border-radius:13px}
.fgs-main{grid-template-columns:250px minmax(0,1fr);gap:12px}
.fgs-side{background:#fff;border-radius:18px;padding:10px;box-shadow:0 1px 0 rgba(29,29,31,.08),0 10px 26px rgba(40,40,60,.06)}
.fgs-side::before{content:"Algèbre";display:block;font:700 17px -apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:-.02em;padding:4px 8px 8px;border-bottom:1px solid #f0f0f3;margin-bottom:6px}
.fgs-row:hover{background:#f7f8fb}
.fgs-stage{border-radius:18px;box-shadow:0 1px 0 rgba(29,29,31,.08),0 14px 34px rgba(40,40,60,.08)}
.fgs-board{background:#fffefb}
.fgs-in{background:#fff;border-radius:16px;box-shadow:0 1px 0 rgba(29,29,31,.08),0 10px 26px rgba(40,40,60,.06)}
.fgs-in input{background:#f7f8fb;box-shadow:none}
.fgs-help{background:#f2f2f5}
.fgs-hint{background:rgba(29,29,31,.82);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.fgs-famh{display:flex;justify-content:space-between;font:600 12px -apple-system,sans-serif;color:#3a3a3c;padding:6px 8px 2px}.fgs-famh span{font-weight:500;color:#aeaeb2}.fgs-fam+.fgs-fam{border-top:1px solid #eee;margin-top:4px;padding-top:4px}
