*{margin:0;padding:0;box-sizing:border-box}body{font-family:Arial,sans-serif;padding:20px;background-color:#f5f5f5;margin:0}.admin-button-wrapper{margin:10px 0 15px 0}.admin-btn{display:block;width:100%;text-align:center;padding:12px 0;background:linear-gradient(135deg,#2c3e50,#1a242f);box-shadow:0 6px 16px rgb(0 0 0 / .2);color:#fff;text-decoration:none;border-radius:8px;font-size:15px;font-weight:600;transition:0.2s ease}.admin-btn:hover{background-color:#1a242f}.container{max-width:100%;margin:0 auto;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px rgb(0 0 0 / .1);display:flex;gap:20px;padding:20px;min-height:100vh}.sidebar{width:320px;flex-shrink:0;overflow-y:auto;max-height:calc(100vh - 40px);padding-right:10px}.sidebar h1{text-align:center;margin-bottom:20px}.main-content{flex:1;overflow-x:auto}h1{margin:0 0 20px 0;color:#333;font-size:24px}.controls{display:flex;flex-direction:column;gap:12px;margin-bottom:15px;padding:12px;background-color:#f9f9f9;border-radius:5px}.control-group{display:flex;flex-direction:column;gap:4px}label{font-weight:700;color:#555;font-size:12px}input[type="number"],input[type="range"],input[type="file"],select{padding:6px;border:1px solid #ddd;border-radius:4px;font-size:13px}input[type="range"]{padding:0}.range-value{color:#666;font-size:12px}.button-group{display:flex;gap:6px;flex-wrap:wrap}button{padding:7px 12px;background-color:#f60;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px;transition:background-color 0.3s;white-space:nowrap}button:hover{background-color:#0056b3}button:disabled{background-color:#ccc;cursor:not-allowed}small{font-size:11px;color:#666}.color-replace-section{display:flex;gap:6px;align-items:flex-end;flex-wrap:wrap}.color-picker{width:40px;height:32px;border:1px solid #ddd;border-radius:4px;cursor:pointer}#gridContainer{display:inline-block;margin-top:20px;border:2px solid #333;background-color:#fff}#grid{display:grid;gap:0}.cell{border:.5px solid #e0e0e0;cursor:pointer;transition:opacity 0.2s}.cell:hover{opacity:.8}#grid.eraser-mode .cell:hover{outline:2px solid #dc3545;outline-offset:-2px}#grid.paint-mode .cell:hover{outline:2px solid #28a745;outline-offset:-2px}.info{margin-top:10px;padding:8px;background-color:#e3f2fd;border-radius:4px;font-size:12px}#imagePreview{max-width:300px;max-height:300px;margin-top:10px;border:1px solid #ddd;display:none}.hidden{display:none}#gridWrapper{display:inline-block;position:relative;margin-top:20px}#gridContainer{position:relative}#imageOverlay{position:absolute;top:0;left:0;pointer-events:none;opacity:.7;display:none}.grid-numbers-y{position:absolute;right:-30px;bottom:0;display:flex;flex-direction:column-reverse;font-size:10px;font-weight:700;color:#333}.grid-numbers-x{position:absolute;bottom:-20px;right:0;display:flex;flex-direction:row-reverse;font-size:10px;font-weight:700;color:#333}.number-label{display:flex;align-items:center;justify-content:center}.controls.collapsible{display:flex;flex-direction:column;gap:10px}details{border:1px solid #ddd;border-radius:6px;background:#fafafa;padding:5px 10px}summary{cursor:pointer;font-weight:700;padding:6px 0;list-style:none}summary::-webkit-details-marker{display:none}details[open] summary{margin-bottom:8px}details summary::before{content:"▶ ";font-size:12px}details[open] summary::before{content:"▶ "}.upload-group input[type="file"]{display:none}.upload-btn{display:flex;align-items:center;justify-content:center;width:100%;padding:18px 0;font-size:18px;font-weight:700;background:linear-gradient(135deg,#5e72e4,#825ee4);color:#fff;border-radius:12px;cursor:pointer;transition:0.25s ease;box-shadow:0 6px 18px rgb(0 0 0 / .2)}.upload-btn:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgb(0 0 0 / .3)}.file-name{margin-top:8px;font-size:13px;color:#555}@media print{body{background-color:#fff;padding:0}.container{box-shadow:none;display:block}.sidebar{display:none!important}.main-content{margin:0;padding:0}#gridWrapper{margin:0}#imageOverlay{display:none!important}.grid-numbers-y,.grid-numbers-x{display:flex!important}.cell{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important}}