:root{
 --paper:#f4f1eb; --paper2:#fbfaf7; --ink:#23211e; --muted:#726f68; --line:#d9d4ca;
 --accent:#4a6257; --accent2:#8a6953; --dark:#1e2925; --danger:#8a493d; --good:#456b57; --warn:#92713e;
 --shadow:0 12px 35px rgba(43,38,30,.09); --radius:17px; --sidebar:265px;
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}
button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}
#appShell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) 1fr}
#sidebar{position:sticky;top:0;height:100vh;background:var(--dark);color:#eef1ed;padding:22px 15px;display:flex;flex-direction:column;z-index:30}
.brand{display:flex;align-items:center;gap:12px;padding:4px 8px 22px}.brand h1{font-family:Georgia,serif;font-size:20px;margin:0;font-weight:500}.brand p{font-size:11px;letter-spacing:.12em;text-transform:uppercase;opacity:.6;margin:4px 0 0}.brand-mark{width:39px;height:39px;border:1px solid rgba(255,255,255,.35);display:grid;place-items:center;border-radius:50%;font-family:Georgia,serif}
#nav{display:flex;flex-direction:column;gap:2px;overflow:auto;padding-right:2px}.nav-group-label{font-size:10px;text-transform:uppercase;letter-spacing:.15em;opacity:.45;padding:17px 12px 5px}.nav-btn{border:0;background:transparent;color:#dce3df;text-align:left;padding:9px 11px;border-radius:9px;font-size:13px}.nav-btn:hover,.nav-btn.active{background:rgba(255,255,255,.09);color:#fff}.nav-btn .count{float:right;opacity:.55}
.sidebar-bottom{margin-top:auto;padding:13px 5px 0}.tiny{font-size:10px;opacity:.5;margin-top:10px}.wide{width:100%}
#main{min-width:0}#topbar{height:70px;display:flex;align-items:center;gap:12px;padding:0 28px;position:sticky;top:0;background:rgba(244,241,235,.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(217,212,202,.7);z-index:20}
.global-search-wrap{display:flex;max-width:580px;flex:1;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.global-search-wrap input{border:0;outline:0;background:transparent;padding:11px 13px;flex:1}.icon-btn{border:0;background:transparent;padding:8px 11px}.primary{border:0;background:var(--accent);color:#fff;padding:10px 15px;border-radius:10px}.ghost{border:1px solid rgba(255,255,255,.2);background:transparent;color:inherit;border-radius:9px;padding:9px 12px}.secondary{border:1px solid var(--line);background:var(--paper2);color:var(--ink);padding:9px 12px;border-radius:9px}.danger{border:1px solid #d5b5ad;background:#fbf2f0;color:var(--danger);padding:8px 11px;border-radius:9px}
#view{padding:27px 30px 70px;max-width:1680px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:22px}.page-head h2{font-family:Georgia,serif;font-size:34px;font-weight:500;margin:0}.page-head p{color:var(--muted);margin:7px 0 0;max-width:760px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--accent);font-weight:700}
.kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:12px}.kpi{background:var(--paper2);border:1px solid var(--line);padding:17px;border-radius:var(--radius);min-height:105px}.kpi .num{font:34px Georgia,serif}.kpi .label{font-size:12px;color:var(--muted);margin-top:8px}.kpi.clickable:hover{box-shadow:var(--shadow);transform:translateY(-1px)}
.hero{background:linear-gradient(120deg,#edf0eb,#e7e1d8);border:1px solid var(--line);border-radius:25px;padding:36px;margin-bottom:18px;display:grid;grid-template-columns:1.3fr .7fr;gap:20px;overflow:hidden;position:relative}.hero h2{font:52px Georgia,serif;font-weight:400;margin:2px 0 10px}.hero p{max-width:650px;line-height:1.6;color:#58564f}.hero-emblem{font:140px Georgia,serif;opacity:.09;text-align:center;align-self:center}
.entry-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin:18px 0}.entry-card{background:var(--paper2);border:1px solid var(--line);border-radius:var(--radius);padding:19px;cursor:pointer}.entry-card:hover{box-shadow:var(--shadow)}.entry-card h3{font:21px Georgia,serif;margin:5px 0}.entry-card p{font-size:12px;color:var(--muted);line-height:1.5}.entry-icon{font-size:22px}
.panel{background:var(--paper2);border:1px solid var(--line);border-radius:var(--radius);padding:19px;margin-top:14px}.panel h3{font:21px Georgia,serif;margin:0 0 15px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px}.panel-head h3{margin:0}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.split{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(270px,.6fr);gap:14px}
.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:var(--paper2);border:1px solid var(--line);padding:11px;border-radius:13px;margin-bottom:14px}.filters input,.filters select{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 9px;min-width:120px}.filters .grow{flex:1;min-width:220px}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:13px;background:#fff}table{border-collapse:collapse;width:100%;font-size:12px}th{position:sticky;top:0;background:#eeebe5;z-index:2;text-align:left;padding:10px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:10px;border-bottom:1px solid #ece8e0;vertical-align:top}tbody tr:hover{background:#faf8f3}.linkrow{cursor:pointer}.badge{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;background:#eceae4;font-size:10px;margin:2px 3px 2px 0}.badge.good{background:#e1eee6;color:var(--good)}.badge.warn{background:#f3ead8;color:#795b2b}.badge.bad{background:#f4e2de;color:var(--danger)}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.object-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px;cursor:pointer;display:flex;flex-direction:column;min-height:180px}.object-card:hover{box-shadow:var(--shadow)}.object-card h4{font:18px Georgia,serif;margin:7px 0}.object-card .meta{font-size:11px;color:var(--muted)}.object-card .desc{font-size:12px;line-height:1.48;color:#55524d;margin:9px 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center}.fav{font-size:18px;color:#9b8f7b}.fav.on{color:#a36d33}
/* bookshelf */
.shelf-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.bookshelf{background:linear-gradient(#d5c5ac 0 3%,#ac8662 3% 5%,#8d684d 5% 7%,#d9c7ab 7% 100%);border:1px solid #a98061;border-radius:13px;padding:22px 16px 0;min-height:520px;overflow:auto;position:relative}.shelf-row{min-width:max-content;display:flex;align-items:flex-end;gap:3px;height:360px;border-bottom:20px solid #7f5b42;box-shadow:inset 0 -3px #bc9876;margin-bottom:32px;padding:0 10px}.book-spine{position:relative;border-radius:3px 4px 1px 1px;border:1px solid rgba(45,28,17,.4);box-shadow:inset 2px 0 rgba(255,255,255,.15),2px 1px 4px rgba(0,0,0,.18);display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer;flex:0 0 auto;background:linear-gradient(90deg,#52645d,#66796f 40%,#495d54)}.book-spine:nth-child(4n+2){background:linear-gradient(90deg,#795c49,#8e6c54,#6d4f3f)}.book-spine:nth-child(4n+3){background:linear-gradient(90deg,#6c6054,#817466,#5a5046)}.book-spine:nth-child(4n+4){background:linear-gradient(90deg,#4e5666,#626b7d,#444c5a)}.book-spine .spine-text{writing-mode:vertical-rl;transform:rotate(180deg);font:11px Georgia,serif;color:#f4efe5;text-shadow:0 1px 1px #000;max-height:92%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:5px}.book-spine .vol{position:absolute;bottom:5px;font-size:8px;color:#fff;background:rgba(0,0,0,.28);padding:2px 3px;border-radius:3px}.book-spine.has-image{background-size:cover;background-position:center}.book-spine.has-image .spine-text{background:rgba(0,0,0,.3);padding:4px;border-radius:3px}
/* exhibition */
.museum{border-radius:16px;overflow:auto;background:linear-gradient(180deg,#ebe9e5 0 77%,#d4d0c8 77% 79%,#aaa39a 79%);min-height:680px;border:1px solid var(--line);position:relative;padding:35px}.museum-wall{min-width:1050px;min-height:390px;display:flex;flex-wrap:wrap;align-content:flex-start;gap:30px;padding:20px 30px}.wall-object{background:#f7f4ec;border:8px solid #524a41;box-shadow:0 8px 18px rgba(0,0,0,.15);display:flex;align-items:center;justify-content:center;text-align:center;padding:7px;font:11px Georgia,serif;cursor:pointer;overflow:hidden}.display-floor{min-width:1050px;display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:28px;align-items:end}.cabinet{height:180px;background:#766759;border:8px solid #5f5247;border-bottom-width:18px;display:flex;align-items:flex-end;gap:7px;padding:12px;overflow:auto}.front-book{height:125px;min-width:82px;max-width:105px;background:#86715d;border:1px solid #443a31;box-shadow:2px 2px 4px #4d443d;display:flex;align-items:center;text-align:center;padding:8px;color:#fff;font:10px Georgia,serif;cursor:pointer}.plinth{height:115px;background:#d9d5cf;border-top:2px solid #bbb4aa;display:flex;justify-content:center;align-items:flex-start;padding:10px}.roll-object{background:#e5d6b5;border-radius:30px;height:32px;width:220px;box-shadow:0 7px 8px rgba(0,0,0,.15);cursor:pointer;text-align:center;font-size:9px;padding:10px;white-space:nowrap;overflow:hidden}.manuscript-shelf{border-bottom:17px solid #6e5c4c;height:165px;display:flex;align-items:flex-end;gap:5px;padding:8px}.mini-book{background:#68584d;color:#fff;border:1px solid #443930;display:flex;align-items:center;justify-content:center;text-align:center;padding:4px;font:9px Georgia,serif;cursor:pointer}
/* charts */
.chart{min-height:180px}.bar-row{display:grid;grid-template-columns:minmax(120px,220px) 1fr 50px;gap:9px;align-items:center;margin:8px 0;font-size:11px}.bar-track{height:16px;background:#ece8e1;border-radius:7px;overflow:hidden}.bar-fill{height:100%;background:var(--accent);border-radius:7px}.bar-fill.alt{background:var(--accent2)}
.timeline{overflow:auto;padding:25px 10px}.timeline-inner{position:relative;height:230px;min-width:1000px}.timeline-axis{position:absolute;left:20px;right:20px;top:120px;border-top:2px solid #bab4a9}.time-dot{position:absolute;top:113px;width:15px;height:15px;border-radius:50%;background:var(--accent);border:2px solid #fff;box-shadow:0 0 0 1px #807a70;cursor:pointer}.time-dot.manuscript{background:#8a6953}.time-dot.fragment{background:#9a7840}.time-dot.special{background:#606b8a}.time-band{position:absolute;top:107px;height:26px;background:rgba(74,98,87,.25);border:1px solid var(--accent);border-radius:8px;cursor:pointer}.year-tick{position:absolute;top:137px;font-size:9px;color:var(--muted);transform:translateX(-50%)}
/* map */
#mapCanvas{height:520px;border-radius:12px;background:#e5e3de;overflow:hidden}.map-fallback{padding:20px;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}.map-place{background:#fff;border:1px solid var(--line);padding:10px;border-radius:10px}
/* network */
.network-wrap{height:560px;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#f8f6f2;position:relative}.network-svg{width:100%;height:100%}.node-label{font-size:10px;pointer-events:none}.net-node{cursor:pointer}.net-line{stroke:#b4aea4;stroke-width:1}.net-line.strong{stroke:#777064;stroke-width:1.5}
/* profile */
.profile-head{border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:14px}.profile-head h2{font:32px Georgia,serif;margin:4px 0}.profile-meta{display:flex;gap:8px;flex-wrap:wrap}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{border-top:1px solid #e8e3da;padding:9px 0}.field .label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:4px}.field .value{font-size:13px;line-height:1.5;white-space:pre-wrap}.profile-section{margin:21px 0}.profile-section h3{font:20px Georgia,serif;border-bottom:1px solid var(--line);padding-bottom:7px}.source-card{border:1px solid var(--line);padding:11px;border-radius:10px;margin:7px 0}.source-card.good{border-left:4px solid var(--good)}.source-card.warn{border-left:4px solid var(--warn)}
.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:9px}.image-tile{height:130px;border:1px dashed #bbb4a9;border-radius:10px;background:#f3f0e9;display:grid;place-items:center;overflow:hidden;position:relative}.image-tile img{width:100%;height:100%;object-fit:cover}.image-tile button{position:absolute;top:4px;right:4px;border:0;border-radius:50%;background:#fff8;padding:4px}
/* forms */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-field{display:flex;flex-direction:column;gap:5px}.form-field.full{grid-column:1/-1}.form-field label{font-size:11px;color:var(--muted)}.form-field input,.form-field select,.form-field textarea{border:1px solid var(--line);background:#fff;padding:9px;border-radius:8px}.form-field textarea{min-height:92px;resize:vertical}.form-actions{display:flex;gap:9px;justify-content:flex-end;margin-top:18px}
/* status */
.status-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.status-card{border:1px solid var(--line);background:#fff;border-radius:13px;padding:14px;cursor:pointer}.status-card .num{font:29px Georgia,serif}.progress{height:8px;background:#e8e3dc;border-radius:8px;overflow:hidden}.progress span{display:block;height:100%;background:var(--accent)}
/* modal */
.modal{position:fixed;inset:0;z-index:100}.modal.hidden{display:none}.modal-backdrop{position:absolute;inset:0;background:rgba(25,24,21,.55)}.modal-panel{position:absolute;right:0;top:0;bottom:0;width:min(900px,94vw);background:var(--paper2);padding:28px;overflow:auto;box-shadow:-15px 0 45px rgba(0,0,0,.2)}.modal-close{position:sticky;top:0;float:right;border:0;background:#e8e3da;border-radius:50%;width:34px;height:34px;z-index:3;font-size:21px}
#toast{position:fixed;bottom:25px;right:25px;background:#222;color:#fff;padding:11px 15px;border-radius:9px;opacity:0;transform:translateY(10px);transition:.2s;z-index:200;pointer-events:none}#toast.show{opacity:1;transform:none}
.notice{background:#f2eee4;border-left:4px solid var(--accent2);padding:11px 13px;border-radius:7px;font-size:12px;line-height:1.5}.empty{padding:40px;text-align:center;color:var(--muted)}
.private-only.private-hidden{display:none!important}.screen-only{}
@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.entry-grid{grid-template-columns:1fr 1fr}.two-col,.split{grid-template-columns:1fr}.hero{grid-template-columns:1fr}.hero-emblem{display:none}}
@media(max-width:760px){#appShell{display:block}#sidebar{position:fixed;left:-280px;width:265px;transition:.2s}#sidebar.open{left:0}#view{padding:18px 14px 60px}#topbar{padding:0 12px}.kpi-grid{grid-template-columns:repeat(2,1fr)}.entry-grid,.three-col,.profile-grid,.form-grid{grid-template-columns:1fr}.form-field.full{grid-column:auto}.page-head h2{font-size:28px}.hero h2{font-size:38px}.primary{font-size:12px}.cards{grid-template-columns:1fr}}
@media print{#sidebar,#topbar,.screen-only,.modal{display:none!important}#appShell{display:block}#view{padding:0}.panel,.object-card{break-inside:avoid;box-shadow:none}.private-hidden{display:none!important}body{background:#fff}}
/* V1 final gallery controls */
.image-tile .main-img-btn{position:absolute;top:5px;left:5px;border:0;border-radius:999px;width:28px;height:28px;background:rgba(255,255,255,.9);cursor:pointer;font-size:16px;z-index:2}
.image-tile .img-caption{position:absolute;left:4px;right:4px;bottom:30px;padding:4px 6px;background:rgba(24,26,24,.76);color:#fff;font-size:11px;line-height:1.25;border-radius:4px}
.filter-details{margin:0 0 16px;border:1px solid var(--line,#d8d2c8);border-radius:10px;background:rgba(255,255,255,.52)}
.filter-details summary{cursor:pointer;padding:10px 13px;font-weight:600}
.filter-details[open] summary{border-bottom:1px solid var(--line,#d8d2c8)}
.advanced-filters{padding:12px;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.advanced-filters input,.advanced-filters select{min-width:150px;flex:1 1 160px}

/* Bibliotheca Dimi · integrierte Mülinen-Forschungszentrale */
.hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:14px}.hero-card{background:linear-gradient(120deg,#edf0eb,#e7e1d8)}.stat-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:16px}.stat{border:1px solid var(--line);background:rgba(255,255,255,.68);border-radius:12px;padding:11px}.stat b{display:block;font:27px Georgia,serif;font-weight:400}.stat span{font-size:11px;color:#68645d}.kv{display:grid;grid-template-columns:145px 1fr;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);line-height:1.4}.kv:last-of-type{border-bottom:0}.linkish{border:0;background:transparent;color:var(--accent);text-decoration:underline;padding:0;cursor:pointer;font:inherit}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr}.stat-row{grid-template-columns:repeat(2,1fr)}.kv{grid-template-columns:1fr;gap:2px}}


/* ===== Bibliotheca Dimi V2 · maßstabsbasierte virtuelle Räume ===== */
.room-launch-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:14px;margin:0 0 18px}.room-launch{position:relative;min-height:210px;border:0;border-radius:22px;overflow:hidden;text-align:left;padding:26px;color:#f7f3ea;box-shadow:0 18px 45px rgba(25,20,14,.16);isolation:isolate}.room-launch:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,13,10,.68),rgba(16,13,10,.1));z-index:-1}.room-launch-kicker{display:block;font-size:10px;letter-spacing:.18em;text-transform:uppercase;opacity:.72}.room-launch strong{display:block;font:34px Georgia,serif;font-weight:400;margin:8px 0}.room-launch small{display:block;max-width:440px;line-height:1.5;opacity:.82}.library-launch{background:radial-gradient(circle at 50% 15%,rgba(255,218,158,.25),transparent 22%),linear-gradient(135deg,#3c261a,#1e1713 68%,#171311)}.museum-launch{background:radial-gradient(circle at 52% 12%,rgba(255,244,216,.24),transparent 24%),linear-gradient(135deg,#665d53,#302d2a)}.room-launch-depth{position:absolute;right:18px;bottom:0;width:45%;height:84%;display:flex;align-items:flex-end;gap:3px;opacity:.82;perspective:700px}.room-launch-depth i{display:block;width:10%;background:linear-gradient(90deg,#362115,#765039,#291910);border:1px solid #9b775a;height:var(--h,70%);box-shadow:2px 0 5px #0008}.room-launch-depth i:nth-child(2n){height:82%}.room-launch-depth i:nth-child(3n){height:64%}.museum-launch-objects{position:absolute;right:26px;bottom:23px;width:42%;height:120px;border-bottom:11px solid rgba(238,234,223,.78);display:flex;align-items:flex-end;justify-content:center;gap:18px}.museum-launch-objects i{display:block;border:6px solid #2c2823;background:#d4c4a6;width:45px;height:78px;box-shadow:0 7px 15px #0005}.museum-launch-objects i:nth-child(2){height:110px;width:70px}.museum-launch-objects i:nth-child(3){height:65px;width:55px}.museum-launch-objects i:nth-child(4){border-radius:50%;width:58px;height:58px}
.room-toolbar.compact{padding:8px 11px}.room-toolbar label{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:8px}.room-toolbar input[type=range]{min-width:150px}.room-toolbar output{min-width:62px;font-size:11px;color:var(--muted)}.cm-ruler{height:27px;width:var(--ten);min-width:35px;max-width:150px;border-left:1px solid #847665;border-right:1px solid #847665;border-bottom:1px solid #847665;position:relative;flex:none}.cm-ruler:before{content:"";position:absolute;left:50%;bottom:0;height:7px;border-left:1px solid #847665}.cm-ruler span{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);font-size:9px;white-space:nowrap;color:#766b5e}
.virtual-room{position:relative;border-radius:22px;overflow:auto;border:1px solid rgba(78,61,45,.35);box-shadow:inset 0 0 80px rgba(0,0,0,.18),0 18px 45px rgba(33,25,17,.12)}
.library-room{min-height:760px;padding:95px 52px 110px;background:radial-gradient(ellipse at 50% 0,rgba(255,226,178,.22),transparent 28%),linear-gradient(90deg,rgba(0,0,0,.26),transparent 10%,transparent 90%,rgba(0,0,0,.26)),linear-gradient(#3a291e 0 9%,#5d4433 9% 76%,#2a201b 76% 100%)}.library-room:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 140px,rgba(255,255,255,.025) 142px,rgba(0,0,0,.04) 145px);pointer-events:none}.room-ceiling-light{position:absolute;top:-80px;left:50%;width:530px;height:250px;transform:translateX(-50%);background:radial-gradient(ellipse,rgba(255,225,169,.31),rgba(255,225,169,.06) 45%,transparent 70%);filter:blur(2px);pointer-events:none}.library-room-title,.museum-room-title{position:absolute;top:24px;left:50%;transform:translateX(-50%);text-align:center;color:#ead8bc;text-shadow:0 2px 5px #0008;white-space:nowrap}.library-room-title span,.museum-room-title span{display:block;font:28px Georgia,serif;letter-spacing:.08em}.library-room-title small,.museum-room-title small{font-size:9px;text-transform:uppercase;letter-spacing:.22em;opacity:.65}.library-cases{position:relative;z-index:2;min-width:1220px;display:grid;grid-template-columns:repeat(auto-fit,minmax(560px,1fr));gap:34px;align-items:start}.bookcase-section{min-width:560px}.bookcase-label{height:44px;background:linear-gradient(#4b2d1b,#2a1a11);border:7px solid #27170f;border-bottom-width:5px;color:#d9b98c;display:flex;align-items:center;justify-content:space-between;padding:0 18px;box-shadow:0 6px 10px #0008,inset 0 1px #8b5f3f}.bookcase-label span{font:16px Georgia,serif}.bookcase-label small{font-size:9px;opacity:.65}.bookcase-frame{border:16px solid #2a180e;border-top-width:11px;background:linear-gradient(90deg,#25170f,#3a2518 4%,#3f2a1c 96%,#24150e);box-shadow:0 16px 26px #0009,inset 0 0 25px #0008}.real-shelf{height:calc(40 * var(--cm));min-height:220px;max-height:440px;position:relative;padding:16px 14px 27px;background:radial-gradient(ellipse at 50% 0,rgba(241,181,105,.08),transparent 60%),linear-gradient(90deg,#1c120c,#2e1d13 8%,#342218 92%,#1b110b)}.shelf-back{position:absolute;left:14px;right:14px;bottom:29px;display:flex;align-items:flex-end;gap:1px;height:calc(38 * var(--cm));overflow:hidden}.shelf-plank{position:absolute;left:-5px;right:-5px;bottom:0;height:30px;background:linear-gradient(#7c4d2c 0 12%,#3c2315 20% 65%,#25150e 68%);border-top:1px solid #aa744d;box-shadow:0 -7px 12px #0006,0 7px 8px #0007}.book-spine-v2{position:relative;flex:none;border-radius:3px 4px 1px 1px;border:1px solid rgba(22,13,8,.78);box-shadow:inset 2px 0 rgba(255,255,255,.13),inset -3px 0 rgba(0,0,0,.2),2px 2px 5px #0009;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer;transform-origin:bottom center;transition:filter .2s}.book-spine-v2:hover{filter:brightness(1.17);z-index:4}.book-spine-v2:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.16),transparent 16%,transparent 78%,rgba(0,0,0,.23)),repeating-linear-gradient(0deg,rgba(255,255,255,.02) 0 2px,rgba(0,0,0,.02) 3px 4px);mix-blend-mode:soft-light;pointer-events:none}.material-0{background:#4e3026}.material-1{background:#243c32}.material-2{background:#343c4b}.material-3{background:#6a4b2f}.material-4{background:#4d493e}.material-5{background:#5e2f2d}.material-6{background:#30312d}.material-7{background:#6b604d}.book-spine-v2 .spine-text{writing-mode:vertical-rl;transform:rotate(180deg);font:10px Georgia,serif;color:#eadfcb;text-shadow:0 1px 2px #000;max-height:76%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:4px;position:relative;z-index:2}.book-spine-v2 .vol{position:absolute;bottom:9px;left:50%;transform:translateX(-50%);font-size:8px;color:#f3e7d2;background:#0005;padding:2px 3px;border-radius:3px;z-index:2}.book-spine-v2 .spine-year{position:absolute;top:7px;left:50%;transform:translateX(-50%);font-size:7px;color:#e9dbc1;opacity:.72;writing-mode:vertical-rl}.spine-ridge{position:absolute;left:3px;right:3px;height:3px;border-top:1px solid rgba(235,207,166,.4);border-bottom:1px solid rgba(0,0,0,.35);z-index:2}.spine-ridge.top{top:18px}.spine-ridge.bottom{bottom:20px}.book-spine-v2.has-image{background-size:cover;background-position:center}.book-spine-v2.has-image .spine-text{background:rgba(0,0,0,.28);border-radius:3px}.measure-missing{outline:1px dashed rgba(234,190,114,.65);outline-offset:-3px}.room-floor{position:absolute;left:0;right:0;bottom:0;height:92px;background:repeating-linear-gradient(105deg,#4c3428 0 55px,#5b3d2d 56px 110px);transform-origin:bottom;box-shadow:inset 0 18px 24px #0005}.room-legend{display:flex;gap:18px;flex-wrap:wrap;padding:10px 4px;font-size:10px;color:var(--muted)}.legend-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px}.legend-dot.exact{background:#546d5f}.legend-dot.missing{border:1px dashed #a07945}
.museum-room{min-height:760px;padding:100px 46px 125px;background:radial-gradient(ellipse at 50% -5%,rgba(255,249,232,.7),transparent 35%),linear-gradient(90deg,rgba(62,55,48,.18),transparent 12%,transparent 88%,rgba(62,55,48,.18)),#d9d1c4}.museum-room:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.8%,rgba(255,255,255,.25) 50%,transparent 50.2%);opacity:.3;pointer-events:none}.museum-room-title{color:#4b4238;text-shadow:none}.museum-light-cones{position:absolute;top:0;left:0;right:0;height:310px;background:radial-gradient(ellipse at 16% 0,rgba(255,255,255,.7),transparent 36%),radial-gradient(ellipse at 50% 0,rgba(255,255,255,.8),transparent 36%),radial-gradient(ellipse at 84% 0,rgba(255,255,255,.7),transparent 36%);pointer-events:none}.museum-galleries{position:relative;z-index:2;min-width:1100px}.museum-gallery-section{margin:0 auto 42px;max-width:1500px}.gallery-label{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid rgba(75,66,56,.28);padding:0 5px 10px;margin-bottom:20px;color:#51493f}.gallery-label span{font:20px Georgia,serif}.gallery-label small{font-size:9px;text-transform:uppercase;letter-spacing:.12em;opacity:.6}.museum-display-wall{display:flex;align-items:flex-end;justify-content:center;flex-wrap:wrap;gap:34px 44px;min-height:260px;padding:30px 28px 42px;border-radius:2px;background:linear-gradient(rgba(255,255,255,.12),rgba(0,0,0,.025));box-shadow:inset 0 -1px rgba(80,70,60,.12)}.museum-object-v2{position:relative;flex:none;cursor:pointer;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 12px 8px rgba(56,46,37,.22));transition:filter .2s;max-width:1150px;max-height:520px}.museum-object-v2:hover{filter:drop-shadow(0 16px 12px rgba(56,46,37,.32)) brightness(1.04);z-index:5}.object-mat{width:100%;height:100%;padding:8px;background:#443a30;box-shadow:inset 0 0 0 2px #776958,inset 0 0 0 5px #2e2822}.kind-codex .object-mat{padding:3px;border-radius:3px;background:linear-gradient(135deg,#544338,#2b2520);box-shadow:inset 3px 0 #776252,inset -4px 0 #1f1a17}.kind-sheet .object-mat{padding:9px;background:linear-gradient(#564c40,#322c26)}.kind-special .object-mat{padding:6px;background:linear-gradient(#9b8b70,#574c3e);border-radius:7px}.object-face{position:relative;width:100%;height:100%;background:linear-gradient(135deg,#d8c6a2,#b8a27d);display:flex;align-items:center;justify-content:center;overflow:hidden;padding:8px;text-align:center}.kind-codex .object-face{background:linear-gradient(135deg,#745a45,#3e332b);color:#eee2cd;border-radius:2px}.kind-sheet .object-face{background:linear-gradient(90deg,#eadbbc,#d4c29e 52%,#e5d4b5);color:#51483b}.kind-special .object-face{background:linear-gradient(90deg,#dfcaa0,#c4ae84);color:#554838}.object-face:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 18px rgba(50,38,24,.22);pointer-events:none}.object-title{font:11px Georgia,serif;line-height:1.25;position:relative;z-index:2;text-shadow:0 1px #fff3}.kind-codex .object-title{text-shadow:0 1px 2px #000}.object-year{position:absolute;bottom:5px;left:6px;right:6px;font-size:8px;opacity:.7;z-index:2}.object-shadow{position:absolute;left:8%;right:8%;height:11px;bottom:-14px;background:radial-gradient(ellipse,rgba(0,0,0,.35),transparent 70%);filter:blur(3px)}.museum-object-v2.has-image .object-title,.museum-object-v2.has-image .object-year{background:rgba(24,20,16,.55);color:#fff;padding:3px;border-radius:3px;text-shadow:none}.museum-floor{position:absolute;left:0;right:0;bottom:0;height:110px;background:repeating-linear-gradient(90deg,#988f84 0 90px,#a39a8e 91px 180px);transform:perspective(500px) rotateX(57deg);transform-origin:bottom;box-shadow:inset 0 22px 30px rgba(0,0,0,.08)}.room-empty{color:#eee}.museum-room .room-empty{color:#5b534b}.gallery-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.snapshot-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.snapshot-card{border:1px solid var(--line);border-radius:12px;background:#fff;padding:12px}.snapshot-card b{display:block;font:16px Georgia,serif}.snapshot-card span{display:block;font-size:10px;color:var(--muted);margin:4px 0}.snapshot-card p{font-size:11px;line-height:1.45;color:#555;margin:7px 0 0}
@media(max-width:1000px){.room-launch-grid{grid-template-columns:1fr}.library-room,.museum-room{padding-left:22px;padding-right:22px}.library-cases{grid-template-columns:1fr}.bookcase-section{min-width:900px}.museum-galleries{min-width:900px}}
@media(max-width:760px){.room-launch{min-height:175px}.room-launch strong{font-size:28px}.library-room{min-height:690px;padding-top:82px}.museum-room{min-height:690px}.library-room-title span,.museum-room-title span{font-size:22px}.room-toolbar.compact{overflow-x:auto;flex-wrap:nowrap}.room-toolbar.compact>*{flex:none}}


/* === Bibliotheca Dimi V2.1: räumliche Verfeinerung & Interaktion === */
:root{--ease-cinematic:cubic-bezier(.16,.84,.32,1)}
#view>*{animation:viewEnter .42s var(--ease-cinematic) both}@keyframes viewEnter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.room-launch{transform-style:preserve-3d;transition:transform .38s var(--ease-cinematic),box-shadow .38s,filter .38s}.room-launch:hover{transform:translateY(-5px) perspective(900px) rotateX(1.2deg);box-shadow:0 24px 55px rgba(30,21,15,.22);filter:saturate(1.04)}
.virtual-room{--mx:50%;--my:28%;isolation:isolate;perspective:1500px;scrollbar-color:#7e6a54 #211710;scrollbar-width:thin}.virtual-room:after{content:"";position:absolute;inset:0;z-index:20;pointer-events:none;background:radial-gradient(circle 240px at var(--mx) var(--my),rgba(255,245,217,.085),transparent 72%),linear-gradient(90deg,rgba(0,0,0,.09),transparent 8%,transparent 92%,rgba(0,0,0,.09));mix-blend-mode:screen;transition:background .08s linear}
.room-dust{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:12}.room-dust i{position:absolute;left:var(--x);top:var(--y);width:2px;height:2px;border-radius:50%;background:rgba(255,235,198,.32);box-shadow:0 0 5px rgba(255,235,198,.35);animation:dustFloat var(--d) ease-in-out infinite alternate;animation-delay:calc(var(--i) * -.73s)}@keyframes dustFloat{0%{transform:translate3d(-6px,12px,0);opacity:.08}50%{opacity:.35}100%{transform:translate3d(16px,-24px,0);opacity:.12}}
.library-room{background:radial-gradient(ellipse at 50% -10%,rgba(255,221,163,.27),transparent 29%),linear-gradient(90deg,#1c130e 0 3%,#4a3121 10%,#5b3d29 49%,#4b3222 90%,#1b120d 97%),linear-gradient(#332219 0 8%,#5d4433 8% 78%,#261b16 78%);box-shadow:inset 0 20px 80px rgba(0,0,0,.35),inset 0 -30px 90px rgba(0,0,0,.4),0 18px 45px rgba(33,25,17,.12)}
.library-room:before{background:repeating-linear-gradient(90deg,transparent 0 92px,rgba(255,255,255,.018) 93px,rgba(0,0,0,.025) 96px),repeating-linear-gradient(0deg,rgba(255,255,255,.01) 0 3px,rgba(0,0,0,.018) 4px 6px);opacity:.9}
.room-architecture{position:absolute;inset:0;z-index:1;pointer-events:none}.side-wall{position:absolute;top:0;bottom:90px;width:11%;background:linear-gradient(90deg,rgba(0,0,0,.55),rgba(81,51,33,.25),transparent);transform-origin:left center}.side-wall.left{left:0;clip-path:polygon(0 0,100% 7%,100% 93%,0 100%)}.side-wall.right{right:0;transform:scaleX(-1);clip-path:polygon(0 0,100% 7%,100% 93%,0 100%)}.ceiling-line{position:absolute;left:9%;right:9%;top:74px;height:12px;background:linear-gradient(#2a1910,#573820,#25160e);box-shadow:0 6px 15px #0008}.baseboard{position:absolute;left:3%;right:3%;bottom:89px;height:18px;background:linear-gradient(#6d472d,#2d1b12);box-shadow:0 -5px 12px #0007}
.library-cases{transform-style:preserve-3d;transition:transform .22s ease-out}.bookcase-section{transform-style:preserve-3d;filter:drop-shadow(0 18px 14px rgba(0,0,0,.32));transition:transform .42s var(--ease-cinematic),filter .42s}.bookcase-section:hover{transform:translateZ(8px);filter:drop-shadow(0 25px 18px rgba(0,0,0,.38))}.bookcase-frame{position:relative;transform:translateZ(6px);background:linear-gradient(90deg,#170e09,#332014 7%,#412819 50%,#312014 93%,#160d08);box-shadow:0 18px 30px #000a,inset 4px 0 10px rgba(255,177,102,.06),inset -4px 0 10px #0007}.bookcase-frame:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 68px,rgba(255,255,255,.012) 69px,rgba(0,0,0,.025) 72px);mix-blend-mode:overlay}.real-shelf{transform-style:preserve-3d;box-shadow:inset 0 10px 18px #0006}.shelf-back{perspective:900px;transform-style:preserve-3d}.shelf-plank{transform:translateZ(12px);height:32px;box-shadow:0 -9px 13px #0007,0 8px 11px #0008,inset 0 2px rgba(255,203,146,.11)}
.book-spine-v2{transform-style:preserve-3d;backface-visibility:hidden;transition:transform .28s var(--ease-cinematic),filter .25s,box-shadow .28s}.book-spine-v2:hover{transform:translateZ(26px) translateY(-4px) rotateY(-2deg);filter:brightness(1.12) saturate(1.03);box-shadow:inset 2px 0 rgba(255,255,255,.16),inset -4px 0 rgba(0,0,0,.25),9px 12px 14px rgba(0,0,0,.58);z-index:10}.book-spine-v2:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.12),transparent 11%,transparent 82%,rgba(0,0,0,.25));pointer-events:none}.book-spine-v2:nth-child(7n+2){transform:rotateZ(-.35deg)}.book-spine-v2:nth-child(11n+4){transform:rotateZ(.45deg)}.book-spine-v2:hover:nth-child(n){transform:translateZ(26px) translateY(-4px) rotateY(-2deg)}
.library-rug{position:absolute;z-index:3;bottom:15px;left:50%;width:520px;height:76px;transform:translateX(-50%) perspective(500px) rotateX(67deg);transform-origin:bottom;background:radial-gradient(ellipse,#694135,#3e2823 62%,#271914 80%);border:6px solid #8e6b4e;box-shadow:0 5px 20px #0007;opacity:.8}.room-floor{height:112px;background:repeating-linear-gradient(104deg,#3b281f 0 56px,#523527 57px 112px);transform:perspective(650px) rotateX(59deg) scaleX(1.08);transform-origin:bottom;box-shadow:inset 0 24px 30px #0006}
.room-ceiling-light{animation:lightBreathe 7s ease-in-out infinite alternate}@keyframes lightBreathe{from{opacity:.75;transform:translateX(-50%) scale(.98)}to{opacity:1;transform:translateX(-50%) scale(1.04)}}

.museum-room{background:radial-gradient(ellipse at 50% -4%,rgba(255,250,236,.92),transparent 31%),linear-gradient(90deg,#bcb4aa 0 3%,#d9d2c8 10%,#e7e1d7 50%,#d8d0c5 90%,#b7afa5 97%);box-shadow:inset 0 25px 80px rgba(75,63,51,.16),inset 0 -35px 80px rgba(67,57,48,.15),0 18px 45px rgba(33,25,17,.12)}.museum-room:before{background:repeating-linear-gradient(90deg,transparent 0 160px,rgba(255,255,255,.04) 161px,rgba(80,70,60,.028) 164px),linear-gradient(90deg,transparent 49.8%,rgba(255,255,255,.25) 50%,transparent 50.2%)}.museum-architecture{position:absolute;inset:0;z-index:1;pointer-events:none}.museum-column{position:absolute;top:64px;bottom:104px;width:42px;background:linear-gradient(90deg,#b8afa4,#eee8df 44%,#c2b9ae 78%,#aaa197);box-shadow:0 0 14px rgba(70,60,50,.16)}.museum-column.left{left:16px}.museum-column.right{right:16px}.museum-column:before,.museum-column:after{content:"";position:absolute;left:-9px;right:-9px;height:18px;background:linear-gradient(#eee8df,#b8afa4);box-shadow:0 2px 5px rgba(80,70,60,.15)}.museum-column:before{top:-8px}.museum-column:after{bottom:-8px}.museum-cornice{position:absolute;left:0;right:0;top:62px;height:18px;background:linear-gradient(#eee8df,#bcb3a8);box-shadow:0 5px 12px rgba(70,60,50,.14)}.museum-baseboard{position:absolute;left:0;right:0;bottom:104px;height:22px;background:linear-gradient(#c6bdb2,#a89f94);box-shadow:0 -3px 10px rgba(70,60,50,.12)}.museum-galleries{transform-style:preserve-3d;transition:transform .22s ease-out}.museum-gallery-section{transform-style:preserve-3d}.museum-display-wall{position:relative;perspective:1100px;transform-style:preserve-3d;background:linear-gradient(180deg,rgba(255,255,255,.17),rgba(70,60,50,.035));box-shadow:inset 0 1px rgba(255,255,255,.4),inset 0 -1px rgba(70,60,50,.1)}.museum-display-wall:after{content:"";position:absolute;left:5%;right:5%;bottom:20px;height:1px;background:linear-gradient(90deg,transparent,rgba(76,65,54,.25),transparent)}.museum-object-v2{transform-style:preserve-3d;transition:transform .34s var(--ease-cinematic),filter .3s}.museum-object-v2:hover{transform:translateZ(34px) rotateY(-2.5deg) rotateX(1deg) translateY(-5px);filter:drop-shadow(0 22px 13px rgba(56,46,37,.38)) brightness(1.04);z-index:9}.object-mat{transform:translateZ(6px);box-shadow:inset 0 0 0 2px #776958,inset 0 0 0 5px #2e2822,7px 8px 10px rgba(35,28,22,.18)}.object-face{background-size:cover;background-position:center}.object-face:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.16),transparent 28%,transparent 72%,rgba(0,0,0,.08));pointer-events:none;z-index:3}.museum-light-cones{animation:museumLight 9s ease-in-out infinite alternate}@keyframes museumLight{from{opacity:.72}to{opacity:1}}.museum-floor{height:128px;background:repeating-linear-gradient(90deg,#8f877d 0 92px,#aaa196 93px 184px);transform:perspective(620px) rotateX(61deg) scaleX(1.08);box-shadow:inset 0 26px 34px rgba(0,0,0,.1)}

/* Timeline V2.1 */
.timeline-controls{position:sticky;top:62px;z-index:25;backdrop-filter:blur(14px);background:rgba(249,247,242,.94)}.timeline-panel{overflow:hidden}.timeline-help,.network-help{font-size:10px;color:var(--muted);margin-bottom:8px;letter-spacing:.02em}.timeline-v2{height:360px;overflow:auto hidden;cursor:grab;border:1px solid var(--line);border-radius:14px;background:linear-gradient(#f8f5ee,#eee8dd);box-shadow:inset 0 0 35px rgba(96,72,48,.06)}.timeline-v2.dragging{cursor:grabbing;user-select:none}.timeline-canvas{position:relative;height:340px;min-width:1080px;background:repeating-linear-gradient(90deg,transparent 0 119px,rgba(85,70,54,.035) 120px)}.timeline-axis-v2{position:absolute;left:30px;right:30px;top:172px;height:2px;background:linear-gradient(90deg,transparent,#8c7762 3%,#8c7762 97%,transparent);box-shadow:0 1px #fff}.year-tick-v2{position:absolute;top:158px;height:34px;transform:translateX(-50%);pointer-events:none}.year-tick-v2 i{display:block;width:1px;height:13px;background:#9a8774;margin:auto}.year-tick-v2 span{font-size:9px;color:#756b60;white-space:nowrap}.time-dot-v2,.time-band-v2{position:absolute;top:calc(172px + (var(--lane) - 2) * 44px);border:0;cursor:pointer;z-index:4;transition:transform .2s var(--ease-cinematic),filter .2s}.time-dot-v2{width:14px;height:14px;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 2px 5px rgba(0,0,0,.25),0 0 0 4px rgba(255,255,255,.6)}.time-dot-v2 span,.time-band-v2 span{position:absolute;left:12px;top:-8px;width:150px;text-align:left;font-size:8px;color:#665b51;opacity:0;pointer-events:none;background:rgba(255,255,255,.94);padding:5px 6px;border-radius:6px;box-shadow:0 4px 12px #0002;transition:opacity .2s}.time-dot-v2:hover,.time-band-v2:hover{transform:translate(-50%,-50%) scale(1.28);filter:brightness(1.08);z-index:20}.time-dot-v2:hover span,.time-band-v2:hover span{opacity:1}.time-band-v2{height:10px;min-width:10px;border-radius:8px;transform:translateY(-50%);opacity:.88}.time-band-v2:hover{transform:translateY(-50%) scaleY(1.35)}.time-band-v2 span{left:0;top:14px}.time-dot-v2.print,.time-band-v2.print{background:#715643}.time-dot-v2.manuscript,.time-band-v2.manuscript{background:#51675c}.time-dot-v2.fragment,.time-band-v2.fragment{background:#9a7251}.time-dot-v2.special,.time-band-v2.special{background:#65566f}

/* Provenance interactive */
.network-wrap.interactive{height:610px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:radial-gradient(circle at 50% 50%,#faf8f3,#f0ebe2);box-shadow:inset 0 0 45px rgba(74,62,49,.06)}.network-svg{width:100%;height:100%;touch-action:none;cursor:grab}.network-svg:active{cursor:grabbing}.net-node{cursor:grab}.net-node:active{cursor:grabbing}.net-node circle{fill:#8a6953;stroke:#fff;stroke-width:1.5}.net-node.object circle{fill:#4a6257}.net-node:hover circle{stroke:#c5a97b;stroke-width:3}.node-label{font-size:10px;fill:#4f4841;paint-order:stroke;stroke:#faf8f3;stroke-width:3px;stroke-linejoin:round}.net-line{stroke:#998b7c;stroke-width:1;opacity:.42}.network-toolbar{margin-bottom:10px}.provenance-split{grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr)}

/* Zustand 0–10 */
.condition-scale-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px}.condition-level{border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px;text-align:left;display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:start;cursor:pointer;transition:transform .2s,box-shadow .2s}.condition-level:hover{transform:translateY(-2px);box-shadow:0 7px 18px #00000012}.condition-level>strong{font:28px Georgia,serif;color:#55483c;text-align:center}.condition-level span b{display:block;font-size:11px}.condition-level span small{display:block;color:var(--muted);line-height:1.42;margin-top:3px}.field-hint{font-size:10px;color:var(--muted);padding:9px 10px;background:#f4f0e8;border-radius:8px;border:1px solid var(--line)}.subject-suggestions{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.subject-chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:5px 8px;font-size:9px;cursor:pointer}.subject-chip:hover{background:#eee7da}.form-section-title{font:18px Georgia,serif;margin:20px 0 9px;padding-bottom:6px;border-bottom:1px solid var(--line);color:#54473b}

@media(max-width:1000px){.provenance-split{grid-template-columns:1fr}.timeline-controls{position:static}.network-wrap.interactive{height:500px}}
@media(prefers-reduced-motion:reduce){#view>*,.room-dust i,.room-ceiling-light,.museum-light-cones{animation:none!important}.library-cases,.museum-galleries{transition:none!important}.book-spine-v2,.museum-object-v2,.room-launch{transition:none!important}}

/* ===== V2.3 · klassische Raumoptik wie im ersten Bibliotheca-Stand ===== */
/* Funktionen, Maße, Filter und Bilder bleiben V2.3; nur die Raumästhetik wird bewusst auf den ruhigeren V1-Stil zurückgeführt. */
.library-room{min-height:560px;padding:38px 24px 22px;background:linear-gradient(#d5c5ac 0 3%,#ac8662 3% 5%,#8d684d 5% 7%,#d9c7ab 7% 100%);border:1px solid #a98061;border-radius:13px;box-shadow:none}
.library-room:before,.room-ceiling-light,.room-architecture,.room-dust,.library-rug,.room-floor{display:none!important}
.library-room-title{position:static!important;color:#49372a!important;text-shadow:none!important;margin:0 0 18px!important;padding:0 4px!important}.library-room-title span{font:24px Georgia,serif!important}.library-room-title small{color:#776553!important}
.library-cases{position:relative!important;z-index:auto!important;transform:none!important;transition:none!important;display:block!important}
.bookcase-section{margin:0 0 28px!important;filter:none!important;transform:none!important}.bookcase-section:hover{filter:none!important;transform:none!important}.bookcase-label{color:#5c4634!important;text-shadow:none!important;padding:0 7px 7px!important}.bookcase-frame{background:transparent!important;box-shadow:none!important;transform:none!important;padding:0!important}.bookcase-frame:after{display:none!important}
.real-shelf{height:auto!important;min-height:340px!important;display:flex!important;align-items:flex-end!important;border-bottom:20px solid #7f5b42!important;box-shadow:inset 0 -3px #bc9876!important;margin-bottom:32px!important;padding:0 10px!important;background:transparent!important;overflow-x:auto!important;overflow-y:hidden!important;transform:none!important}.shelf-back{height:320px!important;min-width:max-content!important;display:flex!important;align-items:flex-end!important;gap:3px!important;perspective:none!important;transform:none!important}.shelf-plank{display:none!important}
.book-spine-v2{border-radius:3px 4px 1px 1px!important;border:1px solid rgba(45,28,17,.4)!important;box-shadow:inset 2px 0 rgba(255,255,255,.15),2px 1px 4px rgba(0,0,0,.18)!important;transform:none!important;filter:none!important;transition:transform .18s ease,filter .18s ease!important}.book-spine-v2:hover,.book-spine-v2:hover:nth-child(n){transform:translateY(-5px)!important;filter:brightness(1.08)!important;box-shadow:inset 2px 0 rgba(255,255,255,.15),3px 4px 7px rgba(0,0,0,.28)!important}.book-spine-v2:after{display:none!important}.book-spine-v2 .spine-year{opacity:.8}

.museum-room{min-height:680px!important;border-radius:16px!important;overflow:auto!important;background:linear-gradient(180deg,#ebe9e5 0 77%,#d4d0c8 77% 79%,#aaa39a 79%)!important;border:1px solid var(--line)!important;padding:35px!important;box-shadow:none!important}.museum-room:before,.museum-architecture,.museum-light-cones,.museum-floor{display:none!important}.museum-room-title{position:static!important;color:#4d4943!important;text-shadow:none!important;margin:0 0 20px!important}.museum-galleries{transform:none!important;transition:none!important}.museum-gallery-section{margin-bottom:32px!important}.gallery-label{color:#5b554e!important;text-shadow:none!important}.museum-display-wall{min-width:1050px!important;min-height:390px!important;display:flex!important;flex-wrap:wrap!important;align-content:flex-start!important;align-items:flex-start!important;gap:30px!important;padding:28px 30px!important;background:transparent!important;box-shadow:none!important;perspective:none!important;transform:none!important}.museum-display-wall:after{display:none!important}.museum-object-v2{background:#f7f4ec!important;border:8px solid #524a41!important;box-shadow:0 8px 18px rgba(0,0,0,.15)!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;padding:7px!important;transform:none!important;filter:none!important;transition:transform .18s ease,box-shadow .18s ease!important}.museum-object-v2:hover{transform:translateY(-5px)!important;box-shadow:0 13px 24px rgba(0,0,0,.22)!important;filter:none!important}.object-mat{width:100%!important;height:100%!important;transform:none!important;box-shadow:none!important}.object-face{width:100%!important;height:100%!important}.object-face:before{display:none!important}

.sale-btn{border:1px solid #6c5539;background:#6c5539;color:#fff;border-radius:8px;padding:8px 11px;cursor:pointer;font:inherit}.sale-btn:hover{background:#59452e}.danger-btn{border:1px solid #9d5149;background:#fff;color:#8b3e37;border-radius:8px;padding:8px 11px;cursor:pointer;font:inherit}.danger-btn:hover{background:#f7e9e7}.sold-card{border-color:#b79463;background:linear-gradient(180deg,#fffdf9,#f4ecdf)}.sold-badge{background:#6c5539!important;color:#fff!important}.sale-profile{border:1px solid #d7c2a3;background:#fbf6ee;border-radius:12px;padding:14px}.sale-profile h3{margin-top:0}


/* iPhone / mobile usability pass 2026-08-15 */
html{-webkit-text-size-adjust:100%;touch-action:manipulation}body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
button,a,input,select,textarea,summary{touch-action:manipulation}.icon-btn,.primary,.secondary,.ghost,.danger-btn,.sale-btn{min-height:42px}
@media(max-width:760px){
 body{overflow-x:hidden}#topbar{padding-top:max(8px,env(safe-area-inset-top));min-height:64px;gap:7px}.global-search-wrap{min-width:0;flex:1}.global-search-wrap input{min-width:0;width:100%}#addObjectBtn{padding-inline:10px;white-space:nowrap}
 #sidebar{top:0;height:100dvh;padding-top:max(22px,calc(env(safe-area-inset-top) + 12px));padding-bottom:max(18px,env(safe-area-inset-bottom));overflow-y:auto;-webkit-overflow-scrolling:touch}
 #view{padding:14px 10px calc(72px + env(safe-area-inset-bottom))}.page-head{gap:8px}.page-head h2{font-size:25px}.hero h2{font-size:32px}
 .filters,.advanced-filters{display:grid;grid-template-columns:1fr;align-items:stretch}.filters input,.filters select,.advanced-filters input,.advanced-filters select{width:100%;min-width:0;font-size:16px}
 .room-toolbar.compact{display:flex;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;padding-bottom:12px}.room-toolbar.compact>*{scroll-snap-align:start}.room-toolbar input[type=range]{min-width:180px}
 .virtual-room{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom}.library-room,.museum-room{min-height:520px!important;padding:22px 14px!important}.library-room-title,.museum-room-title{min-width:280px}
 .bookcase-section{min-width:720px}.museum-display-wall{min-width:760px!important;padding:18px!important;gap:20px!important}.museum-gallery-section{min-width:760px}.room-legend{font-size:11px;line-height:1.45}.room-legend:after{content:'iPhone: horizontal wischen zum Bewegen · Maßstab-Regler = Zoom · Objekt antippen = Akte öffnen';display:block;width:100%;padding-top:6px;font-weight:600;color:#695d50}
 .timeline-controls{overflow:visible}.timeline-v2{max-width:100%;height:330px;touch-action:pan-x pan-y pinch-zoom}.timeline-canvas{min-width:900px}.network-wrap.interactive{height:62vh;min-height:420px;touch-action:none}.network-wrap svg{touch-action:none}
 .table-wrap{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}.modal-panel{width:min(96vw,760px);max-height:88dvh;padding:18px 14px;margin-top:env(safe-area-inset-top);overflow:auto}.profile-grid{grid-template-columns:1fr}.image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* V2.4 mobile interactions + icon refresh */
@media(max-width:760px){
  .provenance-split .panel{min-width:0}
  .network-toolbar{display:flex;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;padding-bottom:8px;gap:8px}
  .network-toolbar>*{flex:0 0 auto}
  .network-wrap.interactive{height:68dvh;min-height:460px}
  #provList{max-height:none;overflow:visible}
}
#provSvg{touch-action:none}
.network-help{font-size:12px;line-height:1.4}
