
:root{font-family:Cairo,sans-serif;--bg:#f2f6f6;--card:#fff;--ink:#173744;--muted:#6b8390;--line:#e1ebec;--teal:#087b78;--teal2:#065b5a;--gold:#c6a05b;--soft:#edf6f5;--danger:#b84c4c;--shadow:0 18px 55px #10394315;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.38;cursor:not-allowed;transform:none!important;box-shadow:none!important}.shell{width:min(1580px,calc(100% - 36px));margin:auto}.header{position:sticky;top:0;z-index:30;background:var(--card);box-shadow:0 6px 25px #1737440d}.header:before{content:"";display:block;height:4px;background:linear-gradient(90deg,var(--teal),#2faaa0 55%,var(--gold))}.top{display:flex;align-items:center;justify-content:space-between;padding:10px 0;gap:12px}.identity{display:flex;align-items:center;gap:12px}.logo{width:53px;height:53px;object-fit:contain}.identity h1{font-size:16px;margin:0;font-weight:800}.identity small{display:block;font-size:11px;letter-spacing:.11em;color:var(--muted);direction:ltr;text-align:right}.top-right{display:flex;align-items:center;gap:10px}.pill{border:1px solid var(--line);padding:7px 12px;border-radius:99px;color:var(--teal);font-size:11px;font-weight:800}.toolbar-wrap{border-top:1px solid var(--line)}.toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:10px 0}.group{display:flex;align-items:center;gap:6px;border-inline-end:1px solid var(--line);padding-inline-end:10px}.group:last-child{border:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;position:relative;overflow:hidden;border:1px solid var(--line);background:var(--soft);color:var(--ink);font-size:12px;font-weight:800;min-height:39px;border-radius:11px;padding:7px 12px;white-space:nowrap;transition:transform .22s cubic-bezier(.2,.8,.2,1.4),box-shadow .22s,background .22s,filter .22s}.btn:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 9px 22px #073b3a20;filter:brightness(1.04)}.btn:active:not(:disabled){transform:scale(.93)}.btn:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.btn:after{content:"";position:absolute;inset:0 auto 0 -75%;width:38%;transform:skewX(-25deg);background:linear-gradient(90deg,transparent,#ffffff75,transparent);transition:left .65s}.btn:hover:after{left:140%}.btn.primary{background:linear-gradient(135deg,var(--teal),var(--teal2));color:#fff;border:0}.btn.gold{background:linear-gradient(135deg,#d5b16b,#b68b43);color:#fff;border:0}.btn.danger{color:var(--danger);background:#fff0ef}.btn.active{background:var(--teal);color:white}.fileinput{display:none}.filename{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:var(--muted)}.count{font-size:12px;direction:ltr;min-width:53px;text-align:center;font-weight:800}.zoom-val{font-size:12px;direction:ltr;min-width:44px;text-align:center;font-weight:800}.workspace{padding:18px 0 26px}.viewer{border-radius:19px;overflow:hidden;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);animation:rise .5s ease both}.viewerhead{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 18px;border-bottom:1px solid var(--line)}.viewerhead h2{font-size:14px;margin:0}.viewerhead small{font-size:11px;color:var(--muted)}.stage{height:min(73vh,850px);min-height:400px;overflow:auto;background:radial-gradient(circle at 50% 0%,#eaf2f2,#dbe6e8);position:relative;text-align:center;padding:24px}.paper{position:relative;display:inline-block;vertical-align:top;background:white;box-shadow:0 15px 40px #142e3940;line-height:0;max-width:none}.paper canvas{display:block}.paper #marks{position:absolute;inset:0;cursor:none;touch-action:manipulation}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;height:100%;color:var(--muted)}.empty strong{font-size:18px;color:var(--ink)}.empty .symbol{font-size:44px;background:var(--card);width:100px;height:100px;display:grid;place-items:center;border-radius:26px}.bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 18px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.thumbs{display:flex;gap:12px;overflow:auto;padding:12px 16px;border-top:1px solid var(--line);background:var(--card)}.thumb{border:2px solid var(--line);border-radius:11px;background:var(--soft);min-width:96px;width:96px;padding:7px;cursor:pointer;color:var(--ink);font-size:10px;transition:transform .2s,border-color .2s}.thumb:hover{transform:translateY(-3px)}.thumb.selected{border-color:var(--teal);box-shadow:0 0 0 3px #087b781b}.thumb canvas{width:100%;height:90px;object-fit:contain;background:#fff;display:block}.thumb span{display:block;margin-top:5px}.cursor{position:fixed;pointer-events:none;z-index:100;border:1px solid var(--teal);background:#087b7840;border-radius:50%;display:none;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #fff}.toast{position:fixed;bottom:20px;left:20px;background:var(--ink);color:#fff;border-radius:12px;padding:11px 17px;font-size:12px;z-index:100;box-shadow:var(--shadow);animation:rise .25s ease}.modal-back{position:fixed;inset:0;background:#0a1b27a6;display:grid;place-items:center;z-index:200;padding:15px}.modal{width:min(500px,100%);background:var(--card);color:var(--ink);padding:25px;border-radius:20px;box-shadow:var(--shadow)}.modal h2{margin:0 0 8px;font-size:19px}.modal p{font-size:13px;color:var(--muted)}.modal-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:22px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:17px 0}.stat{background:var(--soft);border:1px solid var(--line);border-radius:12px;text-align:center;padding:10px}.stat strong{display:block;font-size:21px}.stat span{font-size:11px;color:var(--muted)}[hidden]{display:none!important}@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}body.dark{--bg:#101b23;--card:#192b34;--ink:#eaf4f5;--muted:#a6bdc6;--line:#344851;--soft:#263b44;--shadow:0 18px 55px #0005}body.dark .stage{background:radial-gradient(circle at top,#334b52,#1b2b34)}body.dark .btn.danger{background:#442d32}body.dark .pill{color:#8ad7d0}@media(max-width:850px){.toolbar{gap:6px}.group{border:0;padding:0}.top-right .pill{display:none}.stage{padding:12px}.btn{font-size:11px;padding:7px 9px}.filename{max-width:105px}}@media(max-width:500px){.shell{width:calc(100% - 16px)}.identity h1{font-size:12px}.logo{width:43px;height:43px}.top{padding:7px 0}.stage{height:65vh}.viewerhead small{display:none}.bottom{flex-wrap:wrap}.toolbar{max-height:200px;overflow-y:auto}}@media(hover:none){.paper #marks{cursor:crosshair}.cursor{display:none!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* V7 text editing */
.text-layer{position:absolute;inset:0;pointer-events:none;line-height:normal}.text-item{position:absolute;box-sizing:border-box;white-space:pre-wrap;overflow:hidden;pointer-events:auto;cursor:move;border:1px solid transparent;line-height:1.5;user-select:none;text-align:right}.text-item.selected{border:1px dashed var(--teal);outline:2px solid #ffffff99;box-shadow:0 0 0 2px #087b7822}.text-item .resize-handle{position:absolute;bottom:0;left:0;width:14px;height:14px;background:var(--teal);border:2px solid white;cursor:nesw-resize;display:none}.text-item.selected .resize-handle{display:block}.draw-rect{position:absolute;border:2px dashed var(--teal);background:#087b7818;pointer-events:none;z-index:8}.text-tools{padding:15px 20px;background:var(--soft);border-top:1px solid var(--line);text-align:right}.text-tools textarea{width:100%;resize:vertical;border:1px solid var(--line);border-radius:11px;background:var(--card);color:var(--ink);padding:10px;font:14px Cairo,sans-serif;line-height:1.6}.tool-heading{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:800;margin-bottom:10px}.format-row{display:flex;flex-wrap:wrap;align-items:end;gap:9px;margin:10px 0}.format-row label{display:flex;flex-direction:column;gap:3px;font-size:11px;font-weight:700}.format-row select,.format-row input{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:9px;padding:6px;min-height:37px;font:inherit}.format-row input[type=number]{width:72px}.format-row input[type=color]{width:50px;padding:3px}.text-tools small{color:var(--muted);font-size:11px}.paper.text-mode #marks{cursor:crosshair}.paper.text-mode .text-layer{pointer-events:none}.paper.text-mode .text-item{pointer-events:auto}.text-tools .btn.active{background:var(--teal);color:white}

/* V7.1: clearly visible text mode and editing guidance */
.editing-group{order:-10;background:linear-gradient(135deg,#e7f5f2,#fdf7e9);padding:5px 9px;border:1px solid #c5e4dd;border-radius:13px;gap:8px;flex-shrink:0}
.add-text-btn{background:linear-gradient(135deg,#bd9041,#d7b66f);color:#192e36;border:0;box-shadow:0 4px 13px #bd904140;font-size:13px;min-height:43px}
.add-text-btn:hover:not(:disabled){box-shadow:0 8px 20px #bd90417a}
.add-text-btn.active{background:linear-gradient(135deg,#087b78,#075958);color:white;box-shadow:0 0 0 3px #087b7830}
.editor-hint{background:#e4f5f0;color:#075958;padding:10px 18px;font-weight:800;font-size:13px;border-bottom:1px solid #b4dbd2}
.text-tools{position:relative;border-bottom:2px solid var(--teal);box-shadow:0 5px 16px #10394315}
.paper.text-mode #marks{cursor:crosshair;touch-action:none}
body.dark .editing-group{background:#263b44;border-color:#49666b}
body.dark .editor-hint{background:#1b4a48;color:#dcfff8}
@media(max-width:500px){.toolbar{max-height:none;overflow:visible}.editing-group{width:100%;justify-content:center}.editing-group .btn{flex:1}}

/* Text boxes remain selectable in default marking mode; double click to edit. */
.paper .text-layer{pointer-events:none}
.paper .text-item{pointer-events:auto}
.paper .text-item:hover{border-color:rgba(8,123,120,.55)}
.paper:not(.text-mode) .text-item{cursor:text}

/* V7.3: inline text editing and contextual controls */
.text-item{overflow:visible!important;user-select:text!important;z-index:3}
.text-item.selected{z-index:12}
.text-content{width:100%;height:100%;white-space:pre-wrap;overflow:hidden;overflow-wrap:anywhere;outline:0;cursor:text;user-select:text;min-height:1em}
.text-content[contenteditable=true]{outline:1px dotted #087b78;cursor:text}
.inline-format-toolbar{position:absolute;left:0;bottom:calc(100% + 8px);display:flex;flex-wrap:wrap;align-items:center;gap:5px;min-width:340px;max-width:min(650px,85vw);padding:8px;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 28px #102a3c44;direction:rtl;z-index:100;cursor:default;user-select:none;font:12px Cairo,Arial,sans-serif;text-align:right}
.inline-format-toolbar select,.inline-format-toolbar input,.inline-format-toolbar button{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:7px;min-height:30px;padding:3px 6px;font:12px Cairo,Arial,sans-serif;cursor:pointer}
.inline-format-toolbar input[type=number]{width:58px}.inline-format-toolbar input[type=color]{width:37px;padding:2px}
.inline-format-toolbar .inline-action.active{background:var(--teal);color:#fff}.inline-format-toolbar .inline-delete{background:#b83139;color:#fff;border-color:#b83139}
.text-item .resize-handle{z-index:2}.text-item:not(.selected) .resize-handle{display:none}
