.paper-workbench{min-width:0}
.paper-workbench h1,.paper-workbench h2{overflow-wrap:anywhere}
.paper-heading{margin-bottom:14px}
.paper-heading h1{margin:0 0 4px}
.paper-progress{padding:18px 20px;margin:16px 0 20px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
.paper-progress-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap}
.paper-progress-heading strong{font-size:16px;color:var(--ink)}
.paper-progress-heading>span{font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}
.paper-progress-meter{display:block;width:100%;height:8px;margin:14px 0;accent-color:var(--green);border:0;border-radius:6px;overflow:hidden;background:var(--line)}
.paper-progress-meter::-webkit-progress-bar{background:var(--line);border-radius:6px}
.paper-progress-meter::-webkit-progress-value{background:var(--green);border-radius:6px}
.paper-progress-meter::-moz-progress-bar{background:var(--green);border-radius:6px}
.paper-progress-meter:indeterminate{background:linear-gradient(90deg,var(--line) 25%,var(--green) 50%,var(--line) 75%);background-size:200% 100%;animation:paper-progress-wait 1.8s linear infinite}
.paper-progress-meter:indeterminate::-webkit-progress-bar{background:transparent}
.paper-progress-meter:indeterminate::-moz-progress-bar{background:transparent}
@keyframes paper-progress-wait{from{background-position:100% 0}to{background-position:-100% 0}}
@media(prefers-reduced-motion:reduce){.paper-progress-meter:indeterminate{animation:none}}
.paper-progress-detail,.paper-progress-hint{font-size:14px;line-height:1.7;margin:4px 0 0;overflow-wrap:anywhere}
.paper-progress-detail{color:var(--ink)}
.paper-progress-hint{color:var(--muted)}
.paper-question-tools summary{cursor:pointer;min-height:44px;padding:10px 0;color:var(--green)}
.paper-reader-heading{display:flex;align-items:center;gap:12px}
.paper-reader-heading>div{flex:1;min-width:0}
.paper-reader-heading h1{font-size:22px}
.paper-reader-heading .fine{margin:2px 0 0}
.paper-reader-heading>.text-button{min-width:44px;min-height:44px}
.paper-question-count{white-space:nowrap;color:var(--muted);font-variant-numeric:tabular-nums}
.paper-stem-column{grid-area:stem;min-width:0}
.paper-stem-column h2{font-size:14px;color:var(--muted);margin:0 0 8px}
.paper-turner{display:flex;gap:12px;margin:20px 0}
.paper-turner>.button{flex:1;min-height:44px}
.paper-photo-options>summary{cursor:pointer;color:var(--muted);font-size:14px;min-height:44px;padding:10px 0}
.paper-navigation{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:16px 0 22px}
.paper-navigation>select{flex:1;min-width:0;margin:0;width:auto}
.paper-page-select{display:flex;align-items:center;gap:8px;margin:0;white-space:nowrap}
.paper-page-select select{margin:0;width:auto}
.paper-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-areas:"photo solution";gap:24px;align-items:start}
.paper-photo-column,.paper-solution-column{min-width:0}
.paper-photo-column{grid-area:photo;position:sticky;top:90px}
.paper-solution-column{grid-area:solution}
.paper-photo-column h2{font-size:17px;margin:0}
.paper-tools,.paper-pick,.paper-file-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0}
.paper-viewport{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--paper)}
.paper-image-stage{position:relative;min-width:0}
.paper-image-stage>img{display:block;width:100%;height:auto;user-select:none;-webkit-user-drag:none}
.paper-region{position:absolute;background:transparent;border:1px solid #306b5299;border-radius:5px;cursor:pointer;min-height:0;padding:0;color:var(--green)}
.paper-region.selected{border:2px solid var(--green);background:#306b5210}
.paper-region>span{position:absolute;left:0;top:0;font-size:12px;background:var(--paper);color:var(--green);padding:0 4px;border-radius:3px}
.paper-answer-pin{position:absolute;transform:translate(-100%,0);width:max-content;max-width:40%;min-width:44px;min-height:44px;padding:3px 7px;border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--green);font:inherit;white-space:nowrap;box-shadow:var(--shadow);touch-action:none;cursor:grab;z-index:2}
.paper-answer-pin .math-run{padding:1px;overflow-y:hidden}
.paper-selecting{touch-action:none;cursor:crosshair}
.paper-selecting .paper-region{pointer-events:none}
.paper-selecting .paper-answer-pin{display:none}
.paper-regions[hidden]{display:none}
.paper-crop-selection{position:absolute;border:2px dashed var(--green);background:#306b5225;pointer-events:none;z-index:3}
.paper-solution{margin-bottom:18px}
.paper-recognized{margin:8px 0 12px;overflow-wrap:anywhere}
.paper-answer-block{padding:14px 16px;background:var(--light);border-radius:10px}
.paper-answer{font-size:26px;color:var(--green);margin:4px 0 0;overflow-wrap:anywhere}
.paper-reading-shortcut{display:none}
.paper-photo-heading{gap:12px;flex-wrap:wrap}
.paper-photo-tools{margin:0 0 12px}
.paper-photo-help{margin-top:8px}
.paper-workbench .math-run{overflow-y:hidden}
.paper-steps{padding-left:24px;line-height:1.9}
.paper-steps li{padding:4px 0 12px 4px;overflow-wrap:anywhere}
.paper-correction{display:flex;align-items:start;flex-wrap:wrap;gap:12px;margin-top:18px}
.paper-question-tools{margin:0;flex:1;min-width:132px}
.paper-question-tools .paper-tools{margin-top:4px}
.paper-editor{margin-top:18px}
.paper-editor .math-source summary{min-height:44px;cursor:pointer;padding:10px 0;color:var(--green)}
.paper-editor .math-preview{margin:10px 0}
.paper-editor fieldset,.paper-upload fieldset{border:0;padding:0;margin:0;min-width:0}
.paper-upload{max-width:800px}
.paper-upload-meta{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:14px;align-items:end}
.paper-upload-meta>div{min-width:0}
.paper-upload #paper-files,.paper-upload #paper-camera{position:absolute;width:1px;height:1px;min-width:0;min-height:0;padding:0;border:0;opacity:0;pointer-events:none}
.paper-upload .paper-pick label{min-height:44px;cursor:pointer}
.paper-file-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:14px;margin-top:12px}
.paper-file-list[hidden]{display:none}
.paper-file{padding:14px;border:1px solid var(--line);border-radius:10px;min-width:0}
.paper-file strong,.paper-file>.fine{display:block;overflow-wrap:anywhere}
.paper-file-previews{display:flex;overflow-x:auto;gap:8px;margin-bottom:10px}
.paper-file-previews img{width:110px;height:150px;object-fit:contain;border-radius:4px;background:var(--bg)}
.paper-file-actions .button{font-size:14px;padding:8px 10px}
.paper-resources{margin-top:24px}
.paper-resources>summary{min-height:44px;cursor:pointer}
.paper-question-tools summary:focus-visible,.paper-photo-options>summary:focus-visible,.paper-resources>summary:focus-visible{outline:3px solid #93bda5;outline-offset:2px;border-radius:6px}
.paper-image-dialog{width:min(96vw,1100px);height:90dvh;max-height:94dvh;padding:16px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.paper-image-dialog[open]{display:flex;flex-direction:column;gap:12px}
.paper-image-dialog::backdrop{background:#0009}
.paper-source-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-shrink:0}
.paper-source-heading h2{font-size:18px;margin:0}
.paper-source-heading .fine{font-size:13px;margin:4px 0 0}
.paper-source-heading>.button{flex-shrink:0}
.paper-source-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex-shrink:0}
.paper-source-tools .button,.paper-source-tools .text-button{min-width:44px;min-height:44px;padding:8px 12px}
.paper-source-tools>.fine{font-size:13px}
.paper-source-scroll{flex:1;min-height:0;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:8px;overscroll-behavior:contain}
.paper-source-scroll>img{display:block;width:100%;max-width:none;height:auto}
.paper-list-card h2{font-size:19px;margin:0}
.paper-library-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}
.paper-library-heading .paper-library-actions>.button{margin:0}
.paper-list-card{display:flex;flex-direction:column;gap:16px}
.paper-card-preview{display:flex;gap:16px;align-items:center;min-width:0}
.paper-card-info{min-width:0;flex:1}
.paper-card-info h2{line-height:1.5;overflow-wrap:anywhere}
.paper-card-info>.fine{margin:4px 0 8px}
.paper-cover{width:72px;height:96px;object-fit:cover;object-position:top;border:1px solid var(--line);border-radius:6px;background:var(--paper);flex-shrink:0}
.paper-state{display:inline-block;font-size:12px;line-height:1.5;padding:3px 8px;border-radius:6px;color:var(--green);background:var(--light)}
.paper-state.working,.paper-state.interrupted{color:var(--amber);background:color-mix(in srgb,var(--amber) 12%,var(--paper))}
.paper-card-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto}
.paper-card-actions>.button{min-height:44px;font-size:14px;padding:10px 13px}
.paper-card-actions>[aria-disabled=true],.paper-library-actions>[aria-disabled=true]{opacity:.55}
.paper-card-error{font-size:13px;line-height:1.65;overflow-wrap:anywhere}
.paper-workbench .button.danger:not(:disabled){background:transparent;border-color:color-mix(in srgb,var(--red) 55%,var(--line))}

.paper-reading-column{grid-area:solution;min-width:0}
