/* Zonai-inspired stone, jade energy and gold inlay. Presentation only. */
:root{--z-ink:#0c1917;--z-stone:#182c27;--z-deep:#10221e;--z-jade:#72e7be;--z-gold:#cfb77d;--z-paper:#edf2dc;--z-muted:#adc2b3;--z-line:#8ac3a43d}
body.realm-home,body.realm-login,body.realm-editor,body.realm-props{
 --ink:var(--z-ink);--panel:var(--z-stone);--paper:var(--z-paper);--muted:var(--z-muted);--copper:var(--z-jade);--line:var(--z-line);
 --bg-primary:var(--z-ink);--bg-secondary:var(--z-stone);--bg-tertiary:var(--z-deep);--text-primary:var(--z-paper);--text-secondary:#c0d0bf;--text-muted:var(--z-muted);--border-color:var(--z-line);--dnd-gold:var(--z-jade);
 background-color:var(--z-ink);background-image:radial-gradient(ellipse at 0 12%,#23684d33,transparent 52%),repeating-linear-gradient(115deg,transparent 0 8px,#d9e3b702 8px 9px);color:var(--z-paper)
}
.portal-atmosphere:before{background:radial-gradient(ellipse at 15% 20%,#42ddae16,transparent 40%),radial-gradient(ellipse at 85% 65%,#bbab6c10,transparent 46%)}
/* Gold steps frame a flowing jade channel, like an engraved control surface. */
.realm-header,.realm-props .krastael-nav,.realm-editor .krastael-nav{border-bottom-color:#bca67555}
.realm-header:after,.krastael-nav:after{height:2px;background:linear-gradient(90deg,transparent,#72e7be,#e5ffe9,transparent);box-shadow:0 2px 12px #72e7be35}
.brand,.krastael-brand{color:#ecebd0}.brand small{color:var(--z-gold);letter-spacing:3px}
.realm-nav a,.krastael-links a{color:#bbd1c1}.realm-nav a:hover,.krastael-links a:hover,.krastael-links a[aria-current]{color:var(--z-jade);border-color:var(--z-jade)}
.realm-home h1,.realm-login h1,.editor-heading h1,.realm-props .prop-intro h1{color:var(--z-paper);font-weight:500;letter-spacing:-1.4px}
.realm-home h1 em,.realm-login h1 em,.editor-heading em,.realm-props .prop-intro h1 em{font-style:normal;color:var(--z-jade);text-shadow:0 0 36px #72e7be15}
.eyebrow,.realm-props .prop-intro small{color:var(--z-gold);letter-spacing:2.6px}
.small-rule,.realm-props .prop-intro small:before{height:5px;background:linear-gradient(90deg,var(--z-gold) 0 8px,transparent 8px 12px,var(--z-jade) 12px 28px,transparent 28px 32px);width:44px}
.portal-astrolabe{width:360px;height:360px;stroke:var(--z-jade);stroke-width:.85;opacity:.23;right:-24px;top:-32px;filter:drop-shadow(0 0 5px #72e7be35)}
.portal-astrolabe>circle:first-child{stroke:var(--z-gold);stroke-width:4;stroke-dasharray:14 5 2 5}.portal-orbit-reverse{stroke:var(--z-gold)}
.hero-description,.hero-note,.section-heading>p,.realm-props .prop-intro p{color:var(--z-muted)}
.realm-button{border-radius:2px 14px 2px 14px;letter-spacing:.3px}
.realm-button.primary{background:linear-gradient(110deg,#a6f2cf,#66cfaa);color:#102c23;border:1px solid #a5f5ce;box-shadow:0 3px 0 #2c7359,0 0 24px #70ebbb10}
.realm-button.primary:hover{background:#b8f9d9;box-shadow:0 3px 0 #2c7359,0 0 24px #70ebbb30}
.realm-button.secondary{background:#10291f;border-color:#85b39366;color:#d8e8c7}
.text-link,.account-link span{color:var(--z-jade)}
.table-overview,.entry-card,.realm-login .login-card,.text-preview{background:linear-gradient(135deg,#243c31b0,transparent 55%),var(--z-deep);border:1px solid #a4b99466;border-radius:3px 24px 3px 24px;box-shadow:inset 0 0 0 5px #0c191775,inset 0 0 0 6px #b4b48a22,0 16px 40px #0003}
.table-overview:before,.table-overview:after{width:40px;height:40px;border-width:3px 0 0 3px;border-color:var(--z-gold)}
.table-overview:after{border-width:0 3px 3px 0}.table-overview:before{top:8px;left:8px}.table-overview:after{bottom:8px;right:8px}
.overview-symbol{stroke:var(--z-jade);filter:drop-shadow(0 0 5px #72e7be50)}
.table-map{background-color:#0c1b17;background-image:linear-gradient(#8dbe9b12 1px,transparent 1px),linear-gradient(90deg,#8dbe9b12 1px,transparent 1px);border-color:#8dbe9b35;border-radius:2px 12px 2px 12px}
.map-tile.online{border-color:#72e7be;background:#285443;color:#e3ffe7}.map-tile:not(.online){background:#20352b;border-color:#77967d;color:#b6c4b3}
.overview-heading h2,.overview-metrics strong{color:var(--z-paper)}.overview-footer{border-top-color:#a3b48c33}.map-caption{color:#a3c1aa}
.workbench{border-top:1px solid #bca67555;position:relative}.workbench:before{content:'';position:absolute;top:-4px;left:0;width:128px;height:7px;background:repeating-linear-gradient(90deg,#c6b175 0 16px,transparent 16px 22px,#72e7be 22px 26px,transparent 26px 32px)}
.entry-card{padding:32px;transition:border-color .3s,background .3s,box-shadow .3s,transform .3s}
.entry-card:hover,.entry-card:focus-visible{background-color:#1a342b;border-color:#78d8af;box-shadow:inset 0 0 0 5px #0c191775,inset 0 0 0 6px #8bd3ad44,0 12px 36px #0004,0 0 28px #72e7be10}
.entry-card:before{background:radial-gradient(280px circle at var(--pointer-x,50%) var(--pointer-y,50%),#72e7be18,transparent 70%)}
.entry-number{color:var(--z-gold);letter-spacing:2px}.entry-icon{stroke:var(--z-jade)}
.entry-tags span{border-color:#9eb88c40;background:#9eb88c0b;color:#c8d7b6}.entry-bottom{border-color:#9eb88c40;color:#e5e8cb}.entry-bottom [aria-hidden]{color:var(--z-jade)}
.entry-card>p{color:var(--z-muted)}
.prop-scene{background:radial-gradient(ellipse at 50% 60%,#4ba98422,transparent 65%),#0b1d1680;border:1px solid #96af7b22;border-radius:2px 16px 2px 16px}
.scene-caption{color:#a6c0a5b3}.dungeon-room,.dungeon-hall{background-color:#2e4637;border-color:#7d9471}.dungeon-room:before{border-color:#c7c39a66}
.chest-scene{background:radial-gradient(ellipse at 50% 70%,#59caa022,transparent 65%),#0b1d1680}
.chest-face{border-color:#b6a26b;background:linear-gradient(90deg,transparent 15%,#a89460 15% 21%,transparent 21% 79%,#a89460 79% 85%,transparent 85%),repeating-linear-gradient(0deg,#344b39 0 15px,#1d3025 16px 18px)}
.chest-side{background:repeating-linear-gradient(0deg,#2b3d2d 0 15px,#1a291e 16px 18px)}
.chest-lid-panel:after{border-color:#b6a26b;background:linear-gradient(90deg,#425b3b,#192d21 45%,#425b3b)}
.chest-mouth{border-color:#ad9b64;background:radial-gradient(ellipse,#3aaf83,#0c1f17 70%)}.chest-mouth:after{background:radial-gradient(ellipse,#d8ffe6,#65e7b990 45%,transparent 75%)}
.treasure-aura{background:radial-gradient(ellipse at 50% 100%,#72e7be70,transparent 68%)}.treasure-spark{background:#d8ffe6;box-shadow:0 0 8px #72e7be}
.table-strip{border-color:#bca67555}.strip-symbol,.ornament{color:var(--z-gold)}.realm-footer{color:var(--z-muted)}
.realm-login .login-card:before,.realm-login .login-card:after{border-color:var(--z-gold);border-width:3px 0 0 3px}.realm-login .login-card:after{border-width:0 3px 3px 0}
.realm-login .login-card input,.content-field input,.content-field textarea{background:#0a1b15;border-color:#7caa8c66;color:var(--z-paper);border-radius:2px 8px 2px 8px}
.realm-login .login-card input:focus,.content-field input:focus,.content-field textarea:focus{background:#10271e;border-color:var(--z-jade);outline-color:var(--z-jade)}
.login-seal img,.panel-seal img{filter:hue-rotate(70deg) saturate(.75) brightness(1.25);opacity:.9}.login-seal strong,.panel-seal strong{color:var(--z-gold)}
/* Props retain their exact draggable geometry and state colours. */
.realm-props .tab-content>.glass-panel{background:linear-gradient(130deg,#223e302b,transparent),#11251e;border-color:#93b99355!important}
.realm-props .panel-tabs{border-color:#93b99355}.realm-props .panel-tabs .btn:after{background:var(--z-jade);box-shadow:0 0 10px #72e7be70}
.realm-props .panel-tabs .btn.btn-primary,.realm-props .panel-tabs .btn-primary .tab-index{color:var(--z-jade)}
.realm-props .control-card{background:#192f25!important;box-shadow:inset 0 0 0 1px #b7be8c12,0 8px 24px #0002!important}
.realm-props .control-card[data-mac]{border-color:#a8b58b66!important}.realm-props .control-card[data-mac]:is(:hover,:focus-within){border-color:#72e7be99!important}
.realm-props .control-card.offline{border-color:#6c857066!important}
.realm-props .btn-primary:not([style*="background:"]){background:#83dfb8;color:#10291f;border-color:#b6edc6}
.realm-props .btn-outline{border-color:#a6be8c55}.realm-props .btn:hover{box-shadow:inset 0 0 0 100px #72e7be0a}
.realm-props .input-field,.realm-props .input-field-sm{background:#0d2118;border-color:#8cb19755}.realm-props .input-field:focus,.realm-props .input-field-sm:focus{background:#173526;border-color:var(--z-jade)}
.realm-props .view-switcher,.realm-props #mqtt-log-terminal{background:#0d2118!important}.realm-props .view-btn.active{background:#83dfb8;color:#10291f}
.realm-props #devices-grid{background-color:#10241b;background-image:radial-gradient(#b1c59833 .7px,transparent .7px)}
.realm-props .device-card{background:#192f25!important;border-color:#93b99355!important}.realm-props .panel-footer{border-color:#bca67544}
.realm-props .panel-footer a,.realm-props .krastael-logout:hover{color:var(--z-jade)}
.realm-builder #drop-zone{border-color:#81b390!important}.realm-builder .canvas-item{border-color:#8bb59366}
/* The text editor uses the same carved surfaces. */
.content-field,.editor-savebar{background:#152b21;border-color:#96b08a44;border-radius:2px 16px 2px 16px}
.content-field:focus-within{border-color:#72e7be99!important}.text-preview em{color:var(--z-jade)}
#editor-pages button{border-radius:2px 10px 2px 10px}#editor-pages button[aria-pressed=true]{background:#72e7be15;border-color:#72e7be;color:#d8ffe4}
#view-page,.field-footer button{color:var(--z-gold)}.preview-rule{background:linear-gradient(90deg,var(--z-jade),transparent)!important}
.portal-motion-toggle{background:#10241b;border-color:#9bb48b55;color:#bed0b7;border-radius:2px 12px 2px 12px}.portal-motion-toggle:before{color:var(--z-jade)}
@media(max-width:800px){.portal-astrolabe{width:260px;height:260px;right:-8px;opacity:.17}.entry-card{padding:24px}.table-overview,.entry-card,.realm-login .login-card{border-radius:2px 18px 2px 18px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
