.geometry-studio{--gs-ink:#233f36;--gs-muted:#61756a;--gs-green:#b8ddb0;--gs-violet:#7651ba;--gs-line:#dce6d7;container-type:inline-size;container-name:geometry-studio;font-size:17px;line-height:1.65;color:var(--gs-ink);min-width:0}
.geometry-studio *{box-sizing:border-box}
.geometry-studio button,.geometry-studio input{font:inherit}
.geometry-studio button{cursor:pointer;touch-action:manipulation}
.geometry-studio button:focus-visible,.geometry-studio summary:focus-visible{outline:3px solid #7752b8;outline-offset:4px}
.geometry-studio .gs-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}
.geometry-studio .gs-eyebrow{display:block;font-size:14px;font-weight:850;letter-spacing:.07em;color:#7f679e;line-height:1.6}
.geometry-studio h2{font-size:clamp(28px,3vw,37px);letter-spacing:-.045em;line-height:1.2;margin:9px 0 13px}
.geometry-studio h3{font-size:27px;letter-spacing:-.03em;line-height:1.3;margin:7px 0 13px}
.geometry-studio p{font-size:17px;line-height:1.75;margin:0;color:var(--gs-muted)}
.geometry-studio .gs-header p{max-width:690px}
.geometry-studio .gs-progress{flex:0 0 166px;display:flex;align-items:center;flex-direction:column;padding:17px 15px;border:1px solid #dddfb8;border-radius:20px;background:#f0f4d9;text-align:center}
.geometry-studio .gs-progress strong{font-size:30px;font-variant-numeric:tabular-nums;line-height:1.25;color:#526c39;letter-spacing:-.035em}
.geometry-studio .gs-progress span{font-size:14px;line-height:1.6;margin-top:6px;color:#6d7c55}
.geometry-studio :is(.gs-intro,.gs-picker){border:1px solid var(--gs-line);border-radius:19px;background:#fff;margin:20px 0;overflow:hidden}
.geometry-studio summary{font-size:17px;line-height:1.6;font-weight:750;cursor:pointer;padding:17px 22px;color:#6c5785;list-style-position:inside}
.geometry-studio .gs-intro>summary{background:#f3eefb}
.geometry-studio .gs-intro-body{padding:25px;display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.85fr);gap:22px;align-items:center}
.geometry-studio .gs-tutorial-tabs{grid-column:1/-1;display:flex;gap:11px;flex-wrap:wrap}
.geometry-studio .gs-tab{border:1px solid #d7c9e8;background:#fff;color:#776586;border-radius:12px;padding:10px 16px;font-size:17px;line-height:1.55;min-height:47px;font-weight:750}
.geometry-studio .gs-tab.active{background:#eae1f9;border-color:#b49bd7;color:#674497;box-shadow:0 3px 0 #d9c7ec}
.geometry-studio .gs-intro-copy h3{font-size:25px;margin-top:0}
.geometry-studio .gs-tutorial-demo{background:#faf9ef;border-radius:18px;border:1px solid #e7e5d0;padding:30px 22px 18px;min-width:0}
.geometry-studio .gs-tutorial-grid{display:grid;grid-template-columns:repeat(3,1fr);max-width:210px;width:100%;margin:12px auto 33px;gap:0}
.geometry-studio .gs-demo-cell{aspect-ratio:1;border:1px solid #8fbb85;background:#c8e4b6;position:relative;color:#3b6132;font-size:25px;font-weight:800;padding:0;min-width:0;transition:filter .15s,transform .15s}
.geometry-studio .gs-demo-cell:hover,.geometry-studio .gs-demo-cell.selected{background:#add68e;z-index:2;box-shadow:inset 0 0 0 2px #466a38}
.geometry-studio .gs-demo-cell.count-edges.edge-top{border-top:4px solid #ce8249}
.geometry-studio .gs-demo-cell.count-edges.edge-right{border-right:4px solid #ce8249}
.geometry-studio .gs-demo-cell.count-edges.edge-bottom{border-bottom:4px solid #ce8249}
.geometry-studio .gs-demo-cell.count-edges.edge-left{border-left:4px solid #ce8249}
.geometry-studio .gs-edge-number{position:absolute;display:grid;place-items:center;background:#f8ebd1;border:1px solid #e4bf8e;border-radius:50%;width:23px;height:23px;font-size:14px;line-height:1;color:#996332;font-weight:850;z-index:3;pointer-events:none}
.geometry-studio .gs-edge-number.top{top:-28px;left:calc(50% - 11px)}
.geometry-studio .gs-edge-number.right{right:-28px;top:calc(50% - 11px)}
.geometry-studio .gs-edge-number.bottom{bottom:-28px;left:calc(50% - 11px)}
.geometry-studio .gs-edge-number.left{left:-28px;top:calc(50% - 11px)}
.geometry-studio .gs-demo-status{font-size:15px;line-height:1.7;color:#817657;min-height:50px;text-align:center}
.geometry-studio .gs-connect-note{grid-column:1/-1;display:flex;align-items:center;gap:12px 24px;flex-wrap:wrap;padding:17px 19px;background:#f2f7eb;border:1px solid #dfe8d6;border-radius:14px}
.geometry-studio .gs-connect-note strong{font-size:17px;color:#526947}
.geometry-studio .gs-connect-note span{font-size:15px;line-height:1.65;color:#6e7d61}
.geometry-studio .gs-connect-example{display:flex;align-items:center;gap:11px;flex:1 1 220px}
.geometry-studio .gs-connect-note .gs-connect-grid{display:grid;grid-template-columns:repeat(2,20px);gap:1px;background:#b9c9aa;border:1px solid #afbf9e;border-radius:4px;overflow:hidden;flex-shrink:0}
.geometry-studio .gs-connect-grid i{display:block;width:20px;height:20px;background:#fff}
.geometry-studio .gs-connect-grid i.filled{background:#a7cd88}
.geometry-studio .gs-intro-body>.gs-button{grid-column:1/-1;justify-self:start}
.geometry-studio .gs-mission-list{padding:0 20px 20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;max-height:510px;overflow:auto;scrollbar-width:thin}
.geometry-studio .gs-mission{display:flex;flex-direction:column;gap:6px;text-align:left;border:1px solid #e1e7db;border-radius:14px;background:#fafbf7;padding:15px;min-width:0;transition:background .2s,transform .2s}
.geometry-studio .gs-mission:hover{background:#f0f5e8;transform:translateY(-2px)}
.geometry-studio .gs-mission.active{border-color:#ac94ce;background:#f2ecfb;box-shadow:inset 0 0 0 1px #bba2df}
.geometry-studio .gs-mission.done .gs-mission-number{color:#47783e}
.geometry-studio .gs-mission-number{font-size:15px;font-weight:850;color:#9a83b6}
.geometry-studio .gs-mission strong{font-size:17px;line-height:1.45;color:#405540}
.geometry-studio .gs-mission>span:last-child{font-size:14px;line-height:1.5;color:#7e8b76}
.geometry-studio .gs-brief{display:flex;gap:20px;align-items:flex-start;margin:27px 0 25px;padding:24px 25px;border:1px solid #dce3d0;background:linear-gradient(130deg,#f4f7e7,#faf9f1);border-radius:21px}
.geometry-studio .gs-brief-number{display:grid;place-items:center;flex-shrink:0;width:62px;height:67px;font-size:30px;font-weight:850;line-height:1;border:1px solid #d6dfba;border-radius:18px;background:#e3edcd;color:#6b8550;transform:rotate(-4deg)}
.geometry-studio .gs-brief p{font-size:18px;line-height:1.75;color:#52664d}
.geometry-studio .gs-two-solutions{margin-top:17px;padding:12px 15px;border:1px solid #deceef;background:#f0e9fa;color:#7d5c9b;border-radius:11px;font-size:16px;line-height:1.65;font-weight:650}
.geometry-studio .gs-map-key{font-size:16px;line-height:1.65;color:#926f35;margin-top:16px}
.geometry-studio .gs-layout{display:grid;grid-template-columns:minmax(340px,1.1fr) minmax(310px,.9fr);gap:25px;align-items:start}
.geometry-studio .gs-work{padding:24px;border:1px solid #dce4d4;border-radius:22px;background:#f8faf3;min-width:0}
.geometry-studio .gs-side{padding:24px;border:1px solid #e4ddec;border-radius:22px;background:#fdfbff;min-width:0}
.geometry-studio .gs-palette{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:23px}
.geometry-studio .gs-paint{font-size:16px;line-height:1.5;font-weight:750;border:1px solid #d3dfcc;border-radius:11px;background:white;padding:10px 14px;min-height:46px;color:#6c7f60;transition:transform .16s,background .16s}
.geometry-studio .gs-paint.zone-2{border-color:#bddeea;color:#52829a}
.geometry-studio .gs-paint.zone-3{border-color:#e9d196;color:#9f7b33}
.geometry-studio .gs-paint.zone-0{color:#8a7999;border-color:#dfd4e9}
.geometry-studio .gs-paint.active{background:#e6f1d9;box-shadow:0 3px 0 #bccda9;transform:translateY(-2px);border-color:#96ad7d}
.geometry-studio .gs-paint.zone-2.active{background:#e0f1f8;border-color:#8ebccc;box-shadow:0 3px 0 #b4d3df}
.geometry-studio .gs-paint.zone-3.active{background:#fbf0cf;border-color:#d7b56a;box-shadow:0 3px 0 #e1cd95}
.geometry-studio .gs-paint.zone-0.active{background:#eee7f7;border-color:#b6a2cf;box-shadow:0 3px 0 #d2c3e1}
.geometry-studio .gs-board{display:grid;grid-template-columns:repeat(var(--gs-n,6),minmax(0,1fr));gap:3px;background:#d8e1d0;border:1px solid #cad5c0;border-radius:16px;padding:10px;width:100%;max-width:490px;margin:auto;position:relative;touch-action:none;user-select:none}
.geometry-studio .gs-cell{aspect-ratio:1;position:relative;border:1px solid #e3e8dc;border-radius:4px;background:#fffefa;min-width:0;padding:0;transition:background .13s,filter .13s;isolation:isolate}
.geometry-studio [data-zone="1"]{background:#badca8}
.geometry-studio [data-zone="2"]{background:#afd4e7}
.geometry-studio [data-zone="3"]{background:#f3d27c}
.geometry-studio .gs-cell:hover:not(:disabled){filter:brightness(.96);outline:2px solid #9272b3;outline-offset:-2px;z-index:3}
.geometry-studio .gs-cell.fixed{background-image:repeating-linear-gradient(135deg,transparent,transparent 7px,#ffffff40 7px,#ffffff40 10px);cursor:default}
.geometry-studio .gs-cell.edge-top{border-top:3px solid #ae814e}
.geometry-studio .gs-cell.edge-right{border-right:3px solid #ae814e}
.geometry-studio .gs-cell.edge-bottom{border-bottom:3px solid #ae814e}
.geometry-studio .gs-cell.edge-left{border-left:3px solid #ae814e}
.geometry-studio .gs-cell:is(:hover,:focus-visible).edge-top,.geometry-studio .gs-demo-cell:is(:hover,.selected).count-edges.edge-top{border-top-color:#744ca7}
.geometry-studio .gs-cell:is(:hover,:focus-visible).edge-right,.geometry-studio .gs-demo-cell:is(:hover,.selected).count-edges.edge-right{border-right-color:#744ca7}
.geometry-studio .gs-cell:is(:hover,:focus-visible).edge-bottom,.geometry-studio .gs-demo-cell:is(:hover,.selected).count-edges.edge-bottom{border-bottom-color:#744ca7}
.geometry-studio .gs-cell:is(:hover,:focus-visible).edge-left,.geometry-studio .gs-demo-cell:is(:hover,.selected).count-edges.edge-left{border-left-color:#744ca7}
.geometry-studio .gs-marker{position:absolute;inset:0;display:grid;place-items:center;font-size:21px;font-weight:850;color:#9a7136;pointer-events:none;text-shadow:0 1px 0 #fff}
.geometry-studio .gs-board.gs-mirror-v::before,.geometry-studio .gs-board.gs-mirror-h::after{content:"";position:absolute;pointer-events:none;z-index:4;opacity:.75}
.geometry-studio .gs-board.gs-mirror-v::before{left:50%;top:5px;bottom:5px;border-left:2px dashed #8b6caf}
.geometry-studio .gs-board.gs-mirror-h::after{top:50%;left:5px;right:5px;border-top:2px dashed #8b6caf}
.geometry-studio .gs-stats{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:23px}
.geometry-studio .gs-stats>div{flex:1;min-width:100px;text-align:center;background:#fff;border:1px solid #e1e7d7;border-radius:13px;padding:14px 10px}
.geometry-studio .gs-stats strong{font-size:25px;line-height:1.3;display:block;color:#4d6841;letter-spacing:-.03em}
.geometry-studio .gs-stats span{font-size:14px;line-height:1.5;color:#7b8a6e;display:block;margin-top:5px}
.geometry-studio .gs-cell-note{font-size:15px;line-height:1.7;min-height:50px;margin:18px 0;color:#7b846b}
.geometry-studio .gs-tools{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.geometry-studio .gs-button{font-size:17px;line-height:1.5;font-weight:750;min-height:49px;padding:13px 17px;border:1px solid #6d5097;border-radius:12px;background:#8564b2;color:white;box-shadow:0 3px 0 #644389;transition:transform .15s,box-shadow .15s;white-space:normal}
.geometry-studio .gs-button:hover{transform:translateY(-2px);box-shadow:0 5px 0 #644389}
.geometry-studio .gs-button:active{transform:translateY(2px);box-shadow:0 1px 0 #644389}
.geometry-studio .gs-secondary{font-size:16px;color:#7a698c;background:white;border-color:#ded4e9;box-shadow:0 3px 0 #e4dbea}
.geometry-studio .gs-secondary:hover{box-shadow:0 5px 0 #e4dbea}
.geometry-studio .gs-checks{list-style:none;padding:0;margin:15px 0 24px}
.geometry-studio .gs-checks li{display:flex;gap:12px;align-items:flex-start;padding:14px 0;border-bottom:1px dashed #e4dced}
.geometry-studio .gs-check-icon{display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;border-radius:50%;font-size:18px;font-weight:850;background:#eee8f3;color:#a891b8;margin-top:1px}
.geometry-studio .gs-checks li.met .gs-check-icon{color:#548344;background:#e5f0da}
.geometry-studio .gs-checks li strong{font-size:17px;line-height:1.5;display:block;color:#6d587e}
.geometry-studio .gs-checks li.met strong{color:#5f7850}
.geometry-studio .gs-checks li div>span{font-size:15px;line-height:1.7;display:block;margin-top:6px;color:#8c7c96}
.geometry-studio .gs-actions{display:flex;gap:12px;flex-wrap:wrap}
.geometry-studio .gs-actions .gs-button:first-child{width:100%}
.geometry-studio .gs-feedback{font-size:17px;line-height:1.75;background:#fff8e8;border:1px solid #e9d6b1;border-radius:13px;color:#8b744a;padding:16px;margin:21px 0}
.geometry-studio .gs-feedback.good{background:#edf6e7;border-color:#c8dcb7;color:#567a44}
.geometry-studio .gs-example{margin-top:22px;border-top:1px solid #e7dfed;padding-top:9px}
.geometry-studio .gs-example summary{font-size:17px;padding:12px 0}
.geometry-studio .gs-example p{font-size:16px;line-height:1.75}
.geometry-studio .gs-mini{margin:18px 0;max-width:220px}
.geometry-studio .gs-mini-grid{display:grid;grid-template-columns:repeat(var(--mini-n),1fr);gap:2px;background:#e3e8dc;border:1px solid #d7dfd0;padding:6px;border-radius:9px}
.geometry-studio .gs-mini-grid>span{display:block;aspect-ratio:1;border-radius:2px;background-color:#fff}
.geometry-studio .gs-mini-grid>span[data-zone="1"]{background-color:#badca8}
.geometry-studio .gs-mini-grid>span[data-zone="2"]{background-color:#afd4e7}
.geometry-studio .gs-mini-grid>span[data-zone="3"]{background-color:#f3d27c}
.geometry-studio figcaption{font-size:14px;line-height:1.7;color:#887895;margin-top:8px}
.geometry-studio .gs-gallery:empty{display:none}
.geometry-studio .gs-gallery{border-top:1px solid #e3d9eb;padding-top:18px;margin-top:20px}
.geometry-studio .gs-gallery>strong{font-size:17px;color:#7b5e92}
@container geometry-studio (max-width:850px){.geometry-studio .gs-layout{grid-template-columns:minmax(0,1fr)}.geometry-studio .gs-board{max-width:490px}.geometry-studio .gs-side{padding:25px}.geometry-studio .gs-header{flex-wrap:wrap}.geometry-studio .gs-progress{flex:1 1 100%;flex-direction:row;justify-content:space-between;gap:17px;text-align:left;padding:14px 19px}.geometry-studio .gs-progress span{margin:0;font-size:15px}.geometry-studio .gs-intro-body{grid-template-columns:minmax(0,1fr)}.geometry-studio .gs-tutorial-demo{max-width:430px;width:100%;justify-self:center}}
@container geometry-studio (max-width:420px){.geometry-studio h2{font-size:29px}.geometry-studio h3{font-size:25px}.geometry-studio .gs-header{gap:18px}.geometry-studio .gs-progress strong{font-size:27px;white-space:nowrap}.geometry-studio .gs-progress span{font-size:14px;max-width:160px;text-align:right}.geometry-studio .gs-intro-body{padding:20px 17px}.geometry-studio summary{padding:16px 18px}.geometry-studio .gs-tab{width:100%;font-size:17px}.geometry-studio .gs-tutorial-demo{padding:31px 20px 18px}.geometry-studio .gs-brief{padding:20px 17px;gap:13px;flex-wrap:wrap}.geometry-studio .gs-brief-number{width:47px;height:49px;font-size:25px;border-radius:13px}.geometry-studio .gs-brief p{font-size:17px}.geometry-studio .gs-work,.geometry-studio .gs-side{padding:20px 15px}.geometry-studio .gs-board{padding:7px;gap:3px}.geometry-studio .gs-palette{gap:9px}.geometry-studio .gs-paint{flex:1 1 105px;font-size:16px}.geometry-studio .gs-marker{font-size:18px}.geometry-studio .gs-stats{gap:10px}.geometry-studio .gs-stats strong{font-size:24px}.geometry-studio .gs-tools .gs-button{flex:1 1 110px}.geometry-studio .gs-mission-list{grid-template-columns:minmax(0,1fr);padding:0 15px 17px}.geometry-studio .gs-connect-note{padding:15px;gap:12px}.geometry-studio .gs-button{font-size:17px}.geometry-studio .gs-cell-note{font-size:15px}.geometry-studio .gs-secondary{font-size:16px}.geometry-studio .gs-actions .gs-button{width:100%}}
@media(max-width:700px){.geometry-studio .gs-layout,.geometry-studio .gs-intro-body{grid-template-columns:minmax(0,1fr)}.geometry-studio .gs-header{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.geometry-studio *{animation:none!important;transition:none!important}}
html[data-motion="reduced"] .geometry-studio *{animation:none!important;transition:none!important}
