:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172033;background:#f4f6f8}*{box-sizing:border-box}body{margin:0;overflow:auto}html,body,#root{height:100%}button,input,select{font:inherit}button{border:1px solid #cbd5e1;background:#fff;color:#172033;border-radius:6px;cursor:pointer;padding:8px 10px;transition:transform .12s ease,filter .12s ease,box-shadow .12s ease,border-color .12s ease}button:hover{border-color:#64748b}button:disabled{cursor:not-allowed;opacity:.5}button:active:not(:disabled){transform:translateY(1px) scale(.98);filter:brightness(.96);box-shadow:0 0 0 3px #2563eb2e}.no-underline{text-decoration:none!important}.smaller-button-text{font-size:smaller!important}.text-button{border-color:transparent;background:transparent;color:#2563eb;padding-inline:4px}.text-button:hover{border-color:transparent;color:#1d4ed8}input{border:1px solid #cbd5e1;border-radius:6px;padding:8px 10px;width:100%}select{border:1px solid #cbd5e1;border-radius:6px;padding:8px 10px;width:100%;background:#fff}.app{height:100vh;display:flex;flex-direction:column;overflow:hidden}.auth-page,.dashboard-page{min-height:100vh;background:#f4f6f8;color:#172033}.auth-page{display:grid;grid-template-rows:minmax(0,1fr) auto;place-items:center;padding:24px}.auth-card{width:min(420px,100%);display:grid;gap:14px;padding:24px;background:#fff;border:1px solid #d8dee7;border-radius:8px}.auth-card h1,.dashboard-header h1,.campaign-card h3{margin:0}.auth-card p,.dashboard-header p,.campaign-card p{margin:0;color:#64748b}.auth-page-form,.dashboard-create,.campaign-tools{display:grid;gap:8px}.auth-message.error{color:#b91c1c}.dashboard-page{display:flex;flex-direction:column}.dashboard-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;background:#fff;border-bottom:1px solid #d8dee7}.dashboard-layout{width:min(1160px,100%);margin:0 auto;padding:18px;display:grid;gap:18px}.dashboard-create,.campaign-card{background:#fff;border:1px solid #d8dee7;border-radius:8px;padding:14px}.campaign-list{display:grid;gap:12px}.campaign-list h2{margin:0;font-size:18px}.campaign-card{display:grid;gap:12px}.campaign-card-header{display:flex;align-items:start;justify-content:space-between;gap:12px}.campaign-action-buttons{flex-wrap:wrap;justify-content:flex-end}.inline-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.inline-form:has(input:nth-of-type(3)),.campaign-map-form{grid-template-columns:minmax(0,1fr) 72px 72px auto}.dashboard-maps-body,.dashboard-map-create,.recruitment-modal-body,.games-list{display:grid;gap:12px}.games-list{width:min(1160px,100%);margin:0 auto;padding:18px}.dashboard-map-create h4,.game-list-recruitment strong{margin:0}.recruitment-modal-body label:not(.check-control){display:grid;gap:6px}.recruitment-modal-body textarea{resize:vertical}.recruitment-modal-body input{width:min(220px,100%)}.recruitment-options{display:flex;flex-wrap:wrap;gap:10px}.game-list-card{align-content:start}.game-list-text,.game-list-recruitment p{white-space:pre-wrap}.game-list-recruitment{display:grid;gap:6px;padding-top:10px;border-top:1px solid #e2e8f0}.game-list-flags{display:flex;flex-wrap:wrap;gap:6px}.game-list-flags span{padding:4px 8px;border:1px solid #d8dee7;border-radius:999px;background:#f8fafc;color:#475569;font-size:12px}.stacked-field,.compact-field{display:grid;gap:4px;min-width:0;color:#475569;font-size:12px}.stacked-field input,.compact-field input{min-width:0}.compact-field span{overflow:hidden;text-overflow:ellipsis}.dashboard-map-list{display:grid;gap:6px}.dashboard-map-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,320px);gap:8px;align-items:center}.dashboard-map-list a{display:flex;justify-content:space-between;gap:12px;padding:9px 10px;border:1px solid #e2e8f0;border-radius:6px;color:inherit;text-decoration:none}.dashboard-map-list a:hover{border-color:#64748b}.dashboard-map-list small{color:#64748b}.map-thread-linker{display:grid;gap:4px;color:#64748b;font-size:12px}.map-thread-linker select{min-width:0;padding:7px 8px}.permission-map-list .dashboard-map-row{grid-template-columns:minmax(180px,1fr) minmax(160px,220px) minmax(220px,320px);align-items:end}.permission-map-list .permission-map-name a{min-height:36px;align-items:center;padding-block:7px}.permission-thread-list .forum-thread-row{grid-template-columns:minmax(0,1fr) minmax(160px,220px);align-items:center}.permission-thread-list .forum-thread-row>div:first-child{padding-right:10px}.permission-thread-list .forum-thread-row select{width:100%}.campaign-forum-panel{display:grid;gap:10px;padding:10px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.campaign-cast-panel{display:grid;gap:10px;padding:10px;border:1px solid #d6e0cf;border-radius:8px;background:#f4f9ef}.cast-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.cast-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.cast-tabs button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:30px;padding:5px 8px;border:1px solid #d8dee7;border-radius:6px;background:#fff;color:var(--forest);font:inherit;font-size:12px;font-weight:800;cursor:pointer}.cast-tabs button.selected{border-color:var(--forest);background:#e9f2e4;box-shadow:0 0 0 2px #2f5d501f}.cast-tabs small{min-width:18px;padding:1px 5px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:10px;line-height:1.4;text-align:center}.cast-group,.cast-list,.cast-edit-form,.cast-create-card,.cast-editor-card,.cast-readonly{display:grid;gap:8px}.compact-cast-list{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:4px}.compact-cast-list p{grid-column:1 / -1;margin:0;color:#64748b;font-size:12px}.cast-group h4{margin:0;color:var(--forest);font-size:13px;line-height:1.2}.cast-card{padding:3px 5px;border:1px solid #d8dee7;border-radius:6px;background:#fff}.cast-create-card,.cast-editor-card{padding:10px;border:1px solid #d8dee7;border-radius:8px;background:#fff}.cast-card{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer}.cast-card.hidden-cast{opacity:.78;background:#f4ead4}.cast-card.selected-cast{border-color:var(--forest);box-shadow:0 0 0 2px #2f5d5029}.cast-card-header{display:grid;grid-template-columns:28px minmax(0,1fr);gap:6px;align-items:center;min-height:28px}.cast-card-header>:last-child,.cast-editor-title{display:grid;gap:2px;min-width:0}.cast-card-header strong,.cast-card-header small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.15}.cast-card-header strong{font-size:12px}.cast-card-header small{font-size:10px}.cast-card-header small,.cast-editor-title small,.cast-portrait-controls small,.cast-readonly small,.cast-readonly p{color:#64748b}.cast-readonly p{margin:0}.cast-portrait{display:grid;place-items:center;width:26px;height:26px;overflow:hidden;border:2px solid rgb(169 134 69 / 55%);border-radius:50%;background:linear-gradient(145deg,var(--forest-2),var(--forest));color:var(--brass);font-size:10px;font-weight:900}.cast-portrait img{width:100%;height:100%;object-fit:cover}.cast-portrait-controls,.cast-combat-fields{display:grid;gap:6px}.cast-panel-actions{display:flex;justify-content:flex-end}.cast-minimized-create{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 8px;border:1px solid #d8dee7;border-radius:6px;background:#fff}.cast-minimized-create span{min-width:0;overflow:hidden;color:var(--forest);font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.cast-create-modal,.cast-entry-modal{width:min(720px,92vw);max-height:min(82vh,760px);overflow:auto;background:linear-gradient(180deg,#fffaf0fa,#f6e9cafa)}.cast-create-modal header,.cast-entry-modal header{display:flex;align-items:start;justify-content:space-between;gap:12px}.nested-modal-backdrop{z-index:30}.compact-file{min-height:34px}.check-control{display:flex;align-items:center;gap:8px;color:#64748b;font-size:13px}.check-control input{width:auto}.campaign-forum-header,.forum-panel-header,.forum-thread-header{display:flex;align-items:start;justify-content:space-between;gap:10px}.campaign-forum-header small,.forum-panel-header small,.forum-thread-header p,.forum-thread-row small,.forum-thread-list small{color:#64748b}.forum-thread-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,auto);align-items:center;gap:10px;padding:9px 10px;border:1px solid #e2e8f0;border-radius:6px;background:#fff}.forum-thread-row-title{padding-right:10px}.forum-thread-row div,.forum-thread-list button{min-width:0}.forum-thread-row strong,.forum-thread-list span{color:var(--ink);overflow-wrap:anywhere}.forum-compose{display:grid;gap:8px}.forum-compose textarea,.forum-reply-form textarea,.bbcode-editor textarea{resize:vertical;min-height:110px}.topbar{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;border-bottom:1px solid #d8dee7;background:#fff}.topbar h1{margin:0;font-size:20px}.topbar p{margin:3px 0 0;color:#64748b;font-size:13px}.topbar-actions,.panel-switches{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.panel-switches button{min-width:64px}.viewer-control{display:grid;gap:4px;min-width:220px;color:#64748b;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.viewer-control input{min-width:0;text-transform:none;letter-spacing:0}.auth-form{display:grid;grid-template-columns:auto 180px 150px auto;align-items:center;gap:6px}.auth-form input{min-width:0;padding:7px 8px}.auth-mode{display:inline-flex;gap:4px}.auth-mode button{padding:7px 8px}.recaptcha-control{grid-column:1 / -1;min-height:78px}.account-panel{display:grid;grid-template-columns:auto auto auto auto auto;align-items:center;gap:6px;font-size:12px}.account-panel span,.account-panel small{color:#64748b}.viewer-confirm-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.workspace{--right-panel-width: 320px;flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) var(--right-panel-width);gap:14px;padding:14px;overflow:hidden;transition:grid-template-columns .18s ease}.workspace.right-panel-collapsed{--right-panel-width: 0px}.sidebar,.palette,.entity-panel{background:#fff;border:1px solid #d8dee7;border-radius:8px;overflow:hidden;min-height:0}.sidebar{display:flex;flex-direction:column;transition:transform .18s ease,opacity .18s ease,border-color .18s ease}.right-panel{transition:transform .18s ease,opacity .18s ease,border-color .18s ease;display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;overflow:hidden;background:#fff;border:1px solid #d8dee7;border-radius:8px}.workspace.right-panel-collapsed .right-panel{border-color:transparent;opacity:0;pointer-events:none;transform:translate(110%)}.create-form,.map-list,.share-panel{display:grid;gap:8px;padding:12px}.map-list{border-top:1px solid #e2e8f0;flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;align-content:start}.share-panel{border-top:1px solid #e2e8f0;font-size:13px}.share-panel form{display:grid;gap:8px}.share-panel small{color:#64748b;overflow-wrap:anywhere}.share-list{display:grid;gap:6px}.share-list span{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;overflow-wrap:anywhere}.share-list button{padding:5px 7px;font-size:12px}.map-list button{text-align:left;overflow-wrap:anywhere}.selected{border-color:#2563eb;background:#eff6ff}.map-panel{min-width:0;min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:10px;transition:gap .18s ease}.map-panel.top-panel-collapsed{grid-template-rows:auto 0 minmax(0,1fr);gap:0}.center-tabs{display:inline-flex;gap:6px;padding:8px;border:1px solid #d8dee7;border-radius:8px;background:#fff}.center-tabs button{min-width:92px;justify-content:center}.editor-toolbar{display:grid;grid-template-columns:1fr;align-items:start;gap:10px;min-width:0;padding:10px;border:1px solid #d8dee7;border-radius:8px;background:#fff;max-height:460px;overflow:hidden;opacity:1;transform:translateY(0);transition:max-height .18s ease,opacity .18s ease,padding .18s ease,border-width .18s ease,transform .18s ease}.editor-toolbar.collapsed{max-height:0;padding-top:0;padding-bottom:0;border-width:0;opacity:0;pointer-events:none;transform:translateY(-10px)}.draw-options,.background-options{display:flex;align-items:center;justify-content:flex-start;gap:8px;min-width:0;flex-wrap:wrap}.color-control,.checkbox-control,.size-control,.file-control,.text-control{display:inline-flex;align-items:center;gap:6px;color:#475569;font-size:12px;white-space:nowrap}.color-control input{width:38px;height:34px;padding:3px}.checkbox-control input{width:auto}.size-control input{width:72px;padding:7px 8px}.map-size-control input{width:64px}.file-control input{width:190px;padding:6px 8px}.text-control input{width:260px;padding:7px 8px}.background-url-control{flex:0 1 380px;max-width:100%}.background-url-control input{width:280px;max-width:100%}.tool-group{display:flex;align-items:center;gap:6px;min-width:0;flex-wrap:wrap}.tool-group button{display:inline-flex;align-items:center;gap:6px;min-height:38px;white-space:nowrap}.tool-group svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.layer-group{justify-content:flex-start}.canvas-shell{min-width:0;min-height:0;width:100%;height:100%;overflow:auto;overscroll-behavior:contain;border:1px solid #d8dee7;border-radius:8px;background:#1f2937;scrollbar-gutter:stable both-edges}.map-forum-panel{min-width:0;min-height:0;display:flex;flex-direction:column}.map-forum-sidebar,.forum-thread-view{min-height:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid #d8dee7;border-radius:8px;background:#fff}.forum-panel-header,.forum-thread-header,.forum-reply-form{padding:12px;border-bottom:1px solid #e2e8f0}.forum-reply-actions{flex:0 0 auto;display:flex;justify-content:flex-start;gap:8px;padding:12px;border-top:1px solid #e2e8f0}.forum-reply-actions button{min-height:44px;padding:11px 18px;font-size:15px;font-weight:800}.forum-thread-header h2{margin:0;font-size:20px}.forum-thread-header p{margin:3px 0 0}.forum-thread-list{display:grid;gap:8px;padding:10px;overflow-y:auto}.forum-thread-list.compact{padding:0}.forum-thread-list button{display:grid;gap:3px;text-align:left}.forum-thread-list button>span:first-child{color:var(--ink);font-weight:800}.unread-pill{justify-self:start;padding:2px 7px;border-radius:999px;background:var(--ruby);color:#fff4e7;font-size:11px;line-height:1.4}.forum-post-list{flex:1 1 auto;min-height:0;display:grid;align-content:start;gap:10px;padding:12px;overflow-y:auto}.pagination-controls{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-top:1px solid #e2e8f0;color:var(--ink-soft);font-size:12px}.pagination-controls label,.pagination-buttons{display:inline-flex;align-items:center;gap:6px}.labelNewLine{display:block!important}.label-m-l-1{margin-left:10px!important}.pad-top-5{padding-top:5px!important}.pagination-controls select{width:auto;min-width:72px;padding:5px 8px}.pagination-controls button{min-height:30px;padding:5px 8px;font-size:12px}.forum-post{display:grid;gap:10px;padding:12px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.forum-post.compact{grid-template-columns:1fr}.forum-post.deleted{background:#f4ead4}.forum-post.unread-post{border-color:#8d293485;box-shadow:inset 4px 0 0 var(--ruby)}.unread-label{width:fit-content;padding:1px 6px;border-radius:999px;background:#8d29341f;color:var(--ruby);font-weight:800}.forum-post header{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#475569;font-size:13px}.forum-post header>div{display:grid;gap:2px}.forum-post time{color:#64748b}.post-actions{display:flex;flex-wrap:wrap;gap:6px}.post-actions button{min-height:30px;padding:4px 8px;font-size:12px}.post-edit-form{display:grid;gap:8px}.deleted-post-note{margin:0;color:var(--ink-soft);font-style:italic}.dice-roll-list{display:grid;gap:8px}.dice-roll-card{display:grid;gap:8px;padding:10px;border:1px solid rgb(141 41 52 / 28%);border-radius:var(--radius);background:#fff5df}.dice-roll-card header{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--ink-soft)}.dice-roll-card header div{display:grid;gap:2px}.dice-roll-card header strong{color:var(--ruby)}.dice-roll-card header small{color:var(--ink-soft);overflow-wrap:anywhere}.dice-roll-result{display:grid;gap:3px}.dice-roll-result strong{color:var(--forest);font-size:18px}.dice-roll-result small,.post-edit-form small{color:var(--ink-soft)}.bbcode-body{line-height:1.5;overflow-wrap:anywhere}.bbcode-body img{display:block;max-width:100%;height:auto;margin:8px 0;border-radius:6px}.bbcode-body img.bbcode-image-center,.bbcode-align-center img{margin-left:auto;margin-right:auto}.bbcode-body ul,.bbcode-body ol{margin:8px 0;padding-left:18px;list-style-position:inside;display:block}.bbcode-body ul{list-style-type:disc}.bbcode-body ol{list-style-type:decimal}.bbcode-body li{display:list-item;padding-left:0}.bbcode-body li+li{margin-top:4px}.bbcode-body li::marker{color:currentColor;font-size:1em}.bbcode-roll-preview{display:inline-flex;align-items:center;max-width:100%;padding:2px 7px;border:1px solid rgb(141 41 52 / 28%);border-radius:999px;background:#fff5df;color:var(--ruby);font-weight:800}.bbcode-align-center{text-align:center}.bbcode-align-left{text-align:left}.bbcode-align-right{text-align:right}.bbcode-editor{display:grid;gap:8px}.bbcode-toolbar{display:flex;flex-wrap:wrap;gap:6px}.bbcode-toolbar button{padding:6px 8px;font-size:12px}.bbcode-toolbar .dice-tool{border-color:#8d29347f;background:linear-gradient(#fff1d7,#e8c880);color:#4c230f;font-weight:800}.bbcode-toolbar .post-as-tool{border-color:#47684b7f;background:linear-gradient(#f3f8ed,#c9dabd);color:var(--forest);font-weight:800}.dice-roll-modal{width:min(520px,92vw)}.dice-roll-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.dice-roll-form label,.dice-purpose-field{display:grid;gap:4px;min-width:0}.dice-purpose-field,.dice-roll-form .button-row{grid-column:1 / -1}.shadowrun-edge-field{align-self:end;min-height:38px}.dice-syntax-help{display:grid;gap:4px;padding:8px 10px;border:1px solid rgb(141 41 52 / 24%);border-radius:var(--radius);background:#fff5df;color:var(--ink-soft);font-size:12px}.dice-syntax-help strong{color:var(--ruby)}.dice-syntax-help code{color:var(--forest);font-weight:800}.character-bbcode-tools{display:grid;gap:8px;padding:8px 10px;border:1px solid rgb(71 104 75 / 24%);border-radius:var(--radius);background:#edf5e6a3}.character-bbcode-tools>strong{color:var(--forest);font-size:13px}.bbcode-preview{display:grid;gap:6px;min-height:82px;padding:10px;border:1px dashed #cbd5e1;border-radius:8px;background:#f8fafc}.bbcode-preview>strong{color:#475569;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.bbcode-preview p{margin:0;color:#64748b}.bbcode-body blockquote{margin:8px 0;padding:8px 10px;border-left:3px solid #94a3b8;background:#fff;color:#334155}.bbcode-body blockquote cite{display:block;margin-bottom:6px;color:#475569;font-size:12px;font-style:normal;font-weight:700}.bbcode-body pre{overflow-x:auto;padding:10px;border-radius:6px;background:#111827;color:#e5e7eb}.forum-reply-form{display:grid;gap:8px;border-top:1px solid #e2e8f0;border-bottom:0}.map-frame{--cell-size: 50px;display:grid;grid-template-columns:38px max-content;grid-template-rows:28px max-content;width:max-content}.map-corner,.column-labels,.row-labels{background:#111827;color:#e5e7eb;font-size:11px;font-weight:700;-webkit-user-select:none;user-select:none}.map-corner{position:sticky;left:0;top:0;z-index:3;border-right:1px solid #374151;border-bottom:1px solid #374151}.column-labels{position:sticky;top:0;z-index:2;display:flex;height:28px;border-bottom:1px solid #374151}.column-labels span{display:grid;place-items:center;width:var(--cell-size);height:28px;border-right:1px solid #374151}.row-labels{position:sticky;left:0;z-index:2;display:flex;flex-direction:column;width:38px;border-right:1px solid #374151}.row-labels span{display:grid;place-items:center;width:38px;height:var(--cell-size);border-bottom:1px solid #374151}.map-canvas{display:block;cursor:crosshair;max-width:none;max-height:none;touch-action:none}.map-canvas:active{cursor:grabbing}.map-canvas.move-tool{cursor:grab}.map-canvas.draw-tool{cursor:crosshair}.map-canvas.entity-tool{cursor:copy}.empty-state{display:grid;place-items:center;border:1px solid #d8dee7;border-radius:8px;background:#fff;color:#64748b;min-height:0;height:100%}.palette,.entity-panel{display:flex;flex-direction:column;min-height:0;border:0;border-radius:0}.right-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:8px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.right-tabs button{justify-content:center}.right-tab-body{min-height:0;overflow-y:auto;overflow-x:hidden;display:grid}.right-tab-body>.palette,.right-tab-body>.entity-panel{min-height:min-content}.entity-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid #e2e8f0}.entity-header span{color:#64748b;font-size:12px}.entity-header div{display:grid;gap:2px}.entity-header small{color:#64748b;font-size:11px}.entity-form{display:grid;gap:8px;padding:10px;border-bottom:1px solid #e2e8f0}.cast-entity-form{background:#f8fafc}.entity-hp-row,.entity-row-controls{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:6px}.entity-row-controls{grid-template-columns:46px auto 46px auto auto}.entity-list{flex:1 1 auto;min-height:0;overflow:visible;display:grid;align-content:start;gap:8px;padding:10px}.entity-row{display:grid;gap:6px;padding:7px;border:1px solid #d8dee7;border-radius:6px;background:#fff}.entity-main{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:8px;text-align:left;padding:0;border:0}.entity-main img,.entity-fallback{width:38px;height:38px;border-radius:6px;object-fit:contain;image-rendering:pixelated;background:#e2e8f0}.entity-fallback{display:grid;place-items:center;color:#334155;font-size:12px;font-weight:700}.entity-main span{min-width:0;display:grid;gap:2px}.entity-main small{color:#64748b;font-size:11px;overflow-wrap:anywhere}.entity-row-controls input{padding:6px 7px}.entity-row-controls button{padding:6px 8px}.entity-combat-details{display:grid;gap:6px;padding-top:6px;border-top:1px solid #e2e8f0}.entity-combat-details section{display:grid;gap:2px}.entity-combat-details strong{color:#334155;font-size:11px}.entity-combat-details p{margin:0;color:#475569;font-size:12px;line-height:1.35;white-space:pre-wrap}.modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:24px;background:#0f172a73}.tile-picker-modal{width:min(760px,92vw);max-height:min(720px,86vh);display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:10px;padding:12px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;box-shadow:0 18px 50px #0f172a47}.portrait-crop-modal{width:min(720px,94vw);display:grid;gap:14px;padding:14px;border:1px solid #cbd5e1;border-radius:8px;background:#fffaf0;box-shadow:0 18px 50px #0f172a47}.portrait-crop-modal header{display:flex;align-items:start;justify-content:space-between;gap:12px}.portrait-crop-modal header div,.portrait-crop-controls{display:grid;gap:6px}.portrait-crop-modal small,.portrait-crop-controls label{color:#64748b;font-size:13px}.portrait-crop-layout{display:grid;grid-template-columns:auto minmax(220px,1fr);gap:16px;align-items:start}.portrait-crop-preview{position:relative;overflow:hidden;border:2px solid rgb(169 134 69 / 65%);border-radius:8px;background:#111827}.portrait-crop-preview:after{content:"";position:absolute;inset:0;border:1px solid rgb(255 255 255 / 58%);pointer-events:none}.portrait-crop-preview img{display:block;max-width:none;transform-origin:top left}.portrait-crop-controls label{display:grid;gap:5px}.tile-picker-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.character-tile-grid{min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(82px,1fr));align-content:start;gap:8px;padding:2px}.character-tile-grid button{display:grid;justify-items:center;gap:5px;min-height:94px;padding:7px}.character-tile-grid img{width:52px;height:52px;object-fit:contain;image-rendering:pixelated}.character-tile-grid span{max-width:100%;color:#475569;font-size:10px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.tile-picker-empty{margin:12px;color:#64748b}.confirm-modal{width:min(420px,92vw);display:grid;gap:12px;padding:16px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;box-shadow:0 18px 50px #0f172a47}.dashboard-action-modal{width:min(980px,92vw);max-height:min(86vh,900px);overflow:auto;background:linear-gradient(180deg,#fffaf0fa,#f6e9cafa);color:var(--ink)}.dashboard-action-modal header{display:flex;align-items:start;justify-content:space-between;gap:12px}.dashboard-action-modal header div,.dashboard-modal-body,.dashboard-permissions-body{display:grid;gap:12px}.dashboard-action-modal :where(h1,h2,h3,h4,strong,label,p,span,a){color:var(--ink)}.dashboard-action-modal :where(small,.campaign-forum-header small,.forum-thread-row small,.dashboard-map-list small,.cast-card-header small,.cast-portrait-controls small,.cast-readonly small,.cast-readonly p){color:#334155}.dashboard-action-modal input,.dashboard-action-modal select,.dashboard-action-modal textarea{background:#fffaf0fa;color:var(--ink)}.dashboard-action-modal .campaign-cast-panel,.dashboard-action-modal .campaign-forum-panel{box-shadow:none;color:var(--ink)}.dashboard-action-modal .dashboard-map-list{padding:0}.confirm-modal p{margin:0;color:#475569;line-height:1.4}.account-modal{width:min(720px,94vw);max-height:min(820px,92vh);overflow:auto;background:linear-gradient(180deg,#fffaf0fa,#f6e9cafa);color:var(--ink)}.account-modal header{display:flex;align-items:start;justify-content:space-between;gap:12px}.account-modal header div,.account-form{display:grid;gap:12px}.account-modal small{color:var(--ink-soft)}.account-form label{display:grid;gap:6px;color:var(--ink);font-weight:700}.account-form input[readonly]{color:var(--ink-soft);background:#ffffff94}.account-form textarea{width:100%;resize:vertical}.account-profile-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center}.account-avatar-preview{display:grid;place-items:center;width:112px;height:112px;overflow:hidden;border:2px solid rgb(169 134 69 / 58%);border-radius:8px;background:linear-gradient(145deg,var(--forest-2),var(--forest));color:var(--brass);font-size:32px;font-weight:900}.account-avatar-preview img{width:100%;height:100%;object-fit:cover}.account-picture-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.account-picture-tools small{flex-basis:100%}.account-stats{display:grid;gap:10px;padding:12px;border:1px solid rgb(169 134 69 / 28%);border-radius:var(--radius);background:#ffffff6b}.account-stats>div{display:grid;gap:3px}.account-stats dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.account-stats dl div{padding:9px;border-radius:6px;background:#10251b12}.account-stats dt{color:var(--ink-soft);font-size:12px}.account-stats dd{margin:0;color:var(--forest);font-size:20px;font-weight:900}.file-button{min-height:40px;padding:8px 12px;border:1px solid rgb(169 134 69 / 70%);border-radius:var(--radius);background:linear-gradient(#fff7e6,#ead8ad);color:#21180b;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:fit-content}.file-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.account-two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.checkbox-row{display:flex!important;grid-template-columns:none;flex-direction:row;align-items:center;gap:10px;font-weight:600}.checkbox-row input{width:auto}.test-email-modal{width:min(620px,94vw)}.map-forum-post-modal{width:min(820px,94vw);max-height:min(820px,92vh);overflow:auto}.map-forum-post-modal header{display:flex;align-items:start;justify-content:space-between;gap:12px}.map-forum-post-modal header div{display:grid;gap:3px}.test-email-details{display:grid;gap:8px;margin:0}.test-email-details div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:10px}.test-email-details dt{color:#64748b;font-weight:800}.test-email-details dd{min-width:0;margin:0;overflow-wrap:anywhere}.confirm-actions{display:flex;justify-content:flex-end;gap:8px}.danger-button{border-color:#dc2626;background:#dc2626;color:#fff}.danger-button:hover{border-color:#991b1b}.palette-header{display:grid;gap:8px;padding:12px;border-bottom:1px solid #e2e8f0;flex:0 0 auto}.tile-grid{flex:1 1 auto;min-height:0;overflow:visible;padding:10px;display:grid;grid-template-columns:repeat(auto-fill,minmax(62px,1fr));align-content:start;gap:8px}.tile-button{display:grid;gap:4px;justify-items:center;padding:6px}.tile-button img{width:40px;height:40px;object-fit:contain;image-rendering:pixelated}.tile-button span{max-width:100%;font-size:10px;color:#475569;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.tile-count{color:#64748b;font-size:12px}@media(max-width:1000px){body{overflow:auto}.app{min-height:100vh;height:auto;overflow:visible}.workspace{grid-template-columns:1fr;height:auto;overflow:visible}.workspace.right-panel-collapsed{grid-template-columns:1fr}.palette,.right-panel{min-height:220px;max-height:320px}.right-panel{grid-template-rows:auto minmax(0,1fr)}.map-panel{min-height:520px}.editor-toolbar{align-items:flex-start;flex-direction:column}.draw-options,.background-options,.layer-group{justify-content:flex-start}.canvas-shell{height:min(70vh,720px)}}:root{color-scheme:light;--ink: #172117;--ink-soft: #4c5d51;--forest: #10251b;--forest-2: #193626;--moss: #47684b;--parchment: #fbf4df;--parchment-2: #f4e6c5;--paper: #fffaf0;--line: #d6c49e;--line-strong: #a98645;--brass: #c8963d;--brass-dark: #8d6320;--ruby: #8d2934;--shadow: 0 18px 48px rgb(16 28 20 / 18%);--radius: 8px;color:var(--ink);background:var(--forest)}body{background:radial-gradient(circle at 10% -10%,rgb(200 150 61 / 18%),transparent 28rem),linear-gradient(135deg,#0d1e16,#152f22 48%,#0f2119)}button,.button{position:relative;min-height:40px;padding:8px 12px;border:1px solid rgb(169 134 69 / 70%);border-radius:var(--radius);background:linear-gradient(#fff7e6,#ead8ad);color:#21180b;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:inset 0 1px #ffffffb3;transform:translateY(0) scale(1);transition:transform .12s ease,filter .12s ease,box-shadow .12s ease,border-color .12s ease}button:hover,.button:hover{border-color:var(--brass-dark);filter:brightness(1.03)}button:active:not(:disabled),.button:active{transform:translateY(1px) scale(.98);filter:brightness(.96);box-shadow:inset 0 2px 5px #3e270c2e,0 0 0 3px #c8963d3d}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgb(200 150 61 / 42%);outline-offset:2px}button:disabled{opacity:.55}@media(prefers-reduced-motion:reduce){button,.button{transition:border-color .12s ease,filter .12s ease,box-shadow .12s ease}button:active:not(:disabled),.button:active{transform:none;filter:brightness(.9)}}input,select,textarea{border:1px solid rgb(169 134 69 / 46%);border-radius:var(--radius);background:#fffaf0f0;color:var(--ink)}.text-button{background:transparent;color:var(--brass);box-shadow:none}.text-button:hover{color:#f1c264}.auth-page,.dashboard-page{background:linear-gradient(90deg,#08140ee5,#08140ead 52%,#08140e6b),url(/theme/hero-table-map.png);background-position:center;background-size:cover;color:var(--paper)}.auth-card,.dashboard-create,.campaign-card,.sidebar,.palette,.entity-panel,.right-panel,.editor-toolbar,.center-tabs,.map-forum-sidebar,.forum-thread-view,.campaign-forum-panel{border:1px solid rgb(214 196 158 / 68%);border-radius:var(--radius);background:linear-gradient(180deg,#fffaf0f5,#f6e9cafa);color:var(--ink);box-shadow:0 12px 30px #0000001a}.brand-lockup{display:inline-flex;align-items:center;gap:12px;min-width:0}.brand-mark{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border:1px solid var(--brass);border-radius:var(--radius);background:linear-gradient(145deg,#244632,#10251b);color:var(--brass);font-weight:900;font-size:24px}.brand-lockup strong,.brand-lockup small{display:block}.brand-lockup strong{color:inherit;font-size:20px;line-height:1.1}.brand-lockup small{color:#d7cba9;font-size:12px}.auth-card .brand-lockup strong,.campaign-card .brand-lockup strong,.dashboard-create .brand-lockup strong{color:var(--ink)}.auth-card .brand-lockup small,.auth-card p,.campaign-card p,.dashboard-map-list small,.campaign-forum-header small,.forum-panel-header small,.forum-thread-header p,.forum-thread-row small,.forum-thread-list small,.account-panel span,.account-panel small,.viewer-control,.share-panel small,.tile-count{color:var(--ink-soft)}.dashboard-header,.topbar{border-bottom:1px solid rgb(214 196 158 / 22%);background:#0d1e16eb;color:var(--paper);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.dashboard-header>div,.topbar>div:first-child{min-width:0}.dashboard-layout{padding-block:24px}.campaign-list h2{color:var(--paper)}.dashboard-map-list a,.forum-thread-list button,.forum-thread-row,.forum-post,.entity-item,.tile-button{border-color:#a9864547;background:#fffaf0d1}.dashboard-map-list a:hover,.forum-thread-list button:hover,.entity-item:hover,.tile-button:hover{border-color:var(--line-strong)}.campaign-forum-panel,.bbcode-preview{background:#fff7e4}.inline-form:has(input:nth-of-type(3)){grid-template-columns:minmax(0,1fr) 72px 72px auto}.selected,.auth-mode button.selected,.right-tabs button.selected,.center-tabs button.selected,.tool-group button.selected,.tile-button.selected,.entity-item.selected,.map-list button.selected{border-color:var(--brass);background:linear-gradient(#173527,#10251b);color:var(--paper)}.app{background:#0b1510}.workspace{gap:10px;padding:10px;background:#0b1510}.sidebar,.right-panel{background:linear-gradient(180deg,#fffaf0f5,#f6e9cafa)}.map-panel{gap:8px}.center-tabs{width:fit-content;padding:6px}.right-tabs{border-bottom:1px solid rgb(169 134 69 / 24%);background:#f4e6c5}.editor-toolbar{padding:8px}.canvas-shell{border-color:#d6c49e3d;background:linear-gradient(rgb(255 255 255 / 7%) 1px,transparent 1px),linear-gradient(90deg,rgb(255 255 255 / 7%) 1px,transparent 1px),#111b15;background-size:50px 50px}.map-corner,.column-labels,.row-labels{background:#0b1510;color:#f5ead0}.column-labels,.row-labels,.map-corner{border-color:#d6c49e3d}.forum-panel-header,.forum-thread-header,.forum-reply-form,.entity-header,.entity-form,.share-panel,.map-list{border-color:#a986453d}.forum-post header{color:var(--ink-soft)}.bbcode-body blockquote{border-left-color:var(--brass);background:#fffaf0;color:var(--ink-soft)}.bbcode-body pre{background:#111b15;color:#f5ead0}.bbcode-preview{border-color:#a986458a}.bbcode-toolbar button,.share-list button,.right-tabs button,.center-tabs button{min-height:34px;padding:6px 10px;font-size:13px}.palette-header,.tile-search,.tile-group-header{border-color:#a986453d;background:transparent}.tile-grid{background:#fffaf06b}.auth-message.error{background:#fff1f1;color:#8d2934}.button-primary{border-color:#d7a64e;background:linear-gradient(#d8aa55,#a76f22);color:#fff9e8;font-weight:800}.button-ghost{background:#fffaf01a;color:var(--paper)}.button-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.splash-page,.forum-page{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at 10% -10%,rgb(200 150 61 / 18%),transparent 28rem),linear-gradient(135deg,#0d1e16,#152f22 48%,#0f2119);color:var(--paper)}.site-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:72px;padding:12px clamp(16px,4vw,44px);border-bottom:1px solid rgb(214 196 158 / 20%);background:#0d1e16e0;color:var(--paper);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand-link{color:inherit;text-decoration:none}.main-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.site-header-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.main-nav a,.main-nav .nav-button{border-radius:999px;color:#efe5ca;padding:8px 10px;text-decoration:none}.main-nav .nav-button{min-height:auto;border:0;background:transparent;box-shadow:none}.main-nav a:hover,.main-nav .nav-button:hover{background:#fffaf01a}.splash-hero{min-height:640px;display:grid;align-items:center;padding:clamp(54px,9vw,120px) clamp(18px,5vw,72px);background-image:linear-gradient(90deg,#08140eeb,#08140eb8 42%,#08140e38),url(/theme/hero-table-map.png);background-position:center;background-size:cover}.hero-copy{width:min(680px,100%);max-width:680px;margin-inline:max(0px,calc((100vw - 1180px)/2))}.eyebrow{margin:0 0 12px;color:var(--brass);font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.splash-page h1,.splash-page h2,.splash-page h3,.splash-page p{margin-top:0}.splash-page h1{margin-bottom:18px;font-size:clamp(42px,7vw,76px);line-height:.96}.splash-page h2{margin-bottom:12px;font-size:clamp(28px,4vw,44px);line-height:1.05}.hero-lede{max-width:570px;color:#eee2c7;font-size:clamp(18px,2vw,22px);line-height:1.55}.splash-section{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:clamp(54px,8vw,92px) 0}.section-heading{max-width:720px;margin-bottom:26px}.section-heading p:not(.eyebrow),.split-preview>div>p:not(.eyebrow){color:#d9cfb1;line-height:1.6}.feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.feature-card,.forum-shell-preview,.map-stage-preview,.forum-index-panel,.forum-main-panel,.forum-compose-panel{border:1px solid rgb(214 196 158 / 68%);border-radius:var(--radius);background:linear-gradient(180deg,#fffaf0f0,#f5e6c3f5);color:var(--ink);box-shadow:var(--shadow)}.feature-card{padding:18px}.feature-card p{color:var(--ink-soft);line-height:1.55}.feature-icon,.thread-status{display:inline-grid;place-items:center;min-width:46px;min-height:32px;border-radius:999px;background:#e8d7af;color:#4c3613;font-weight:900;font-size:12px}.feature-icon{width:38px;height:30px;min-width:38px;min-height:30px;margin-bottom:14px;background:var(--forest-2);color:var(--brass)}.split-preview{display:grid;grid-template-columns:minmax(0,.85fr) minmax(320px,1.15fr);align-items:center;gap:28px}.forum-shell-preview{display:grid;gap:8px;padding:14px}.thread-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px;border:1px solid rgb(169 134 69 / 26%);border-radius:var(--radius);background:#fffaf0bd}.thread-row h3,.thread-row p{margin:0}.thread-row p,.thread-count{color:var(--ink-soft)}.is-unread .thread-status{background:var(--ruby);color:#fff4e7}.map-stage-preview{position:relative;min-height:320px;overflow:hidden;background:linear-gradient(rgb(255 255 255 / 10%) 1px,transparent 1px),linear-gradient(90deg,rgb(255 255 255 / 10%) 1px,transparent 1px),radial-gradient(circle at 62% 42%,rgb(92 111 75 / 84%),transparent 14rem),radial-gradient(circle at 32% 70%,rgb(48 72 92 / 72%),transparent 15rem),linear-gradient(135deg,#243421,#4c5838 48%,#1e2c24);background-size:52px 52px,52px 52px,auto,auto,auto;box-shadow:inset 0 0 80px #00000057,var(--shadow)}.map-token{position:absolute;display:grid;place-items:center;width:42px;height:42px;border:3px solid #fff4d5;border-radius:50%;background:var(--ruby);color:#fff;font-weight:900;box-shadow:0 5px 14px #00000059}.token-a{left:28%;top:38%}.token-b{left:58%;top:52%;background:#2c5f74}.distance-ruler{position:absolute;left:34%;top:46%;width:30%;border-top:2px dashed #f3d88d;color:#fff0c2;text-align:center;transform:rotate(18deg)}.forum-page{display:flex;flex-direction:column}.forum-page-layout{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:14px;padding:14px}.public-forum-layout{flex:1 1 auto;display:grid;gap:14px;width:min(1180px,calc(100% - 28px));margin:0 auto;padding:14px}.traditional-forum-layout{align-content:start}.forum-index-panel,.forum-main-panel,.forum-compose-panel{min-height:0;display:flex;flex-direction:column;overflow:hidden}.forum-index-panel .forum-panel-header{display:flex;align-items:start;justify-content:space-between;gap:10px}.forum-index-panel .forum-panel-header div{display:grid;gap:3px}.public-forum-card{border:1px solid rgb(214 196 158 / 68%);border-radius:var(--radius);background:linear-gradient(180deg,#fffaf0f5,#f6e9cafa);color:var(--ink);box-shadow:0 12px 30px #0000001a;overflow:visible}.public-forum-layout .forum-main-panel,.public-forum-layout .forum-compose-panel{display:grid;min-height:auto;overflow:visible}.traditional-forum-list,.traditional-thread-list{display:grid}.traditional-forum-row,.traditional-thread-row{display:grid;grid-template-columns:minmax(0,1fr) 130px 150px;gap:12px;align-items:center;min-height:64px;padding:12px 14px;border:0;border-top:1px solid rgb(169 134 69 / 24%);border-radius:0;background:transparent;box-shadow:none;text-align:left;text-decoration:none;color:inherit}.public-category-row{grid-template-columns:minmax(0,1fr) 120px 120px 160px}.public-section-actions{display:flex;justify-content:flex-end;padding:12px 14px;border-top:1px solid rgb(169 134 69 / 24%)}.subforum-accordion{display:grid;border-top:1px solid rgb(169 134 69 / 24%)}.subforum-accordion:first-child{border-top:0}.subforum-header{grid-template-columns:minmax(0,1fr) 130px 130px auto;border-top:0}.subforum-toggle{justify-content:start;min-height:auto;padding:0;border:0;background:transparent;box-shadow:none;color:var(--ink);text-align:left}.subforum-toggle:hover,.subforum-toggle:active{filter:none;box-shadow:none;transform:none}.accordion-indicator{display:inline-grid;place-items:center;width:22px;height:22px;border:1px solid rgb(169 134 69 / 42%);border-radius:4px;color:var(--forest);font-weight:900}.accordion-thread-list{border-top:1px solid rgb(169 134 69 / 18%);background:#ffffff42}.accordion-thread-list .traditional-thread-row{padding-left:44px}.empty-subforum{margin:0;padding:12px 44px;color:var(--ink-soft)}.traditional-forum-row:first-child,.traditional-thread-row:first-child{border-top:0}.traditional-forum-row:hover,.traditional-thread-row:hover,.traditional-forum-row.selected,.traditional-thread-row.selected{background:#a986451f;filter:none}.traditional-forum-row strong,.traditional-thread-row strong{display:block;color:var(--ink)}.sticky-pill{display:inline-flex;align-items:center;margin-right:6px;padding:2px 7px;border-radius:999px;background:var(--ruby);color:#fff4e7;font-size:11px;line-height:1.4;vertical-align:middle}.traditional-forum-row small,.traditional-thread-row small,.traditional-forum-row>span:not(:first-child),.traditional-thread-row>span:not(:first-child){color:var(--ink-soft);font-size:13px}.auth-required-note{margin:12px;color:var(--ink-soft)}.auth-required-note a{color:var(--forest);font-weight:800}.admin-page{min-height:100vh;display:flex;flex-direction:column;background:var(--parchment);color:var(--ink)}.admin-layout{width:min(1080px,calc(100% - 28px));margin:0 auto;padding:18px 0;display:grid;gap:14px}.admin-user-list{display:grid;gap:10px}.admin-demo-card{display:grid;gap:12px;padding:14px;border:1px solid rgb(169 134 69 / 24%);border-radius:var(--radius);background:#fffaf0eb;color:var(--ink)}.admin-demo-card h2{margin:0 0 4px;color:var(--ink)}.admin-demo-card p{margin:0;color:var(--ink-soft)}.admin-demo-card small{display:block;margin-top:6px;color:var(--ink);font-weight:700}.admin-demo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.admin-demo-grid label{display:grid;gap:5px}.admin-demo-grid span{color:var(--ink-soft);font-size:13px;font-weight:800}.admin-demo-grid select{width:100%}.admin-user-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,260px);gap:14px;align-items:center;padding:14px;border:1px solid rgb(169 134 69 / 24%);border-radius:var(--radius);background:#fffaf0db}.admin-user-row>div,.admin-user-row label{display:grid;gap:4px}.admin-user-row small,.admin-user-row label span{color:var(--ink-soft);font-size:13px}@media(max-width:820px){.admin-demo-grid,.admin-user-row{grid-template-columns:1fr}}.public-thread-modal{width:min(820px,94vw);max-height:min(820px,92vh);overflow:auto;background:linear-gradient(180deg,#fffaf0fa,#f6e9cafa);color:var(--ink)}.public-thread-modal header,.forum-thread-modal header{display:flex;align-items:start;justify-content:space-between;gap:12px}.public-thread-modal header div,.forum-thread-modal header div{display:grid;gap:3px}.forum-compose-panel .forum-compose{padding:12px;overflow-y:auto}.forum-thread-modal .forum-compose{padding:0}.forum-post-list-footer{display:grid;gap:12px}.forum-main-panel .forum-thread-header select{max-width:240px}.forum-main-panel .forum-post,.public-forums-page .forum-post:not(.compact){grid-template-columns:180px minmax(0,1fr);background:#fffaf0db}.post-author{display:grid;justify-items:center;align-content:start;gap:6px;padding:12px;border-radius:var(--radius);background:#10251b14;text-align:center}.post-author span{color:var(--ink-soft);font-size:12px;overflow-wrap:anywhere}.post-author small{color:var(--ink-soft)}.avatar{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:linear-gradient(145deg,var(--ruby),#521a23);color:#fff4e7;font-size:24px;font-weight:900;overflow:hidden;flex:0 0 auto}.avatar img{width:100%;height:100%;object-fit:cover}.avatar span{color:inherit}.avatar.small{width:28px;height:28px;font-size:13px}.avatar.tiny{width:22px;height:22px;font-size:11px}.thread-author-meta,.compact-author-line{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;color:var(--ink-soft);font-size:12px}.thread-author-meta span,.compact-author-line small{color:var(--ink-soft)}.thread-author-meta{margin-top:4px}.compact-author-line{margin-bottom:4px}.post-body{min-width:0;display:grid;gap:10px}.post-as-select{display:grid;gap:8px;color:var(--ink-soft);font-size:13px}.post-as-header{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.post-as-header strong{color:var(--ink)}.post-as-header small{color:var(--ink-soft)}.post-as-buttons{display:flex;flex-wrap:wrap;gap:8px}.post-as-buttons button{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;min-width:min(100%,220px);max-width:280px;justify-content:start;text-align:left;padding:7px}.post-as-buttons button>span:last-child{display:grid;min-width:0;gap:1px}.post-as-buttons strong,.post-as-buttons small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.post-as-buttons small{color:var(--ink-soft)}.post-as-buttons .selected small{color:#d7cba9}.post-as-thumb{display:grid;place-items:center;width:32px;height:32px;overflow:hidden;border-radius:50%;background:linear-gradient(145deg,var(--forest-2),var(--forest));color:var(--brass);font-size:11px;font-weight:900}.post-as-thumb.npc{background:linear-gradient(145deg,var(--ruby),#521a23);color:#fff4e7}.post-as-thumb img{width:100%;height:100%;object-fit:cover}.character-post{display:block;padding:9px 10px;margin-left:14px;border:1px solid rgb(71 104 75 / 36%);border-left:4px solid var(--moss);border-radius:var(--radius);background:linear-gradient(180deg,#fffaf0e0,#e9f0e6db)}.character-post.npc{border-color:#8d293452;border-left-color:var(--ruby);background:linear-gradient(180deg,#fffaf0e0,#f6e6dce0)}.character-portrait{float:left;display:grid;place-items:center;width:min(150px,36vw);height:min(150px,36vw);margin:0 10px 6px 0;overflow:hidden;border:2px solid rgb(169 134 69 / 55%);border-radius:6px;background:linear-gradient(145deg,var(--forest-2),var(--forest));color:var(--brass);font-size:28px;font-weight:900}.character-portrait img{width:100%;height:100%;object-fit:cover}.character-post-content{min-width:0;display:flow-root}.character-post-content header{margin:0 0 1px;padding:10px 0}.character-post-content header strong{color:var(--forest);font-size:16px}.character-post-text{line-height:1.5;overflow-wrap:anywhere}.site-footer{flex:0 0 auto;margin-top:auto;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:16px 22px;border-top:1px solid rgb(214 196 158 / 22%);background:#0d1e16f0;color:#efe5ca}.site-footer.compact{padding-block:10px;font-size:12px}.auth-page .site-footer{justify-self:stretch;width:calc(100% + 48px);margin:0 -24px -24px}.site-footer div,.site-footer nav{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.site-footer strong{color:var(--brass)}.site-footer span{color:#d7cba9}.site-footer a{color:#efe5ca;text-decoration:none}.site-footer a:hover{color:var(--brass)}.footer-sitemap{padding-left:16px;border-left:1px solid rgb(214 196 158 / 22%)}@media(max-width:1000px){.dashboard-header,.topbar,.site-header{align-items:stretch;flex-direction:column}.auth-form,.account-panel,.inline-form,.inline-form:has(input:nth-of-type(3)),.campaign-map-form,.dashboard-map-row,.map-forum-panel,.forum-page-layout,.public-forum-layout,.cast-columns,.portrait-crop-layout,.account-profile-row,.account-two-column,.account-stats dl,.split-preview,.feature-grid,.site-footer{grid-template-columns:1fr}.workspace{overflow:auto}.pagination-controls{align-items:flex-start;flex-direction:column}.forum-main-panel .forum-post,.public-forums-page .forum-post:not(.compact){grid-template-columns:1fr}}@media(max-width:560px){.splash-hero{min-height:560px}.splash-page h1{font-size:40px}.thread-row,.traditional-forum-row,.traditional-thread-row,.subforum-header,.public-category-row{grid-template-columns:1fr}.accordion-thread-list .traditional-thread-row,.empty-subforum{padding-left:14px}.dice-roll-form{grid-template-columns:1fr}}
