:root{color-scheme:dark}*{box-sizing:border-box}body{margin:0;font-family:Source Sans Pro,system-ui,sans-serif;background:#0e1014;color:#ecf0f1}.flat-panel-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.6rem}.flat-title{font-weight:600;font-size:.9rem;opacity:.8}.flat-panel-buttons{display:flex;gap:.35rem;align-items:center;flex:none}.flat-badge{flex:none;font-size:.68rem;letter-spacing:.1em;padding:.12rem .5rem;border-radius:999px;border:1px solid transparent;background:#2c3e50;color:#9fb3c8;font-family:inherit;cursor:pointer}.flat-badge:hover{background:#34495e;border-color:#3c5976;color:#d4dbe2}.flat-heading{margin:0 0 .55rem;font-size:1.5rem;line-height:1.2}.flat-body{margin:0;font-size:1.02rem;line-height:1.5;color:#d4dbe2;white-space:pre-wrap}.flat-links{display:flex;flex-direction:column;gap:.55rem;margin-top:1rem}.flat-link{width:100%;text-align:left;padding:.9rem 1.05rem;border-radius:.75rem;border:1px solid #3c5976;background:#2c3e50;color:#ecf0f1;font-family:inherit;font-size:1.08rem;cursor:pointer;transition:background .12s ease}.flat-link:hover{background:#34495e}.flat-link:active{background:#3c5976}.flat-end{text-align:center;opacity:.5;font-style:italic;margin:.75rem 0 0}.flat--overlay{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:1rem}.flat--overlay .flat-hero{position:fixed;inset:0;z-index:0;background:#0e1014}.flat--overlay .flat-img{width:100%;height:100%;object-fit:cover;display:block}.flat--overlay .flat-noimg{position:fixed;inset:0;margin:0;z-index:0;display:grid;place-items:center;color:#5b6472;font-style:italic}.flat--overlay .flat-panel{position:relative;z-index:1;width:min(33rem,100%);max-height:84vh;max-height:84dvh;overflow-y:auto;background:#12151bd1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(150,170,190,.18);border-radius:1rem;padding:1.15rem 1.25rem 1.35rem;box-shadow:0 14px 50px #00000080}.flat--poster .flat-hero a-scene,.flat--poster .flat-hero canvas{width:100%;height:100%}.flat--poster{justify-content:flex-end}.flat--poster .flat-panel{width:min(24rem,100%)}.flat--doc{max-width:40rem;margin:0 auto;min-height:100vh}.flat--doc .flat-hero{position:relative;background:#0e1014}.flat--doc .flat-img{width:100%;height:46vh;max-height:420px;object-fit:cover;display:block}.flat--doc .flat-noimg{height:30vh;margin:0;display:grid;place-items:center;color:#5b6472;font-style:italic}.flat--doc .flat-panel{padding:1.2rem 1.1rem 1.6rem}.flat-hotspots{position:absolute;inset:0;pointer-events:none}.flat--doc .flat-hotspots{position:absolute}.flat-hotspot{position:absolute;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:.3rem;padding:0;border:none;background:none;color:#ecf0f1;font-family:inherit;cursor:pointer;pointer-events:auto;z-index:1}.flat-hotspot-ring{width:22px;height:22px;border-radius:50%;border:2px solid rgba(236,240,241,.9);background:#ecf0f11f;box-shadow:0 0 0 4px #ecf0f11f,0 2px 10px #00000073;animation:flat-hotspot-pulse 2.4s ease-in-out infinite}.flat-hotspot-label{font-size:.78rem;line-height:1.2;padding:.14rem .5rem;border-radius:999px;background:#12151bd1;border:1px solid rgba(150,170,190,.25);opacity:0;transition:opacity .15s ease;white-space:nowrap}.flat-hotspot:hover .flat-hotspot-label,.flat-hotspot:focus-visible .flat-hotspot-label{opacity:1}@keyframes flat-hotspot-pulse{0%,to{box-shadow:0 0 0 4px #ecf0f11f,0 2px 10px #00000073}50%{box-shadow:0 0 0 9px #ecf0f10d,0 2px 10px #00000073}}.flat-audio-hotspot{cursor:default;pointer-events:none}.flat-audio-hotspot-glyph{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#079c0fe0;color:#ecf0f1;font-size:.95rem;box-shadow:0 2px 10px #00000073}.flat--editing .flat-hero{cursor:crosshair}.flat--editing [contenteditable]:not([contenteditable=false]){cursor:text;border-radius:.3rem}.flat--editing [contenteditable]:not([contenteditable=false]):hover,.flat--editing [contenteditable]:not([contenteditable=false]):focus{outline:1px dashed rgba(150,170,190,.55);outline-offset:3px}.flat-link--add{border-style:dashed;opacity:.75;text-align:center}.flat-link--add:hover{opacity:1}.flat--editing .flat-hotspot{cursor:default}.flat-badge--active{background:#3c5976;color:#ecf0f1}.flat-hotspot-form{position:fixed;z-index:3;width:260px;display:grid;gap:.5rem;padding:.8rem .9rem;border-radius:.75rem;background:#12151bf0;border:1px solid rgba(150,170,190,.3);box-shadow:0 14px 50px #00000080;font-size:.88rem}.flat-hotspot-form label{display:grid;gap:.2rem;color:#9fb3c8}.flat-hotspot-form fieldset{display:flex;gap:.8rem;margin:0;padding:0;border:0;color:#9fb3c8}.flat-hotspot-form fieldset label{display:flex;align-items:center;gap:.25rem}.flat-hotspot-form input{font:inherit;color:#ecf0f1;background:#1b2129;border:1px solid #3c5976;border-radius:.4rem;padding:.35rem .5rem}.flat-hotspot-form-error{margin:0;color:#e74c3c;font-size:.8rem}.flat-hotspot-form-actions{display:flex;gap:.5rem;justify-content:flex-end}.flat-hotspot-form-actions button{font:inherit;padding:.3rem .8rem;border-radius:.5rem;border:1px solid #3c5976;background:#2c3e50;color:#ecf0f1;cursor:pointer}.flat-hotspot-form-actions button[type=submit]{background:#3c5976}.flat [hidden]{display:none!important}
