*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;src:url(../fonts/space-grotesk.woff2) format("woff2");font-display:swap}:root{color-scheme:light;--bg: #f5f7fa;--card: #ffffff;--card2: #f8f9fa;--text: #1f1f1f;--text2: #5f6368;--text3: #666c73;--border: #e8ecf0;--border2: #8d949c;--brand: #1a73e8;--brand-light: #f0f4ff;--brand-lighter: #e8f0fe;--brand-border: #d2e3fc;--brand-text: #1a73e8;--error: #d93025;--header-bg: #ffffff;--footer-bg: #1a73e8;--step-bg: #1a73e8;--btn-light-bg: #f0f4ff;--btn-light-text: #1a73e8;--btn-light-border: #d2e3fc;--btn-light-hover: #e0ecff;--upload-hover: #f8faff;--upload-dragover: #eef3ff}html[data-theme=dark]{color-scheme:dark;--bg: #0f1117;--card: #1a1d27;--card2: #14171f;--text: #e8eaed;--text2: #9aa0a6;--text3: #9aa0a6;--border: #2d3141;--border2: #7a8290;--brand: #8ab4f8;--brand-light: #1e2840;--brand-lighter: #1a2335;--brand-border: #2d4a7a;--brand-text: #8ab4f8;--error: #f28b82;--header-bg: #14171f;--footer-bg: #1a73e8;--step-bg: #1a73e8;--btn-light-bg: #1e2840;--btn-light-text: #8ab4f8;--btn-light-border: #2d4a7a;--btn-light-hover: #1a2335;--upload-hover: #1e2130;--upload-dragover: #1a2335}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,sans-serif;line-height:1.6;color:var(--text);background:var(--bg);min-height:100vh;display:flex;flex-direction:column;transition:background .3s,color .3s}h1,h2,h3{text-wrap:balance}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}button,a,label,input,textarea{touch-action:manipulation}html{-webkit-tap-highlight-color:transparent}.skip-link{position:fixed;top:-100px;left:16px;z-index:1000;background:var(--brand);color:#fff;padding:10px 18px;border-radius:8px;font-weight:600;text-decoration:none;transition:top .2s}.skip-link:focus{top:12px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.container{max-width:820px;margin:0 auto;padding:0 24px}.site-header{background:var(--header-bg);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;transition:background .3s,border-color .3s}.header-inner{max-width:1100px;margin:0 auto;padding:0 24px;height:64px;display:flex;align-items:center;justify-content:space-between}.header-left{display:flex;align-items:center;gap:4px;flex-shrink:0}.header-left a{text-decoration:none}.header-right{display:flex;align-items:center;gap:12px}.logo-icon{width:36px;height:36px;display:block;flex-shrink:0}.brand-name{font-family:Space Grotesk,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1.4rem;font-weight:600;color:var(--brand-text);letter-spacing:-.02em;white-space:nowrap;transition:color .3s}.header-nav{display:flex;gap:4px}.nav-link{text-decoration:none;color:var(--text2);font-size:.9rem;font-weight:500;padding:8px 14px;border-radius:8px;transition:background .2s,color .2s}.nav-link:hover{background:var(--brand-light);color:var(--brand-text)}.nav-link.active{color:var(--brand-text);background:var(--brand-lighter)}.gh-star-btn{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;background:#24292f;color:#e6edf3;border:1px solid #3d444d;border-radius:999px;font-size:.85rem;font-weight:600;text-decoration:none;white-space:nowrap;transition:background .2s,border-color .2s,box-shadow .2s}.gh-star-btn:hover{background:#2d333b;border-color:#565d66;box-shadow:0 2px 8px #0003}.gh-star-btn:active{transform:scale(.97)}.gh-star-btn .gh-octo{flex-shrink:0}.gh-star-count{min-width:22px;text-align:center;padding:1px 7px;background:#ffffff1f;border-radius:999px;font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums}html[data-theme=dark] .gh-star-btn{background:#2d3141;color:#e8eaed;border-color:#3a3f54}html[data-theme=dark] .gh-star-btn:hover{background:#363b4d;border-color:#4a5070}html[data-theme=dark] .gh-star-count{background:#ffffff1a}.hamburger{display:none;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text);padding:4px 8px;line-height:1;border-radius:6px;transition:background .2s}.hamburger:hover{background:var(--brand-light)}.theme-toggle{background:var(--brand-light);border:1px solid var(--border);border-radius:8px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.2rem;flex-shrink:0;transition:background .3s,border-color .3s,transform .15s}.theme-toggle:hover{transform:scale(1.08)}.theme-toggle:active{transform:scale(.95)}.theme-toggle .icon{pointer-events:none}html:not([data-theme=dark]) .icon-sun{display:inline}html:not([data-theme=dark]) .icon-moon{display:none}html[data-theme=dark] .icon-sun{display:none}html[data-theme=dark] .icon-moon{display:inline}.hero{text-align:center;padding:60px 0 40px}.hero h1{font-size:2.4rem;font-weight:800;color:var(--text);margin-bottom:12px;letter-spacing:-1px;transition:color .3s}.hero-sub{font-size:1.1rem;color:var(--text2);max-width:560px;margin:0 auto}.tool-section{flex:1;padding-bottom:60px}.upload-area{background:var(--card);border:2px dashed var(--border2);border-radius:16px;padding:50px 24px;text-align:center;cursor:pointer;transition:border-color .3s,background .3s}.upload-area:hover{border-color:var(--brand-text);background:var(--upload-hover)}.upload-area.dragover{border-color:var(--brand-text);background:var(--upload-dragover)}.upload-icon{font-size:3rem;margin-bottom:12px}.upload-text{font-size:1.1rem;color:var(--text);margin-bottom:8px}.upload-hint{font-size:.85rem;color:var(--text3)}.upload-row{display:flex;flex-direction:column;align-items:center;gap:16px;margin-bottom:16px}.upload-row .upload-area{width:100%;max-width:660px}.accel-side{display:flex;flex-direction:column;align-items:center;gap:8px;flex:0 0 auto}.accel-badge-slot{height:34px;display:flex;align-items:center;justify-content:center;margin-top:10px}.accel-badge-slot .accel-badge{margin-top:0}.accel-switch{display:flex;align-items:center;gap:12px;padding:12px 18px;background:var(--card);border:1px solid var(--border2);border-radius:999px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .25s,box-shadow .25s,transform .15s}.accel-switch:hover{border-color:var(--brand-text);box-shadow:0 2px 10px #00000014}.accel-switch:active{transform:scale(.98)}.accel-switch input{display:none}.switch-track{position:relative;flex:0 0 auto;width:42px;height:24px;border-radius:999px;background:var(--border2);transition:background .25s}.switch-knob{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #00000059;transition:transform .25s}.accel-switch input:checked+.switch-track{background:var(--brand)}.accel-switch input:checked+.switch-track .switch-knob{transform:translate(18px)}.switch-label{display:flex;flex-direction:column;line-height:1.2;font-size:.9rem;font-weight:700;color:var(--text);white-space:nowrap}.switch-label small{font-size:.72rem;font-weight:500;color:var(--text3)}.loading{padding:40px 0;max-width:500px;margin:0 auto}.progress-container{display:flex;flex-direction:column;gap:12px}.progress-bar{width:100%;height:8px;background:var(--border);border-radius:4px;overflow:hidden}.progress-fill{height:100%;width:0%;background:linear-gradient(90deg,#3b82f6,#60a5fa,#fbbf24,#f59e0b);border-radius:4px;transition:width .3s ease}.progress-info{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;color:var(--text-muted)}.progress-step{display:flex;align-items:center;gap:8px}.progress-step:before{content:"";width:14px;height:14px;border:2px solid var(--brand-text);border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}.progress-count{font-weight:500;color:var(--text);background:var(--card);padding:2px 10px;border-radius:10px;border:1px solid var(--border)}@keyframes spin{to{transform:rotate(360deg)}}.result{background:var(--card);border:1px solid var(--border);border-radius:16px;overflow:hidden;max-width:760px;margin:0 auto;transition:background .3s,border-color .3s}.result-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border);flex-wrap:wrap;gap:12px}.result-header h2{font-size:1.1rem;font-weight:600;color:var(--text)}.result-actions{display:flex;gap:8px}.result-meta{padding:12px 24px;font-size:.85rem;color:var(--text2);background:var(--card2);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px}.cluster-toggle{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;cursor:pointer}.cluster-toggle select{font-size:.8rem;padding:2px 6px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text);cursor:pointer}.cluster-toggle select:hover{border-color:var(--accent)}.markdown-output{display:block;width:100%;min-height:420px;padding:28px 32px;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.9rem;line-height:1.7;color:var(--text);background:var(--card);border:1px solid var(--border2);border-radius:8px;white-space:pre-wrap;word-wrap:break-word;overflow-x:auto;max-height:560px;overflow-y:auto;resize:vertical}.markdown-output:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.view-tabs{display:flex;gap:4px;padding:12px 24px 0;background:var(--card2);border-bottom:1px solid var(--border)}.tab-btn{padding:8px 18px;border:1px solid transparent;border-bottom:none;border-radius:8px 8px 0 0;background:transparent;color:var(--text2);font-size:.85rem;font-weight:500;cursor:pointer;transition:background .2s,color .2s,border-color .2s;font-family:inherit;line-height:1.4}.tab-btn:hover{background:var(--brand-light);color:var(--brand-text)}.tab-btn.active{background:var(--card);color:var(--text);border-color:var(--border);font-weight:600;position:relative}.tab-btn.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--card)}.pdf-viewer{padding:20px 24px;background:var(--card2);border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:28px}.bbox-page{display:flex;flex-direction:column;gap:4px;content-visibility:auto;contain-intrinsic-size:auto 400px}.bbox-page-label{font-size:.85rem;font-weight:600;color:var(--text2);padding:4px 0}.bbox-page canvas{display:block;max-width:100%;height:auto;border-radius:8px;box-shadow:0 2px 12px #0000001a;background:#fff}.yolo-frags{padding:16px 24px;background:var(--card2);border-bottom:1px solid var(--border)}.yolo-frags canvas{max-width:100%;height:auto;border-radius:8px;box-shadow:0 2px 12px #0000001f;margin-bottom:12px}.crop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;padding:16px 24px;background:var(--card2);border-bottom:1px solid var(--border)}.crop-item{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--border);border-radius:8px;overflow:hidden;transition:transform .15s,box-shadow .15s}.crop-item:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.crop-item img{width:100%;height:auto;display:block}.crop-text-only{padding:12px;font-size:.85rem;color:var(--text1);background:var(--card2, #eef0f5);line-height:1.5;word-break:break-word}.crop-label{padding:4px 8px;font-size:.75rem;color:var(--text2);background:var(--card);text-align:center}.debug-report{padding:16px 24px;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.78rem;line-height:1.55;color:var(--text);background:var(--card2);white-space:pre-wrap;word-break:break-word;max-height:75vh;overflow:auto;border-bottom:1px solid var(--border)}.row-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;padding:16px 24px;background:var(--card2);border-bottom:1px solid var(--border);align-items:start}.row-block-title{font-weight:600;font-size:.9rem;padding:8px 12px;margin:10px 0 0;background:var(--accent, #2f6fed);color:#fff;border-radius:6px 6px 0 0}.row-grid .crop-item img{width:100%;height:auto;display:block;background:#fff}.no-highlights,.error{text-align:center;padding:40px 24px;background:var(--card);border:1px solid var(--border);border-radius:16px}.no-highlights p,.error p{font-size:1.05rem}.no-highlights .hint{font-size:.9rem;color:var(--text3);margin-top:8px}.error p{color:var(--error)}.how-it-works{background:var(--card);padding:60px 0;border-top:1px solid var(--border);transition:background .3s,border-color .3s}.how-it-works h2{text-align:center;font-size:1.6rem;font-weight:700;margin-bottom:40px;color:var(--text)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.step{text-align:center}.step-num{width:48px;height:48px;background:var(--step-bg);color:#fff;font-size:1.3rem;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.step h3{font-size:1.05rem;font-weight:600;margin-bottom:8px;color:var(--text)}.step p{font-size:.9rem;color:var(--text2)}.site-footer{background:var(--footer-bg);padding:32px 0;transition:background .3s}.footer-inner{max-width:1100px;margin:0 auto;padding:0 24px;display:flex;align-items:flex-start;justify-content:space-between}.footer-left{display:flex;align-items:center;gap:4px}.footer-logo{width:36px;height:36px;display:block;border-radius:4px}.footer-brand{font-family:Space Grotesk,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1.2rem;font-weight:600;color:#fff;letter-spacing:-.02em}.footer-right{display:flex;gap:60px}.footer-links{display:flex;flex-direction:column;gap:8px}.footer-heading{font-size:.85rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:1px;margin-bottom:4px}.footer-links a{color:#fff;text-decoration:none;font-size:.9rem;font-weight:400;transition:color .2s}.footer-links a:hover{color:#fff;text-decoration:underline}.btn-sm{padding:6px 16px;font-size:.85rem;border-radius:6px}.btn-sm:hover{box-shadow:0 2px 8px #0000001a}.btn-sm:active{box-shadow:none}.result-actions .btn-sm{background:var(--btn-light-bg);color:var(--btn-light-text);border:1px solid var(--btn-light-border)}.result-actions .btn-sm:hover{background:var(--btn-light-hover)}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 24px;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s,transform .15s,box-shadow .2s;text-decoration:none}.btn-lg{padding:14px 28px;font-size:1rem;border-radius:10px}.btn-block{width:100%;justify-content:center}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover{box-shadow:0 6px 16px #1a73e84d}.btn-ghost{background:var(--card);color:var(--text);border:1px solid var(--border2)}.btn-ghost:hover{border-color:var(--brand);color:var(--brand-text);box-shadow:0 2px 10px #00000014}html[data-theme=dark] .btn-primary{color:#0f1117}.hero-cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:center;margin-top:26px}.hero-meta{margin-top:14px;font-size:.85rem;color:var(--text3)}.star-icon{flex-shrink:0}.sticky-cta{display:none;position:fixed;left:0;right:0;bottom:0;z-index:150;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:var(--card);border-top:1px solid var(--border);box-shadow:0 -4px 20px #00000014}.hidden{display:none!important}.lang-switcher{position:relative}.lang-btn{display:inline-flex;align-items:center;gap:6px;font-size:.875rem;font-weight:500;background:#24292f;color:#e6edf3;border:1px solid #3d444d;padding:7px 14px;border-radius:999px;cursor:pointer;font-family:inherit;line-height:1.3;transition:background .2s,border-color .2s,box-shadow .2s}.lang-btn:hover{background:#2d333b;border-color:#565d66;box-shadow:0 2px 8px #0003}.lang-name{font-weight:500}.lang-chevron{flex-shrink:0;opacity:.8}.lang-menu{position:absolute;bottom:calc(100% + 8px);right:0;z-index:300;width:16rem;max-width:calc(100vw - 2rem);background:#24292f;color:#e6edf3;border:1px solid #3d444d;border-radius:10px;box-shadow:0 10px 30px #00000059;display:flex;flex-direction:column;overflow:hidden}.lang-menu:not(.hidden){display:flex}.lang-search-wrap{padding:8px;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}.lang-search{width:100%;padding:7px 12px;font-size:.875rem;background:#1f2428;color:#e6edf3;border:1px solid #3d444d;border-radius:8px;font-family:inherit;outline:none;transition:border-color .2s}.lang-search:focus{border-color:var(--brand)}.lang-search::placeholder{color:#8b949e}.lang-list{max-height:16rem;overflow-y:auto;padding:6px}.lang-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;text-align:left;font-size:.875rem;color:#e6edf3;background:none;border:none;border-radius:6px;cursor:pointer;font-family:inherit;transition:background .15s}.lang-item:hover{background:#ffffff14}.lang-item.active{background:#ffffff1f;font-weight:600}.lang-empty{padding:12px 16px;font-size:.875rem;text-align:center;color:#8b949e}html[data-theme=dark] .lang-btn{background:#2d3141;color:#e8eaed;border-color:#3a3f54}html[data-theme=dark] .lang-btn:hover{background:#363b4d;border-color:#4a5070}html[data-theme=dark] .lang-menu{background:#1a1d27;color:#e8eaed;border-color:#3a3f54}html[data-theme=dark] .lang-search-wrap{border-bottom-color:#2d3141}html[data-theme=dark] .lang-search{background:#14171f;border-color:#3a3f54}html[data-theme=dark] .lang-item{color:#e8eaed}html[data-theme=dark] .lang-item:hover{background:#ffffff0f}html[data-theme=dark] .lang-item.active{background:#ffffff1a}.footer-bottom{display:flex;justify-content:center;padding-top:20px;margin-top:24px;border-top:1px solid rgba(255,255,255,.2)}@media(max-width:768px){.header-inner{padding:0 12px;height:56px}.brand-name{font-size:1.1rem}.logo-icon{width:30px;height:30px}.header-right{gap:6px;position:relative}.header-left{gap:4px}.hamburger{display:block}.header-nav{display:none;position:absolute;top:100%;right:0;left:auto;background:var(--header-bg);border:1px solid var(--border);border-radius:10px;padding:6px;min-width:170px;flex-direction:column;gap:2px;box-shadow:0 4px 20px #00000026;z-index:200;margin-top:8px}.header-nav.nav-open{display:flex}.nav-link{padding:10px 14px;font-size:.85rem;border-radius:8px}.accel-side{display:none}.theme-toggle{width:34px;height:34px;font-size:1rem}.hero{padding:40px 0 30px}.hero h1{font-size:1.6rem}.hero-sub{font-size:.95rem}.hero-cta{margin-top:20px}.btn-lg{padding:12px 20px;font-size:.92rem}.sticky-cta{display:block}body{padding-bottom:64px}.upload-area{padding:36px 16px}.upload-row{gap:14px}.upload-row .upload-area{width:100%}.accel-switch{padding:10px 16px}.upload-icon{font-size:2.4rem}.how-it-works{padding:40px 0}.how-it-works h2{font-size:1.4rem;margin-bottom:30px}.steps{grid-template-columns:1fr;gap:24px}.result-header{flex-direction:column;align-items:flex-start}.markdown-output{max-height:350px;font-size:.8rem;padding:16px}.view-tabs{padding:10px 16px 0;gap:2px;overflow-x:auto}.tab-btn{padding:6px 12px;font-size:.78rem;white-space:nowrap}.pdf-viewer{padding:14px 16px;gap:20px}.bbox-page-label{font-size:.78rem}.crop-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.crop-item,.crop-item img{border-radius:6px}.site-footer{padding:24px 0}.footer-inner{flex-direction:row;align-items:center;justify-content:space-between}.footer-right{gap:32px}.footer-heading{font-size:.75rem}.footer-links a{font-size:.85rem}.footer-logo{width:32px;height:32px;padding:2px}}@media(max-width:480px){.header-inner{gap:6px}.header-left{gap:5px}.header-right{gap:3px}.brand-name{font-size:.95rem}.hamburger{font-size:1.3rem;padding:4px 6px}.header-nav{min-width:160px;border-radius:8px}.nav-link{padding:9px 12px;font-size:.8rem}.theme-toggle{width:32px;height:32px;font-size:.95rem}.hero h1{font-size:1.35rem}.hero-sub{font-size:.85rem}.container{padding:0 14px}.upload-area{padding:28px 12px;border-radius:12px}.upload-text{font-size:.95rem}.upload-icon{font-size:2rem}.result-header h2{font-size:1rem}.btn-sm{padding:8px 14px;font-size:.8rem}.view-tabs{padding:8px 12px 0;gap:2px}.tab-btn{padding:5px 10px;font-size:.72rem}.pdf-viewer{padding:10px 12px;gap:16px}.bbox-page-label{font-size:.72rem}.step-num{width:40px;height:40px;font-size:1.1rem}.step h3{font-size:.95rem}.step p{font-size:.85rem}.crop-item img{border-radius:4px}.crop-label,.footer-links a{font-size:.8rem}.footer-logo{width:28px;height:28px;padding:2px;border-radius:4px}.footer-brand{font-size:1rem}}.accel-badge{display:inline-flex;align-items:center;gap:4px;margin-top:10px;padding:4px 10px;border-radius:20px;font-size:.78rem;font-weight:500;line-height:1.3;transition:opacity .4s ease}.accel-loading{background:var(--bg2);color:var(--text3);border:1px solid var(--border)}.accel-gpu{background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7}.accel-cpu{background:#fff3e0;color:#e65100;border:1px solid #ffcc80}html[data-theme=dark] .accel-gpu{background:#1b5e20;color:#c8e6c9;border-color:#388e3c}html[data-theme=dark] .accel-cpu{background:#e65100;color:#fff3e0;border-color:#f57c00}.box-editor{margin-top:16px}.editor-toolbar{display:flex;flex-direction:column;gap:8px;margin-bottom:10px;padding:10px 12px;background:var(--card);border:1px solid var(--border2);border-radius:10px}.editor-toolbar-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.editor-toolbar-row+.editor-toolbar-row{border-top:1px solid var(--border2);padding-top:8px}.editor-group{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}.editor-sep{flex:1;min-width:8px}.editor-btn{height:34px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:.85rem;font-weight:500;white-space:nowrap;background:var(--btn-light-bg);color:var(--btn-light-text);border:1px solid var(--btn-light-border);border-radius:6px;cursor:pointer;transition:background .2s,color .2s,border-color .2s,box-shadow .2s}.editor-btn:hover{background:var(--btn-light-hover);box-shadow:0 2px 8px #00000014}.editor-btn:active{box-shadow:none;transform:translateY(1px)}.editor-icon{width:36px;padding:0;font-size:.95rem}.editor-btn-primary{height:34px;padding:0 20px;font-weight:600}.editor-pill{height:34px;min-width:78px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;background:var(--btn-light-bg);color:var(--btn-light-text);border:1px solid var(--btn-light-border);border-radius:999px;font-size:.85rem;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.editor-zoom{min-width:56px;padding:0 8px}.editor-hint{font-size:.85rem;color:var(--text2);margin:0 0 10px}.editor-canvas-wrap{overflow:auto;overscroll-behavior:contain;border:1px solid var(--border2);border-radius:8px;background:var(--card);padding:8px;max-height:72vh}.editor-page-wrap{position:relative;width:100%;margin-bottom:14px;border-radius:6px;overflow:hidden;background:var(--canvas-bg, #fff)}.editor-page-label{position:absolute;top:6px;left:8px;z-index:3;font-size:.78rem;font-weight:600;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.7);pointer-events:none}.editor-page-base{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.editor-page-ov{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;cursor:default;border-radius:6px;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.editor-page-ov:focus-visible{outline:2px solid var(--brand);outline-offset:-3px}.btn:disabled,.btn:disabled:hover{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.editor-danger{background:var(--btn-light-bg);color:#d93025;border-color:#d9302566}.editor-danger:hover{background:#fce8e6;border-color:#d93025;color:#b3261e}html[data-theme=dark] .editor-danger{color:#ff8a80;border-color:#ff8a8073}html[data-theme=dark] .editor-danger:hover{background:#d9302526;color:#ffa49c}#editConfirm.armed{background:#f9ab00;color:#202124;border:1px solid #e37400}#editConfirm.armed:hover{box-shadow:0 6px 16px #f9ab0066}@media(prefers-reduced-motion:no-preference){#editConfirm.armed{animation:editConfirmPulse 1.1s ease-in-out infinite}}@keyframes editConfirmPulse{0%,to{box-shadow:0 0 #f9ab008c}50%{box-shadow:0 0 0 6px #f9ab0000}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tab-btn svg{width:15px;height:15px;vertical-align:-2px;margin-right:6px;flex-shrink:0}.btn svg,.editor-btn svg,.gh-star-btn svg{width:15px;height:15px;vertical-align:-2px;flex-shrink:0}.editor-icon svg{width:16px;height:16px;vertical-align:0}.theme-toggle svg{width:17px;height:17px;display:block}.upload-icon svg{width:34px;height:34px;display:block;margin:0 auto}a[data-i18n="footer.starRepo"] svg{width:14px;height:14px;vertical-align:-2px}.editor-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.editor-actions button{white-space:nowrap}#editAddBox[aria-pressed=true]{background:var(--brand);color:#fff;border-color:var(--brand)}#editAddBox[aria-pressed=true]:hover{background:var(--brand);box-shadow:0 4px 14px #1a73e859}html[data-theme=dark] #editAddBox[aria-pressed=true]{color:#0f1117}
