:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#22251f;background:#e9e7df;font-synthesis:none}*{box-sizing:border-box}html,body,#root{margin:0;min-width:320px;min-height:100%}button,input{font:inherit}.loading{min-height:100vh;display:grid;place-items:center;background:#181a16;color:#dad5c9;font-size:.75rem;letter-spacing:.08em}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(19rem,1fr) minmax(25rem,.72fr);background:#191b17;color:#f4f0e7}.identity{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:100vh;padding:clamp(3rem,8vw,8rem);overflow:hidden;background:radial-gradient(circle at 70% 20%,rgba(172,141,84,.16),transparent 32%),linear-gradient(145deg,#20231d,#11130f)}.identity:after{content:"";position:absolute;inset:10% -20% auto auto;width:34rem;height:34rem;border:1px solid rgba(225,211,182,.1);transform:rotate(45deg)}.identity p,aside p{margin:1.5rem 0 .65rem;font-size:.66rem;font-weight:700;letter-spacing:.24em}.identity h1{margin:0;font:400 clamp(4rem,10vw,9rem)/.85 Georgia,serif;letter-spacing:-.06em}.identity>span{max-width:28rem;margin-top:2rem;color:#aba99f;font-size:.9rem;line-height:1.65}.mark{position:relative;width:3.4rem;height:2.6rem}.mark i,.mark b{position:absolute;bottom:.2rem;width:2.6rem;height:.34rem;border-radius:1rem;transform-origin:right center}.mark i{right:1.48rem;background:#f0ebe0;transform:rotate(-42deg)}.mark b{left:1.48rem;background:#c63231;transform:rotate(42deg);transform-origin:left center}.access-card{display:flex;flex-direction:column;justify-content:center;padding:clamp(2rem,7vw,7rem);background:#f0eee7;color:#23261f}.access-card small,.dashboard small{font-size:.6rem;font-weight:700;letter-spacing:.19em;color:#8c7751}.access-card h2{margin:.8rem 0;font:500 clamp(2rem,4vw,3.6rem)/1 Georgia,serif;letter-spacing:-.04em}.access-card>div>p{max-width:25rem;color:#6d6f68;font-size:.85rem;line-height:1.6}.access-card form{display:grid;gap:1.15rem;margin-top:2.8rem}.access-card label{color:#55584f;font-size:.68rem;letter-spacing:.05em}.access-card input{display:block;width:100%;margin-top:.5rem;padding:1rem 0;border:0;border-bottom:1px solid #aaa99f;border-radius:0;outline:0;background:transparent;color:#1c1e1a}.access-card input:focus{border-bottom-color:#9b7436;box-shadow:0 1px #9b7436}.access-card button{display:flex;justify-content:space-between;margin-top:.8rem;padding:1rem 1.1rem;border:0;background:#1d201a;color:#fff;cursor:pointer}.access-card button:disabled{opacity:.55}.access-card footer{margin-top:2rem;color:#8b8c85;font-size:.62rem}.error{margin:0;color:#9c2f2f;font-size:.72rem}.manager-shell{min-height:100vh;display:grid;grid-template-columns:17rem 1fr;background:#eae8e0}.manager-shell aside{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;padding:2rem 1.6rem;background:#1b1e19;color:#f0ece2}.mark--small{width:2.5rem;height:1.9rem;transform:scale(.74);transform-origin:left center}aside strong{font:400 2rem Georgia,serif}aside nav{display:grid;gap:.2rem;margin-top:3rem}aside nav a,aside nav span{display:flex;justify-content:space-between;padding:.72rem .65rem;color:#8f9288;font-size:.72rem;text-decoration:none}aside nav .active{background:#292d26;color:#fff}aside nav em{font-size:.5rem;font-style:normal;opacity:.5}.logout{margin-top:auto;padding:.8rem;border:1px solid #484c43;background:transparent;color:#c6c3ba;cursor:pointer}.dashboard{padding:clamp(2rem,5vw,5rem)}.dashboard>header{display:flex;align-items:flex-start;justify-content:space-between}.dashboard h1{margin:.5rem 0 0;font:400 clamp(2.5rem,5vw,5rem)/1 Georgia,serif;letter-spacing:-.05em}.dashboard>header p{padding:.55rem .8rem;background:#fff;font-size:.67rem}.dashboard article{margin-top:clamp(4rem,9vw,8rem);padding:clamp(2rem,5vw,5rem);background:#f7f5ef}.dashboard article h2{margin:.8rem 0;font:400 clamp(2rem,4vw,3.5rem)/1.05 Georgia,serif}.dashboard article>p{max-width:42rem;color:#696c63;line-height:1.7}.module-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:3rem;border-top:1px solid #d7d4ca}.module-grid div{display:grid;gap:1.2rem;padding:1.4rem;border-right:1px solid #d7d4ca}.module-grid span{color:#998362;font-size:.65rem}.module-grid strong{font-size:.75rem}.module-grid small{color:#92948d}@media(max-width:780px){.login-shell{grid-template-columns:1fr}.identity{display:none}.access-card{min-height:100vh}.manager-shell{grid-template-columns:1fr}.manager-shell aside{position:static;height:auto}.manager-shell aside nav{display:none}.logout{margin-top:1.5rem}.module-grid{grid-template-columns:1fr 1fr}.dashboard>header{display:block}}.aside-user{display:grid;gap:.2rem;margin-top:auto;padding:.8rem .65rem 1rem;color:#d2cec4}.aside-user small{font-size:.5rem;letter-spacing:.18em;text-transform:uppercase;color:#8d907f}.aside-user span{font-size:.72rem}.manager-shell .logout{margin-top:0}.workspace{min-width:0;padding:clamp(2rem,4.5vw,5rem);overflow:hidden}.workspace-header,.editor-header{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem}.workspace-header h1,.editor-header h1{margin:.55rem 0 0;font:400 clamp(2.8rem,5vw,5.5rem)/.95 Georgia,serif;letter-spacing:-.055em}.workspace-header p,.editor-header p{margin:1rem 0 0;color:#6c6e66;font-size:.84rem}.workspace-header small,.editor-header small,.editor-sections header>small,.navigation-block small{font-size:.58rem;font-weight:700;letter-spacing:.2em;color:#8f774e}.count{padding:.7rem 1rem;background:#f7f5ef;color:#666960;font-size:.65rem}.workspace-loading,.workspace-error{margin-top:5rem;color:#73766d}.workspace-error{color:#963838}.scene-list{margin-top:clamp(3rem,6vw,6rem);border-top:1px solid #c9c6bb}.scene-row{display:grid;grid-template-columns:4rem 10rem minmax(12rem,1.5fr) 6rem repeat(3,minmax(4.5rem,.55fr)) 2rem;align-items:center;gap:1.3rem;width:100%;padding:1.2rem 0;border:0;border-bottom:1px solid #cfccc1;background:transparent;color:#252821;text-align:left;cursor:pointer;transition:background .2s,padding .2s}.scene-row:hover{padding-left:.8rem;padding-right:.8rem;background:#f4f1e9}.scene-row img{width:10rem;aspect-ratio:2/1;object-fit:cover;filter:saturate(.82)}.scene-number{font:400 2rem Georgia,serif;color:#837759}.scene-identity{display:grid;gap:.5rem}.scene-identity strong{font:400 1.45rem Georgia,serif}.scene-identity small{color:#85877f;font-size:.58rem}.status{display:inline-flex;align-items:center;gap:.45rem;width:max-content;font-size:.63rem}.status i{width:.38rem;height:.38rem;border-radius:50%;background:#75876a}.status--inactive i{background:#9c8173}.scene-meta{display:grid;gap:.35rem;color:#565950;font-size:.68rem}.scene-meta small{font-size:.48rem;letter-spacing:.14em;color:#96978f}.scene-arrow{font-size:1.2rem;transition:transform .2s}.scene-row:hover .scene-arrow{transform:translate(3px)}.draft-note{display:flex;gap:1.2rem;margin-top:2rem;color:#777970;font-size:.68rem}.draft-note strong{color:#8e754c}.back-link{padding:0;border:0;background:transparent;color:#696c63;font-size:.68rem;cursor:pointer}.editor-header{align-items:flex-end;margin:2rem 0 2.5rem}.editor-header>div:last-child{display:flex;align-items:center;gap:1rem}.secondary-button,.primary-button{padding:.78rem 1rem;border:1px solid #aaa99e;background:transparent;color:#31342d;cursor:pointer}.primary-button{border-color:#1d201a;background:#1d201a;color:#fff}.coordinate-picker{position:relative;min-height:clamp(24rem,52vw,43rem);overflow:hidden;background:#171914}.coordinate-picker__viewer{position:absolute;inset:0}.coordinate-picker__reticle{position:absolute;left:50%;top:50%;width:1.15rem;height:1.15rem;border:1px solid rgba(255,255,255,.9);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.coordinate-picker__reticle:before,.coordinate-picker__reticle:after{content:"";position:absolute;background:#fffc}.coordinate-picker__reticle:before{left:50%;top:-.4rem;width:1px;height:1.8rem}.coordinate-picker__reticle:after{top:50%;left:-.4rem;height:1px;width:1.8rem}.coordinate-picker__console{position:absolute;z-index:2;left:1.2rem;right:1.2rem;bottom:1.2rem;display:flex;align-items:center;gap:2rem;padding:.85rem 1rem;background:#141612e0;backdrop-filter:blur(12px);color:#f3efe5}.coordinate-picker__console div{display:grid;gap:.25rem;min-width:5rem}.coordinate-picker__console small{font-size:.47rem;letter-spacing:.18em;color:#a8a79d}.coordinate-picker__console strong{font:400 .78rem ui-monospace,SFMono-Regular,Consolas,monospace}.coordinate-picker__console button{margin-left:auto;padding:.75rem 1rem;border:1px solid #77796f;background:transparent;color:#fff;cursor:pointer}.picker-help{max-width:48rem;margin:1rem 0 0;color:#777a71;font-size:.68rem;line-height:1.6}.editor-sections{margin-top:4rem}.editor-sections>section{display:grid;grid-template-columns:minmax(14rem,.55fr) minmax(24rem,1fr);gap:clamp(2rem,5vw,7rem);padding:3rem 0;border-top:1px solid #c9c6bb}.editor-sections header{display:flex;align-items:flex-start;gap:1.5rem}.editor-sections h2{margin:0;font:400 2rem Georgia,serif}.editor-sections header p{max-width:20rem;margin:.7rem 0 0;color:#777970;font-size:.7rem;line-height:1.55}.form-grid,.field-pair,.field-triple{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem 1.8rem}.field-triple{grid-template-columns:repeat(3,1fr)}.editor-sections label{color:#66695f;font-size:.6rem;letter-spacing:.05em}.editor-sections input,.editor-sections select{display:block;width:100%;margin-top:.55rem;padding:.8rem 0;border:0;border-bottom:1px solid #aaa99e;border-radius:0;outline:0;background:transparent;color:#22251f}.editor-sections input:focus,.editor-sections select:focus{border-color:#8c6e3d}.editor-sections input:disabled{opacity:.4}.toggle-field{display:flex;align-items:center;justify-content:space-between;align-self:end;padding:.8rem 0;border-bottom:1px solid #aaa99e}.toggle-field input{width:1rem;margin:0;accent-color:#20231d}.panorama-assets{display:grid;grid-template-columns:12rem 1fr;gap:2rem}.panorama-assets img{width:100%;aspect-ratio:1.5;object-fit:cover}.panorama-assets>div{display:grid;gap:1rem}.navigation-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.navigation-block{display:grid;align-content:start;gap:1.3rem;padding:1.5rem;background:#f4f2eb}.navigation-block>div:first-child{display:grid;gap:.4rem}.navigation-block strong{font:400 1rem Georgia,serif}.save-bar{position:sticky;z-index:6;bottom:1rem;display:flex;align-items:center;gap:.8rem;margin-top:2rem;padding:1rem 1.2rem;background:#20231d;color:#f1ede3;box-shadow:0 1rem 3rem #0003}.save-bar>div{display:grid;gap:.25rem;margin-right:auto}.save-bar strong{font-size:.72rem}.save-bar span{color:#a8aaa1;font-size:.58rem}.save-bar button{padding:.7rem 1rem;border:1px solid #66695f;background:transparent;color:#fff;cursor:pointer}.save-bar .primary-button{background:#f1eee5;color:#20231d}.save-message{position:fixed;right:2rem;bottom:2rem;z-index:8;padding:.8rem 1rem;background:#20231d;color:#fff;font-size:.65rem}.preview-overlay{position:fixed;z-index:20;inset:0;display:grid;grid-template-rows:auto 1fr;padding:1rem;background:#11130f}.preview-toolbar{display:flex;align-items:center;justify-content:space-between;padding:.7rem 1rem;color:#f3efe5}.preview-toolbar>div{display:grid;gap:.3rem}.preview-toolbar small{font-size:.5rem;letter-spacing:.18em;color:#a58b5c}.preview-toolbar strong{font:400 1rem Georgia,serif}.preview-toolbar button{padding:.65rem 1rem;border:1px solid #5d6156;background:transparent;color:#fff;cursor:pointer}.coordinate-picker--preview{min-height:0;height:100%}@media(max-width:1100px){.scene-row{grid-template-columns:3rem 8rem 1fr 5rem 2rem}.scene-row img{width:8rem}.scene-meta{display:none}.editor-sections>section{grid-template-columns:1fr}.navigation-grid{grid-template-columns:1fr}}@media(max-width:780px){.workspace{padding:1.4rem}.workspace-header,.editor-header{display:block}.count{display:inline-block;margin-top:1rem}.scene-row{grid-template-columns:2.5rem 6rem 1fr 1.5rem;gap:.75rem}.scene-row img{width:6rem}.scene-row .status{display:none}.scene-identity strong{font-size:1rem}.scene-identity small{display:none}.editor-header>div:last-child{margin-top:1.2rem}.coordinate-picker{min-height:24rem}.coordinate-picker__console{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}.coordinate-picker__console button{grid-column:1/-1;width:100%;margin:0}.editor-sections>section{padding:2rem 0}.form-grid,.field-pair,.field-triple,.panorama-assets{grid-template-columns:1fr}.save-bar{bottom:0;flex-wrap:wrap}.save-bar>div{width:100%}.draft-note{display:grid}}.hotspot-entry>div:last-child{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1rem 0 0 4.5rem}.hotspot-entry p{color:#74766e;font-size:.72rem}.mode-switch{display:flex;align-items:center;gap:.25rem;padding:.25rem;border:1px solid #cfccc1;border-radius:99px;background:#f3f0e8}.mode-switch>button:not(.secondary-button){border:0;border-radius:99px;padding:.65rem .9rem;background:transparent;color:#777970;cursor:pointer;font-size:.56rem;text-transform:uppercase;letter-spacing:.1em}.mode-switch>button.active{background:#242720;color:#fff}.mode-switch .secondary-button{margin-left:.5rem}.hotspot-stage{position:relative}.hotspot-stage .coordinate-picker{min-height:31rem}.coordinate-picker.is-placement .coordinate-picker__viewer{cursor:crosshair}.placement-hint{position:absolute;z-index:5;top:1.2rem;left:50%;transform:translate(-50%);padding:.75rem 1rem;border-radius:.4rem;background:#1f221ceb;color:#fff;text-align:center;pointer-events:none}.placement-hint strong,.placement-hint span{display:block}.placement-hint strong{font-size:.7rem}.placement-hint span{margin-top:.25rem;color:#c9cbc2;font-size:.55rem}.add-hotspot{position:absolute;z-index:4;right:1.4rem;bottom:1.4rem;padding:.8rem 1rem;border:0;border-radius:99px;background:#242720;color:#fff;box-shadow:0 .6rem 2rem #0003;cursor:pointer}.hotspot-marker{position:relative;display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:1px solid rgba(255,255,255,.8);border-radius:50%;background:#f8f5ecf2;color:#22251f;box-shadow:0 .25rem 1rem #00000040;cursor:pointer;transition:transform .18s}.hotspot-marker:hover,.hotspot-marker.is-selected{transform:scale(1.08)}.hotspot-marker.is-selected{outline:2px solid #a88b59;outline-offset:3px}.hotspot-marker.is-disabled{opacity:.45}.hotspot-marker svg{display:block;width:1rem;height:1rem}.hotspot-marker path{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.hotspot-marker span{position:absolute;left:2.8rem;padding:.35rem .5rem;border-radius:.25rem;background:#1e201be6;color:#fff;white-space:nowrap;font-size:.55rem}.hotspot-workbench{display:grid;grid-template-columns:minmax(0,1fr) 22.5rem;gap:1.5rem;margin-top:1.5rem}.hotspot-list,.hotspot-inspector{padding:1.6rem;border:1px solid #d0cdc2;background:#f5f2ea}.hotspot-list h2,.hotspot-inspector h2{margin:.4rem 0 0;font:400 1.55rem Georgia,serif}.hotspot-list ol{margin:1.2rem 0 0;padding:0;list-style:none}.hotspot-list li+li{border-top:1px solid #d7d3c9}.hotspot-list li button{display:flex;align-items:center;gap:1rem;width:100%;padding:.85rem .6rem;border:0;background:transparent;text-align:left;cursor:pointer}.hotspot-list li button.active{background:#ebe6da}.hotspot-list li button>span{color:#987c4d;font-size:.58rem}.hotspot-list li strong,.hotspot-list li small{display:block}.hotspot-list li small{margin-top:.25rem;color:#85877f;font-size:.55rem}.empty-state,.inspector-empty p{color:#797b72;font-size:.7rem;line-height:1.6}.hotspot-inspector{display:flex;flex-direction:column;gap:.9rem}.hotspot-inspector label{display:grid;gap:.4rem;color:#686b62;font-size:.58rem}.hotspot-inspector input,.hotspot-inspector select,.hotspot-inspector textarea{box-sizing:border-box;width:100%;padding:.65rem;border:1px solid #cecbc0;background:#fffdf8;color:#252821}.coordinate-readout{display:flex;gap:.5rem}.coordinate-readout span{flex:1;padding:.65rem;background:#eae6dc;color:#777970;font-size:.5rem;text-transform:uppercase}.coordinate-readout b{display:block;margin-top:.25rem;color:#252821;font-size:.65rem}.inspector-actions{display:flex;justify-content:space-between}.inspector-actions button,.confirm-dialog button{padding:.65rem .8rem;border:1px solid #c5c1b5;background:transparent;cursor:pointer}.danger-button{color:#8d3c32!important;border-color:#cba69f!important}.dialog-backdrop{position:fixed;z-index:60;inset:0;display:grid;place-items:center;background:#14151294;backdrop-filter:blur(5px)}.confirm-dialog{box-sizing:border-box;width:min(26rem,calc(100vw - 2rem));padding:2rem;background:#f7f3e9}.confirm-dialog h2{font:400 1.8rem Georgia,serif}.confirm-dialog p{color:#6f7169}.confirm-dialog>div{display:flex;justify-content:flex-end;gap:.7rem;margin-top:1.5rem}.client-hotspot-panel{position:absolute;z-index:5;top:6.5rem;right:2rem;box-sizing:border-box;width:min(23rem,calc(100vw - 4rem));padding:2rem;background:#f7f3e9f5;box-shadow:0 1.2rem 4rem #00000040;backdrop-filter:blur(15px)}.client-hotspot-panel>button{position:absolute;top:.7rem;right:.8rem;border:0;background:transparent;font-size:1.4rem;cursor:pointer}.client-hotspot-panel h2{font:400 1.8rem Georgia,serif}.client-hotspot-panel p{color:#666960;line-height:1.6}@media(max-width:900px){.hotspot-workbench{grid-template-columns:1fr}.hotspot-entry>div:last-child{padding-left:0;align-items:flex-start;flex-direction:column}.mode-switch{flex-wrap:wrap}}
