/* ============================================================
   STUDENT V2 — SHARED SCRATCHPAD v1.0.0
   Ortak Karalama / Çözüm Alanı görünümü
   ============================================================ */

.scratchpad-open-btn{
    min-height:40px;
    padding:0 13px;
    border:1px solid rgba(124,108,242,.30);
    border-radius:12px;
    background:rgba(124,108,242,.10);
    color:var(--sv-primary);
    font-weight:900;
    cursor:pointer;
}
.scratchpad-modal{
    position:fixed;
    inset:0;
    z-index:1200;
    display:none;
    background:rgba(20,24,38,.62);
    backdrop-filter:blur(5px);
}
.scratchpad-modal.open{
    display:flex;
    align-items:stretch;
    justify-content:center;
}
.scratchpad-sheet{
    width:min(1100px,100%);
    height:100%;
    display:flex;
    flex-direction:column;
    background:#fff;
}
.scratchpad-toolbar{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    padding:10px 12px;
    border-bottom:1px solid var(--sv-border);
    background:var(--sv-surface);
    box-shadow:0 4px 14px rgba(25,35,60,.08);
}
.scratchpad-toolbar strong{
    margin-right:auto;
    color:var(--sv-text);
}
.scratchpad-tool{
    min-height:38px;
    padding:0 12px;
    border:1px solid var(--sv-border);
    border-radius:11px;
    background:var(--sv-bg-soft);
    color:var(--sv-text);
    font-weight:850;
    cursor:pointer;
}
.scratchpad-tool.active{
    border-color:var(--sv-primary);
    background:rgba(124,108,242,.13);
    color:var(--sv-primary);
}
.scratchpad-tool.danger{
    color:var(--sv-danger);
}
.scratchpad-close{
    background:var(--sv-primary);
    color:#fff;
    border-color:var(--sv-primary);
}
.scratchpad-canvas-wrap{
    position:relative;
    flex:1 1 auto;
    min-height:0;
    overflow:hidden;
    background-color:#fff;
    background-image:
        linear-gradient(rgba(92,106,140,.09) 1px, transparent 1px),
        linear-gradient(90deg, rgba(92,106,140,.09) 1px, transparent 1px);
    background-size:32px 32px;
background-position:center center;
}
#scratchpadCanvas{
    display:block;
    width:100%;
    height:100%;
    touch-action:none;
    cursor:crosshair;
}
body.scratchpad-lock{
    overflow:hidden;
}


/* ============================================================
   SCRATCHPAD — BEYAZ / ŞEFFAF YÜZEY MODU
   ============================================================ */
.scratchpad-surface-mode{white-space:nowrap}

.scratchpad-modal.scratchpad-transparent{
    background:transparent;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    pointer-events:none;
}
.scratchpad-modal.scratchpad-transparent .scratchpad-sheet{
    background:transparent;
    pointer-events:none;
}
.scratchpad-modal.scratchpad-transparent .scratchpad-toolbar{
    background:rgba(255,255,255,.94);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    pointer-events:auto;
}
.scratchpad-modal.scratchpad-transparent .scratchpad-canvas-wrap{
    background:transparent;
    background-image:none;
    pointer-events:auto;
}
.scratchpad-modal.scratchpad-transparent #scratchpadCanvas{
    background:transparent;
    pointer-events:auto;
}
@media (max-width:600px){
    .scratchpad-surface-mode{min-width:92px}
}


/* Uzun sorularda Çözüm Alanına sabit erişim */
.scratchpad-edge-handle{
  position:fixed;right:0;top:56%;z-index:1080;
  transform:translate(110%,-50%);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  min-width:48px;min-height:68px;padding:8px 7px 9px;
  border:1px solid rgba(124,108,242,.32);border-right:0;border-radius:16px 0 0 16px;
  background:rgba(255,255,255,.96);color:var(--sv-primary,#6558cd);
  box-shadow:0 8px 24px rgba(35,42,70,.16);
  font-family:inherit;cursor:pointer;opacity:0;pointer-events:none;
  transition:transform .18s ease,opacity .18s ease,box-shadow .18s ease;
  -webkit-tap-highlight-color:transparent;
}
.scratchpad-edge-handle.visible{transform:translate(0,-50%);opacity:1;pointer-events:auto}
.scratchpad-edge-handle:active{transform:translate(0,-50%) scale(.96)}
.scratchpad-edge-handle>span{font-size:21px;line-height:1}
.scratchpad-edge-handle>small{font-size:9px;line-height:1;font-weight:900}
body.scratchpad-lock .scratchpad-edge-handle{opacity:0!important;pointer-events:none!important}
@media(max-width:600px){
  .scratchpad-edge-handle{top:55%;min-width:45px;min-height:64px;padding:7px 6px 8px}
}


/* ============================================================
   SCRATCHPAD — ARAÇLAR PALETİ / CETVEL
   Palette toolbar yüksekliğini değiştirmez.
   ============================================================ */
.scratchpad-tools-host{
  position:relative;
  display:inline-flex;
}
.scratchpad-tools-button{
  white-space:nowrap;
}
.scratchpad-tools-button>span{
  margin-left:3px;
}
.scratchpad-tools-menu{
  position:absolute;
  right:0;
  top:calc(100% + 8px);
  bottom:auto;
  z-index:1305;
  display:none;
  min-width:150px;
  padding:7px;
  border:1px solid var(--sv-border);
  border-radius:14px;
  background:rgba(255,255,255,.98);
  box-shadow:0 12px 34px rgba(25,35,60,.20);
}
.scratchpad-tools-menu.open{display:block}
.scratchpad-tools-menu-item{
  width:100%;
  min-height:46px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 10px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:var(--sv-text);
  font:inherit;
  cursor:pointer;
  text-align:left;
}
.scratchpad-tools-menu-item:hover,
.scratchpad-tools-menu-item.active{
  background:rgba(124,108,242,.12);
  color:var(--sv-primary);
}
.scratchpad-tools-menu-item>span{font-size:21px}
.scratchpad-tools-menu-item>b{font-size:12px}

.scratchpad-tools-menu{min-width:170px}
.scratchpad-tools-menu-item+ .scratchpad-tools-menu-item{margin-top:2px}


/* Araçlar paleti toolbarın ALTINA açılır; viewport dışına kaçmaz. */
.scratchpad-tools-menu{
  color:#1f2937!important;
  background:#fff!important;
  max-height:min(62vh,420px);
  overflow-y:auto;
  overscroll-behavior:contain;
}
.scratchpad-tools-menu-item{
  color:#1f2937!important;
  background:#fff!important;
}
.scratchpad-tools-menu-item b{color:inherit!important}
.scratchpad-tools-menu-item.active{
  color:#5b4fc4!important;
  background:#f1efff!important;
}
.scratchpad-color-row{
  margin-top:7px;
  padding:9px 8px 5px;
  border-top:1px solid #e5e7eb;
}
.scratchpad-color-row>small{
  display:block;
  margin-bottom:8px;
  color:#64748b;
  font-size:10px;
  font-weight:900;
}
.scratchpad-color-button{
  width:30px;
  height:30px;
  margin-right:7px;
  padding:0;
  border:3px solid #fff;
  border-radius:50%;
  background:var(--scratch-color);
  box-shadow:0 0 0 1px #cbd5e1;
  cursor:pointer;
}
.scratchpad-color-button.active{
  box-shadow:0 0 0 3px #7c6cf2;
}
@media(max-width:600px){
  .scratchpad-tools-menu{
    position:fixed;
    top:max(64px,env(safe-area-inset-top));
    right:10px;
    bottom:auto;
    left:auto;
    width:min(210px,calc(100vw - 20px));
    max-height:70vh;
  }
}

/* Koordinat sistemi ile beyaz kareli zemin aynı 32px birim sistemini kullanır. */
.scratchpad-canvas-wrap{
  background-size:32px 32px;
  background-position:center center;
}

.scratchpad-modal.scratchpad-coordinate-active .scratchpad-canvas-wrap{
  background-image:none;
}
