/* Yamama PDF — shell (shared with Diagrams) */
@font-face{font-family:Handicrafts;font-weight:400 700;font-display:swap;src:url(/fonts/handicrafts-bold.woff2) format('woff2')}
:root{--brand:#5b2a9e;--brand2:#7c3aed;--deep:#3b1366;--brand-soft:#f1eafc;--bg:#f7f5fc;--line:#e7e0f5;--line2:#d9cff0;--hover:#f2ecfc;--soft:#f8f5fe;--grad:linear-gradient(120deg,#3b1366,#6d28d9 55%,#8b5cf6);--ink:#21153d;--ink2:#4a3f66;--muted:#6f6787}
.btn.pri{background:var(--grad);border:0;box-shadow:0 2px 8px rgba(59,19,102,.22)}
.btn.pri:hover{background:linear-gradient(120deg,#33105a,#5b21b6 55%,#7c3aed)}
h1,h2,.brand b,.hero2 h1{font-family:Handicrafts,var(--ui)}
body.yd{overflow:hidden;height:100%;background:var(--bg)}
body.yd #home{height:100%;overflow:auto}
#splash{position:fixed;inset:0;display:grid;place-items:center;background:#fff;z-index:99;transition:opacity .4s}
#splash.out{opacity:0;pointer-events:none}
#splash .in{display:flex;flex-direction:column;align-items:center;gap:10px}
#splash svg{width:64px;height:70px}
#splash .wm{font-family:Handicrafts,var(--ui);font-size:22px;color:var(--deep);text-align:center}
#splash .wm small{display:block;font-family:var(--ui);font-size:11px;letter-spacing:.2em;color:var(--muted)}
/* ---------- editor layout ---------- */
#ed{position:fixed;inset:0;display:flex;flex-direction:column;background:var(--bg)}
#tb{height:52px;display:flex;align-items:center;gap:6px;padding:0 10px;background:#fff;border-bottom:1px solid var(--line);flex:none}
#tb .ttl{border:1px solid transparent;border-radius:8px;padding:6px 8px;font-weight:700;font-size:15px;min-width:80px;max-width:280px;width:28vw;background:transparent;color:var(--ink)}
#tb .ttl:hover{border-color:var(--line)}#tb .ttl:focus{border-color:var(--brand2);outline:0;background:#fff}
.sstate{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}
.sstate.bad{color:#9a3412}
.grow{flex:1}
.tgrp{display:flex;align-items:center;gap:2px}
.zbtn{min-width:52px;height:32px;border-radius:8px;font-size:13px;font-weight:600;color:var(--ink2)}
.zbtn:hover{background:var(--hover)}
.ai-btn{background:var(--grad);color:#fff;border:0}
.ai-btn:hover{filter:brightness(1.08)}
.acct{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 10px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:13px;font-weight:600;color:var(--ink2)}
.acct .av{width:24px;height:24px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;font-size:12px}
.acct .nm{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#tools{display:flex;align-items:center;gap:2px;padding:4px 8px;background:#fff;border-bottom:1px solid var(--line);flex:none;overflow-x:auto;scrollbar-width:none}
#tools::-webkit-scrollbar{display:none}
.ib.on,.ib[aria-pressed=true]{background:var(--brand-soft);color:var(--brand)}
.ib:disabled{opacity:.35;cursor:default}
.sepv{width:1px;height:24px;background:var(--line);margin:0 4px;flex:none}
.shq svg{display:block}
#main{flex:1;display:flex;min-height:0;position:relative}
#lib,#props{width:250px;flex:none;background:#fff;overflow:auto;border-inline-end:1px solid var(--line)}
#props{width:276px;border-inline-end:0;border-inline-start:1px solid var(--line)}
#lib.hide,#props.hide{display:none}
.libh{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 6px;position:sticky;top:0;background:#fff;z-index:2}
.libh b{font-size:14px}
.xs-close{display:none}
.libs{padding:0 12px 8px;position:sticky;top:42px;background:#fff;z-index:2}
.libs input{width:100%;height:36px;border:1px solid var(--line2);border-radius:9px;padding:0 10px;background:var(--soft)}
.lcat{border-top:1px solid var(--line)}
.lcat summary{padding:10px 14px;font-weight:700;font-size:13px;cursor:pointer;color:var(--ink2);list-style:none;display:flex;justify-content:space-between}
.lcat summary::after{content:'+';color:var(--muted)}.lcat[open] summary::after{content:'–'}
.lgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:0 8px 10px}
.ltile{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;border-radius:9px;border:1px solid transparent;font-size:10.5px;color:var(--ink2);line-height:1.25;text-align:center;cursor:grab;min-height:72px;touch-action:manipulation}
.ltile:hover{background:var(--hover);border-color:var(--line)}
.ltile span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ltile.sm{min-height:0;padding:4px}.ltile.on{border-color:var(--brand2);background:var(--brand-soft)}
#stage{flex:1;position:relative;overflow:hidden;background:#fff;touch-action:none;user-select:none;-webkit-user-select:none}
#stage.grid{background-image:linear-gradient(rgba(91,42,158,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(91,42,158,.07) 1px,transparent 1px),linear-gradient(rgba(91,42,158,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(91,42,158,.035) 1px,transparent 1px)}
#stage.grid.nogrid{background-image:linear-gradient(rgba(91,42,158,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(91,42,158,.06) 1px,transparent 1px)}
#cv{width:100%;height:100%;display:block;touch-action:none}
#stage.tool-hand #cv{cursor:grab}#stage.panning #cv{cursor:grabbing}#stage.tool-cross #cv{cursor:crosshair}
.shp{cursor:move}.con{cursor:pointer}
.selr,.selb{fill:none;stroke:#7c3aed;pointer-events:none}
.selc{fill:none;stroke:#8b5cf6;stroke-opacity:.35;pointer-events:none}
.hd{fill:#fff;stroke:#7c3aed;cursor:pointer}
.hd.rs{cursor:nwse-resize}.hd.rot{fill:#7c3aed;cursor:grab}
.hd.port{fill:#fff;stroke:#7c3aed;opacity:.9;cursor:crosshair}
.hd.port:hover{fill:#7c3aed}
.hd.cend.on{fill:#7c3aed}
.rotl{stroke:#7c3aed;pointer-events:none}
.guide{stroke:#d946ef;stroke-dasharray:4 3;pointer-events:none}
.marq{fill:rgba(124,58,237,.08);stroke:#7c3aed;stroke-dasharray:4 3;pointer-events:none}
.con.ghost{opacity:.7;pointer-events:none}
#te{position:absolute;z-index:5;border:2px solid #7c3aed;border-radius:6px;background:rgba(255,255,255,.97);padding:4px 6px;resize:none;font-family:var(--ui);line-height:1.32;box-shadow:0 6px 20px rgba(59,19,102,.18);outline:0;color:var(--ink)}
#pagebar{display:flex;align-items:center;gap:4px;padding:4px 10px;background:#fff;border-top:1px solid var(--line);flex:none;overflow-x:auto;min-height:40px}
.ptab{height:30px;padding:0 14px;border-radius:8px;font-size:13px;font-weight:600;color:var(--ink2);white-space:nowrap;border:1px solid transparent}
.ptab:hover{background:var(--hover)}.ptab.on{background:var(--brand-soft);color:var(--brand);border-color:var(--line2)}
.pinfo{font-size:12px;color:var(--muted);white-space:nowrap}
#mbar{display:none}
/* ---------- format panel ---------- */
.ptabs{margin:4px 12px 6px;display:flex}.ptabs button{flex:1;justify-content:center}
.pbody{padding:4px 14px 18px}
.pbody h4{font-size:12px;font-weight:700;color:var(--muted);margin:14px 0 6px;display:flex;align-items:center;justify-content:space-between}
.swl{display:grid;grid-template-columns:repeat(9,1fr);gap:4px}
.sw{aspect-ratio:1;border-radius:6px;background:var(--c);border:1px solid rgba(33,21,61,.15);min-width:0}
.sw.on{outline:2px solid #7c3aed;outline-offset:1px}
.sw.none{background:linear-gradient(135deg,#fff 45%,#c084fc 45%,#c084fc 55%,#fff 55%)}
.sw.custom{display:grid;place-items:center;position:relative;cursor:pointer;background:#fff;color:var(--ink2)}
.sw.custom input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.sw.custom .ic{width:14px;height:14px}
.frow{display:flex;gap:8px;align-items:flex-end;margin-top:8px}.frow>*{flex:1;min-width:0}
.fld{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--ink2);margin-top:8px}
.fld select,.fld input[type=text],.fld input[type=number],.fld textarea{height:34px;border:1px solid var(--line2);border-radius:8px;padding:0 8px;background:#fff;font-size:13px;width:100%}
.fld textarea{height:auto;padding:6px 8px;resize:vertical}
.fld.chk{flex-direction:row;align-items:center;gap:6px;min-height:34px}
.fld input[type=range]{accent-color:#7c3aed}
.fld .seg{width:100%}.fld .seg button{flex:1;justify-content:center;padding:0 6px}
.seg button.on{background:#fff;color:var(--brand);box-shadow:0 1px 2px rgba(33,21,61,.12)}
.bgrid{display:flex;flex-wrap:wrap;gap:4px}
.swapg{display:grid;grid-template-columns:repeat(6,1fr);gap:3px}
.qst{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.qs{height:32px;border-radius:8px;border:2px solid;font-weight:700}
.themes{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}
.theme{display:flex;align-items:center;gap:3px;border:1px solid var(--line);border-radius:9px;padding:6px 8px;font-size:12px}
.theme span{width:14px;height:14px;border-radius:4px;border:1px solid rgba(0,0,0,.1)}.theme em{font-style:normal;margin-inline-start:4px}
.theme:hover{background:var(--hover)}
.layers{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.layers li{display:flex;align-items:center;gap:2px;padding:2px 4px;border-top:1px solid var(--line)}.layers li:first-child{border-top:0}
.layers li.on{background:var(--brand-soft)}
.lname{flex:1;text-align:start;padding:6px;font-size:13px;font-weight:600;display:flex;flex-direction:column}
.lname small{font-weight:400;color:var(--muted);font-size:11px}
.pact{margin-top:16px}
.pnote{font-size:12px;color:var(--muted);line-height:1.6;margin-top:14px}
.kbt{width:100%;border-collapse:collapse}.kbt td{padding:6px;border-bottom:1px solid var(--line);font-size:13px}
kbd{font-family:inherit;background:var(--soft);border:1px solid var(--line2);border-radius:5px;padding:1px 6px;font-size:12px}
/* ---------- AI dialog ---------- */
.aid textarea{width:100%;border:1px solid var(--line2);border-radius:10px;padding:10px;font-size:15px;resize:vertical;min-height:96px}
.aid .fl{display:block;font-weight:700;margin-bottom:6px}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.chip{display:inline-flex;align-items:center;gap:5px;height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--line2);font-size:13px;font-weight:600;color:var(--ink2);background:#fff}
.chip .ic{width:15px;height:15px}.chip.on{background:var(--brand-soft);border-color:#a78bfa;color:var(--brand)}
.ex{display:flex;flex-wrap:wrap;gap:6px}.exb{font-size:12px;color:var(--brand);background:var(--soft);border-radius:8px;padding:4px 8px;text-align:start}
.seg.wh{margin-top:12px;width:100%}.seg.wh button{flex:1;justify-content:center}
.cost{font-size:13px;color:var(--ink2);margin:12px 0 0;min-height:20px}
.aact{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.aact .btn{flex:1}
.fine{font-size:12px;color:var(--muted);line-height:1.6}
.spin{width:14px;height:14px;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;display:inline-block}
@keyframes spin{to{transform:rotate(360deg)}}
.shl{display:flex;gap:6px;margin-top:12px}.shl input{flex:1;height:38px;border:1px solid var(--line2);border-radius:9px;padding:0 10px;font-size:13px}
.seg.wide{display:flex;width:100%;margin-top:10px}.seg.wide button{flex:1;justify-content:center}
/* w141-share-people: people section of the Share dialog (same look as Docs/Sheets/Slides) */
.ppl{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.pplh{display:flex;align-items:center;gap:8px;font-size:15px;margin:0 0 10px}
.invrow{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.invrow input{flex:1 1 200px;min-width:0;min-height:40px;padding:0 12px;border:1px solid var(--line2);border-radius:10px;background:var(--card);color:var(--ink);font:inherit;font-size:14px}
.invrow input:focus-visible{outline:2px solid var(--brand);outline-offset:1px}
.invrow .btn,.ppl .seg button{min-height:40px}
.invmsg{min-height:20px;margin:8px 0 2px;font-size:13.5px;color:#15803d}.invmsg.bad{color:#b42318}
.ppl .tiny{font-size:12.5px;line-height:1.6;margin:4px 0 0;color:var(--muted)}
.invlist{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}
.invlist li{display:flex;align-items:center;gap:10px;padding:6px 8px;padding-inline-start:12px;border:1px solid var(--line);border-radius:10px}
.invlist .iem{flex:1;min-width:0;overflow-wrap:anywhere;font-size:14px}
.invlist select.irl{min-height:40px;padding:0 8px;border:1px solid var(--line);border-radius:8px;background:transparent;font:inherit;font-size:13px;font-weight:600;color:var(--brand);cursor:pointer;width:auto;flex:none}
.invlist .ist{font-size:12.5px;color:var(--muted)}
.invlist .ib{min-width:40px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;flex:none}
@media (max-width:520px){.invlist .ist{display:none}.invlist li{gap:6px}}
.vlist{list-style:none;padding:0;margin:0}.vlist li{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}
/* ---------- templates & home ---------- */
.tgal{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.tgal.row{grid-auto-flow:column;grid-auto-columns:minmax(168px,1fr);grid-template-columns:none;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x mandatory}
.tcard{display:flex;flex-direction:column;gap:8px;text-align:start;border:1px solid var(--line);border-radius:14px;padding:8px;background:#fff;scroll-snap-align:start;transition:box-shadow .15s,border-color .15s}
.tcard:hover{border-color:#c4b5fd;box-shadow:0 6px 18px rgba(59,19,102,.10)}
.tcard .tth{height:120px;border-radius:10px;background:#faf8ff;display:grid;place-items:center;overflow:hidden}
.tcard .tth svg{max-width:100%;max-height:100%;width:auto;height:auto}
.tcard b{font-size:13px;padding:0 4px 4px}
.tcard.blank .tth{color:var(--brand)}.tcard.blank .tth .ic{width:34px;height:34px}
.htop{display:flex;align-items:center;gap:10px;padding:10px 18px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
/* w135 (c) root fix, same as Meet's w133 header fix: signed in with the assistant docked at EN 1280 the body is 960 px wide and the home header row (brand, search, Commands, theme, motion, language, points, account) is wider than that; it could only overflow, so the account pill ran under the docked panel. Now the row wraps instead of running past its box, and while the assistant is docked at 901–1400 px «Commands» shows as its magnifier (its name stays as aria-label and title). */
.htop{flex-wrap:wrap;row-gap:6px}
@media (min-width:901px) and (max-width:1400px){html.yoc-on.yoc-desk:not(.yoc-collapsed) .htop .yox-fab>span,html.yoc-on.yoc-desk:not(.yoc-collapsed) .htop .yox-fab kbd{display:none}html.yoc-on.yoc-desk:not(.yoc-collapsed) .htop .yox-fab{min-width:40px;min-height:40px;justify-content:center;padding-inline:0}html.yoc-on.yoc-desk:not(.yoc-collapsed) .htop .yox-fab>svg{width:20px;height:20px} /* w137 (c): the icon-only magnifier was a 14 px glyph in its 40 px target; 20 px like the header's other icon buttons */}
.brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--ink);font-size:18px}
.brand b{color:var(--deep)}
.hsearch{display:flex;align-items:center;gap:6px;background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:0 10px;height:38px;flex:1;max-width:420px}
.hsearch input{border:0;background:transparent;flex:1;outline:0;height:100%;min-width:0}
.tsp{flex:1}
.pts{display:inline-flex;align-items:center;gap:5px;height:34px;padding:0 10px;border-radius:999px;background:var(--brand-soft);color:var(--brand);font-weight:700;font-size:13px}
.hm2{max-width:1180px;width:100%;min-width:0;box-sizing:border-box;margin:0 auto;padding:18px 18px 60px}.hm2>section{min-width:0;max-width:100%}.tgal.row{max-width:100%}
.hero2{background:var(--grad);border-radius:20px;padding:30px 26px;color:#fff;margin-bottom:22px}
.hero2 h1{margin:0 0 14px;font-size:30px;line-height:1.3}
.askbar{display:flex;align-items:center;gap:8px;background:#fff;border-radius:14px;padding:6px;max-width:680px;box-shadow:0 10px 30px rgba(20,6,40,.25)}
.askbar input{flex:1;border:0;outline:0;font-size:15px;padding:8px 6px;min-width:0;color:var(--ink)}
.ai-dot{width:34px;height:34px;border-radius:10px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;flex:none}
.hhead{display:flex;align-items:center;gap:10px;margin:22px 0 10px;flex-wrap:wrap}.hhead h2{margin:0;font-size:20px;flex:1}
.lnk{color:var(--brand);font-weight:600;font-size:13px;background:none;border:0;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.dlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.dcard{position:relative;display:flex;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:12px}
.dcard:hover{border-color:#c4b5fd}
.dopen{flex:1;display:grid;grid-template-columns:auto 1fr;column-gap:10px;row-gap:2px;padding:12px;text-align:start;min-width:0}
.dopen .ic{grid-row:span 3;width:30px;height:30px;padding:6px;border-radius:9px;background:var(--brand-soft);color:var(--brand);box-sizing:content-box}
.dopen b{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dopen small{color:var(--muted);font-size:12px}
.dopen em{font-style:normal;font-size:12px;color:var(--ink2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dcard>.ib{margin:8px 4px}
.dcard .star{position:absolute;top:6px;inset-inline-end:40px;color:#d97706}.dcard .star .ic{width:14px;height:14px;fill:#fbbf24}
.empty{padding:30px;text-align:center;color:var(--muted);background:#fff;border:1px dashed var(--line2);border-radius:14px}
.empty.full{margin:15vh auto;max-width:440px;border:0;background:none}
.nvfoot{font-size:12.5px;color:var(--muted);margin-top:18px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
#printArea{display:none}
@media print{body.printing>*:not(#printArea){display:none!important}body.printing #printArea{display:block}#printArea .pp{page-break-after:always;height:100vh;display:flex;align-items:center;justify-content:center}}
/* ---------- phone ---------- */
@media (max-width:760px){
  .dk,[data-dk]{display:none!important}
  #tb{height:50px;padding:0 4px;gap:2px}
  #tb .ttl{width:auto;flex:1;min-width:40px;font-size:14px}
  .sstate{display:none}
  #tb .grow{display:none}
  .ai-btn{min-height:36px;padding:0 10px}
  #tools{display:none}
  #lib,#props{position:fixed;inset-inline:0;bottom:0;top:auto;width:auto;max-height:62vh;z-index:30;border:0;border-radius:18px 18px 0 0;box-shadow:0 -10px 40px rgba(33,21,61,.22);transform:translateY(105%);transition:transform .22s cubic-bezier(.2,.8,.3,1);display:block!important;padding-bottom:env(safe-area-inset-bottom)}
  #lib.open,#props.open{transform:none}
  .xs-close{display:inline-grid}
  .lgrid{grid-template-columns:repeat(4,1fr)}
  #pagebar{min-height:36px;padding:2px 8px}
  #mbar{display:flex;align-items:center;justify-content:space-around;height:58px;background:#fff;border-top:1px solid var(--line);flex:none;padding-bottom:env(safe-area-inset-bottom)}
  #mbar .ib{width:44px;height:44px}
  #mbar .mb.add{width:48px;height:48px;border-radius:16px;background:var(--grad);color:#fff;display:grid;place-items:center;box-shadow:0 4px 14px rgba(59,19,102,.3)}
  .hd{stroke-width:2}
  .htop{padding:8px 10px;gap:6px}.hsearch{display:none}.brand span{font-size:16px}
  .hero2{padding:22px 16px;border-radius:16px}.hero2 h1{font-size:23px}
  .askbar{flex-wrap:nowrap}
  .tgal.row{grid-auto-columns:150px}
  .dlist{grid-template-columns:1fr}
  .swl{grid-template-columns:repeat(9,1fr)}
}
#ed.ro #tools,#ed.ro .ai-btn,#ed.ro [data-cmd=undo],#ed.ro [data-cmd=redo],#ed.ro #mbar .add,#ed.ro [data-cmd=ai]{display:none!important}

/* ================= Yamama PDF ================= */
body.yd{overscroll-behavior:none}
#body{flex:1;display:flex;min-height:0;position:relative}
#view{flex:1;overflow:auto;background:#ece8f6;position:relative;outline:0;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch}
#view .pages{display:flex;flex-direction:column;align-items:center;gap:16px;padding:16px 16px 90px;min-width:min-content}
.pg{position:relative;background:#fff;box-shadow:0 2px 10px rgba(33,21,61,.14);flex:none;border-radius:2px}
.pg canvas.cv{position:absolute;inset:0;width:100%;height:100%;display:block}
.pg svg.srch,.pg svg.ann{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.pg svg.srch{pointer-events:none}
.pg svg.srch .hit{fill:#facc15;fill-opacity:.4}.pg svg.srch .hit.cur{fill:#f97316;fill-opacity:.5}
.pg .pnum{position:absolute;bottom:-14px;inset-inline-end:2px;font-size:10px;color:var(--muted);pointer-events:none}
.pg .flds{position:absolute;inset:0;pointer-events:none}
.fld-in{position:absolute;pointer-events:auto;box-sizing:border-box;border:1px solid rgba(109,40,217,.35);background:rgba(237,233,254,.55);border-radius:2px;padding:0 calc(var(--s,1)*2px);font:inherit;font-size:calc(min(var(--fh) * .62, 12) * var(--s,1) * 1px);color:#1e1b4b;margin:0;min-width:0;min-height:0}
textarea.fld-in{resize:none;line-height:1.25;padding-top:2px}
input.fld-in[type=checkbox],input.fld-in[type=radio]{appearance:auto;accent-color:#6d28d9;padding:0;background:transparent;border:0}
.fld-in:focus{outline:2px solid #7c3aed;background:#fff}
.fld-in:disabled{background:transparent;border-color:transparent}
#view[data-tool=select] svg.ann{touch-action:auto;pointer-events:none}
#view[data-tool=select] svg.ann .an,#view[data-tool=select] svg.ann .hdl{pointer-events:auto}
#view[data-tool=select] svg.ann .an{cursor:move;touch-action:none}
#view[data-tool=select] svg.ann .hdl{cursor:nwse-resize;touch-action:none}
#view:not([data-tool=select]):not([data-tool=view]) svg.ann{touch-action:none;cursor:crosshair}
#view[data-tool=text] svg.ann{cursor:text}
#view[data-tool=view] svg.ann{pointer-events:none}
#view[data-tool=view] .flds{pointer-events:none}
svg.ann .an.drawing{opacity:.85}
svg.ann .hit{pointer-events:all}
svg.ann .an rect[fill=transparent]{pointer-events:all}
#selbar{position:absolute;z-index:6;display:flex;gap:2px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 24px rgba(33,21,61,.18);padding:3px}
#selbar[hidden]{display:none}
#selbar button{display:flex;align-items:center;gap:4px;height:36px;padding:0 10px;border-radius:9px;font-size:12.5px;font-weight:600;color:var(--ink2)}
#selbar button:hover{background:var(--hover)}#selbar button .ic{width:16px;height:16px}
#selbar button.dng{color:#9a3412}
#selbar:not([data-type=text]) .se-text{display:none}
#body{position:relative}
#body>#view{position:relative}
#side{width:200px;flex:none;background:#fff;border-inline-end:1px solid var(--line);display:none;flex-direction:column;min-height:0}
#ed.side-on #side{display:flex}
.shead{display:flex;align-items:center;gap:6px;padding:8px 10px;border-bottom:1px solid var(--line);font-size:13px}.shead .muted{color:var(--muted);font-size:12px}
.shead [data-ph]{display:none}
#thumbs{flex:1;overflow:auto;padding:10px 12px 40px;display:flex;flex-direction:column;gap:12px}
.th{position:relative;display:flex;align-items:flex-start;gap:4px;border-radius:10px;padding:4px;transition:transform .05s}
.th.cur{background:var(--brand-soft)}
.th.dragging{z-index:5;opacity:.9;box-shadow:0 10px 30px rgba(33,21,61,.25);background:#fff}
.th.drop{outline:2px dashed #7c3aed;outline-offset:2px}
.thb{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}
.thc{display:block;width:100%;max-width:130px;background:#fff;border:1px solid var(--line2);box-shadow:0 1px 4px rgba(33,21,61,.1);overflow:hidden}
.thc canvas{width:100%;height:100%;display:block}
.thn{font-size:12px;color:var(--muted)}
.grip{width:28px;height:36px;display:grid;place-items:center;color:var(--muted);cursor:grab;touch-action:none;border-radius:8px;flex:none}
.grip:hover{background:var(--hover)}
.thm{position:absolute;top:6px;inset-inline-end:6px;background:rgba(255,255,255,.92);width:30px;height:30px}
#tools .tool .tl{display:none}
.swb .sw{width:20px;height:20px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--line2);display:block}
#widthBtn small{font-size:11px;margin-inline-start:-4px;font-weight:700}
#findbar{display:flex;align-items:center;gap:4px;padding:4px 10px;background:#fff;border-bottom:1px solid var(--line)}
#findbar[hidden]{display:none}
#findbar input{flex:1;max-width:360px;height:34px;border:1px solid var(--line2);border-radius:9px;padding:0 10px;font:inherit;font-size:14px}
#findbar .fi{color:var(--muted);display:flex}.fn{font-size:12px;color:var(--muted);min-width:56px;text-align:center}
#pnav{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:2px;background:rgba(33,21,61,.82);color:#fff;border-radius:999px;padding:2px 4px;z-index:7;box-shadow:0 6px 20px rgba(33,21,61,.25)}
#pnav .ib{color:#fff;width:34px;height:34px}#pnav .ib:hover{background:rgba(255,255,255,.12)}
#pnav .pn{color:#fff;font-size:13px;font-weight:600;min-width:64px;height:34px;direction:ltr}
#formbar{display:flex;align-items:center;gap:8px;background:#f6f1ff;border-bottom:1px solid #e4d9fb;padding:2px 6px 2px 12px;font-size:13px;flex:none}
#formbar[hidden]{display:none}#formbar b{font-weight:600;color:var(--ink2)}#formbar .ic{color:var(--brand2)}
#ed.ro #findbar~#tools{display:none}
#ed.ro #tools,#ed.ro [data-cmd=undo],#ed.ro [data-cmd=redo],#ed.ro .ai-btn,#ed.ro [data-cmd=share],#ed.ro #formbar{display:none!important}
/* dialogs */
.cpick{display:flex;flex-wrap:wrap;gap:8px;padding:10px}
.cpick.inl{padding:4px 0}
.cpick button{width:30px;height:30px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--line2)}
.cpick button[aria-pressed=true]{box-shadow:0 0 0 2px #7c3aed}
.fld{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;font-size:13px;color:var(--ink2)}
.fld input,.fld select,.fld textarea{font:inherit;font-size:15px;border:1px solid var(--line2);border-radius:10px;padding:9px 10px;background:#fff;color:var(--ink);min-width:0}
.fld textarea{resize:vertical}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fine{font-size:12px;color:var(--muted)}
.bad{color:#9a3412}
.seg.wide{display:flex;margin-bottom:12px}.seg.wide button{flex:1}
.sigpad{position:relative;border:1px dashed var(--line2);border-radius:12px;background:#fdfcff;overflow:hidden}
.sigpad canvas{width:100%;display:block;touch-action:none;cursor:crosshair}
.sigline{position:absolute;left:24px;right:24px;bottom:38px;border-bottom:1px solid #cfc6ea;pointer-events:none}
.sigclr{position:absolute;top:6px;inset-inline-end:10px}
.sigfonts{display:grid;gap:8px}
.sigf{border:1px solid var(--line2);border-radius:12px;padding:12px;font-size:30px;text-align:center;background:#fff;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.sigf.on{border-color:#7c3aed;box-shadow:0 0 0 2px #ede9fe}
.sigopts{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;flex-wrap:wrap}
.sigsaved{display:grid;gap:8px}.sgs{display:flex;align-items:center;gap:6px}
.sgpick{flex:1;border:1px solid var(--line2);border-radius:12px;padding:8px;background:#fff;height:76px;display:grid;place-items:center}
.sgpick img{max-height:60px;max-width:100%}
.prog .bar{height:8px;background:var(--brand-soft);border-radius:99px;overflow:hidden;margin:6px 0 10px}.prog .bar i{display:block;height:100%;background:var(--grad);transition:width .2s}
.opts{display:grid;gap:8px;margin:10px 0}
.opt{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:start;border:1px solid var(--line2);border-radius:12px;padding:10px 12px;background:#fff}
.opt b{font-size:14px}.opt small{font-size:12px;color:var(--muted)}
.opt.on{border-color:#7c3aed;box-shadow:0 0 0 2px #ede9fe;background:#faf7ff}
.cmpres .ok,.cmpres .warn{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border-radius:12px;font-size:13.5px;margin-top:6px}
.cmpres .ok{background:#ecfdf5;color:#065f46}.cmpres .warn{background:#fff7ed;color:#7c2d12}
.cmpacts{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.txout{width:100%;min-height:46vh;box-sizing:border-box;border:1px solid var(--line2);border-radius:12px;padding:10px;font:inherit;font-size:14px;line-height:1.6;resize:vertical}
.smout{margin-top:6px}.smout ul{padding-inline-start:20px;line-height:1.7}.smout .aihtml h3{margin:4px 0 8px}
.flist,.ilist{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:6px}
.flist li{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:12px;padding:6px 8px;background:#fff}
.flist .fi{color:var(--brand2);display:flex}.flist .fn{flex:1;min-width:0;display:flex;flex-direction:column}.flist .fn b{font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flist .fn small{font-size:12px;color:var(--muted)}
.ilist{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}
.ilist li{position:relative;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.ilist img{width:100%;height:110px;object-fit:cover;display:block;background:#f4f2fa}
.ilist .nm{position:absolute;top:6px;inset-inline-start:6px;background:rgba(33,21,61,.75);color:#fff;font-size:11px;border-radius:99px;padding:1px 7px}
.ilist .ia{display:flex;justify-content:space-between}.ilist .ia .ib{width:36px;height:36px}
.vtop{margin-bottom:8px}
/* home */
.pdfhero{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;background:linear-gradient(120deg,#3b1366,#5b21b6 55%,#7c3aed)}
.pdfhero .hcopy{min-width:0;flex:1 1 320px}.pdfhero h1{margin:0 0 6px}.pdfhero p{margin:0;opacity:.88;font-size:14.5px}
.dropz{display:flex;flex-direction:column;align-items:center;gap:6px}
.dropz small{opacity:.8;font-size:12px}
.btn.lg{height:48px;padding:0 22px;font-size:16px;border-radius:14px}
.pdfhero .btn.pri{background:#fff;color:#3b1366;box-shadow:0 8px 24px rgba(20,6,40,.25)}
.pdfhero .btn.pri:hover{background:#f5f0ff}
body.dragover #home .pdfhero{outline:3px dashed #c4b5fd;outline-offset:4px}
body.dragover #ed #view{outline:3px dashed #7c3aed;outline-offset:-6px}
.tools2{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.tool2{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:start;border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff;min-width:0;transition:border-color .15s,box-shadow .15s}
.tool2:hover{border-color:#c4b5fd;box-shadow:0 6px 18px rgba(59,19,102,.10)}
.tool2 .ti{width:36px;height:36px;border-radius:10px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;margin-bottom:4px}
.tool2 b{font-size:14px}.tool2 small{font-size:12px;color:var(--muted);line-height:1.4}
.dlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
.hm2 section{margin-bottom:20px}
@media (max-width:760px){
  #tools{display:flex;position:fixed;bottom:0;inset-inline:0;z-index:8;border-top:1px solid var(--line);border-bottom:0;height:62px;padding:4px 6px calc(4px + env(safe-area-inset-bottom));gap:0;justify-content:flex-start}
  #tools .ib{width:auto;min-width:48px;height:52px;flex-direction:column;gap:1px;flex:none;padding:0 4px}
  #tools .tool .tl{display:block;font-size:10px;font-weight:600;line-height:1}
  #view .pages{padding:10px 8px 150px}
  #pnav{bottom:74px}
  #side{position:fixed;inset-inline:0;bottom:0;top:auto;width:auto;height:66vh;z-index:30;border:0;border-radius:18px 18px 0 0;box-shadow:0 -10px 40px rgba(33,21,61,.22)}
  .shead [data-ph]{display:inline-grid}
  #thumbs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start}
  .th{flex-direction:column;align-items:stretch}.grip{position:absolute;top:6px;inset-inline-start:6px;background:rgba(255,255,255,.92);width:34px;height:34px}
  #formbar{font-size:12.5px}
  .tools2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tool2{padding:10px}
  .dlist{grid-template-columns:1fr}
  .pdfhero{padding:22px 16px}.dropz{width:100%}.dropz .btn{width:100%;justify-content:center}
  #selbar button span{display:none}#selbar button{padding:0 12px;height:40px}
  .row2{grid-template-columns:1fr}
}

/* desktop: the page-options button sits over the top of the row; keep the drag grip below it so it stays grabbable */
@media (min-width:761px){.th>.grip{margin-top:40px}}

/* polish r2: phone tap targets >=36px */
@media (max-width:820px){[data-hv]{min-height:36px!important}button.lnk[data-login]{min-height:36px!important;display:inline-flex;align-items:center}a.brand{min-height:36px;display:inline-flex;align-items:center}}

/* stamps + notes */
.stampgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin-top:8px}
.stampbtn{min-height:64px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e9e3fb;border-radius:12px;padding:8px;cursor:pointer;transition:transform .18s ease-out,box-shadow .18s ease-out,border-color .18s;animation:stIn .28s ease-out both;animation-delay:var(--d,0ms)}
.stampbtn:hover,.stampbtn:focus-visible{transform:translateY(-2px);border-color:#a78bfa;box-shadow:0 6px 16px rgba(109,40,217,.14)}
.stampbtn:active{transform:scale(.97)}
.stamp-hint{margin:0;color:#5b5675;font-size:13px}
@keyframes stIn{from{opacity:0;transform:translateY(6px) scale(.96)}to{opacity:1;transform:none}}
.notedlg textarea{width:100%;box-sizing:border-box;border:1px solid #ddd6fe;border-radius:10px;padding:10px;font:inherit;resize:vertical;min-height:96px}
.notedlg textarea.bad{border-color:#7c3aed;box-shadow:0 0 0 3px rgba(124,58,237,.15)}
.notedlg .fmsg{color:#6d28d9;font-size:13px;margin:6px 0 0}
@media (prefers-reduced-motion:reduce){.stampbtn{animation:none;transition:none}}

/* mixed Arabic/English lines keep their own direction (no flipped full stops) */
textarea,.ocr-out,.mtext pre{unicode-bidi:plaintext}

/* p1017s: strict crawl v6 — phone: status bar never wider than the screen; 40px card/menu targets */
@media (max-width:760px){
 #status{max-width:100vw;overflow:hidden;box-sizing:border-box}
 #status button{padding:0 5px;flex:0 1 auto;min-width:0}
 #status #stLang,#status #stWords{display:none}
 .dlist-grid .ib,.dlist-list .ib,.ib.mclose{width:40px;height:40px}
 .pop[role=menu] button{min-height:40px}
 a.brand{min-height:40px}
}

/* c4: header fits beside the assistant panel (no button cut under the panel) */
#ed{container-type:inline-size}
#tb>*{flex-shrink:0}
#tb .ttl{flex:0 1 280px;width:auto;min-width:72px}
#tb .sstate{flex:0 1 auto;min-width:0}
@container (max-width:1100px){#tb .acct .nm,#tb [data-cmd=share] span{display:none}#tb .acct{padding:0 8px}}
@container (max-width:820px){#tb [data-cmd=ai] span,#tb #dlBtn span{display:none}}

/* W14 0365be3b: points badge digits were white on lavender (1.17:1) */
:root:root .pts:not(.yoc *) b{color:inherit!important}

/* W15 5c56c3f4: phone editor fits 390px — no overflow, every control >=44px, tools strip wraps (no hidden Note) */
@media (max-width:760px){
  #tb{gap:0;padding:0 2px;height:auto;min-height:52px}
  #tb>*{flex-shrink:0}
  #tb .ttl{flex:1 1 0;min-width:0;width:auto;height:44px;padding:4px 6px}
  #tb .ib,#tb .tgrp .ib{width:44px;height:44px;min-width:44px}
  #tb .tgrp{gap:0}
  #tb [data-cmd=find]{display:none}
  #tb .btn.sm{min-width:44px;width:44px;height:44px;min-height:44px;padding:0;justify-content:center;border-radius:10px}
  #tb .btn.sm>span{display:none}
  #tools{height:auto;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:1px;padding:4px 2px calc(4px + env(safe-area-inset-bottom));overflow:visible}
  #tools .sepv{display:none}
  #tools .ib{width:auto;min-width:0;height:48px;padding:0 2px}
  #tools .tool .tl{font-size:10px;letter-spacing:-.2px;white-space:nowrap;overflow:hidden;text-overflow:clip;max-width:100%}
  #view .pages{padding-bottom:180px}
  #pnav{bottom:116px;padding:0 4px}
  #pnav .ib{width:44px;height:44px}
  #pnav .pn{height:44px;min-width:64px}
  #findbar .ib,#formbar .ib,.shead .ib{width:44px;height:44px}
  .hm2 .chip,.hm2 [role=tab],.seg button,.segi .ib{min-height:44px}
  .dcard .ib{width:44px;height:44px}
}

/* w60 390px pass: the file name in the top bar shows its beginning (dir=auto on the input) and ends with an ellipsis instead of being cut mid-word */
#tb .ttl{text-overflow:ellipsis;white-space:nowrap}
#tb .ttl:focus{text-overflow:clip}
/* w60 deploy 2026-10-29T22:36:05Z 509731054 */

/* w91k: list cards slid in from 0 opacity, so for a quarter second their text had almost no contrast (review_v3 H13 caught it mid-fade). Keep the slide, drop the fade. */
html .tcard,html .srow,html .shrow{animation-name:yoItemNoFade}
@keyframes yoItemNoFade{from{translate:0 6px}to{translate:0 0}}

/* w91k: white text on the light end of the button gradient was 4.23:1; end the gradient on the darker violet (5.7:1) */
.btn.pri{background:linear-gradient(120deg,#3b1366,#6d28d9 55%,#7c3aed)}
/* w91k: phone tap targets 44px (header icon buttons, list filter tabs, text links) */
@media (max-width:440px){
  html[data-yo-app] header .ib,html[data-yo-app] #yo-thm29,html[data-yo-app] #yo-mot{min-width:44px!important;min-height:44px!important}
  html .seg button,html .seg button[data-hv]{min-height:44px!important}
  html main button.lnk,html main button.lnk[data-login]{min-height:44px!important;display:inline-flex;align-items:center}
}
/* w91t: on phones the home header (111 px, brand colour) scrolls away with the list instead of staying over its top third, so the tool cards are never drawn under it */
@media (max-width:640px){#home>header.htop{position:relative;top:auto}}
/* w147-pdf: keyboard up while filling a form field on a phone — the tool bar and page pill step aside so the field shows above the keyboard */
html.yp-fldkb #ed #tools,html.yp-fldkb #ed #pnav{display:none!important}
/* w150-phone-leftovers (task 7e792d95): «مسح» on the signature pad was a 27×20 px text link; a 44×44 px target keeps the same look */
.sigpad .sigclr{top:0;inset-inline-end:2px;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 8px;z-index:1}
/* w171-pdf-desktop-toolbar (task f1da0696): (1) save status in a narrow desktop header. Beside the docked assistant (1229–1439 px windows) «Saved on this device» was hidden altogether, and with the assistant collapsed at 1229–1280 px it was cut to «Saved o…». In a header narrower than 1300 px it is now a 20 px cloud icon (a warning sign when saving failed) whose tooltip carries the words, as Word for the web does; the words stay for screen readers (role=status). Wide headers keep the words. (2) Toasts in the open editor sat over the page bar (previous / page number / next) for their 3–4 s; on desktop they now open just above it. UI only. */
@container (max-width:1300px){
  #tb .sstate:not(:empty){flex:0 0 20px;width:20px;min-width:20px;max-width:20px;height:20px;font-size:0;line-height:0;overflow:hidden;color:var(--muted);background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z'/%3E%3Cpath d='m9.5 14.5 2 2 3.5-4'/%3E%3C/svg%3E") center/18px 18px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z'/%3E%3Cpath d='m9.5 14.5 2 2 3.5-4'/%3E%3C/svg%3E") center/18px 18px no-repeat}
  #tb .sstate.bad:not(:empty){color:#9a3412;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3'/%3E%3Cpath d='M12 9v4'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3'/%3E%3Cpath d='M12 9v4'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E")}
  :root.dark #tb .sstate.bad:not(:empty){color:#f4b7a3}
  html.yoc-desk:not(.yoc-collapsed) #tb #saveState.sstate:not(:empty){display:block!important} /* the assistant's PDF script hides the words beside the docked panel to save room (≤1439 px); the 20 px icon fits */
}
@media (min-width:761px){body.editing #toasts{bottom:calc(66px + env(safe-area-inset-bottom))}}

/* w180-pdf-task-benchmark (task 57ee13af): text layer for select & copy (pdf.js TextLayer; selectable in Select mode only, so drawing tools work as before), the «Copy / Highlight» bar over a selection, Convert and Protect on the tools rail, «Edit» for a selected comment, 44 px colour swatches on phones (24 px rows on desktop), and the hide-assistant control shown as a real 36 px header button on desktop (it was a 1×1 px invisible focus stop). */
.pg .w180tl{position:absolute;inset:0;overflow:clip;line-height:1;text-align:initial;-webkit-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;--scale-factor:var(--s,1);z-index:0;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;caret-color:transparent}
.pg .w180tl :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;transform-origin:0% 0%}
.pg .w180tl span.markedContent{top:0;height:0}
.pg .w180tl ::selection{background:rgba(37,99,235,.32)}
.pg .w180tl span.w180on{background:rgba(37,99,235,.34);border-radius:1px}
.pg .w180tl br::selection{background:transparent}
.pg .w180tl .endOfContent{display:block;position:absolute;inset:100% 0 0;z-index:0;cursor:default;-webkit-user-select:none;user-select:none}
.pg .w180tl.selecting .endOfContent{top:0}
#view[data-tool=select] .pg .w180tl,#view[data-tool=view] .pg .w180tl{pointer-events:auto}
canvas.hiddenCanvasElement{position:absolute;top:0;left:0;width:0;height:0;display:none}
#w180sb{position:fixed;z-index:60;display:flex;gap:2px;padding:4px;background:#1e1b4b;border-radius:12px;box-shadow:0 8px 24px rgba(15,10,40,.28)}
#w180sb[hidden]{display:none}
#w180sb button{display:inline-flex;align-items:center;gap:6px;min-height:40px;min-width:44px;padding:0 12px;border:0;border-radius:9px;background:transparent;color:#fff;font:600 14px/1 inherit;font-family:inherit;cursor:pointer}
#w180sb button:hover{background:rgba(255,255,255,.14)}
#w180sb button:focus-visible{outline:2px solid #c4b5fd;outline-offset:1px}
#w180sb svg{width:18px;height:18px}
#selbar[data-w180note="1"] .se-text{display:inline-flex}
#tools .w180sep{flex:none;width:1px;height:24px;margin:0 6px;background:var(--line)}
#tools .w180rb{width:auto;min-width:36px;padding:0 10px;gap:6px;display:inline-flex;align-items:center}
#tools .w180rb .w180rl{font:600 13px/1 inherit;font-family:inherit;white-space:nowrap}
#tools .w180rb[data-w180=convprot]{display:none}
@media (max-width:760px){
  #tools .w180sep,#tools .w180rb[data-w180=convert],#tools .w180rb[data-w180=protect]{display:none}
  #tools .w180rb[data-w180=convprot]{display:flex;flex-direction:column;justify-content:center;gap:2px;padding:0;min-width:0;width:auto}
  #tools .w180rb[data-w180=convprot] .w180rl{font-size:10px}
  body.editing .pop .cpick .yoc-s{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;padding:6px!important;background-clip:content-box!important;border-radius:12px!important;box-sizing:border-box!important}
  body.editing .pop .cpick .yoc-col .yoc-s{width:100%!important}
  body.editing:has(.pop .cpick) .yoc-stub,body.editing:has(.mback.on) .yoc-stub{visibility:hidden!important}
  body.editing .pop .cpick{width:min(354px,calc(100vw - 36px))!important;max-width:none!important}
  body.editing .pop .cpick .yoc-grid,body.editing .pop .cpick .yoc-row,body.editing .pop .cpick .yoc-tints,body.editing .pop .cpick .yoc-col{width:100%!important}
  body.editing .pop .cpick .yoc-morebtn{min-height:44px!important;min-width:44px!important}
  body.editing .pop .cpick .yoc-row{grid-template-columns:repeat(5,minmax(44px,1fr))!important;gap:0!important}
  body.editing .pop .cpick .yoc-row .yoc-s{width:100%!important}
  body.editing .pop .cpick .yoc-tints{grid-template-columns:1fr!important}
  body.editing .pop .cpick .yoc-col{grid-template-columns:repeat(5,minmax(44px,1fr))!important;grid-template-rows:none!important;grid-auto-flow:row!important;gap:0!important}
}
@media (min-width:761px){
  body.editing .pop .cpick .yoc-col .yoc-s{min-height:24px!important;height:24px!important}
  html.yoc-on:not(.yo-ai-hidden) body.editing #tb .yox-aitg{position:relative!important;width:36px!important;height:36px!important;min-width:36px!important;padding:0!important;margin:0 2px!important;border:1px solid rgba(255,255,255,.5)!important;overflow:visible!important;clip-path:none!important;opacity:1!important;pointer-events:auto!important;border-radius:10px!important}
  html.yoc-on:not(.yo-ai-hidden) body.editing #tb .yox-aitg :is(.t,kbd){display:none!important}
}
