.library-page{margin:0;font-family:system-ui,'Malgun Gothic',sans-serif}.library-header{background:white;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding:20px 5%}.library-header a{color:var(--pink-deep);text-decoration:none;font-weight:700}.library-header nav{display:flex;gap:20px;font-size:14px}.library-main{max-width:1180px;margin:40px auto;padding:0 24px}.library-main h1{font-size:32px}.library-main h2{font-size:21px}.library-main p{line-height:1.8}.library-auth{display:flex;gap:14px;align-items:end;flex-wrap:wrap;background:white;border:1px solid var(--line);padding:20px;border-radius:12px;margin:26px 0}.library-page label{display:grid;gap:7px;font-size:13px;font-weight:600}.library-page input,.library-page select,.library-page textarea{font:inherit;font-size:14px;padding:11px;border:1px solid var(--line);border-radius:8px;box-sizing:border-box;min-width:0;width:100%}.library-page button{padding:10px 15px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink);cursor:pointer;font:inherit;font-size:13px}.library-page button:disabled{opacity:.5;cursor:wait}.library-layout{display:grid;grid-template-columns:300px 1fr;gap:28px}.library-editor,.library-test{background:white;border:1px solid var(--line);border-radius:16px;padding:24px}.library-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}#referenceForm{display:grid;gap:17px}#referenceForm textarea{min-height:75px}#cropCanvas{width:100%;height:auto;object-fit:contain;display:block;touch-action:none;background:#f3f4f7;cursor:crosshair}.library-hint{font-size:12px;color:var(--gray);font-weight:400}.library-list-item{border:1px solid var(--line);padding:15px;border-radius:10px;background:white;margin:12px 0}.library-list-item small{display:block;margin:6px 0;font-size:12px}.library-list-item button{margin:4px;font-size:11px}.library-test{margin:28px 0}.library-test input{margin:8px 0}#saveReference,#libraryConnect,#testSearch{background:var(--pink);color:white}.related-case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.reference-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;padding:12px;background:white;min-width:0}.reference-pictures img{width:100%;height:135px;object-fit:contain;background:#f5f6f8;border-radius:8px}.reference-kind{display:inline-block;font-size:11px;color:#b5315d;margin:10px 0 0}.reference-kind.counterexample{color:#217851}.reference-card h5{font-size:14px;line-height:1.6;margin:8px 0}.reference-card p{font-size:12px;line-height:1.8;overflow-wrap:anywhere}.reference-card small,.reference-card summary{font-size:11px;color:var(--gray);line-height:1.7}.reference-card details{margin-top:12px}.reference-card summary{cursor:pointer}.reference-original{width:100%;max-height:220px;object-fit:contain}.reference-card a{font-size:12px;color:var(--pink-deep)}.reference-search-control{margin:16px 0}.reference-search-control small{display:block;font-size:11px;color:var(--gray);margin-top:9px;line-height:1.7}@media(max-width:750px){.library-main{padding:0 16px}.library-layout{grid-template-columns:1fr}.library-columns{grid-template-columns:1fr}.related-case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-editor,.library-test{padding:18px}}@media(max-width:430px){.related-case-grid{grid-template-columns:1fr}.library-header{flex-wrap:wrap}}

/* Compact operator library. */
.library-page [hidden]{display:none!important}.library-main{max-width:1320px}.library-layout{grid-template-columns:1fr}.library-editor{max-width:860px;width:100%;box-sizing:border-box;margin:0 auto}.library-editor input[type=checkbox]{width:auto}.library-categories{display:flex;flex-wrap:wrap;gap:12px;border:1px solid var(--line);border-radius:10px;padding:15px}.library-categories label{display:flex;align-items:center}.library-categories small{width:100%;font-weight:400;color:var(--gray)}
#referenceList{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-top:20px}.library-list-item{padding:0;margin:0;overflow:hidden;min-width:0}.library-page .library-open{border:0;background:transparent;padding:0;width:100%;margin:0;text-align:left;border-radius:0;font-size:13px}.library-open img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#f2f3f5}.library-open b{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin:12px 10px 6px;font-size:13px}.library-open p{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin:0 10px 12px;font-size:12px;color:var(--gray)}.library-actions{border-top:1px solid var(--line);padding:8px 10px;font-size:11px;color:var(--gray)}.library-actions summary{cursor:pointer}.library-list-item:has(.library-open:hover){border-color:var(--pink)}
@media(max-width:1000px){#referenceList{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:700px){#referenceList{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}}@media(max-width:480px){#referenceList{grid-template-columns:repeat(2,minmax(0,1fr))}}

.library-private-badge{display:inline-block;border-radius:30px;background:#fff0f5;color:#be2b5c;padding:6px 12px;font-size:12px}.library-main h1{margin-bottom:12px}.library-message{min-height:24px;font-size:13px;color:#5e6d83}.library-workflow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:26px 0 32px}.library-workflow>div{border:1px solid var(--line);border-radius:12px;background:white;padding:20px}.library-workflow b{display:block;font-size:14px;margin-bottom:8px}.library-workflow span{font-size:12px;line-height:1.8;color:var(--gray)}.library-list-head{display:flex;justify-content:space-between;gap:16px;align-items:center}.library-list-head h2{margin:0}.library-list-head small{font-size:13px;color:var(--gray);margin-left:8px}#newReference{background:var(--pink);color:white;font-weight:700}.library-filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px;margin:22px 0}.library-save-actions{display:flex;gap:12px}.library-save-actions button{flex:1}#prepareReference{border-color:var(--pink);color:var(--pink-deep)}.library-list-item[hidden]{display:none!important}.library-editor{margin-top:8px}.library-editor>.library-list-head{margin-bottom:24px}@media(max-width:650px){.library-workflow{grid-template-columns:1fr;gap:8px}.library-workflow>div{padding:14px}.library-filters{grid-template-columns:1fr 1fr}.library-filters>label:first-child{grid-column:1/-1}.library-save-actions{flex-direction:column}}

.library-filters{grid-template-columns:2fr 1fr 1fr 1fr}.library-upload{display:flex!important;flex-direction:column;justify-content:center;align-items:center;gap:10px!important;padding:28px 18px;border:1.5px dashed #c8d1df;border-radius:12px;background:#fafbfe;text-align:center;cursor:pointer}.library-upload.is-dragging{background:#fff0f6;border-color:var(--pink)}.library-upload small{font-size:12px;color:var(--gray);font-weight:400}.library-upload input{max-width:360px;border:0!important;background:white}.library-empty{text-align:center;padding:35px;border:1px dashed var(--line);border-radius:12px;color:var(--gray)}@media(max-width:800px){.library-filters{grid-template-columns:1fr 1fr}.library-filters>label:first-child{grid-column:1/-1}}@media(max-width:430px){.library-filters{grid-template-columns:1fr}.library-upload{padding:20px 12px}}

/* Original reference intake: preserve symbol boundaries and separate observations. */
.library-open img{object-fit:contain;background:#fff;padding:8px;box-sizing:border-box}
.library-analysis{background:#f8f9fc;border:1px solid #dce3ed;border-radius:12px;padding:22px;min-width:0}.library-analysis h3{margin:0 0 12px;font-size:18px}.library-analysis h4{font-size:13px;margin:18px 0 5px}.library-analysis p{font-size:13px;overflow-wrap:anywhere}.library-analysis small{display:block;color:#6b7587;line-height:1.8}.library-extra{border-top:1px solid #dce3ed;padding-top:18px}.library-extra summary{cursor:pointer;font-weight:600;margin-bottom:18px}.library-extra label,.library-extra fieldset{margin-bottom:16px}.library-test>summary{font-weight:600;cursor:pointer}#cropCanvas{max-height:520px;width:auto;max-width:100%;margin:auto;border-radius:8px}#analysisResult{line-height:1.8;font-size:14px;overflow-wrap:anywhere}
.library-tabs{display:flex;gap:10px;border-bottom:1px solid #dce2eb;margin:22px 0}.library-tabs button{border:0;border-radius:0;padding:14px 20px}.library-tabs [aria-pressed=true]{color:#d33569;border-bottom:3px solid #e3487b;font-weight:700}#candidateGrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.candidate-placeholder{display:grid;place-items:center;aspect-ratio:4/3;background:#f0f3f7;color:#778297;font-size:12px}#candidateDetail{margin:30px auto;background:white;border:1px solid #dce2eb;border-radius:15px;padding:26px;max-width:850px;overflow-wrap:anywhere}.candidate-large{display:block;max-width:100%;max-height:400px;object-fit:contain;margin:20px auto}.candidate-close{float:right}.candidate-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.candidate-actions [data-act=prepare]{background:#e3487b;color:white}#candidateDetail label{margin-top:18px}#candidateDetail a{color:#b82a5c}#candidateDetail p{font-size:13px}@media(max-width:1000px){#candidateGrid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:700px){#candidateGrid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:480px){#candidateGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#candidateDetail{padding:18px}}
/* Review in place: native dialogs keep focus and the list's scroll position. */
#candidateDetail{position:fixed;inset:0;margin:auto;width:min(1140px,94vw);max-width:none;max-height:90dvh;padding:0;box-sizing:border-box;color:var(--ink)}
#candidateDetail:not([open]),#contextEditor:not([open]){display:none}
#candidateDetail::backdrop,#contextEditor::backdrop{background:rgba(23,31,50,.48);backdrop-filter:blur(3px)}
body:has(dialog[open]){overflow:hidden}
.candidate-modal-head{position:sticky;top:0;z-index:2;display:flex;gap:12px;align-items:center;background:white;border-bottom:1px solid #e2e6ee;padding:16px 22px}.candidate-modal-head span{font-size:13px;color:#697589}.candidate-modal-head .candidate-close,.candidate-modal-head #closeContext{margin-left:auto;float:none}.candidate-modal-head h2{font-size:18px;margin:0}
.candidate-modal-body{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr)}.candidate-visual{padding:26px;background:#f7f8fc;min-width:0}.candidate-visual h3{margin:0 0 22px;font-size:20px}.candidate-reading{padding:26px 30px;min-width:0}.candidate-reading h3{margin-top:0}.candidate-reading h4{margin:24px 0 6px;font-size:14px}.candidate-reading p{font-size:14px!important;line-height:1.85}.candidate-reading .library-hint{font-size:12px!important;color:#64718a}.candidate-large{width:100%;max-height:480px;margin:0;position:sticky;top:84px}.candidate-actions{border-top:1px solid #e2e6ee;padding-top:18px}
#contextGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.context-card{background:#fff;border:1px solid #dce2eb;border-radius:14px;padding:24px;min-width:0}.context-card h3{font-size:18px;line-height:1.6}.context-card p{font-size:13px}.context-badge{color:#b82a5c;font-size:12px}.context-chips{display:flex;gap:8px;flex-wrap:wrap}.context-chips span{border-radius:20px;background:#f4f5f9;font-size:12px;padding:6px 10px}
#contextEditor{width:min(780px,94vw);max-height:90dvh;border:1px solid #dce2eb;border-radius:16px;padding:0;color:var(--ink);box-sizing:border-box}#contextForm{padding:24px;display:grid;gap:20px}#contextForm textarea{min-height:90px;line-height:1.6}#contextForm small{color:#697589;line-height:1.7;font-weight:400}.context-links{border:1px solid #dce2eb;border-radius:10px;padding:16px}.context-links label{display:flex;gap:10px;align-items:center;padding:8px 0}.context-links input{width:auto}#contextForm button[type=submit]{background:#d9356d;color:white}
@media(max-width:800px){#contextGrid{grid-template-columns:1fr}.candidate-modal-body{grid-template-columns:1fr}.candidate-large{position:static;max-height:240px}.candidate-visual{padding:20px}.candidate-reading{padding:20px}.library-tabs{gap:0}.library-tabs button{padding:12px 9px;font-size:12px}.candidate-modal-head{gap:6px;padding:12px}.candidate-modal-head button{padding:8px}#contextForm{padding:18px}}
.context-images{padding:20px;background:#f8f9fc;border:1px solid #dce2eb;border-radius:12px;min-width:0}.context-images h3{margin:0;font-size:17px}#contextImageCount{font-size:12px;color:#a92555}.context-image-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.context-image-card{background:white;border:1px solid #dce2eb;border-radius:10px;padding:10px;min-width:0}.context-image-card img{width:100%;height:125px;object-fit:contain;background:#fff;display:block}.context-image-card b{display:block;font-size:13px;margin:10px 0 6px;overflow-wrap:anywhere}.context-image-card small{display:block;font-size:11px!important}.context-image-card button{width:100%;margin-top:10px;font-size:12px}.context-image-card [aria-pressed=true]{color:#b72b5a;border-color:#ecb5c8}.context-images details{padding:15px 0;border-top:1px solid #dce2eb}.context-images summary{cursor:pointer;font-size:14px;font-weight:600}.context-images details label{margin-top:15px}.context-images-empty{grid-column:1/-1;padding:20px;border:1px dashed #cdd6e4;border-radius:10px;text-align:center;font-size:13px;color:#68778c}#contextImageSearch{margin-top:16px}#contextUploadPreview{display:block;max-width:100%;height:180px;object-fit:contain;margin:15px auto}#contextUploadPreview[hidden]{display:none}#contextUploadButton{margin-top:16px;background:#fff0f5;color:#b72b5a}#contextUploadStatus{font-size:13px;line-height:1.8;overflow-wrap:anywhere}#contextImageChoices{max-height:440px;overflow:auto}@media(max-width:600px){.context-image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.context-images{padding:14px}.context-image-card img{height:105px}}
#regionDescriptions{display:grid;gap:12px}.region-description{border:1px solid #dce2eb;border-radius:12px;padding:16px;background:#fff}.region-description:focus-within{border-color:#e34c78;background:#fffbfc}.region-description-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.region-description-head label{display:flex;align-items:center;gap:10px;font-size:14px}.region-description-head span{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:7px;background:#d92f68;color:white}.region-description-head button{font-size:22px;line-height:1;padding:6px 10px}.region-description textarea{width:100%;min-height:80px}

.context-cover{display:block;width:100%;height:184px;object-fit:contain;background:#f3f5f9;border:1px solid #e1e6ef;border-radius:10px;margin-bottom:16px}.context-cover-empty{display:grid;place-items:center;color:#7b8699;font-size:12px}.context-image-card [data-cover-select][aria-pressed="true"]{color:#c21d58;background:#fff0f5;border-color:#ec96b4}

.context-card>p:not(.library-hint){display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;line-height:1.8;min-height:7.2em}.context-card>button{width:100%}

.library-delete{color:#b3244b!important;border-color:#efc8d3!important;background:#fff!important;padding:7px 12px!important;cursor:pointer}.library-list-item>.library-delete{margin:8px 10px;align-self:flex-end}.library-list-item[hidden]{display:none!important}#originalPending{margin:18px 0;padding:16px;border:1px solid #dce2eb;border-radius:12px;background:#fff}#originalPending>summary{cursor:pointer;font-weight:600}#collectionDescription{line-height:1.8;color:#566783}

.case-research-import{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:20px 0;padding:18px 20px;border:1px solid #e8bfd0;border-radius:12px;background:#fff7fa}.case-research-import[hidden]{display:none}.case-research-import p{margin:6px 0 0;font-size:13px;color:#586681}.case-research-import>p{flex-basis:100%;line-height:1.7}.case-research-import button{white-space:normal}.research-sources{display:flex;flex-wrap:wrap;gap:10px;padding:16px;background:#f6f8fc;border-radius:10px;margin:16px 0}.research-sources strong,.research-sources p{width:100%;margin:0}.research-sources a{font-size:13px;overflow-wrap:anywhere}.research-sources p{font-size:12px;color:#647089}

.archive-case-import{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;flex-basis:100%;padding-top:16px;border-top:1px solid #e8bfd0}.archive-case-import>p,.archive-case-import>ul{flex-basis:100%;margin:0;line-height:1.7}.archive-case-import>ul{padding-left:20px;font-size:13px;color:#586681}

.region-symbols{margin-top:14px;padding-top:14px;border-top:1px solid #e4e8f0}.region-symbols-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.region-symbols-head strong{font-size:13px}.region-symbols-head button{font-size:12px;padding:8px 12px;background:#fff5f9;color:#b52657}.region-symbol-hint{font-size:11px;color:#66768d;line-height:1.7;margin:10px 0 0}.region-symbol-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.region-symbol-list:empty{display:none}.region-symbol-card{display:flex;align-items:center;min-width:0;border:1px solid #e0e5ed;border-radius:9px;background:#f8fafd;padding:6px}.region-symbol-open{flex:1;min-width:0;display:flex;align-items:center;gap:10px;border:0!important;padding:2px!important;background:transparent!important;text-align:left;font-size:12px}.region-symbol-open img,.region-symbol-open .symbol-placeholder{width:54px;height:54px;object-fit:contain;flex-shrink:0;background:white;border-radius:5px}.region-symbol-open>span:not(.symbol-placeholder){display:grid;gap:4px;min-width:0}.region-symbol-open strong{font-size:12px;overflow-wrap:anywhere}.region-symbol-open small{font-size:11px;color:#69778d}.remove-region-symbol{align-self:flex-start;flex-shrink:0;font-size:19px;padding:3px 7px!important;border:0!important;background:transparent!important}.is-unavailable{color:#8c6573!important}.symbol-placeholder{display:grid;place-items:center;color:#78869a;font-size:11px;background:#f4f6f9}
#symbolPicker{width:min(1040px,95vw);max-height:90dvh;padding:0;border:1px solid #dce2eb;border-radius:16px;color:var(--ink);box-sizing:border-box}#symbolPicker::backdrop{background:rgba(30,41,60,.45)}.symbol-picker-head{position:sticky;top:0;z-index:1;background:white;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid #e2e6ee}.symbol-picker-head h2{font-size:17px;margin:0}.symbol-picker-head button,#symbolPicker button{font-family:inherit;cursor:pointer;border:1px solid #dce2eb;border-radius:8px;background:white;color:inherit;padding:9px 12px}.symbol-picker-body{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:420px}.symbol-picker-search{padding:22px;border-right:1px solid #e2e6ee;min-width:0}.symbol-picker-search>label{display:block;font-size:13px;margin-bottom:9px}.symbol-picker-search>input{box-sizing:border-box;width:100%;padding:12px;border:1px solid #bcc9da;border-radius:8px;font:inherit;font-size:13px}.symbol-picker-notice,#symbolSearchStatus{font-size:12px;line-height:1.7;color:#687890}#symbolSearchResults{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;max-height:430px;overflow:auto}#symbolPicker .symbol-result{min-width:0;text-align:left;padding:8px;display:flex;flex-direction:column;gap:8px}#symbolPicker .symbol-result[aria-pressed=true]{border-color:#db3769;background:#fff6f9}.symbol-result img,.symbol-result>.symbol-placeholder{display:block;width:100%;height:80px;object-fit:contain}.symbol-result>.symbol-placeholder{display:grid}.symbol-result strong{font-size:12px;overflow-wrap:anywhere}.symbol-result small{font-size:10px;color:#718096}#symbolPreview{padding:22px;min-width:0;overflow-wrap:anywhere}#symbolPreview p{font-size:13px;line-height:1.75;white-space:pre-line}#symbolPreview h3{font-size:18px;margin:16px 0 8px}#symbolPreview h4{font-size:13px;margin:18px 0 5px}#symbolPreview a{font-size:12px;color:#c1285d}.symbol-preview-image{display:block;width:100%;height:240px;object-fit:contain;background:#f8f9fc;border-radius:10px}.symbol-preview-state{color:#a92753}.symbol-preview-state:empty{display:none}#symbolPicker #attachSymbol{display:block;width:100%;margin-top:22px;background:#df4578;border-color:#df4578;color:white}#symbolPicker button:disabled{opacity:.55;cursor:default}
@media(max-width:650px){.region-symbol-list{grid-template-columns:1fr}.symbol-picker-head{padding:14px}.symbol-picker-head h2{font-size:14px}.symbol-picker-body{grid-template-columns:1fr}.symbol-picker-search{padding:16px;border-right:0;border-bottom:1px solid #e2e6ee}#symbolSearchResults{max-height:235px}#symbolPreview{padding:16px}.symbol-preview-image{height:190px}.region-symbols-head{align-items:flex-start}.symbol-result img,.symbol-result>.symbol-placeholder{height:62px}}

.library-category-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:14px;background:#fff;border:1px solid #dce2eb;border-radius:12px;margin:16px 0}.library-category-tabs{display:flex;flex-wrap:wrap;gap:7px;min-width:0}.library-category-tabs button{display:inline-flex;align-items:center;gap:5px;padding:8px 11px;border:0!important;border-radius:22px!important;background:#f3f5f9!important;color:#596982;font-size:12px;white-space:nowrap}.library-category-tabs button[aria-pressed=true]{background:#e5467a!important;color:white!important}.library-category-tabs small{font-size:10px;opacity:.75}.library-sort{display:flex;gap:7px;align-items:center;font-size:12px;white-space:nowrap}.library-sort select{font-size:12px;padding:7px;width:auto;min-width:135px}.library-filters>label[hidden]{display:none}#candidateCategoryTabs{margin:16px 0}.library-filters{grid-template-columns:2fr 1fr 1fr}@media(max-width:700px){.library-category-bar{flex-direction:column;gap:12px}.library-sort{align-self:flex-end}.library-category-tabs{gap:6px}.library-category-tabs button{padding:7px 10px;font-size:11px}.library-filters{grid-template-columns:1fr}}

.original-research-import{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;background:#fff7fa;border:1px solid #edccda;border-radius:12px;padding:18px;margin:18px 0}.original-research-import[hidden]{display:none}.original-research-import p{font-size:12px;color:#647089;line-height:1.8}.original-research-import>[role=status]{flex-basis:100%;margin:0}
