:root{color-scheme:dark;--bg:#11130f;--panel:#1c211a;--panel-2:#263021;--line:#46523e;--text:#f3f0e8;--muted:#b5b9aa;--accent:#7fc6a4;--accent-2:#d7a85d;--danger:#e46f64}@font-face{font-family:JSL Blackletter;src:url(/fonts/JBLACK.TTF) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-VariableFont_wght.ttf) format("truetype");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Soutane BF;src:url(/fonts/SoutaneBF-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}a{color:inherit}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.page{min-height:100vh;display:flex;flex-direction:column}.home{width:min(1120px,calc(100vw - 32px));padding:48px 0;grid-template-columns:minmax(0,1fr) 420px;grid-gap:32px;gap:32px;align-items:center}.gm-dashboard,.home{margin:0 auto;display:grid}.gm-dashboard{width:min(1180px,calc(100vw - 32px));padding:32px 0 48px;grid-gap:28px;gap:28px}.gm-shell{display:grid;grid-template-columns:220px minmax(0,1fr)}.gm-sidebar{height:100dvh;border-right:1px solid var(--line);background:color-mix(in srgb,var(--panel) 70%,black);display:grid;grid-template-rows:auto 1fr auto;grid-gap:24px;gap:24px;overflow:hidden;padding:20px 16px;position:-webkit-sticky;position:sticky;top:0}.gm-sidebar h1{margin:0;font-size:18px}.gm-sidebar small{color:var(--muted)}.header-title-row{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.environment-badge{border:1px solid color-mix(in srgb,var(--accent) 65%,white);border-radius:999px;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent);font-size:11px;font-weight:800;line-height:1;padding:4px 7px;text-transform:uppercase}.gm-nav{align-content:start;display:grid;grid-gap:8px;gap:8px;min-height:0;overflow-y:auto}.gm-nav a{border:1px solid transparent;border-radius:6px;color:var(--muted);font-weight:700;padding:10px 12px;text-decoration:none}.gm-nav a[aria-current=page]{background:#0f120d;border-color:var(--accent);color:var(--text);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 45%,transparent)}.gm-nav a:hover{border-color:var(--line);color:var(--text)}.gm-signout{width:100%}.gm-main{min-width:0;padding:32px}.dashboard-group{display:grid;grid-gap:14px;gap:14px;border:1px solid color-mix(in srgb,var(--line) 75%,transparent);border-radius:10px;background:color-mix(in srgb,var(--panel) 45%,black);padding:16px}.dashboard-group-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:12px}.dashboard-group-header h2{margin:0}.dashboard-group-header small{color:var(--muted);text-align:right}.dashboard-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.dashboard-wide-panel{min-width:0}.dashboard-two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.docs-page{gap:20px}.docs-article{display:grid;grid-gap:28px;gap:28px}.docs-hero{display:grid;grid-template-columns:minmax(0,1fr) 220px;grid-gap:18px;gap:18px;align-items:start}.docs-kicker{margin:0 0 8px;color:var(--accent-2);font-size:13px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.docs-hero h1{max-width:760px;margin:0;font-size:clamp(30px,4vw,52px);line-height:1.02}.docs-copy li,.docs-copy p,.docs-hero p,.docs-steps li{color:var(--muted);line-height:1.6}.docs-hero p{max-width:780px;margin:14px 0 0;font-size:18px}.docs-toc{display:grid;grid-gap:8px;gap:8px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--panel) 72%,black);padding:12px}.docs-toc a{border-radius:6px;color:var(--muted);font-weight:800;padding:8px 10px;text-decoration:none}.docs-toc a:hover{background:color-mix(in srgb,var(--panel-2) 60%,black);color:var(--text)}.docs-reference,.docs-section{display:grid;grid-gap:16px;gap:16px;border-top:1px solid var(--line);padding-top:24px;scroll-margin-top:20px}.docs-section{grid-template-columns:minmax(0,.95fr) minmax(320px,1.05fr);align-items:start}.docs-section .docs-copy:only-child,.docs-section>.docs-copy:last-child{max-width:760px}.docs-copy{display:grid;grid-gap:10px;gap:10px;min-width:0}.docs-copy-subsections{gap:8px}.docs-copy-subsections h3:not(:first-child){margin-top:10px}.docs-copy h3,.docs-reference h3{margin:0;font-size:24px}.docs-copy ol,.docs-copy p,.docs-steps{margin:0}.docs-copy ol,.docs-steps{padding-left:22px}.docs-figure{min-width:0;margin:0}.docs-figure img{display:block;width:65%;height:auto;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);border-radius:8px;background:#11180f;margin-inline:auto}.docs-steps{align-self:start;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--panel) 65%,black);padding:16px 16px 16px 38px}.docs-table-wrap{overflow-x:auto}.docs-table{width:100%;min-width:680px;border-collapse:collapse}.docs-table td,.docs-table th{border-bottom:1px solid color-mix(in srgb,var(--line) 82%,transparent);padding:12px;text-align:left;vertical-align:top}.docs-table th{color:var(--accent-2);font-size:13px;letter-spacing:.06em;text-transform:uppercase}.docs-table td{color:var(--muted)}.docs-table td:first-child{color:var(--text);font-weight:800}.compact-import-form,.compact-map-form{align-content:start;display:grid;grid-gap:12px;gap:12px;min-width:0}.compact-import-form h3,.compact-map-form h3{grid-column:1/-1}.compact-import-form{align-items:start;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr auto}.create-map-controls{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px 28px;min-width:0}.compact-import-form input,.compact-map-form input{min-width:0}.map-dimensions-field{align-items:end;color:var(--muted);display:grid;grid-gap:0 8px;gap:0 8px;grid-template-columns:58px auto 58px}.map-dimensions-field label{display:grid;grid-gap:6px;gap:6px}.map-dimensions-field label span{font-size:13px}.map-dimensions-field input{border:1px solid var(--line);border-radius:6px;background:#0f120d;color:var(--text);min-height:46px;padding:8px 4px 8px 9px;text-align:center;width:58px}.dimension-separator{color:var(--muted);font-size:16px;line-height:46px}.orientation-toggle{border:0;color:var(--muted);margin:0;padding:0}.orientation-toggle legend{font-size:13px;margin-bottom:6px;padding:0}.orientation-buttons{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(2,46px)}.orientation-toggle label{cursor:pointer;display:grid;place-items:center}.orientation-toggle input{opacity:0;pointer-events:none;position:absolute}.hex-choice{align-items:center;background:#0f120d;border:1px solid var(--line);border-radius:6px;display:flex;height:46px;justify-content:center;width:46px}.hex-choice svg{height:30px;overflow:visible;width:30px}.hex-choice polygon{fill:none;stroke:var(--accent);stroke-linejoin:round;stroke-width:3}.orientation-toggle input:checked+.hex-choice{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.orientation-toggle input:focus-visible+.hex-choice{outline:2px solid var(--accent);outline-offset:2px}.compact-submit{min-height:46px;padding-inline:18px;white-space:nowrap}.create-submit{align-self:flex-end;flex:0 0 auto;margin-left:auto}.create-submit,.import-submit{justify-self:end;min-width:136px}.import-submit{align-self:end}.map-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.brand h1{margin:0;font-size:clamp(44px,8vw,92px);line-height:.95;letter-spacing:0}.brand p{max-width:680px;margin:24px 0 0;color:var(--muted);font-size:18px;line-height:1.65}.panel{border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--panel) 92%,black);padding:20px}.stack{display:grid;grid-gap:14px;gap:14px}.field{display:grid;grid-gap:6px;gap:6px;color:var(--muted);font-size:13px}.field input,.field select{width:100%;border:1px solid var(--line);border-radius:6px;background:#0f120d;color:var(--text);padding:12px}.field input[type=range]{padding:0;accent-color:var(--accent)}.field input[type=color]{width:44px;height:36px;padding:4px}.color-row,.value-row{display:flex;align-items:center;gap:10px}.swatch-row{display:flex;flex-wrap:wrap;gap:6px}.color-swatch{width:24px;height:24px;border:1px solid var(--line);border-radius:999px;cursor:pointer}.color-swatch.active{outline:2px solid var(--accent);outline-offset:2px}.color-swatch.transparent{background:linear-gradient(45deg,transparent 44%,var(--danger) 45% 55%,transparent 56%),linear-gradient(45deg,rgba(255,255,255,.65) 25%,transparent 25% 75%,rgba(255,255,255,.65) 75%),linear-gradient(45deg,rgba(255,255,255,.65) 25%,transparent 25% 75%,rgba(255,255,255,.65) 75%),#8d9488;background-position:0 0,0 0,4px 4px,0 0;background-size:auto,8px 8px,8px 8px,auto}.color-swatch:disabled{cursor:not-allowed;opacity:.45}.value-row input[type=range]{min-width:0;flex:1 1}.value-row input[type=number]{width:70px}.checkbox-row,.value-row span{color:var(--muted)}.checkbox-row{display:flex;align-items:center;gap:8px;font-size:13px}.checkbox-row input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:0 0 auto;width:34px;height:20px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--panel) 80%,black);cursor:pointer;position:relative;transition:background-color .12s ease,border-color .12s ease}.checkbox-row input[type=checkbox]:after{content:"";position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:var(--muted);transition:background-color .12s ease,transform .12s ease}.checkbox-row input[type=checkbox]:checked{border-color:color-mix(in srgb,var(--accent) 76%,white);background:color-mix(in srgb,var(--accent) 34%,#142014)}.checkbox-row input[type=checkbox]:checked:after{background:var(--accent);transform:translateX(14px)}.checkbox-row input[type=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.checkbox-row input[type=checkbox]:disabled{cursor:not-allowed;opacity:.55}.pill-switch{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;min-height:32px;background:color-mix(in srgb,var(--panel) 82%,black);color:var(--text);cursor:pointer;font:inherit;font-size:13px;font-weight:700;padding:5px 8px 5px 12px;transition:background-color .12s ease,border-color .12s ease}.pill-switch,.pill-switch:after{border:1px solid var(--line);border-radius:999px}.pill-switch:after{content:"";width:26px;height:16px;background:radial-gradient(circle at 7px 50%,var(--muted) 0 5px,transparent 5.5px),color-mix(in srgb,var(--panel) 80%,black);transition:background-position .12s ease,background-color .12s ease,border-color .12s ease}.pill-switch[aria-pressed=true]{border-color:color-mix(in srgb,var(--accent) 76%,white);background:color-mix(in srgb,var(--accent) 28%,#142014)}.pill-switch[aria-pressed=true]:after{border-color:color-mix(in srgb,var(--accent) 76%,white);background:radial-gradient(circle at 17px 50%,var(--accent) 0 5px,transparent 5.5px),color-mix(in srgb,var(--accent) 34%,#142014)}.pill-switch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tile-calibration-preview{width:100%;max-width:320px;justify-self:center;aspect-ratio:14/15;border:1px solid var(--line);border-radius:6px;background:linear-gradient(45deg,#a7aba2 25%,transparent 25% 75%,#a7aba2 75%),linear-gradient(45deg,#a7aba2 25%,#d9d9d2 25% 75%,#a7aba2 75%);background-position:0 0,10px 10px;background-size:20px 20px}.tile-preview-carousel{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;grid-gap:8px;gap:8px}.button-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.carousel-button{min-width:0;height:40px;padding:0;font-size:24px;line-height:1}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:6px;background:var(--accent);color:#07100c;padding:11px 14px;font-weight:700;cursor:pointer}.button.secondary{border-color:var(--line);background:var(--panel-2);color:var(--text)}.button.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.button.danger{background:var(--danger);color:#160504}.compact-button{padding:6px 10px;font-size:12px}.asset-tabs{display:flex;flex-wrap:wrap;gap:8px}.asset-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:12px;gap:12px}.asset-card{min-width:0;display:grid;grid-gap:10px;gap:10px;align-content:start;padding:10px;background:#141810}.asset-card,.asset-thumbnail{border:1px solid var(--line);border-radius:6px}.asset-thumbnail{width:100%;aspect-ratio:4/3;background:linear-gradient(45deg,rgba(255,255,255,.22) 25%,transparent 25% 75%,rgba(255,255,255,.22) 75%),linear-gradient(45deg,rgba(255,255,255,.22) 25%,transparent 25% 75%,rgba(255,255,255,.22) 75%),#0b100c;background-position:0 0,8px 8px,0 0;background-repeat:repeat,repeat,no-repeat;background-size:16px 16px,16px 16px,cover}.asset-card-main{display:grid;grid-gap:3px;gap:3px}.discord-profile-list{display:grid;grid-gap:10px;gap:10px}.discord-guild-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto auto;grid-gap:10px;gap:10px;align-items:end}.discord-enabled-field{min-height:46px;align-self:end}.discord-add-server-button{justify-self:start}.discord-guild-card,.discord-guild-list{display:grid;grid-gap:10px;gap:10px}.discord-guild-card{border:1px solid var(--line);border-radius:6px;background:#141810;padding:12px}.discord-guild-row{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;grid-gap:10px;gap:10px;align-items:center}.discord-role-panel{border-top:1px solid var(--line);padding-top:10px}.discord-role-panel summary{cursor:pointer;color:var(--accent-2);font-weight:700}.discord-role-filter,.discord-role-panel[open] summary{margin-bottom:10px}.discord-guild-inline-form{display:contents}.discord-role-list{display:grid}.discord-role-row{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-gap:10px;gap:10px;align-items:center;border-top:1px solid var(--line);padding:10px 0}.discord-role-row:last-child{border-bottom:1px solid var(--line)}.role-mapping-form{display:flex;align-items:center;gap:8px}.discord-profile-row{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 140px 120px auto;grid-gap:10px;gap:10px;align-items:end;border:1px solid var(--line);border-radius:6px;background:#141810;padding:12px}.discord-profile-main{min-width:0;display:grid;grid-gap:4px;gap:4px;align-self:center}.discord-profile-main small{color:var(--muted);overflow-wrap:anywhere}.compact-profile-field{min-width:0}.tileset-list-row{border:1px solid var(--line);border-radius:6px;padding:8px;background:#141810}.tileset-list-main{display:grid;grid-gap:8px;gap:8px}.tileset-delete-panel{border-top:1px solid var(--line);padding-top:8px}.tileset-delete-panel summary{color:var(--danger);cursor:pointer;font-size:12px;font-weight:700}.tileset-delete-panel form{margin-top:8px}.map-shell{height:100vh;min-height:0;overflow:hidden;display:grid;grid-template-rows:auto 1fr}.topbar{min-height:64px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--panel) 92%,black);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px}.topbar h1{margin:0;font-size:18px}.topbar small{color:var(--muted)}.topbar-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;justify-content:flex-end}.workspace{min-height:0;overflow:hidden;display:grid;grid-template-columns:1fr}.workspace.editor{grid-template-columns:minmax(0,1fr) 10px auto}.canvas-wrap{position:relative;height:100%;min-height:0;overflow:hidden;background:linear-gradient(0deg,rgba(17,19,15,.84),rgba(17,19,15,.84)),radial-gradient(circle at top left,#39564a,transparent 42%),#171a14}.map-error{position:absolute;z-index:4;left:12px;top:12px;max-width:min(520px,calc(100% - 24px));border:1px solid color-mix(in srgb,var(--danger) 70%,white);border-radius:6px;background:color-mix(in srgb,var(--danger) 24%,#120f0d);color:var(--text);padding:10px 12px;font-size:13px}.map-discord-publish{position:absolute;z-index:5;right:12px;top:12px;display:flex;align-items:center;gap:10px;max-width:min(440px,calc(100% - 24px));border:1px solid var(--line);border-radius:6px;background:color-mix(in srgb,var(--panel) 88%,black);padding:8px;box-shadow:0 10px 32px rgba(0,0,0,.28)}.map-discord-publish small{color:var(--muted);font-size:12px}.gm-play-mode-control{position:absolute;z-index:5;left:0;top:12px;display:flex;align-items:stretch;max-width:min(356px,calc(100% - 24px))}.gm-play-mode-panel{width:min(300px,calc(100vw - 72px));height:540px;max-height:calc(100vh - 24px);border:1px solid var(--line);border-left:0;border-radius:0 6px 6px 0;background:color-mix(in srgb,var(--panel) 90%,black);padding:10px;display:grid;grid-template-rows:auto minmax(0,1fr);grid-gap:14px;gap:14px;overflow:auto;box-shadow:0 10px 32px rgba(0,0,0,.28)}.gm-play-mode-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:nowrap}.gm-play-mode-panel small{color:var(--muted);font-size:12px;min-width:0}.gm-play-radius-control{display:grid;grid-gap:6px;gap:6px;color:var(--muted);font-size:12px}.gm-play-section{display:grid;grid-gap:8px;gap:8px}.gm-play-section+.gm-play-section{border-top:1px solid var(--line);padding-top:14px}.gm-play-mode-tab{align-items:center;align-self:stretch;display:flex;flex:0 0 34px;justify-content:center;width:34px;height:min(540px,calc(100vh - 24px));border:1px solid var(--line);border-left:0;border-radius:0 6px 6px 0;background:var(--panel);color:var(--text);cursor:pointer;font:inherit;font-size:12px;font-weight:700;writing-mode:vertical-rl;transform:rotate(180deg)}.gm-play-mode-tab:focus-visible,.gm-play-mode-tab:hover{border-color:var(--accent);outline:none}.gm-play-mode-control.collapsed .gm-play-mode-tab{box-shadow:0 10px 32px rgba(0,0,0,.28)}.day-tracker-section small{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.02em}.day-tracker-section strong{font-size:24px;line-height:1}.day-tracker-section span{color:var(--muted);font-size:13px}.day-tracker-section .day-tracker-hint{font-size:11px;line-height:1.35}.day-tracker-section{align-content:space-between;min-height:0}.day-tracker-calendar{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px 0}.day-tracker-day{min-width:0;aspect-ratio:1;border:1px solid var(--line);border-radius:4px;background:color-mix(in srgb,var(--panel) 82%,black);color:var(--muted);cursor:pointer;font:inherit;font-size:11px;line-height:1;padding:0;position:relative}.day-tracker-day.elapsed{background:linear-gradient(135deg,transparent 46%,color-mix(in srgb,var(--muted) 55%,transparent) 47% 53%,transparent 54%),color-mix(in srgb,var(--panel-2) 72%,black);color:color-mix(in srgb,var(--muted) 72%,black)}.day-tracker-day.current{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);color:var(--text);font-weight:700}.day-tracker-day.noted:after{content:"";position:absolute;right:3px;bottom:3px;width:4px;height:4px;border-radius:50%;background:var(--accent-2)}.day-tracker-note-popover{position:absolute;z-index:10;left:50%;bottom:calc(100% + 8px);width:min(220px,72vw);transform:translateX(-50%);display:grid;grid-gap:8px;gap:8px;border:1px solid var(--line);border-radius:6px;background:color-mix(in srgb,var(--panel) 94%,black);color:var(--text);padding:8px;box-shadow:0 10px 32px rgba(0,0,0,.32);opacity:0;pointer-events:none;text-align:left;visibility:hidden;white-space:normal}.day-tracker-day-column-0 .day-tracker-note-popover,.day-tracker-day-column-1 .day-tracker-note-popover{left:0;transform:none}.day-tracker-day-column-5 .day-tracker-note-popover,.day-tracker-day-column-6 .day-tracker-note-popover{right:0;left:auto;transform:none}.day-tracker-note-popover strong{font-size:11px;line-height:1.2}.day-tracker-note-popover div{color:var(--text);font-size:12px;line-height:1.35}.day-tracker-day:focus-visible .day-tracker-note-popover,.day-tracker-day:hover .day-tracker-note-popover{opacity:1;visibility:visible}.day-tracker-day:focus-visible,.day-tracker-day:hover{border-color:var(--accent);outline:none}.day-tracker-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:8px;gap:8px}.calendar-note-modal-backdrop{position:absolute;z-index:8;inset:0;display:grid;place-items:center;background:rgba(5,8,6,.42);padding:16px}.calendar-note-modal{width:min(520px,100%);max-height:min(720px,calc(100vh - 32px));overflow:auto;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--panel) 94%,black);box-shadow:0 20px 60px rgba(0,0,0,.42);color:var(--text);padding:14px;display:grid;grid-gap:12px;gap:12px}.calendar-note-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.calendar-note-field,.calendar-note-header div{display:grid;grid-gap:4px;gap:4px}.calendar-note-field span,.calendar-note-header small,.calendar-note-meta{color:var(--muted);font-size:12px}.calendar-note-header small{text-transform:uppercase;letter-spacing:.02em}.calendar-note-header strong{font-size:22px;line-height:1.15}.calendar-note-field textarea{width:100%;min-height:170px;resize:vertical;border:1px solid var(--line);border-radius:6px;background:color-mix(in srgb,var(--panel) 82%,black);color:var(--text);font:inherit;line-height:1.45;padding:10px}.calendar-note-field textarea:focus{border-color:var(--accent);outline:none}.calendar-note-meta{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px}.calendar-note-preview{border:1px solid var(--line);border-radius:6px;background:color-mix(in srgb,var(--panel) 86%,black);padding:10px}.calendar-note-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px}.poi-note-popover{position:absolute;z-index:7;width:min(260px,72vw);max-height:min(320px,70vh);overflow:auto;transform:translate(12px,12px);border:1px solid var(--line);border-radius:6px;background:color-mix(in srgb,var(--panel) 94%,black);color:var(--text);padding:9px;box-shadow:0 10px 32px rgba(0,0,0,.32);pointer-events:none;display:grid;grid-gap:8px;gap:8px}.poi-note-popover strong{font-size:12px;line-height:1.2}.calendar-note-markdown{display:grid;grid-gap:6px;gap:6px}.calendar-note-markdown blockquote,.calendar-note-markdown h1,.calendar-note-markdown h2,.calendar-note-markdown h3,.calendar-note-markdown h4,.calendar-note-markdown h5,.calendar-note-markdown h6,.calendar-note-markdown p,.calendar-note-markdown ul{margin:0}.calendar-note-markdown ul{padding-left:18px}.calendar-note-markdown blockquote{border-left:3px solid var(--accent-2);color:var(--muted);padding-left:8px}.calendar-note-markdown h1,.calendar-note-markdown h2,.calendar-note-markdown h3,.calendar-note-markdown h4,.calendar-note-markdown h5,.calendar-note-markdown h6{color:var(--text);line-height:1.15}.calendar-note-markdown h1{font-size:18px}.calendar-note-markdown h2{font-size:16px}.calendar-note-markdown h3,.calendar-note-markdown h4,.calendar-note-markdown h5,.calendar-note-markdown h6{font-size:14px}.calendar-note-markdown code{border:1px solid var(--line);border-radius:4px;background:color-mix(in srgb,var(--panel-2) 82%,black);padding:0 4px}.toolbar{height:100%;min-height:0;max-height:100%;overflow:auto;overflow-x:hidden;overscroll-behavior:contain;border-left:1px solid var(--line);background:var(--panel);padding:14px;display:flex;flex-direction:column;gap:12px}.toolbar .reset-fog-button{align-self:flex-start;display:inline-flex;width:auto;max-width:max-content}.editor-toolbar-shell{min-width:300px;max-width:min(820px,75vw);min-height:0}.editor-toolbar-resize-handle{align-self:stretch;background:transparent;border-left:1px solid var(--line);border-right:1px solid transparent;cursor:col-resize;position:relative}.editor-toolbar-resize-handle.collapsed{cursor:default}.toolbar-collapse-icon{line-height:1}.toolbar-collapse-icon-mobile{display:none}.editor-toolbar-resize-handle:after{content:"";position:absolute;inset:0 2px;background:linear-gradient(180deg,transparent 35%,color-mix(in srgb,var(--line) 70%,transparent) 35% 65%,transparent 65%);opacity:.45}.editor-toolbar-resize-handle.active:after,.editor-toolbar-resize-handle:hover:after{opacity:.9}.toolbar-collapse-button{position:absolute;top:12px;right:-1px;width:26px;height:42px;border:1px solid var(--line);border-right:0;border-radius:6px 0 0 6px;background:var(--panel);color:var(--text);cursor:pointer;font-size:22px;line-height:1;z-index:6}.toolbar-collapse-button:focus-visible,.toolbar-collapse-button:hover{border-color:var(--accent);outline:none}.tool-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:6px;gap:6px}.tool-grid .icon-button{min-height:34px}.icon-button{aspect-ratio:1;border:1px solid var(--line);border-radius:6px;background:var(--panel-2);color:var(--text);display:grid;place-items:center;cursor:pointer}.icon-button.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.icon-button.compact{width:34px;height:34px;aspect-ratio:auto}.icon-button.compact.mini{width:18px;height:18px;padding:0;display:flex;align-items:center;justify-content:center}.compact-stepper{display:grid;grid-template-rows:repeat(2,18px);grid-gap:2px;gap:2px}.icon-button.compact.mini svg{display:block;margin:0}.color-sample-button{flex:0 0 auto}.icon-button:disabled{cursor:not-allowed;opacity:.42}.segmented{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#11150e}.segmented button{min-width:0;border:0;border-right:1px solid var(--line);background:transparent;color:var(--muted);padding:10px 8px;cursor:pointer}.segmented button:last-child{border-right:0}.segmented button.active{background:var(--accent);color:#07100c;font-weight:700}.tile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(84px,1fr));grid-gap:8px;gap:8px}.collapsible-section.collapsed{gap:6px}.collapsible-subsection{border-left:1px solid var(--line);padding-left:10px}.indented-field{margin-left:14px}.folder-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.folder-header strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.collapse-button{min-width:0;border:0;background:transparent;color:var(--text);padding:0;display:flex;align-items:center;gap:5px;cursor:pointer}.collapse-button strong{min-width:0}.single-line{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-controls{display:grid;grid-gap:10px;gap:10px}.muted{color:var(--muted)}.tileset-attribution{display:grid;grid-gap:2px;gap:2px;overflow-wrap:anywhere;line-height:1.35}.tileset-attribution a{color:inherit}.folder-path-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.folder-path-row .single-line{min-width:0}.inline-actions{display:flex;align-items:center;gap:6px}.layer-list{display:grid;grid-gap:7px;gap:7px}.layer-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;grid-gap:6px;gap:6px;border:1px solid var(--line);border-radius:6px;background:#141810;padding:6px}.layer-row.active{border-color:var(--accent-2);box-shadow:inset 0 0 0 1px var(--accent-2)}.layer-row.locked input{color:var(--muted)}.layer-selector{width:28px;height:28px;display:grid;place-items:center;cursor:pointer}.layer-selector input{width:16px;height:16px;margin:0;accent-color:var(--accent-2);cursor:pointer}.layer-row>input{min-width:0;border:0;border-radius:4px;background:transparent;color:var(--text);padding:6px}.layer-row>input:focus{outline:1px solid var(--accent);background:#0f120d}.layer-order-actions{display:flex;gap:4px}.tile-swatch{position:relative;min-height:76px;border:2px solid color-mix(in srgb,var(--line) 80%,transparent);border-radius:6px;background:linear-gradient(45deg,rgba(255,255,255,.36) 25%,transparent 25% 75%,rgba(255,255,255,.36) 75%),linear-gradient(45deg,rgba(255,255,255,.36) 25%,transparent 25% 75%,rgba(255,255,255,.36) 75%),#cfc8b6;background-position:0 0,6px 6px;background-size:12px 12px;color:#10140f;display:grid;grid-template-rows:1fr auto;align-items:center;justify-items:center;grid-gap:4px;gap:4px;padding:6px;cursor:pointer;overflow:visible}.tile-swatch.active{border-color:var(--accent);box-shadow:0 0 0 2px #10140f,0 0 0 5px var(--accent),0 10px 18px rgba(0,0,0,.28)}.tile-swatch.active:after{content:"Selected";position:absolute;top:5px;right:5px;border-radius:999px;background:var(--accent);color:#07100c;font-size:9px;font-weight:800;line-height:1;padding:4px 6px;text-transform:uppercase}.tile-swatch:focus-visible,.tile-swatch:hover{border-color:var(--accent);z-index:5}.tile-swatch>:not(.tile-preview)>img,.tile-swatch>img{max-width:44px;max-height:44px;object-fit:contain}.tile-swatch>span:not(.tile-preview){width:100%;overflow:hidden;border-radius:4px;background:rgba(250,247,236,.82);color:#10140f;display:flex;align-items:center;justify-content:center;gap:3px;font-size:10px;line-height:1.1;text-align:center;text-overflow:ellipsis;white-space:nowrap}.tile-preview{position:absolute;left:50%;bottom:calc(100% + 10px);z-index:30;visibility:hidden;opacity:0;width:150px;height:150px;transform:translateX(-50%);border:2px solid var(--accent);border-radius:8px;background:linear-gradient(45deg,rgba(255,255,255,.36) 25%,transparent 25% 75%,rgba(255,255,255,.36) 75%),linear-gradient(45deg,rgba(255,255,255,.36) 25%,transparent 25% 75%,rgba(255,255,255,.36) 75%),#cfc8b6;background-position:0 0,8px 8px;background-size:16px 16px;box-shadow:0 18px 35px rgba(0,0,0,.45);padding:12px;pointer-events:none;transition:opacity .12s ease,visibility 0s linear .12s}.tile-preview img{width:100%;height:100%;object-fit:contain}.tile-swatch:focus-visible .tile-preview,.tile-swatch:hover .tile-preview{visibility:visible;opacity:1;transition-delay:.4s,.4s}.map-list-item{min-width:0;display:grid;grid-gap:12px;gap:12px;align-content:start;border:1px solid var(--line);border-radius:6px;padding:12px;background:#141810}.map-list-summary{min-width:0;display:grid;grid-gap:10px;gap:10px;text-decoration:none}.map-list-summary:hover .map-thumbnail{border-color:var(--accent)}.map-list-summary:focus-visible{border-radius:6px;outline:2px solid var(--accent);outline-offset:3px}.map-thumbnail{width:100%;height:auto;aspect-ratio:4/3;overflow:hidden;border:1px solid var(--line);border-radius:6px;background:#0b100c}img.map-thumbnail{display:block;object-fit:cover}.map-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));grid-gap:6px;gap:6px}.collaborator-row,.map-title-row{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.map-access-badge{flex:0 0 auto;border:1px solid var(--line);border-radius:999px;padding:2px 8px;color:var(--accent-2);font-size:.72rem;font-weight:700}.collaborator-list{grid-gap:8px}.collaborator-list,.share-role-form{display:grid;gap:8px;margin-top:10px}.share-role-form{grid-template-columns:minmax(0,2fr) minmax(120px,1fr);align-items:end;grid-gap:8px}.collaborator-row,.manual-share-panel{border-top:1px solid rgba(255,255,255,.08);padding-top:8px}.manual-share-panel{margin-top:10px}.manual-share-panel summary{color:var(--muted);cursor:pointer;font-size:.82rem;font-weight:700}.delete-map-panel,.map-details-panel{flex-basis:100%;border-top:1px solid var(--line);padding-top:10px}.delete-map-panel summary,.map-details-panel summary{cursor:pointer;font-weight:700}.map-details-panel summary{color:var(--accent-2)}.delete-map-panel summary{color:var(--danger)}.delete-map-panel form,.map-details-panel form{margin-top:10px}.map-list-item small{display:block;color:var(--muted);margin-top:3px}.calibration-panel summary{cursor:pointer;font-weight:700}.calibration-panel[open] summary{margin-bottom:8px}.error{color:var(--danger)}.success{color:var(--accent)}@media (max-width:860px){.home{grid-template-columns:1fr;padding:28px 0}.gm-dashboard{padding:20px 0 32px}.gm-shell{grid-template-columns:1fr}.gm-sidebar{height:auto;overflow:visible;position:static;border-right:0;border-bottom:1px solid var(--line);grid-template-columns:1fr auto;grid-template-rows:auto auto}.gm-nav{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}.gm-signout{width:auto}.gm-main{padding:20px 16px 32px}.dashboard-group-header{align-items:flex-start;flex-direction:column}.dashboard-group-header small{text-align:left}.compact-import-form,.dashboard-tools,.dashboard-two-column,.docs-hero,.docs-section{grid-template-columns:1fr}.docs-hero h1{font-size:34px}.docs-hero p{font-size:16px}.docs-toc{grid-template-columns:repeat(2,minmax(0,1fr))}.share-role-form{grid-template-columns:1fr}.create-map-controls{align-items:flex-start}.discord-guild-form,.discord-guild-row,.discord-profile-row,.discord-role-row,.map-card-grid,.workspace.editor{grid-template-columns:1fr}.workspace.editor{grid-template-rows:minmax(0,1fr) 10px auto}.workspace.editor:has(.editor-toolbar-shell[hidden]){grid-template-rows:minmax(0,1fr) 10px 0}.editor-toolbar-resize-handle{align-self:stretch;border-left:0;border-right:0;border-top:1px solid var(--line);cursor:row-resize;touch-action:none}.editor-toolbar-resize-handle.collapsed{border-bottom:1px solid var(--line)}.editor-toolbar-shell{width:100%!important;height:var(--toolbar-height,24vh);max-width:100%;min-width:0;min-height:0}.toolbar{border-left:0;border-top:1px solid var(--line);max-height:none;padding:10px}.toolbar .tool-grid{grid-template-columns:repeat(auto-fill,36px);gap:5px;justify-content:start}.toolbar .tool-grid .icon-button{width:36px;height:36px;min-height:0}.toolbar .icon-button.compact{width:34px;height:34px}.toolbar .icon-button svg{width:15px;height:15px}.toolbar .reset-fog-button{width:auto}.gm-play-mode-control{max-width:calc(100% - 16px)}.gm-play-mode-panel{width:min(250px,calc(100vw - 58px))}.gm-play-mode-panel,.gm-play-mode-tab{height:min(520px,calc(100vh - 24px))}.calendar-note-meta{grid-template-columns:1fr}.toolbar-collapse-button{top:-1px;right:12px;width:44px;height:26px;border-right:1px solid var(--line);border-radius:0 0 6px 6px;font-size:20px}.editor-toolbar-resize-handle.collapsed .toolbar-collapse-button{top:auto;bottom:-1px;border-radius:6px 6px 0 0}.toolbar-collapse-icon-desktop{display:none}.toolbar-collapse-icon-mobile{display:inline}.topbar{align-items:flex-start;flex-direction:column}.topbar-actions{justify-content:flex-start}}