*{box-sizing:border-box}html,body{margin:0;height:100%;font-family:Arial,Helvetica,sans-serif;color:#17202a;background:#e6e9ed}button,input,select{font-family:inherit}.topbar{height:66px;background:#18222e;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:8px 12px;box-shadow:0 2px 8px rgba(0,0,0,.2)}.brand{display:flex;align-items:center;gap:10px}.brand small{display:block;color:#abb6c1;margin-top:3px;font-size:11px}.logo{width:38px;height:38px;background:#d83232;border:2px solid #fff;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;font-weight:bold}.toolbar{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.btn{border:1px solid #c7d0d9;background:#fff;color:#253342;border-radius:5px;padding:7px 10px;font-weight:bold;font-size:12px;cursor:pointer}.btn.primary{background:#0b63ce;color:#fff;border-color:#0b63ce}.btn.danger{color:#b42318}.layout{height:calc(100% - 66px);display:grid;grid-template-columns:245px 1fr 245px}.sidebar{background:#f7f8fa;padding:12px;overflow:auto}.sidebar.left{border-right:1px solid #cfd6dd}.sidebar.right{border-left:1px solid #cfd6dd}.sidebar h3{font-size:12px;text-transform:uppercase;color:#4a5865;letter-spacing:.4px;margin:10px 0}.symbols{display:grid;grid-template-columns:1fr 1fr;gap:7px}.symbol{background:#fff;border:1px solid #d4dbe2;border-radius:6px;min-height:76px;padding:6px;text-align:center;cursor:pointer;font-size:11px;font-weight:bold}.symbol b{display:block;font-size:29px;margin-bottom:5px}.side{display:block;width:100%;margin:6px 0;padding:9px;text-align:left;border:1px solid #d4dbe2;background:#fff;border-radius:5px;cursor:pointer;font-weight:bold;color:#324454}.side.active{background:#e6f1ff;border-color:#78aee8;color:#0b55ad}.center{min-width:0;display:flex;flex-direction:column}.statusbar{height:48px;background:#fafbfc;border-bottom:1px solid #cfd6dd;padding:7px 12px;display:flex;align-items:center;justify-content:space-between}.statusbar small{display:block;color:#687787;font-size:11px;margin-top:2px}.viewport{flex:1;overflow:auto;padding:30px;background:#cfd5db}.stage{width:1400px;height:990px;margin:auto;background:#fff;box-shadow:0 8px 30px rgba(0,0,0,.22);transform-origin:top left}.stage canvas{display:block;width:1400px;height:990px}.sidebar label{display:block;font-size:11px;font-weight:bold;color:#596877;margin:9px 0}.sidebar input[type=text],.sidebar input[type=number],.sidebar select{width:100%;padding:7px;margin-top:4px;border:1px solid #cbd3db;border-radius:4px;background:#fff}.sidebar input[type=range]{width:100%;margin-top:6px}.row{display:grid;grid-template-columns:1fr 1fr;gap:7px}.muted,.note{font-size:12px;line-height:1.45;color:#71808f}.check{display:flex!important;align-items:center;gap:7px}.check input{margin:0}.note{background:#fff8db;border:1px solid #eadc9c;padding:8px;border-radius:5px}#zoomText{min-width:44px;text-align:center;font-size:12px}@media(max-width:1000px){.layout{grid-template-columns:210px 1fr}.sidebar.right{display:none}.brand div{display:none}}@media print{body{background:#fff}.topbar,.sidebar,.statusbar{display:none!important}.layout{display:block;height:auto}.center,.viewport{display:block;overflow:visible;padding:0;background:#fff}.stage{box-shadow:none;margin:0;transform:none!important;page-break-inside:avoid}}
.editor-block{margin-top:12px;padding-top:8px;border-top:1px solid #d7dde3}
.editor-block-title{font-size:11px;font-weight:bold;color:#536170;margin:6px 0}
.editor-list{display:block}
.editor-card{background:#fff;border:1px solid #d6dde4;border-radius:5px;padding:7px;margin-bottom:7px}
.editor-card .card-head{display:flex;gap:5px;align-items:center;margin-bottom:6px}
.editor-card .card-head input{margin:0;flex:1}
.mini-btn{border:1px solid #cfd6dd;background:#fff;border-radius:4px;padding:4px 7px;cursor:pointer;font-size:11px;font-weight:bold}
.mini-btn.danger{color:#b42318}
.person-row,.pair-row{display:grid;grid-template-columns:1fr 1fr auto;gap:5px;margin-bottom:5px}
.person-row input,.pair-row input{margin:0!important;padding:6px!important}
.add-person{width:100%;margin-top:4px}

.drawbar{height:44px;background:#f8fafc;border-bottom:1px solid #cbd3db;display:flex;align-items:center;gap:6px;padding:5px 12px;position:relative;z-index:5}
.drawbar-title{font-size:11px;font-weight:bold;color:#526170;margin-right:5px}
.drawtool{height:32px;border:1px solid #cbd3db;background:#fff;border-radius:5px;padding:0 11px;font-size:12px;font-weight:bold;color:#344454;cursor:pointer}
.drawtool.active{background:#e6f1ff;border-color:#78aee8;color:#0b55ad}
.drawbar-sep{width:1px;height:24px;background:#ccd4dc;margin:0 5px}
.accordion{width:100%;border:0;border-bottom:1px solid #d7dde3;background:#eef2f5;padding:11px 8px;text-align:left;font-size:11px;font-weight:bold;color:#354454;cursor:pointer;display:flex;justify-content:space-between}
.accordion.active{background:#e2ebf5;color:#0b55ad}
.accordion-panel{display:none;padding:8px 3px 12px}
.accordion-panel.open{display:block}

.layout{height:calc(100% - 110px);grid-template-columns:260px minmax(0,1fr)}
.sidebar.left{width:260px}
.center{width:100%}
@media(max-width:1000px){.layout{grid-template-columns:220px minmax(0,1fr)}.sidebar.left{width:220px}.brand div{display:none}}
@media print{.drawbar{display:none!important}}

.symbols{display:block}
.symbol-category{border:1px solid #d5dce3;border-radius:5px;margin-bottom:7px;overflow:hidden;background:#fff}
.symbol-category-head{width:100%;border:0;background:#f4f6f8;padding:8px 9px;display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:bold;color:#435363;cursor:pointer}
.symbol-category-head.active{background:#e7f0f8;color:#0b55ad}
.symbol-category-body{display:none;padding:6px}
.symbol-category-body.open{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.symbol.vector-symbol{min-height:108px;padding:5px 3px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}
.symbol-preview{width:56px;height:56px;margin-bottom:4px}
.symbol.vector-symbol span{display:block;font-size:10px;line-height:1.15}
.symbol.vector-symbol small{display:block;margin-top:3px;font-size:8px;font-weight:normal;color:#84919d}

.gk-logo{width:210px;height:44px;display:inline-block;flex:0 0 210px}
.gk-logo svg{display:block;width:210px;height:44px}
@media(max-width:900px){.gk-logo{width:155px;flex-basis:155px;overflow:hidden}}

.gk-logo{width:150px;height:44px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 150px}
.gk-logo img{display:block;max-width:145px;max-height:42px;width:auto;height:auto}

/* V5.4 - Beyaz üst menü */
.topbar{
  background:#ffffff !important;
  color:#263746 !important;
  border-bottom:1px solid #d7dde3 !important;
  box-shadow:0 1px 4px rgba(25,45,65,.08);
}
.brand{color:#263746 !important}
.brand b{color:#17324d !important}
.brand small{color:#667684 !important}
.gk-logo{
  background:#ffffff;
  border:0;
  border-radius:0;
  padding:0 8px 0 0;
  box-sizing:border-box;
}
.gk-logo img{
  mix-blend-mode:normal;
}
.topbar .toolbar .btn{
  background:#ffffff;
  color:#344454;
  border-color:#cbd3db;
}
.topbar .toolbar .btn:hover{background:#f3f6f8}
.topbar .toolbar .btn.primary{
  background:#0b5c3b;
  border-color:#0b5c3b;
  color:#ffffff;
}
.topbar .toolbar .btn.danger{
  background:#ffffff;
  border-color:#d7a4a4;
  color:#b42318;
}

/* V5.5 - Kompakt marka alanı */
.gk-logo{display:none!important}
.brand{gap:0!important}
.brand-copy{display:flex;flex-direction:column;justify-content:center;line-height:1.05}
.brand-copy b{font-size:16px;color:#17324d}
.brand-copy small{font-size:11px;color:#0b5c3b;margin-top:3px;font-weight:bold}
.brand-copy em{font-size:9px;color:#87939e;margin-top:2px;font-style:normal;letter-spacing:.2px}

/* V7 */
#viewport.pan-active{cursor:grab}
.topbar .toolbar{row-gap:5px}

/* V7.1 - gerçek iki eksenli PAN yüzeyi */
.viewport{overflow:scroll!important;position:relative}
.pan-surface{position:relative;margin:30px auto;min-width:1px;min-height:1px}
.pan-surface .stage{position:absolute;left:0;top:0;margin:0!important;transform-origin:top left}

/* V7.2 - PDF/print: paftayı tek sayfaya tam sığdır */
@media print{
 html,body{margin:0!important;padding:0!important;width:100%!important;height:auto!important;overflow:visible!important;background:#fff!important}
 .topbar,.sidebar,.statusbar,.drawbar{display:none!important}
 .layout,.center,.viewport{display:block!important;width:100%!important;height:auto!important;min-width:0!important;margin:0!important;padding:0!important;overflow:visible!important;background:#fff!important}
 .pan-surface{display:block!important;position:static!important;width:100%!important;height:auto!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important}
 .stage{display:block!important;position:static!important;left:auto!important;top:auto!important;width:100%!important;height:auto!important;margin:0!important;padding:0!important;box-shadow:none!important;transform:none!important;page-break-inside:avoid!important;break-inside:avoid!important}
 .stage canvas{display:block!important;width:100%!important;height:auto!important;max-width:100%!important;margin:0!important;padding:0!important}
}

#symbolHoverTip{position:absolute;display:none;pointer-events:none;z-index:20;max-width:260px;padding:6px 9px;border-radius:5px;background:#17202a;color:white;font-size:12px;font-weight:600;box-shadow:0 3px 12px #0004;white-space:normal}
@media print{#symbolHoverTip{display:none!important}}

/* V8 - üstte iki eşit işlevsel araç paneli */
.drawbar{height:auto;min-height:88px;display:grid;grid-template-columns:minmax(410px,1fr) minmax(490px,1.1fr);gap:12px;padding:10px 14px;background:#edf2f7;align-items:stretch;z-index:8}
.top-tools,.top-selection{min-width:0;background:#fff;border:1px solid #d6e0e9;border-radius:10px;padding:10px 12px;box-shadow:0 2px 8px #23374d0b}
.top-tools-label{font-size:10px;letter-spacing:1.1px;font-weight:800;color:#52687b;margin-bottom:9px}
.top-tools-content{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.drawtool{height:32px;border-radius:7px;padding:0 9px;transition:background .15s,border-color .15s}
.drawtool:hover{background:#e9f3ff;border-color:#8bb6e5}
.top-selection .muted{font-size:12px;color:#8293a3}
#selectionTopHost #props{width:100%}
#selectionTopHost #props[style*="block"]{display:flex!important;align-items:end;flex-wrap:wrap;gap:7px}
#selectionTopHost label{display:flex;flex-direction:column;font-size:10px;font-weight:700;color:#5c6f80;gap:4px;min-width:66px}
#selectionTopHost input,#selectionTopHost select{height:30px;border:1px solid #cbd6e0;border-radius:6px;background:#fff;padding:3px 6px;max-width:138px;font-size:12px}
#selectionTopHost input[type=range]{width:98px;padding:0}
#selectionTopHost input[type=color]{width:45px;padding:2px}
#selectionTopHost .row,#selectionTopHost #sizeRow,#selectionTopHost #rotationRow,#selectionTopHost #lineProps{display:flex!important;gap:7px;align-items:end;flex-wrap:wrap}
#selectionTopHost #sizeRow[style*="none"],#selectionTopHost #rotationRow[style*="none"],#selectionTopHost #lineProps[style*="none"]{display:none!important}
#selectionTopHost .row input,#selectionTopHost #sizeRow input{width:70px}
#selectionTopHost #pName{width:125px}
#selectionTopHost #pDirection{max-width:160px}
#selectionTopHost .check{flex-direction:row;align-items:center}
.layout{height:calc(100% - 66px - 108px)}
@media(max-width:1250px){.drawbar{grid-template-columns:1fr}.layout{height:calc(100% - 66px - 196px)}}
@media(max-width:750px){.drawbar{padding:6px;gap:6px}.top-tools,.top-selection{padding:8px}.layout{height:calc(100% - 66px - 215px)}}
@media print{.drawbar{display:none!important}}

#app{height:100vh;display:flex;flex-direction:column}.topbar{flex:0 0 66px}.drawbar{flex:0 0 auto}.layout{flex:1 1 auto;height:auto!important;min-height:0}

/* V9: iki sabit, yatay, profesyonel araç şeridi */
html,body{height:100%;overflow:hidden}
#app{height:100vh;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.topbar{height:56px!important;min-height:56px;flex:0 0 56px!important;display:flex;align-items:center;gap:14px;padding:0 12px!important;box-shadow:none!important}
.brand{flex:0 0 auto;white-space:nowrap}
.brand-copy b{font-size:16px!important;white-space:nowrap}
.brand-copy small{font-size:10px!important;margin-top:2px!important;color:#667684!important;font-weight:400!important}
.brand-copy em{font-size:10px!important;margin-top:1px!important}
.topbar .toolbar{display:flex;align-items:center;flex:1;gap:9px;flex-wrap:nowrap!important;min-width:0;overflow-x:auto;scrollbar-width:thin;justify-content:flex-start}
.topbar .btn{height:32px;flex:none;white-space:nowrap;padding:0 11px!important;font-size:13px!important;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.topbar .icon-btn{width:34px;padding:0!important;font-size:21px!important;font-weight:500}
.toolbar-sep{flex:none;width:1px;height:25px;background:#d6dce2;margin:0 3px}
.toolbar-spacer{flex:1 0 8px}
#zoomText{min-width:42px;font-size:13px;color:#596674;font-weight:700;white-space:nowrap}
.drawbar{height:48px!important;min-height:48px!important;flex:0 0 48px!important;display:flex!important;align-items:center!important;gap:12px!important;padding:0 12px!important;overflow-x:auto;overflow-y:hidden;white-space:nowrap;background:#f6f8fa!important;border-bottom:1px solid #d9e0e6;box-shadow:none;scrollbar-width:thin}
.tool-actions,.selection-tools,.props-inline{display:flex;align-items:center;gap:9px;flex:none;min-width:0;white-space:nowrap}
.selection-tools[hidden]{display:none!important}
.drawtool{height:32px;flex:none;white-space:nowrap;font-size:13px;font-weight:500;border:1px solid transparent;background:transparent;padding:0 9px;border-radius:7px;display:inline-flex;align-items:center;gap:7px}
.drawtool span{font-size:14px}
.drawtool.active{background:#e0ebf4;color:#174c87;font-weight:700;border-color:transparent}
.drawbar-sep{width:1px;height:27px;background:#cbd5df;flex:none;margin:0 3px}
.selection-pill{background:#254e89;color:white;border-radius:14px;padding:5px 10px;font-size:11px;font-weight:800;letter-spacing:.15px;flex:none}
.selection-tools{flex:1;gap:9px}
#props{display:flex;align-items:center;gap:9px;white-space:nowrap}
#props label{display:inline-flex!important;flex-direction:row!important;align-items:center!important;gap:6px!important;margin:0!important;white-space:nowrap;color:#4a5b69;font-size:12px;font-weight:700}
#props input{height:28px!important;border:1px solid #cbd4df;border-radius:6px;background:#fff;padding:3px 7px;font-size:13px;min-width:0}
#pName{width:190px!important;max-width:none!important}
#pX,#pY,#pW,#pH{width:60px!important;max-width:none!important}
#pRot{width:125px!important;height:20px!important;padding:0!important;accent-color:#3277b5}
#rotVal{font-size:12px;font-weight:500;min-width:25px}
#pRotNumber{width:56px!important;max-width:none!important}
#pColor{width:36px!important;padding:2px!important}
#pStroke{width:90px!important;padding:0!important}
#props .check input{width:auto!important;height:auto!important}
#sizeRow[style*="none"],#rotationRow[style*="none"],#lineProps[style*="none"]{display:none!important}
.selection-delete{margin-left:auto;height:28px!important;border:1px solid #e7b4b4;background:white;color:#b42318;border-radius:6px;padding:0 12px;flex:none}
.layout{flex:1 1 auto;min-height:0!important;height:auto!important;display:flex!important;overflow:hidden}
.sidebar.left{flex:0 0 268px;width:268px!important;padding:0 9px 12px;overflow-y:auto;overflow-x:hidden}
.sidebar .accordion{height:36px;padding:0 9px;align-items:center}
.sidebar .accordion-panel{padding:7px 2px 12px}
.symbol-category-body.open{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:4px}
.symbol.vector-symbol{min-height:76px;padding:4px 2px}
.symbol-preview{width:37px;height:37px;margin-bottom:3px}
.symbol.vector-symbol span{font-size:9px;overflow-wrap:anywhere}
.symbol.vector-symbol small{display:none}
.center{flex:1;min-width:0;min-height:0;position:relative;overflow:hidden}
.workspace-caption{height:28px;flex:0 0 28px;display:flex;align-items:center;gap:12px;padding:0 12px;background:#d8dfe5;white-space:nowrap;overflow:hidden;color:#243d55}
.workspace-caption b{font-size:13px}.workspace-caption small{font-size:12px;color:#627081;overflow:hidden;text-overflow:ellipsis}
.viewport{flex:1;min-height:0;padding:0!important;overflow:auto!important;background:#9ea9b2!important}
.pan-surface{margin:32px auto!important}
.status-footer{height:26px;flex:0 0 26px;background:#f8fafb;border-top:1px solid #d7dde3;display:flex;align-items:center;justify-content:flex-end;gap:22px;padding:0 14px;font-size:11px;color:#667686;white-space:nowrap}
@media(max-width:1100px){.brand-copy b{font-size:14px!important}.sidebar.left{flex-basis:260px;width:260px!important}}
@media print{.status-footer,.workspace-caption{display:none!important}.layout{display:block!important}.viewport{display:block!important}}

/* V10: sıkı tek satır, ince pafta çevresi */
.drawbar{gap:5px!important;padding:0 7px!important;overflow-x:hidden!important}
.tool-actions,.selection-tools,.props-inline,#props{gap:4px!important}
.drawtool{padding:0 5px!important;gap:4px!important;font-size:11px!important;height:29px!important}
.drawtool span{font-size:12px!important}
.drawbar-sep{margin:0 2px!important}
.selection-pill{padding:4px 6px!important;font-size:9px!important;letter-spacing:0!important}
#props label{gap:3px!important;font-size:10px!important}
#props input{height:26px!important;padding:2px 3px!important;font-size:11px!important}
#pName{width:clamp(75px,9vw,135px)!important}
#pX,#pY,#pW,#pH{width:clamp(38px,3.8vw,52px)!important}
#pRot{width:clamp(54px,6vw,92px)!important}
#pRotNumber{width:43px!important}
#rotVal{min-width:20px!important;font-size:10px!important}
#pStroke{width:55px!important}
.selection-delete{padding:0 7px!important;margin-left:auto!important;font-size:11px!important}
.pan-surface{margin:7px auto!important}
.viewport{background:#aab2b9!important}
.stage{box-shadow:0 0 0 1px #87929c,0 1px 5px rgba(0,0,0,.14)!important}
@media(max-width:1150px){.drawtool{font-size:10px!important;padding:0 3px!important}.selection-pill{font-size:8px!important}#pName{width:76px!important}#pRot{width:52px!important}}

/* V11 - özelliklerin aynı hizada olması ve üç sütunlu kütüphane */
.sidebar .symbol-category-body.open{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}
#sizeRow,#rotationRow,#lineProps{display:flex;align-items:center;gap:4px;min-width:0}
#props label,#props .prop-angle,#props .prop-stroke{display:inline-flex!important;align-items:center!important;flex-direction:row!important;gap:4px!important;margin:0!important;line-height:1!important;vertical-align:middle!important;white-space:nowrap}
#pRotNumber{width:46px!important}
#pStroke{width:65px!important}
.selection-delete{display:inline-flex!important;align-items:center;justify-content:center;min-width:36px;height:28px!important;flex:none!important;margin-left:auto!important}
.pan-top.active{background:#dcecfb!important;border-color:#6c9dcc!important;color:#154e83!important}
#viewport.pan-active,#viewport.pan-active *{cursor:grab!important}
#viewport.pan-dragging,#viewport.pan-dragging *{cursor:grabbing!important;user-select:none!important}
.pan-surface{will-change:transform}

/* V12: compact selected-object bar, guaranteed visible delete and aligned controls */
#selectionTopHost.selection-tools{display:flex;align-items:center;flex:1 1 auto;min-width:0;gap:5px!important;overflow:hidden}
#selectionTopHost.selection-tools[hidden]{display:none!important}
#selectionTopHost .selection-delete{order:0;display:inline-flex!important;align-items:center!important;justify-content:center!important;position:relative;flex:0 0 auto!important;margin:0!important;min-width:39px!important;padding:0 7px!important;height:28px!important;white-space:nowrap;z-index:1}
#selectionTopHost .selection-pill{order:-1}
#selectionTopHost .drawbar-sep{order:-2}
#selectionTopHost #props{order:1;display:flex;align-items:center!important;gap:4px!important;flex:1 1 auto;min-width:0;width:auto!important;overflow:hidden}
#selectionTopHost #sizeRow,#selectionTopHost #rotationRow,#selectionTopHost #lineProps{align-items:center!important;align-self:center!important;flex-wrap:nowrap!important;gap:4px!important;min-width:0}
#selectionTopHost #props label,#selectionTopHost #props .prop-angle,#selectionTopHost #props .prop-stroke{display:inline-flex!important;flex-direction:row!important;align-items:center!important;align-self:center!important;justify-content:flex-start;flex-wrap:nowrap!important;min-width:0!important;margin:0!important;padding:0!important;gap:3px!important;line-height:28px!important;height:28px!important;vertical-align:middle!important;white-space:nowrap!important}
#selectionTopHost #props input{align-self:center!important;flex:0 1 auto;vertical-align:middle!important;margin:0!important}
#selectionTopHost #pName{width:clamp(64px,7.5vw,110px)!important}
#selectionTopHost #pX,#selectionTopHost #pY,#selectionTopHost #pW,#selectionTopHost #pH{width:clamp(34px,3vw,46px)!important}
#selectionTopHost #pRot{width:clamp(45px,4.4vw,70px)!important}
#selectionTopHost #pRotNumber{width:42px!important}
#selectionTopHost #pStroke{width:clamp(42px,4vw,60px)!important}
#selectionTopHost #rotVal,#selectionTopHost #strokeVal{display:inline-flex;align-items:center;height:28px;line-height:28px!important}
#selectionTopHost #lineProps[style*="none"],#selectionTopHost #rotationRow[style*="none"],#selectionTopHost #sizeRow[style*="none"]{display:none!important}

/* V25: drag and drop affordances */
.symbol.vector-symbol[draggable="true"]{cursor:grab}
.symbol.vector-symbol.symbol-dragging{opacity:.45;cursor:grabbing}
.symbol-drop-target{outline:2px dashed #009B78;outline-offset:-3px}

/* V26: tablet layout and touch interaction */
#canvas{touch-action:none}
#viewport{overscroll-behavior:contain}
.touch-symbol-ghost{display:none;position:fixed;z-index:9999;pointer-events:none;transform:translate(-50%,-50%);padding:12px 16px;max-width:180px;text-align:center;border:2px solid #009B78;border-radius:12px;background:rgba(255,255,255,.94);color:#17382e;box-shadow:0 6px 22px #0004;font-size:13px;font-weight:bold}
@media (pointer:coarse){
  button,.accordion,.drawtool{min-height:42px}
  .symbol.vector-symbol{min-height:90px;touch-action:pan-y}
  .symbol.vector-symbol[draggable=true]{touch-action:pan-y}
  input[type=range]{min-height:34px}
  #viewport{touch-action:none}
}
@media (max-width:1024px) and (pointer:coarse){
  .topbar{height:auto!important;min-height:60px;flex-wrap:wrap}
  .toolbar{flex-wrap:wrap;gap:5px;padding:5px}
  .layout{height:auto!important;min-height:calc(100dvh - 200px);display:flex!important;flex-direction:row!important}
  .sidebar.left{flex:0 0 220px!important;width:220px!important;max-width:38vw}
  .center{min-width:0;flex:1;min-height:65dvh}
  .drawbar{height:auto!important;min-height:52px}
  .drawbar .tool-actions{flex-wrap:wrap}
  .status-footer{min-height:30px}
}
@media (max-width:650px) and (pointer:coarse){
  .layout{flex-direction:column!important}
  .sidebar.left{width:100%!important;max-width:none!important;flex-basis:auto!important;max-height:31dvh}
  .center{min-height:54dvh}
  .brand{display:none}
}

/* V32 text editor and object clipboard */
.text-edit-overlay{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:10000;display:flex;align-items:center;justify-content:center}
.text-edit-box{background:white;padding:20px;border-radius:10px;width:480px;max-width:90vw;color:#1b2733}
.text-edit-box textarea{display:block;box-sizing:border-box;width:100%;height:200px;white-space:pre-wrap;overflow-wrap:anywhere;resize:vertical;margin-bottom:12px;font-family:Arial,sans-serif}
.text-edit-box label{display:block;margin-bottom:12px}.text-edit-box input{width:80px}.text-edit-box button{margin-right:8px}
.object-menu{position:fixed;z-index:10001;background:white;border:1px solid #b6c1ce;box-shadow:0 4px 16px #0003;padding:5px;min-width:150px;border-radius:5px}
.object-menu button{display:block;width:100%;border:0;background:white;text-align:left;padding:9px;cursor:pointer}.object-menu button:hover{background:#eaf2fc}.object-menu button:disabled{color:#999;cursor:default}

#connectionStatus{color:#9b3500;font-weight:bold} .status-footer{height:auto;min-height:26px;flex:0 0 auto;flex-wrap:wrap;white-space:normal;padding-top:5px;padding-bottom:5px}

.help-download{text-decoration:none}.brand-copy em{font-size:12px!important;font-weight:bold;color:#009B78;order:0}.account-info{font-size:11px;white-space:nowrap}.session-gate{position:fixed;inset:0;background:rgba(15,35,45,.82);z-index:30000;display:flex;align-items:center;justify-content:center}.session-card{background:#fff;border-radius:12px;padding:28px;max-width:540px;margin:20px;line-height:1.6}.session-card button{margin:6px}.session-gate[hidden]{display:none}.session-card a{color:#006b55}

[hidden]{display:none!important}

.demo-badge{color:#b91923;background:#fff0f0;border:1px solid #edb3b8;border-radius:4px;padding:3px 8px;font-weight:bold;font-size:12px;white-space:nowrap}.demo-note{background:#fff5ed;border-color:#edcdb8}

/* Demo R03: V33 desktop toolbar dimensions, including touch-enabled PCs. */
.topbar{height:56px!important;min-height:56px!important;max-height:56px!important;flex:0 0 56px!important;flex-wrap:nowrap!important}
.topbar .toolbar{flex-wrap:nowrap!important;padding:0;overflow-y:hidden}
.topbar .btn{height:32px!important;min-height:32px!important;max-height:32px!important;font-size:13px!important;line-height:normal;text-decoration:none}
.topbar .icon-btn{font-size:21px!important}

/* R04: same toolbar content and measurements as V33. */
.topbar .toolbar{gap:9px!important;padding:0!important}
.topbar .toolbar .btn{height:32px!important;min-height:32px!important;max-height:32px!important;padding:0 11px!important;font-size:13px!important}
.topbar .toolbar .icon-btn{width:34px!important;padding:0!important;font-size:21px!important}
@media(max-width:1200px){
 .topbar{gap:8px!important;padding:0 8px!important}
 .topbar .toolbar{gap:4px!important}
 .topbar .toolbar .btn{padding:0 6px!important;font-size:12px!important}
 .topbar .toolbar .icon-btn{width:28px!important;padding:0!important;font-size:20px!important}
 .topbar .toolbar-sep{margin:0 1px!important}
}
