:root{font-family:system-ui,-apple-system,"Noto Sans JP",sans-serif;color:#252b36;background:#f4f3ef;font-synthesis:none;color-scheme:light}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{min-height:42px;padding:9px 16px;border:1px solid #c7cbd2;border-radius:7px;background:#fff;color:inherit;cursor:pointer}button:hover:enabled{background:#eef2f5}button:disabled{opacity:.45;cursor:default}a{color:#1b5689;text-decoration-thickness:1px;text-underline-offset:3px;overflow-wrap:anywhere}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #397fbc;outline-offset:3px}[hidden]{display:none!important}.app-header{padding:24px max(20px,calc((100vw - 1080px)/2));display:flex;align-items:end;justify-content:space-between;gap:20px;border-bottom:1px solid #dadcd8;background:#fff}.brand{margin:0 0 4px;font-size:13px;color:#626a74}h1{margin:0;font-size:26px;font-weight:650}.version{font-size:12px;color:#626a74;white-space:nowrap}main{max-width:1080px;margin:auto;padding:18px 20px 32px}.status{margin:0;min-height:24px;color:#3c566e;overflow-wrap:anywhere}.status.error{color:#a83127}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:12px 0 20px}.section-heading h2{margin:0;font-size:21px;overflow-wrap:anywhere}.actions{display:flex;gap:8px;flex-wrap:wrap}.reference-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(265px,1fr));gap:16px}.reference-card{display:flex;flex-direction:column;gap:10px;padding:18px;border:1px solid #d8dbd9;border-radius:10px;background:#fff;min-width:0}.reference-card h3{margin:0;font-size:17px;overflow-wrap:anywhere}.reference-card p{margin:0;color:#67707b;font-size:14px}.reference-card .actions{margin-top:auto}.reference-card .preview{height:150px;width:100%;object-fit:contain;background:transparent}.reference-card a{font-size:13px}.empty{grid-column:1/-1;padding:24px 0;color:#67707b}#pendingSection{margin-top:30px}#referenceUploadForm{display:flex;flex-direction:column;gap:20px;max-width:740px;background:#fff;padding:24px;border:1px solid #dadcd8;border-radius:10px}label{display:flex;flex-direction:column;gap:7px}input{min-width:0;width:100%;padding:10px;border:1px solid #c7cbd2;border-radius:6px;background:#fff}.hint{font-size:14px;color:#626a74;margin:0;line-height:1.7}.upload-file-list{margin:0;padding-left:28px}.upload-file-list li{padding:8px 0}.upload-file-row{display:flex;align-items:center;gap:8px}.upload-file-name{flex:1;overflow-wrap:anywhere;min-width:0}.upload-file-row button{min-height:36px;padding:6px 10px}.reader-links{display:flex;gap:15px;justify-content:space-between;align-items:center;margin-bottom:14px}.reader-links a{font-size:14px}.reader-stage{display:flex;align-items:center;justify-content:center;min-height:180px;height:calc(100dvh - 300px);height:max(180px,calc(100dvh - 300px));width:100%;touch-action:pan-y}.reader-stage img,.reader-stage video{display:block;width:100%;height:100%;object-fit:contain;border:0;border-radius:0;background:transparent}.reader-controls{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:16px}.reader-file-name{text-align:center;margin:10px 0;color:#626a74;font-size:13px;overflow-wrap:anywhere}.copy-fallback{position:fixed;inset:auto 20px 20px;z-index:10;padding:16px;background:#fff;border:1px solid #c7cbd2;box-shadow:0 6px 22px #0002;display:flex;gap:10px;align-items:center}.copy-fallback label{flex:1;min-width:0}@media(max-width:620px){.app-header{padding:18px;align-items:start;flex-direction:column;gap:8px}h1{font-size:23px}main{padding:12px 14px 24px}.section-heading{align-items:start;flex-wrap:wrap}.reference-list{grid-template-columns:1fr}.reader-links{align-items:start;flex-direction:column}.reader-stage{height:max(180px,calc(100dvh - 355px))}.reader-controls{gap:10px}.reader-controls button{padding:9px 10px}#referenceUploadForm{padding:18px}.upload-file-row{flex-wrap:wrap}.upload-file-name{flex-basis:100%}.copy-fallback{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.reference-series{margin:0 0 12px;font-size:13px;color:#626a74;overflow-wrap:anywhere}
