@font-face{font-family:DTM;src:url('/assets/dtm_sans.ttf') format('truetype');font-display:swap}
:root{--green:#85e6a2;--gold:#d9b46e;--text:#eee4d1;--muted:#b5a58b;--rule:#59472e}body,button,input,select,textarea,.brand,.catalog-title h1,.editor-head h2{font-family:DTM,monospace}body{font-size:15px}.topbar{gap:16px}nav{display:flex;gap:18px}nav a{color:var(--muted);text-decoration:none;font-size:14px}nav a[aria-current]{color:var(--gold);text-decoration:underline;text-underline-offset:7px}.brand{font-size:17px}.session input{width:180px}.workspace{grid-template-columns:minmax(205px,250px) minmax(410px,1fr) minmax(290px,370px)}.editor-head h2{font-size:26px}.catalog-title h1{font-size:23px}.catalog,.editor,.preview{padding:26px 23px}.catalog,.preview{background:#181510}.editor{background:#221b14}fieldset{border:0;margin:0;padding:22px 0;border-bottom:1px solid var(--rule)}legend{padding:0;color:var(--gold);font-size:18px;float:left;width:100%;margin-bottom:18px}fieldset::after{content:'';display:block;clear:both}.coordinates{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}label{font-size:14px;line-height:1.5}.help,.preview-note{font-size:12px;line-height:1.8;color:var(--muted)}code{font:inherit;color:#dec591;overflow-wrap:anywhere}.secondary{border:1px solid #8e7044;color:#e5ca96;background:#33271a;padding:9px 12px;margin:8px 0}.wave{margin:0 0 18px;padding-bottom:16px;border-bottom:1px solid #59472e}.wave-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.wave-head strong{font-weight:400}.entity-row{display:grid;grid-template-columns:minmax(150px,1fr) 60px 28px;gap:8px;margin:8px 0}.entity-row input{width:100%;font-size:12px}.remove{border:0;background:none;color:#ecac9d;font-size:20px}.key-field{margin-top:20px}.preview-stick{position:sticky;top:22px}.world-preview{min-height:430px;display:grid;place-items:center;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 80%,#35473844,transparent 65%),#100f0e;border-bottom:1px solid #59472e}.floating-panel{position:relative;text-align:center;padding:19px 20px 13px;width:calc(100% - 28px);border:1px solid #a1834f;background:linear-gradient(#292217ed,#110f0ded);box-shadow:inset 0 0 0 3px #1c1710,inset 0 0 0 4px #584629}.floating-panel::before,.floating-panel::after{content:'◆';position:absolute;top:-8px;color:var(--gold);font-size:12px}.floating-panel::before{left:12px}.floating-panel::after{right:12px}.event-status{font-size:15px;color:var(--green);margin:4px 0 8px}.event-timer{font-size:38px;color:#f2e5c9;margin:0;font-variant-numeric:tabular-nums;text-shadow:2px 2px #000}.boss-frame{width:104px;height:104px;margin:12px auto 6px;display:grid;place-items:center;position:relative;background:radial-gradient(#9a3f4333,transparent 70%)}.boss-frame canvas{width:104px;height:104px}.boss-frame span{font-size:11px;color:var(--muted)}.floating-panel h2{font-size:22px;color:#f0d19a;font-weight:400;overflow-wrap:anywhere;margin:3px 0 10px}.floating-panel p:not(.event-status,.event-timer){font-size:12px;color:#c4baa6}.event-divider{height:1px;background:linear-gradient(90deg,transparent,#af8d50,transparent);margin:15px 0 9px}.preview-control{display:flex;align-items:center;gap:10px;font-size:12px;margin-top:20px}.preview-control input{accent-color:var(--gold);width:110px}.item-card strong{font-weight:400}.item-card small{font-size:11px}.item-card em{font-size:10px}.item-card[aria-pressed=true]{border-left:2px solid var(--gold);background:#382a1a}.publish:disabled{opacity:.5;cursor:wait}.actions p{line-height:1.6}.empty{font-size:13px;line-height:1.8}
@media(max-width:1200px){.workspace{grid-template-columns:220px 1fr}.preview{grid-column:2}.preview-stick{position:static}.world-preview{max-width:420px;margin:auto}.topbar{flex-wrap:wrap;height:auto;padding:16px}.session{margin-left:auto}}@media(max-width:780px){.workspace{display:block}.session{margin-left:0}.brand{font-size:15px}.catalog,.editor,.preview{padding:22px}.item-list{max-height:210px}.coordinates{gap:8px}.editor-head h2{font-size:23px}.entity-row{grid-template-columns:minmax(100px,1fr) 58px 24px}}
/* A floated full-width legend collapsed the following grid to zero width. */
fieldset legend{float:none;display:block;width:100%;margin-bottom:18px}
fieldset::after{content:none}
.field-grid,.coordinates,.wave-rows,.entity-row{min-width:0}
.entity-row input{min-width:0}
@media(max-width:780px){.topbar nav{order:2}.topbar .session{order:3;width:100%;display:grid;grid-template-columns:1fr auto}.topbar .session label{grid-column:1/-1}.topbar .session input{width:100%}}
.event-tabs{display:flex;gap:8px;margin:6px 0 21px;border-bottom:1px solid var(--rule)}
.event-tab{border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);padding:9px 12px;font-size:13px}
.event-tab.active{border-bottom-color:var(--gold);color:var(--gold)}
.theme-colors{margin:17px 0}.theme-colors input[type=color]{width:100%;height:44px;padding:4px}
.floating-panel{border-color:var(--event-accent,#d9b46e);background:var(--event-background,#211a15);color:var(--event-text,#eee4d1)}
.floating-panel::before,.floating-panel::after{color:var(--event-accent,#d9b46e)}
.floating-panel .event-status{color:var(--event-status,#85e6a2)}
.floating-panel .event-timer{color:var(--event-text,#eee4d1)}
.floating-panel h2{color:var(--event-accent,#d9b46e)}
.floating-panel .event-divider{background:linear-gradient(90deg,transparent,var(--event-accent,#d9b46e),transparent)}
.floating-panel .preview-level{font-size:15px!important;margin:4px 0}
.floating-panel[data-motif=runic]{background-image:repeating-linear-gradient(135deg,transparent 0 24px,#ffffff06 24px 25px)}
.floating-panel[data-motif=ember]{background-image:radial-gradient(circle at 20% 25%,#e9722640,transparent 22%),radial-gradient(circle at 83% 74%,#e972262a,transparent 18%)}
.floating-panel[data-motif=enchanted],.floating-panel[data-motif=cosmic]{background-image:radial-gradient(circle at 50% 35%,#9374cf36,transparent 52%)}
.floating-panel[data-motif=ice]{background-image:linear-gradient(135deg,#8ed7ff1e,transparent 55%)}
.floating-panel[data-motif=soul]{background-image:radial-gradient(circle at 50% 80%,#5de4b930,transparent 50%)}
.floating-panel[data-motif=stone]{background-image:repeating-linear-gradient(0deg,transparent 0 19px,#ffffff07 19px 20px)}
.floating-panel[data-motif=gold],.floating-panel[data-motif=radiant]{background-image:radial-gradient(circle at 50% 0%,#e9bc5c3b,transparent 55%)}
.preview-control input[type=number]{width:80px}

/* Preview mirrors the game's 240x192 HUD panel at 1.25x editor scale. */
.world-preview{min-height:430px;background:radial-gradient(ellipse at 50% 76%,#35473844,transparent 58%),#100f0e}
.floating-panel{
  --event-top:color-mix(in srgb,var(--event-background,#211a15) 86%,#fff 14%);
  --event-bottom:color-mix(in srgb,var(--event-background,#211a15) 78%,#000 22%);
  width:300px;height:240px;box-sizing:border-box;padding:0;overflow:hidden;
  border:0;color:var(--event-text,#eee4d1);
  background:linear-gradient(180deg,var(--event-top),var(--event-background,#211a15) 45%,var(--event-bottom));
  box-shadow:0 0 0 1px #090806,0 0 0 2px var(--event-accent,#d9b46e),0 0 0 4px #15110d,
    inset 0 0 0 1px color-mix(in srgb,var(--event-accent,#d9b46e) 60%,#fff 40%),
    inset 0 0 0 3px color-mix(in srgb,var(--event-accent,#d9b46e) 42%,#0c0907 58%);
}
.floating-panel::before,.floating-panel::after{top:2px;font-size:8px;line-height:1;z-index:2}
.floating-panel::before{left:7px}.floating-panel::after{right:7px}
.event-status,.event-timer,.boss-frame,.floating-panel h2,.floating-panel .preview-level,
.floating-panel #preview-details,.floating-panel>.event-divider,.floating-panel>p:last-child{position:absolute;left:8px;right:8px;margin:0}
.floating-panel .event-status{top:12px;font-size:11px;line-height:12px;letter-spacing:.02em}
.floating-panel .event-timer{top:28px;font-size:28px;line-height:31px}
.boss-frame{top:50px;left:115px;right:auto;width:70px;height:70px;margin:0;background:radial-gradient(circle,#9a3f4333,transparent 72%)}
.boss-frame canvas{width:70px;height:70px}
.boss-frame span{font-size:9px}
.floating-panel h2{top:148px;font-size:14px;line-height:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.floating-panel h2::before{content:"";position:absolute;left:9px;right:9px;top:-8px;height:1px;background:linear-gradient(90deg,transparent,var(--event-accent,#d9b46e),transparent)}
.floating-panel .preview-level{top:170px;font-size:11px!important;line-height:13px;margin:0}
.floating-panel #preview-details{top:190px;font-size:10px;line-height:12px}
.floating-panel>.event-divider{top:138px;height:1px;margin:0;background:linear-gradient(90deg,transparent,var(--event-accent,#d9b46e),transparent)}
.floating-panel>.event-divider::after,.floating-panel #preview-details::after{content:"";position:absolute;left:50%;width:4px;height:4px;top:-2px;transform:translateX(-50%) rotate(45deg);background:var(--event-accent,#d9b46e)}
.floating-panel #preview-details::after{top:15px;left:50%;right:auto}
.floating-panel>p:last-child{top:214px;font-size:9px;line-height:11px}
.floating-panel>p:last-child::after{content:"◆  ◆  ◆";position:absolute;top:12px;left:0;right:0;color:var(--event-accent,#d9b46e);font-size:5px;letter-spacing:2px}
.floating-panel[data-motif=runic]{background-image:repeating-linear-gradient(135deg,transparent 0 24px,#ffffff08 24px 25px),linear-gradient(180deg,var(--event-top),var(--event-background,#211a15) 45%,var(--event-bottom))}
.floating-panel[data-motif=ember]{background-image:radial-gradient(circle at 20% 25%,#e9722630,transparent 22%),radial-gradient(circle at 83% 74%,#e9722620,transparent 18%),linear-gradient(180deg,var(--event-top),var(--event-background,#211a15) 45%,var(--event-bottom))}
.floating-panel[data-motif=enchanted],.floating-panel[data-motif=cosmic]{background-image:radial-gradient(circle at 50% 35%,#9374cf30,transparent 52%),linear-gradient(180deg,var(--event-top),var(--event-background,#211a15) 45%,var(--event-bottom))}
.floating-panel[data-motif=ice]{background-image:linear-gradient(135deg,#8ed7ff1e,transparent 55%),linear-gradient(180deg,var(--event-top),var(--event-background,#211a15) 45%,var(--event-bottom))}
.floating-panel[data-motif=soul]{background-image:radial-gradient(circle at 50% 80%,#5de4b925,transparent 50%),linear-gradient(180deg,var(--event-top),var(--event-background,#211a15) 45%,var(--event-bottom))}
.floating-panel[data-motif=stone]{background-image:repeating-linear-gradient(0deg,transparent 0 19px,#ffffff08 19px 20px),linear-gradient(180deg,var(--event-top),var(--event-background,#211a15) 45%,var(--event-bottom))}
.floating-panel[data-motif=gold],.floating-panel[data-motif=radiant]{background-image:radial-gradient(circle at 50% 0%,#e9bc5c35,transparent 55%),linear-gradient(180deg,var(--event-top),var(--event-background,#211a15) 45%,var(--event-bottom))}
@media(max-width:520px){.floating-panel{transform:scale(.92)}}

.chat-preview{margin:18px 0 4px;padding:14px 16px;background:linear-gradient(180deg,#19383d,#091216);border:1px solid #274548;border-top-color:#396068;color:#c2cdcd}
.chat-preview__message{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:2px 0 2px 10px;border-left:3px solid #31c9d5;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.chat-preview__badge{margin-bottom:4px;padding:1px 5px;background:linear-gradient(180deg,#91eef1,#43bfcb);box-shadow:inset 0 1px #ceffff;color:#102b32;font-size:10px;line-height:1.25;clip-path:polygon(2px 0,calc(100% - 2px) 0,100% 2px,100% calc(100% - 2px),calc(100% - 2px) 100%,2px 100%,0 calc(100% - 2px),0 2px)}
.chat-preview__message strong{font-weight:400;color:#eee4d1}
.chat-preview__message #preview-xp{color:#a5ebae}
.chat-preview__message #preview-xp[hidden]{display:none}
.chat-previews{margin-top:18px}
.chat-previews>.preview-label{margin:0 0 9px}
.chat-previews .chat-preview{margin:0 0 10px}
.chat-preview__message #preview-start-name{color:#67dce6}
.chat-preview__message #preview-location{color:#bac4c5}
.chat-preview__link{color:#85e6a2;text-decoration:underline;text-underline-offset:2px}
