
:root{--plum:#472239;--plum-deep:#381629;--plum-text:#51263e;--paper:#f8f4e9;--paper-dim:#f1eadb;--ink:#312b2a;--muted:#7a7169;--gold:#e8b952;--olive:#738675;--green:#45674d;--line:#ded5c6;--white:#fffdf8;--shadow:0 6px 24px #39201312;--radius:5px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.52 Arial,Helvetica,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{text-decoration:none;color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #cc9944;outline-offset:3px}[hidden]{display:none!important}
.masthead{height:85px;display:flex;align-items:center;gap:28px;padding:0 39px;background:var(--plum);color:#fff9ed;border-bottom:4px solid #d7b76c;box-shadow:0 3px 12px #3c29241f;position:relative;z-index:10}.brand{display:flex;gap:17px;align-items:center;flex-shrink:0}.bookmark{width:55px;height:50px;display:flex;gap:4px;align-items:stretch;padding:2px}.bookmark i{display:block;width:14px;border-radius:4px 4px 1px 1px;background:var(--gold)}.bookmark i:nth-child(2){background:#8a9c85}.bookmark i:nth-child(3){background:#bf8665;width:11px}.brand-name{font-family:Georgia,serif;font-size:24px;font-weight:bold;line-height:.92;letter-spacing:-.4px}.brand-deck{border-left:1px solid #ffffff67;padding-left:23px;font-size:11px;line-height:1.7;letter-spacing:1.35px;color:#f1e3d8}.header-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.nav-link{color:#fbf1e8;background:transparent;border:0;padding:10px 14px;font-size:13px;font-weight:700;border-radius:4px}.nav-link:hover{background:#ffffff16}.nav-link.active{background:var(--gold);color:var(--plum-deep)}.header-search-icon{font-size:21px;font-weight:400;margin-left:4px;line-height:0}.header-divider{height:25px;border-left:1px solid #ffffff63;margin:0 9px}.login-button{border:1px solid #ffffff78;min-width:64px}.mobile-nav{display:none;border:0;color:white;background:none;font-size:22px}
.layout{display:grid;grid-template-columns:255px minmax(0,1fr);min-height:calc(100vh - 85px);max-width:1800px;margin:auto}.sidebar{border-right:1px solid var(--line);padding:30px 16px;background:linear-gradient(110deg,#fcf8ee,#f4eadb);display:flex;flex-direction:column;min-height:calc(100vh - 85px)}.sidebar-section-title{font-size:10px;font-weight:800;letter-spacing:2px;color:#706359;margin:0 9px 15px;display:flex;justify-content:space-between}.sidebar-section-title span{font-family:Georgia,serif;font-size:13px;letter-spacing:1px}.collection-nav{display:flex;flex-direction:column;gap:4px}.collection-link{border:0;color:#4c443e;text-align:left;display:flex;align-items:center;gap:10px;padding:12px 12px;background:transparent;border-radius:4px;font-size:13px;min-width:0}.collection-link .folder{font-size:17px;width:19px;line-height:1;color:#786958}.collection-link .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.collection-link .count{font-size:11px;color:#796a5d}.collection-link:hover,.sidebar-extra:hover{background:#e9dfce}.collection-link.active{background:#eac36b;color:#39261d;font-weight:700;box-shadow:inset 3px 0 var(--plum)}.collection-link.nested{padding-left:28px}.collection-link.active .count{color:#39261d}.new-collection{border:1px dashed #bda98c;background:transparent;color:#66533c;text-align:left;margin:13px 8px 0;padding:10px;border-radius:4px;font-size:12px}.new-collection:hover{background:#f7ecd6}.side-separator{height:1px;background:var(--line);margin:28px 8px}.sidebar-extra{border:0;text-align:left;background:transparent;padding:11px 13px;border-radius:4px;color:#51483e;display:flex;align-items:center;gap:13px}.sidebar-extra span{font-size:19px;color:#8a7868}.sidebar-bottom{margin-top:auto;padding:35px 8px 6px}.series-stamp{border:1px solid #beb39e;padding:12px;display:flex;flex-direction:column;gap:5px;color:#625345;width:max-content;max-width:100%;transform:rotate(-1deg)}.series-stamp span{font-size:9px;letter-spacing:1px}.series-stamp b{font-family:Georgia,serif;font-size:18px}.sidebar-bottom p{font-family:Georgia,serif;color:#6f6050;font-size:15px;font-style:italic;line-height:1.45;margin:22px 0}.sidebar-bottom-line{font-size:8px;letter-spacing:1.2px;color:#9b8c79}
.main{padding:29px 35px 20px;min-width:0}.collection-heading{margin:0 0 19px}.series-heading{display:flex;align-items:center;gap:14px}.series-num{background:var(--olive);border-radius:3px;color:white;font-family:Georgia,serif;font-weight:bold;font-size:20px;padding:6px 11px;min-width:41px;text-align:center}.eyebrow{font-size:10px;color:#726a60;font-weight:800;letter-spacing:2.05px}.heading-line{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.heading-line h1{font:700 clamp(29px,3.8vw,46px)/1.16 Georgia,'Times New Roman',serif;color:var(--plum-text);margin:12px 0 1px;letter-spacing:-1.2px}.item-count{font-size:10px;font-weight:800;letter-spacing:1.2px;color:#685a4c;white-space:nowrap}.collection-description{margin:2px 0 14px;color:#827569;font-size:13px}.heading-accent{display:flex;height:4px;gap:4px}.heading-accent span:nth-child(1){width:43%;background:var(--plum)}.heading-accent span:nth-child(2){width:28%;background:#b6a188}.heading-accent span:nth-child(3){width:19%;background:var(--olive)}.heading-accent span:nth-child(4){flex:1;background:var(--gold)}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px;padding:9px 0;flex-wrap:wrap}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.search-field{border:1px solid var(--line);border-radius:4px;background:#fffcf5;display:flex;gap:5px;align-items:center;padding:0 12px;min-width:264px;height:39px}.search-field span{font-size:24px;color:#857563}.search-field input{border:0;background:none;outline:none;width:100%;font-size:12px}.filter-holder{display:flex;align-items:center;gap:7px;font-size:11px;letter-spacing:.25px;color:#7c6f65}.filter-holder select{border:1px solid var(--line);height:39px;border-radius:4px;padding:0 13px;background:#fffdf8;color:#4d403b;max-width:180px}.outline-button,.primary-button,.secondary-button,.danger-button{min-height:38px;border-radius:4px;padding:8px 13px;font-weight:bold;font-size:12px;transition:background .1s;border:1px solid #ccbda8}.outline-button{background:#fffdf8;color:#5d4e40}.outline-button:hover{background:#f6ead4}.primary-button{border-color:var(--plum);background:var(--plum);color:#fffaf0}.primary-button:hover{background:#632d4d}.secondary-button{background:#eee5d5;color:#4c4036}.secondary-button:hover{background:#e1d5c1}.danger-button{border-color:#a24a48;color:#9d3937;background:white}.danger-button:hover{background:#fbedeb}.info-row{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.5px;font-weight:bold;color:#928376;margin:10px 0 13px}.info-row span:nth-child(2){color:#a59989}
.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:19px}.scene-card{background:var(--white);border:1px solid #dfd2bd;border-radius:5px;padding:7px;box-shadow:var(--shadow);min-width:0}.photo-button{position:relative;display:block;width:100%;aspect-ratio:4/3;border:0;padding:0;overflow:hidden;border-radius:2px;background:#d5ccbf}.photo-button img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}.photo-button:hover img{transform:scale(1.012)}.photo-num{position:absolute;left:8px;top:8px;background:#fef8eacb;backdrop-filter:blur(4px);padding:5px 8px;color:#3c3029;font-size:10px;letter-spacing:1px;font-weight:800;border-radius:2px}.photo-button:after{content:"";position:absolute;inset:0;border:1px solid #fff7e041;pointer-events:none}.scene-info{padding:12px 9px 7px}.scene-answer{min-height:44px;display:flex;align-items:center;gap:10px}.scene-answer .answer-text{font:700 18px/1.26 Georgia,serif;color:var(--plum-text);letter-spacing:-.25px}.scene-answer .question-text{font-family:Georgia,serif;font-size:15px;font-style:italic;color:#a19588}.scene-answer .hidden-icon{background:#f3eddf;border-radius:50%;width:24px;height:24px;display:grid;place-items:center;color:#8c7e6b;flex-shrink:0;font-size:12px}.card-meta{display:flex;gap:4px;flex-wrap:wrap;margin:7px 0 3px}.tag-chip{border:1px solid #d2dbc8;background:#e3ebdd;color:#475c48;border-radius:12px;padding:2px 8px;font-size:10px;line-height:1.5;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-actions{display:flex;align-items:center;justify-content:space-between;margin-top:8px;padding-top:9px;border-top:1px solid #ede6db;gap:4px}.text-action{border:0;background:transparent;padding:5px 1px;color:#65594f;font-size:11px;font-weight:700}.text-action:hover{color:var(--plum);text-decoration:underline}.text-action.reveal{color:#583148}.card-actions-right{display:flex;gap:11px}.load-row{text-align:center;margin:18px 0}.empty-state{border:1px dashed #c9bba5;margin-top:30px;padding:48px;text-align:center;border-radius:5px;color:#6c6054}.empty-state h2{font:700 25px Georgia,serif;color:var(--plum)}.empty-state button{margin-top:12px}.collection-footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:34px;padding:18px 3px;font-size:9px;color:#a39482;letter-spacing:1.1px}
.overlay{position:fixed;inset:0;background:#231a20a3;z-index:50}.detail-panel{position:fixed;right:0;top:0;bottom:0;width:min(550px,100%);background:var(--paper);box-shadow:-8px 0 36px #22151b4b;z-index:51;overflow:auto}.panel-head{position:sticky;top:0;background:var(--plum);color:white;display:flex;align-items:center;justify-content:space-between;padding:17px 23px;z-index:2}.panel-head b{font-size:10px;letter-spacing:1.8px}.icon-button{border:0;background:transparent;font-size:26px;line-height:1;color:inherit;padding:2px 5px}.panel-body{padding:25px}.detail-image{width:100%;display:block;aspect-ratio:4/3;object-fit:cover;border:7px solid white;box-shadow:var(--shadow)}.detail-eyebrow{font-size:10px;letter-spacing:1.5px;font-weight:bold;color:#897565;margin-top:26px}.panel-body h2{font:700 32px/1.18 Georgia,serif;color:var(--plum-text);margin:9px 0 24px}.notes-box{background:#fffdf7;border:1px solid #e4d8c3;border-left:4px solid #a0ac90;padding:18px;margin:14px 0;line-height:1.72;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}.note-title{font-size:10px;font-weight:800;letter-spacing:1.2px;color:#847465;margin-top:20px}.detail-tag-list{display:flex;flex-wrap:wrap;gap:5px;margin:12px 0 20px}.panel-actions{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0}.detail-muted{color:#82746c;font-size:12px}
.modal-overlay{z-index:60}.modal{position:fixed;z-index:61;top:50%;left:50%;transform:translate(-50%,-50%);max-height:min(92vh,920px);overflow:auto;width:min(700px,calc(100vw - 24px));background:#faf6ed;box-shadow:0 20px 80px #19121a80;border:1px solid #d8bf95;border-radius:6px}.modal-head{background:var(--plum);color:#fff9ec;display:flex;justify-content:space-between;align-items:start;gap:12px;padding:18px 25px}.modal-head .subhead{font-size:10px;letter-spacing:1.5px;color:#d6b8bb}.modal-head h2{font:700 25px Georgia,serif;margin:4px 0 0}.modal-form{padding:22px 26px 26px}.field{margin-bottom:15px;display:flex;flex-direction:column;gap:6px}.field label{font-size:11px;letter-spacing:.35px;font-weight:800;color:#685949}.field input:not([type=color]):not([type=file]),.field select,.field textarea{border:1px solid #d4c5ae;padding:10px;background:#fffefb;border-radius:3px;outline:none;min-height:40px;color:#342e2c;width:100%}.field textarea{resize:vertical;min-height:125px;line-height:1.55}.field select[multiple]{min-height:110px}.field small{color:#837669;font-size:11px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.image-editor{display:grid;grid-template-columns:175px 1fr;gap:15px;align-items:start}.image-preview{width:100%;aspect-ratio:4/3;object-fit:cover;background:#e2dace;border:1px solid #d0c5b2}.image-input{display:flex;flex-direction:column;gap:12px}.choice-line{display:flex;gap:15px;align-items:center;font-size:12px}.choice-line label{font-weight:400}.modal-foot{display:flex;align-items:center;gap:8px;justify-content:flex-end;border-top:1px solid #e5d8c8;margin-top:15px;padding-top:18px;flex-wrap:wrap}.modal-foot .push{margin-right:auto}.inline-info{background:#eaf0e6;border:1px solid #d4decb;padding:10px 12px;border-radius:3px;color:#50634d;font-size:12px}.tiny-button{font-size:11px;border:0;background:transparent;text-decoration:underline;color:#614038;padding:3px}.help-note{font-size:12px;line-height:1.55;color:#75675c;background:#f1e7d8;padding:11px;border-radius:4px;margin:12px 0}.tab-content{padding:22px 26px}.tag-browser{display:flex;gap:7px;flex-wrap:wrap;margin-top:15px}.tag-large{background:#e2e9df;border:1px solid #b8c5b7;border-radius:3px;padding:9px 12px;color:#435b4c}.tag-large:hover{background:#cbd9c5}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(110px);background:#34243c;color:white;font-size:13px;padding:12px 20px;border-radius:5px;box-shadow:0 6px 22px #0005;z-index:100;transition:transform .18s;max-width:min(600px,94vw);text-align:center;pointer-events:none}.toast.show{transform:translateX(-50%) translateY(0)}
@media(max-width:1180px){.brand-deck{display:none}.masthead{padding:0 22px}.main{padding:25px}.card-grid{gap:13px}.search-field{min-width:210px}}@media(max-width:950px){.layout{grid-template-columns:205px minmax(0,1fr)}.sidebar{padding:24px 10px}.brand-name{font-size:21px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar{align-items:stretch}.toolbar-left{flex:1}.header-actions{gap:2px}.nav-link{padding:9px 8px}}@media(max-width:700px){.masthead{height:71px;padding:0 12px;gap:9px}.mobile-nav{display:block}.brand-name{font-size:17px}.bookmark{height:38px;width:35px;gap:3px}.bookmark i{width:9px}.bookmark i:nth-child(3){width:7px}.brand{gap:7px}.header-actions{gap:0}.header-actions .nav-link:not(.login-button){display:none}.header-divider{display:none}.login-button{font-size:11px;min-width:auto}.layout{display:block}.sidebar{position:fixed;left:0;top:71px;bottom:0;width:260px;z-index:25;box-shadow:10px 6px 20px #0002;transform:translateX(-110%);transition:transform .15s;overflow-y:auto}.sidebar.open{transform:none}.main{padding:21px 15px}.heading-line h1{font-size:35px}.card-grid{grid-template-columns:1fr;gap:14px}.photo-button{aspect-ratio:4/3}.toolbar{align-items:stretch}.toolbar-left,.toolbar-right{width:100%}.search-field{flex:1;min-width:0}.toolbar-right>*{flex:1}.filter-holder span{display:none}.filter-holder select{max-width:135px}.info-row span:nth-child(2){display:none}.field-row,.image-editor{grid-template-columns:1fr}.image-editor img{max-width:200px}.modal-form,.tab-content{padding:18px}.modal-head{padding:16px}.collection-footer span:last-child{display:none}.series-heading .eyebrow{font-size:9px}.scene-answer .answer-text{font-size:21px}}

/* v0.3: language cards use the same quiet Book Series frame, with a 4:3 visual stage. */
.language-stage{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;border-radius:2px;background:#efe6d4;color:#422b38;isolation:isolate}
.language-stage.insight-stage{background:#e5eadb}
.language-stage:after{content:"";position:absolute;inset:0;border:1px solid #fff9e04d;pointer-events:none;z-index:4}
.language-photo{position:absolute;width:100%;height:100%;object-fit:cover;inset:0;display:block;z-index:0}
.language-stage-content{position:absolute;inset:0;display:flex;flex-direction:column;padding:20px 20px 18px;gap:10px;z-index:2;min-width:0}
.language-stage.has-photo .language-stage-content{inset:auto 0 0;background:#f9f3e9f5;max-height:80%;padding:12px 15px 14px;border-top:3px solid #b78d79}
.language-type{font-size:10px;letter-spacing:1.35px;color:#77495b;font-weight:800;flex:none}
.language-prompt{font:600 clamp(16px,1.43vw,23px)/1.38 Georgia,serif;white-space:normal;overflow-wrap:anywhere;overflow-y:auto;min-height:0;flex:1;scrollbar-width:thin;padding:8px 1px}
.language-stage.has-photo .language-prompt{font-size:clamp(14px,1.16vw,18px);padding:2px 1px}
.focus-phrase{background:transparent;color:#793d5c;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;font-weight:700}
.focus-blank{color:#9f6682;letter-spacing:1px;white-space:nowrap}
.language-open-hint{font:700 9px/1.2 Arial,sans-serif;letter-spacing:1px;color:#7a7565;flex:none}
.insight-reveal{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.6;color:#574451;background:#f8f1e6;border-left:3px solid #af8d7a;padding:10px 11px;margin-top:6px}
.card-open-label{font-size:9px;letter-spacing:.7px;color:#998c80}
.language-editor-fields .language-instruction{margin:0 0 14px}
.detail-prompt{font:600 19px/1.6 Georgia,serif;background:#fcf8ed;padding:18px;border:1px solid #e2d2b9;overflow-wrap:anywhere}
.detail-reveal{font-size:13px;line-height:1.65;color:#5f5050;padding:10px 0}
.detail-reveal p{white-space:pre-wrap;overflow-wrap:anywhere}
.verified-backup{background:#e6efdf;border:1px solid #c7d7c1;padding:15px;color:#3f5c48;font-size:13px;line-height:1.6}
.backup-stats{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px}
.backup-stats span{padding:7px 12px;background:#fffdf8;border:1px solid #d4decf;border-radius:3px}
.backup-danger{background:#faf0e8;border:1px solid #e6c7b8;color:#6c403e;padding:12px;margin-top:25px;line-height:1.6;font-size:13px}
button:disabled{opacity:.45;cursor:not-allowed}
[hidden]{display:none!important}
@media(max-width:700px){.language-stage-content{padding:20px}.language-prompt{font-size:clamp(17px,5vw,23px)}.language-stage.has-photo .language-prompt{font-size:16px}}


/* v0.4: optional, compact source metadata. No source UI is displayed on cards without it. */
.source-editor{margin:17px 0 7px;border:1px solid var(--line);border-radius:4px;background:#f5efe4;padding:13px 15px}
.source-editor summary{cursor:pointer;font-size:11px;font-weight:800;letter-spacing:1px;color:var(--plum-text);list-style-position:inside}
.source-editor[open] summary{margin-bottom:14px}
.source-editor .field{margin-bottom:12px}
.source-editor .field:last-child{margin-bottom:0}
.source-editor small{display:block;margin-top:7px;color:var(--muted);font-size:11px;line-height:1.45}
.source-meta{margin:17px 0;border-top:1px solid var(--line);padding-top:13px}
.source-meta .source-line{margin-top:7px;display:flex;align-items:start;flex-wrap:wrap;gap:9px;line-height:1.6}
.source-meta .source-link{color:var(--plum-text);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere;font-weight:700}
.source-meta .source-title{overflow-wrap:anywhere;font-weight:700}
.source-meta .source-timestamp{font-size:12px;color:#6c5c54;border:1px solid #ddd0bf;border-radius:3px;padding:2px 7px;background:#f4eadb}

.caption-focus{font-weight:800;color:var(--plum-text)}
.item-sentence{display:block;margin-top:7px;color:#655b52;font:400 13px/1.45 Arial,Helvetica,sans-serif;letter-spacing:0}
.scene-answer:has(.item-sentence){display:block;text-align:left;padding-top:2px;padding-bottom:2px}
.scene-answer:has(.item-sentence) .answer-text{font-weight:700}
