.content-library{box-sizing:border-box;width:min(1080px,100%);min-width:0;margin:0 auto;padding:28px;overflow:auto}.content-library>header p{max-width:75ch;color:var(--muted);line-height:1.6}.template-browser{gap:12px;min-width:0;display:grid}.template-filters{flex-wrap:wrap;gap:14px;display:flex}.template-filters label{flex:1;gap:6px;min-width:130px;display:grid}.template-filters select{width:100%}.template-results{grid-template-columns:repeat(auto-fit,minmax(min(100%,275px),1fr));gap:10px;display:grid}.template-card{text-align:left;white-space:normal;justify-content:flex-start;align-items:flex-start;gap:12px;min-width:0;padding:14px;display:flex}.template-card>span{gap:6px;min-width:0;display:grid}.template-card strong,.template-card small{overflow-wrap:anywhere}.template-card small{color:var(--muted)}.template-card[aria-pressed=true]{border-color:var(--ice);background:var(--icesus-active)}.template-card-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:400;display:-webkit-box;overflow:hidden}.template-preview{border:1px solid var(--line,#304958);border-radius:6px;min-width:0;padding:16px}.template-preview h2,.template-preview h3{margin-top:0}.template-preview pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:340px;font:12px/1.6 var(--mono);overflow:auto}.template-description{white-space:pre-wrap;overflow-wrap:anywhere}.template-pagination,.template-actions{flex-wrap:wrap;align-items:center;gap:12px;margin:12px 0;display:flex}.dialog.template-dialog>label:not(.template-consent){gap:6px;display:grid}.template-dialog{width:min(620px,100vw - 24px);min-width:0}.template-dialog input:not([type=checkbox]),.template-dialog textarea,.template-dialog select{box-sizing:border-box;width:100%}.dialog .template-consent{flex-direction:row;align-items:flex-start;gap:10px;line-height:1.5;display:flex}.template-consent input{flex:none;width:18px;height:18px}.template-saved{font:12px/1.5 var(--sans)}.template-source-choice{margin-bottom:8px}.add:has(.template-browser){width:min(720px,100vw - 24px)}@media (width<=600px){.content-library{padding:18px 12px}.template-results{grid-template-columns:minmax(0,1fr)}}.centre .filehead:has(.template-saved){flex-wrap:wrap}.special-features{max-width:1000px;margin:0 auto;padding:20px}.special-features h2,.special-features h3{color:var(--bright)}.special-features>p{line-height:1.6}.special-features label{gap:6px;min-width:0;display:grid}.special-feature-add{flex-wrap:wrap;align-items:end;gap:10px;margin:20px 0;display:flex}.special-feature-add label{flex:250px}.special-features input,.special-features select{width:100%;min-width:0}.special-feature-list{gap:16px;display:grid}.feature-request-shortcut{text-align:left;overflow-wrap:anywhere;min-width:0;max-width:100%}.special-feature-group{overflow-wrap:anywhere;min-width:0}.special-feature-group article+article{margin-top:10px}.area-facts-brief{border-bottom:1px solid var(--hairline);margin-bottom:24px;padding-bottom:20px}.special-feature-section-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.area-facts-brief h2{margin-top:0}.area-facts-brief h3{margin-bottom:8px}.area-facts-brief dl{grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:16px 24px;display:grid}.area-facts-brief dt{color:var(--muted);margin-bottom:4px;font-size:12px}.area-facts-brief dd{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.5}.area-facts-wide{grid-column:1/-1}.special-feature-list article{border:1px solid var(--hairline);border-left:3px solid var(--ice);overflow-wrap:anywhere;border-radius:6px;min-width:0;padding:16px}.special-feature-list h3{margin:0 0 8px}.special-feature-owner{color:var(--muted);font-size:12px}.special-features a{text-underline-offset:2px;text-decoration:underline}.special-feature-spec{white-space:pre-wrap;line-height:1.6}.special-feature-status{color:var(--bright);font-weight:600}.special-feature-status[data-status=ready]{color:var(--ice)}.special-feature-feedback{border-top:1px solid var(--hairline);margin-bottom:12px;padding-top:12px}.special-features>label+label{margin-top:12px}.special-feature-handoff{border-top:1px solid var(--hairline);margin-top:12px;padding-top:12px}.special-feature-handoff dl{gap:8px;margin:0 0 8px;display:grid}.special-feature-handoff dl>div{grid-template-columns:70px minmax(0,1fr);gap:8px;display:grid}.special-feature-handoff dt{color:var(--muted);font-size:12px}.special-feature-handoff dd{overflow-wrap:anywhere;margin:0}.special-feature-brief{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.5}.surface .cm-editor .cm-special-feature{box-sizing:border-box;border:1px solid var(--hairline);border-left:3px solid var(--ice);white-space:normal;width:100%;color:var(--text);background:var(--panel);flex-direction:column;align-items:stretch;gap:8px;padding:12px;display:inline-flex}.cm-special-feature .special-feature-heading{color:var(--bright);justify-content:space-between;align-items:center;gap:10px;display:flex}.cm-special-feature .special-feature-help{font:13px/1.5 var(--prose);color:var(--muted)}.surface .cm-editor .cm-special-feature textarea{box-sizing:border-box;resize:vertical;width:100%;min-height:180px;font:14px/1.5 var(--prose);white-space:pre-wrap}.cm-special-feature label{min-width:0;font:14px/1.5 var(--prose);gap:6px;display:grid}.cm-special-feature select{width:100%;min-width:0}.surface .cm-editor .cm-special-feature .special-feature-feedback-input{min-height:90px}.modes{flex-wrap:wrap}@media (width<=1100px){.topbar .workbench-masthead{flex-wrap:wrap;gap:8px 12px;height:auto;min-height:64px;padding-top:8px}.topbar .modes{flex:1 0 100%;gap:4px;min-width:0}.topbar .modes a{white-space:nowrap;min-height:42px;padding:6px 10px}}@media (width<=760px){.topbar .workbench-actions{flex-wrap:wrap;height:auto;min-height:47px;padding:8px 12px}.topbar .workbench-masthead .brand{padding-right:10px}.topbar .who{display:none}.topbar .path{flex:80px;min-width:0}}@media (width<=600px){.special-features{padding:12px}}.rename-file-dialog{width:min(520px,100vw - 32px);min-width:0}.rename-file-dialog p{margin:0}.rename-file-dialog strong,.rename-file-dialog output{overflow-wrap:anywhere}.rename-file-dialog input{width:100%;min-width:0}.rename-file-dialog output{font-family:var(--mono);color:var(--bright)}.rename-file-dialog [role=alert]{color:var(--blood)}.centre .filehead{flex-wrap:wrap}.surface .cm-editor .cm-sign-component{background:#0e202b;border:1px solid #355261;border-radius:8px;width:min(66rem,100% - 1rem);max-width:calc(100% - 1rem);margin:8px 0;padding:0;overflow:hidden}.surface .cm-editor .cm-sign-editor{box-sizing:border-box;white-space:normal;color:#dceaf0;width:100%;min-width:0;font:13px/1.5 var(--sans);flex-direction:column;gap:10px;padding:16px;display:flex}.surface .cm-editor .cm-sign-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.surface .cm-editor .cm-sign-header strong{color:#c8eaf2;font-size:16px}.surface .cm-editor .cm-sign-header button{color:#bdd0da;min-height:30px;font:12px/1.5 var(--sans);white-space:nowrap;background:0 0;border:1px solid #456171;border-radius:4px;padding:3px 9px}.surface .cm-editor .cm-sign-header button:hover{color:#fff;background:#293943}.surface .cm-editor .cm-sign-description,.surface .cm-editor .cm-sign-help{color:#a9c0cc;font:12px/1.5 var(--sans)}.surface .cm-editor .cm-sign-layout{grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));align-items:start;gap:20px;display:grid}.surface .cm-editor .cm-sign-fields{border:0;flex-direction:column;gap:16px;min-width:0;padding:0;display:flex}.surface .cm-editor .cm-sign-field{flex-direction:column;align-items:stretch;gap:5px;min-width:0;display:flex}.surface .cm-editor .cm-sign-caption{color:#e0edf3;font-weight:600}.surface .cm-editor .cm-sign-field textarea{box-sizing:border-box;color:#edf6fa;width:100%;min-width:0;max-width:100%;min-height:34px;font:14px/1.6 var(--sans);resize:vertical;background:#081721;border:1px solid #456171;border-radius:4px;flex:none;padding:8px 10px}.surface .cm-editor .cm-sign-field textarea::placeholder{color:#94aeba;opacity:1}.surface .cm-editor .cm-sign-field textarea[aria-invalid=true]{border-color:var(--seed)}.surface .cm-editor .cm-sign-editor :is(textarea,button):focus-visible{outline:2px solid var(--ice);outline-offset:2px}.surface .cm-editor .cm-sign-error{color:var(--seed)}.surface .cm-editor .cm-sign-error[hidden]{display:none}.surface .cm-editor .cm-sign-preview{background:#0a1922;border:1px solid #304854;border-radius:6px;flex-direction:column;gap:10px;min-width:0;padding:14px 16px;display:flex}.surface .cm-editor .cm-sign-preview>strong{color:#a9c0cc;font-size:12px}.surface .cm-editor .cm-sign-preview-caption{color:#a9c0cc;font-size:11px}.surface .cm-editor .cm-sign-preview-prose{white-space:pre-wrap;overflow-wrap:anywhere;font:16px/1.6 var(--prose,Georgia, serif)}.surface .cm-editor .cm-sign-preview code{color:#a5d9e7;font:11px/1.6 var(--mono);overflow-wrap:anywhere;border-top:1px solid #304854;padding-top:10px}.surface .cm-editor .cm-sign-writing{max-height:24rem;overflow:auto}.surface .cm-editor .cm-sign-preview .is-placeholder{color:#a9c0cc;font:italic 13px/1.6 var(--sans)}.surface .cm-editor .cm-sign-component>.cm-behaviour-source{font:12px/1.6 var(--mono);border-top:1px solid #304854;margin:0;padding:9px 16px}.surface .cm-editor .cm-sign-entry{background:#0e202b;border:1px solid #355261;border-radius:6px;flex-direction:column;padding:0;display:flex}.surface .cm-editor .cm-sign-entry .cm-sign-editor{padding:12px}.surface .cm-editor .cm-removable-setting{grid-template-columns:minmax(10ch,max-content) minmax(0,max-content) auto auto}.surface .cm-editor .cm-setting-remove{color:#bdd0da;min-height:28px;font:12px/1.5 var(--sans);padding:3px 8px}@media (width<=760px){.surface .cm-editor .cm-removable-setting{grid-template-columns:minmax(0,1fr) auto auto}.surface .cm-editor .cm-sign-editor{padding:12px}}button.delete-file-button{color:var(--blood)}button.delete-file-button:hover:not(:disabled){color:var(--blood);border-color:var(--blood)}button.delete-file-icon{flex-shrink:0;width:32px;height:32px;padding:6px}.filehead>.delete-file-button{margin-left:auto}.delete-file-dialog{width:min(520px,100vw - 32px);min-width:0}.delete-file-dialog p{margin:0}.delete-file-dialog strong,.delete-file-dialog li{overflow-wrap:anywhere}.delete-file-dialog ul{margin:0;padding-left:20px}.delete-file-dialog [role=alert]{color:var(--blood)}.playtest{max-width:1180px;font:14px/1.65 var(--sans);margin:0 auto;padding:28px clamp(16px,3vw,32px) 48px;container-type:inline-size}.playtest p{margin:8px 0 0}.playtest p a,.playtest dd a{text-underline-offset:3px;text-decoration:underline}.playtest h2{color:var(--bright);font:600 17px/1.35 var(--display);align-items:center;gap:9px;margin:0;display:flex}.playtest h2 .ui-icon{color:var(--ice)}.playtest-head{align-items:center;gap:16px;margin-bottom:24px;display:flex}.playtest .playtest-head h1{color:var(--bright);font:28px/1.2 var(--display);margin:0}.playtest-head p{max-width:660px;color:var(--muted)}.playtest-emblem{width:52px;height:64px;color:var(--ice);background:linear-gradient(145deg, #294657, var(--panel));border:1px solid #476a7d;border-radius:16px 16px 6px 6px;flex:none;place-items:center;display:grid}.playtest-emblem .ui-icon{width:30px;height:30px}.playtest-session{background:linear-gradient(120deg, #192f3e, var(--panel));border:1px solid #496777;border-radius:8px;padding:20px}.playtest-session-heading,.playtest-client-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.playtest-status{color:var(--ice);border:1px solid #496777;border-radius:20px;padding:3px 10px;font-size:12px;font-weight:600}.playtest-session[data-state=running] .playtest-status{color:var(--moss);border-color:#487c68}.playtest-session .playtest-status[data-attention=true]{color:var(--seed);border-color:#8a7254}.playtest-said{color:var(--bright);overflow-wrap:anywhere}.playtest-position{color:var(--ice);align-items:center;gap:9px;display:flex}.playtest-position strong{font-size:26px;line-height:1.2}.playtest-actions{flex-wrap:wrap;align-items:center;gap:10px;margin:18px 0 12px;display:flex}.playtest-actions button,.playtest-open{min-height:40px;padding:8px 13px;font-size:13px}.playtest-actions button:disabled{color:var(--muted);-webkit-text-fill-color:currentColor;background:var(--raised);border-color:var(--hairline);opacity:1;transition:none}.playtest-open{color:#102733;background:linear-gradient(#c8e9f0,#8fbccc);border:1px solid #c4e7f0;border-radius:5px;justify-content:center;align-items:center;gap:7px;font-weight:600;display:inline-flex}.playtest-open:hover{background:#d6f2f8;text-decoration:none}.playtest-session-help,.playtest-meanwhile{color:var(--muted);font-size:13px}.playtest .playtest-coordination{color:var(--text);align-items:flex-start;gap:9px;margin-top:16px;font-size:13px;display:flex}.playtest-coordination>.ui-icon{color:var(--ice);margin-top:3px}.playtest-coordination b{color:var(--ice)}.playtest-queue{border-top:1px solid var(--hairline);margin-top:18px;padding-top:16px}.playtest-queue h3{color:var(--bright);margin:0;font-size:14px}.playtest .playtest-queue p{color:var(--muted);margin:4px 0 12px;font-size:12px}.playtest-queue ol{margin:0;padding-left:24px}.playtest-queue li{border-bottom:1px solid var(--hairline);overflow-wrap:anywhere;padding:9px 10px}.playtest-queue li::marker{color:var(--muted);font:12px var(--mono)}.playtest-queue li[aria-current=true]{background:#203b4b;border-radius:4px}.playtest-queue-area{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.playtest-queue-area>a{text-underline-offset:3px;font-weight:600;text-decoration:underline}.playtest-queue-current{color:var(--muted);font-size:11px}.playtest-queue-creator{color:var(--muted);margin-top:2px;font-size:12px;display:block}.playtest-queue-creator b{color:var(--text);font-weight:500}.playtest-error{border-left:3px solid var(--blood);color:var(--blood);overflow-wrap:anywhere;background:#2b202b;padding:10px 12px}.playtest-workflow{margin:22px 0}.playtest-workflow ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.playtest-workflow li{align-items:flex-start;gap:10px;min-width:0;display:flex}.playtest-workflow li>span{border:1px solid var(--hairline);width:26px;height:26px;font:12px/1 var(--mono);color:var(--ice);background:var(--panel);border-radius:50%;flex:none;place-items:center;display:grid}.playtest-workflow b{color:var(--text);font-size:13px}.playtest-workflow p{color:var(--muted);margin:2px 0 0;font-size:12px}.playtest-client{margin:24px 0}.playtest-client-heading>span,.playtest-client>p{color:var(--muted);font-size:12px}.playtest-client code{overflow-wrap:anywhere}.playtest-commands{border:1px solid var(--hairline);background:var(--panel);border-radius:6px;margin-top:14px;padding:14px 16px}.playtest-commands h3{color:var(--bright);margin:0;font-size:15px}.playtest-commands p{color:var(--text);font-size:14px}.playtest-game{background:var(--panel);border:1px solid #496777;border-radius:6px;width:100%;height:65vh;min-height:420px;margin-top:12px;display:block}.playtest-guide{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:28px 0;display:grid}.playtest-guide section{min-width:0}.playtest-guide p,.playtest-troubleshooting dd{color:var(--muted);font-size:13px}.playtest-guide b{color:var(--text);font-weight:500}.playtest .playtest-report{border:1px solid var(--hairline);background:var(--panel);border-radius:8px;padding:22px;scroll-margin-top:16px}.playtest-report-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.playtest .playtest-report>p{color:var(--muted);font-size:13px}.playtest-validation{background:var(--ground);border:1px solid var(--hairline);border-radius:5px;margin:16px 0;padding:14px}.playtest-validation-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.playtest-validation p{font-size:13px}.playtest .playtest-report fieldset{border:0;min-width:0;max-width:none;margin:18px 0;padding:0}.playtest .playtest-report legend{color:var(--bright);font-weight:600}.playtest .playtest-report fieldset:disabled{opacity:1}.playtest .playtest-report fieldset:disabled .check{color:var(--muted)}.playtest .playtest-report .check{border:1px solid var(--hairline);border-radius:5px;margin:8px 0;padding:10px 12px;font-size:13px}.playtest .playtest-report textarea{min-height:120px;font:14px/1.6 var(--sans);padding:12px}.playtest .playtest-report .help{color:var(--muted);margin-bottom:14px;font-size:12px}.playtest-recorded{border-left:3px solid var(--moss);background:#142d29;margin:16px 0;padding:14px}.playtest-recorded p{white-space:pre-wrap;overflow-wrap:anywhere}.playtest-troubleshooting{margin-top:28px}.playtest-troubleshooting dl{margin:14px 0 0}.playtest-troubleshooting dl>div{border-top:1px solid var(--hairline);padding:12px 0}.playtest-troubleshooting dt{font-size:13px;font-weight:600}.playtest-troubleshooting dd{margin:4px 0 0}@container (width>=850px){.playtest-workflow ol{grid-template-columns:repeat(4,minmax(0,1fr))}}@container (width<=580px){.playtest-guide{grid-template-columns:minmax(0,1fr)}.playtest-session,.playtest .playtest-report{padding:16px}.playtest-emblem{display:none}.playtest-actions button,.playtest-open{min-height:44px}}@container (width<=340px){.playtest-workflow ol{grid-template-columns:minmax(0,1fr)}}@media (width<=760px){.app:has(.playtest){width:100%;min-width:0}.app:has(.playtest) .frame{min-width:0;display:block}.app:has(.playtest) .frame>.rail{display:none}.app:has(.playtest) .resizer{display:none}.app:has(.playtest) .centre{width:100%;min-width:0;height:100%}.app:has(.playtest) .topbar{min-height:0}.app:has(.playtest) .workbench-masthead{flex-wrap:wrap;gap:8px 12px;height:auto;padding:12px 16px 0}.app:has(.playtest) .workbench-masthead .brand{padding-right:12px}.app:has(.playtest) .brand-type{display:none}.app:has(.playtest) .topbar .path{flex:1;min-width:0;margin:0}.app:has(.playtest) .topbar .who{display:none}.app:has(.playtest) .modes{flex:1 0 100%;justify-content:space-between;gap:0}.app:has(.playtest) .modes a{min-height:44px;padding:6px 10px}.app:has(.playtest) .workbench-actions{flex-wrap:wrap;gap:8px;height:auto;padding:8px 12px}.app:has(.playtest) .workbench-actions .spacer{display:none}.app:has(.playtest) .workbench-actions .icon{display:none}.playtest{padding-top:20px}}.playtest-versions{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:18px 0;display:grid}.playtest-versions>div{border:1px solid var(--hairline);border-radius:5px;padding:12px}.playtest-versions dt{color:var(--muted);font-size:12px}.playtest-versions dd{color:var(--bright);overflow-wrap:anywhere;margin:5px 0 0}.playtest-queue ul{margin:0;padding:0;list-style:none}.playtest-queue li button{margin-top:8px}.playtest-withdraw{border:1px solid var(--hairline);border-radius:5px;padding:12px}.playtest-update-errors pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.playtest-workbench{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;margin-top:16px;display:grid}.playtest-workbench .playtest-game{margin-top:0}.playtest-inspector{background:var(--panel);border:1px solid #496777;border-radius:6px;min-width:0;padding:16px}.playtest-inspector h2{color:var(--bright);margin:0;font-size:17px}.playtest-inspector h3{color:var(--bright);margin:16px 0 6px;font-size:14px}.playtest-inspector label{color:var(--bright);gap:6px;margin-top:14px;display:grid}.playtest-inspector select,.playtest-inspector textarea{box-sizing:border-box;width:100%;min-width:0;max-width:100%;font:inherit}.playtest-inspector button{min-height:40px;margin-top:10px}.playtest-inspector p,.playtest-inspector code{overflow-wrap:anywhere}.playtest-source{border:1px solid var(--hairline);background:var(--ground);max-height:240px;color:var(--text);font:12px/1.6 var(--mono);tab-size:2;border-radius:4px;padding:12px;overflow:auto}.playtest-file-notes{max-height:180px;padding-left:22px;overflow:auto}.playtest-file-notes li{margin-bottom:10px}.playtest-file-notes p{white-space:pre-wrap}.playtest-inspector .help{color:var(--muted);font-size:13px}@container (width>=760px){.playtest-workbench{grid-template-columns:minmax(0,1.1fr) minmax(360px,1fr)}.playtest-workbench .playtest-game{height:820px}}.react-flow{direction:ltr}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1px;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab;position:absolute}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:-webkit-grab;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background:#1a192b;border:1px solid #fff;border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:-4px;left:50%;transform:translate(-50%)}.react-flow__handle-top{top:-4px;left:50%;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{top:50%;right:-4px;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{background:#ffffff80;margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{color:#222;text-align:center;background-color:#fff;border:1px solid #1a192b;border-radius:3px;width:150px;padding:10px;font-size:12px}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted #0059dccc}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{box-sizing:content-box;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fefefe;border:none;border-bottom:1px solid #eee;justify-content:center;align-items:center;width:16px;height:16px;padding:5px;display:flex}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:#3367d9;border:1px solid #fff;border-radius:1px;width:4px;height:4px;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border:0 solid #3367d9}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ground:var(--icesus-night);--panel:var(--icesus-slate);--raised:var(--icesus-raised);--hairline:var(--icesus-line);--text:var(--icesus-text);--muted:var(--icesus-muted);--dim:var(--icesus-muted);--bright:var(--icesus-bright);--ice:var(--icesus-ice);--ember:var(--icesus-gold);--seed:var(--icesus-gold);--blood:var(--icesus-red);--moss:var(--icesus-green);--prose:"Source Serif 4", "Source Serif Pro", Georgia, serif;--display:var(--icesus-display);--sans:var(--icesus-sans);--mono:var(--icesus-mono);--rail-left:264px;--rail-right:340px;--bar:112px;--gap:12px;--control-height:32px;--control-border:var(--icesus-line);--control-ground:var(--icesus-control);--control-radius:4px;--focus-ring:2px solid var(--ice)}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--ground);color:var(--text);font:400 13px/1.5 var(--mono);-webkit-font-smoothing:antialiased;margin:0}a{color:var(--ice);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;color:var(--text);background:var(--raised);border:1px solid var(--hairline);cursor:pointer;border-radius:2px;padding:4px 10px}button:hover:not(:disabled){color:var(--bright);border-color:var(--dim)}button:disabled{color:var(--dim);cursor:default}button.primary{background:var(--ember);border-color:var(--ember);color:#10070a;font-weight:600}button.primary:hover{color:#10070a}button.quiet{color:var(--muted);background:0 0;border-color:#0000}button.quiet:hover{color:var(--bright)}input,textarea,select{font:inherit;color:var(--bright);background:var(--ground);border:1px solid var(--hairline);border-radius:2px;padding:4px 6px}select{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0h10L5 6z' fill='%23767c8f'/%3E%3C/svg%3E");background-position:right 7px center;background-repeat:no-repeat;padding-right:22px}:focus-visible{outline:2px solid var(--ice);outline-offset:1px}.shell{flex-direction:column;height:100%;min-height:0;display:flex}.app{flex-direction:column;flex:auto;min-height:0;display:flex}.appnav{z-index:15;background:var(--panel);border-bottom:1px solid var(--hairline);flex-wrap:wrap;flex:none;align-items:center;gap:14px;min-height:44px;padding:4px 14px;font-size:12px;display:flex;position:relative}.appnav-brand{color:var(--dim);letter-spacing:.04em}.appnav nav{gap:2px;display:flex}.appnav nav a{color:var(--muted);border:1px solid #0000;border-radius:2px;padding:3px 8px}.appnav nav a:hover{color:var(--bright);text-decoration:none}.appnav nav a[aria-current=page]{color:var(--bright);background:var(--raised);border-color:var(--hairline)}.appnav .spacer{flex:1 1 0;min-width:0}.appnav .who{color:var(--muted)}.appnav button{padding:2px 8px;font-size:12px}.icesus-links{margin:0;position:relative}.icesus-links summary{cursor:pointer;min-height:36px;color:var(--bright);border:1px solid var(--hairline);border-radius:4px;padding:8px}.icesus-links>nav,.appnav .icesus-links>nav{z-index:100;border:1px solid var(--hairline);background:var(--panel);width:min(290px,100vw - 24px);max-height:70dvh;padding:10px;display:grid;position:absolute;top:100%;right:0;overflow-y:auto;box-shadow:0 12px 30px #0006}.icesus-links p{color:var(--muted);padding:0 8px;font-size:13px}.icesus-links a,.appnav .icesus-links a{min-height:44px;color:var(--bright);padding:10px 8px}.icesus-links :is(summary,a):focus-visible{outline:2px solid var(--bright);outline-offset:-2px}.signin .icesus-links{margin-bottom:18px}.signin .icesus-links>nav{left:0;right:auto}@media (width<=760px){.appnav{flex-wrap:wrap;flex-basis:auto;gap:6px 12px;height:auto;padding:8px 12px}.appnav nav{flex-wrap:wrap;flex:1 0 100%;order:1}.appnav nav a{align-items:center;gap:4px;min-height:44px;display:inline-flex}.appnav .icesus-links summary{min-height:44px}.appnav .icesus-links{position:static}.appnav .icesus-links>nav{width:auto;left:12px;right:12px}}.topbar{height:var(--bar);flex:0 0 var(--bar);background:var(--panel);border-bottom:1px solid var(--hairline);align-items:center;gap:8px;padding:0 14px;display:flex}.topbar .path{color:var(--muted);font:inherit;text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:96px;margin:0;overflow:hidden}.topbar .who{color:var(--muted);flex:none}@media (width<=1400px){.topbar{gap:8px}.topbar .crumb{display:none}.topbar .path{min-width:0}.topbar .who{display:none}.topbar button,.modes a{padding:4px 8px}}.topbar .spacer{flex:1 1 0;min-width:0}.topbar button{white-space:nowrap}.topbar button.icon{padding:4px 8px;font-size:13px}.topbar .path b{color:var(--bright);font-weight:500}.topbar .save{color:var(--muted);min-width:96px}.findings .source{color:var(--dim);letter-spacing:.04em;text-transform:uppercase;margin-left:6px;font-size:11px}.modes{gap:2px;display:flex}.modes a{color:var(--muted);border:1px solid #0000;border-radius:2px;padding:4px 10px}.modes a:hover{color:var(--bright);text-decoration:none}.modes a[aria-current=page]{color:var(--bright);background:var(--raised);border-color:var(--hairline)}.badge{border:1px solid var(--hairline);color:var(--muted);text-transform:lowercase;border-radius:2px;padding:1px 6px;font-size:11px}.badge.conflict{color:var(--seed);border-color:var(--seed)}.unshared{color:var(--seed);font-weight:400}.frame{grid-template-columns:var(--rail-left) auto minmax(0, 1fr) auto var(--rail-right);background:var(--hairline);flex:1;gap:1px;min-height:0;display:grid}.frame.no-left{grid-template-columns:minmax(0, 1fr) auto var(--rail-right)}.frame.no-right{grid-template-columns:var(--rail-left) auto minmax(0, 1fr)}.frame.no-left.no-right{grid-template-columns:minmax(0,1fr)}.resizer{cursor:col-resize;background:0 0;border:0;width:8px;padding:0;position:relative}.resizer:before{content:"";background:var(--hairline);position:absolute;inset:0 3px}.resizer:hover:before,.resizer:focus-visible:before{background:var(--ice)}.resizer:focus-visible{outline:none}.rail,.centre{background:var(--ground);min-height:0;overflow:auto}.panel{border-bottom:1px solid var(--hairline);padding:10px 12px}.panel>h2{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-size:11px;font-weight:500}.tree{margin:0;padding:0;list-style:none}.tree .group{color:var(--dim);letter-spacing:.08em;text-transform:uppercase;margin:8px 0 2px;font-size:11px}.tree a{color:var(--text);border-radius:2px;align-items:baseline;gap:6px;padding:2px 6px;display:flex}.tree a:hover{background:var(--raised);text-decoration:none}.tree a[aria-current=page]{background:var(--raised);color:var(--bright);box-shadow:inset 2px 0 0 var(--ice)}.tree .marks{gap:5px;margin-left:auto;display:flex}.tree a.away{color:var(--dim);font-style:italic}.tree a.away:hover{color:var(--text)}.mark{color:var(--muted);font-size:11px}.mark.seed{color:var(--seed)}.mark.blocking{color:var(--blood)}.mark.code{color:var(--dim)}.look{white-space:pre;min-width:0;font:400 12.5px/1.45 var(--mono);color:var(--text);border:1px solid var(--hairline);background:#000;border-radius:2px;margin:0;padding:8px;overflow-x:auto}.look .row{text-indent:0;padding:0}.file-preview{border-top:1px solid var(--hairline);background:var(--panel);border-bottom:0;flex-direction:column;flex:0 auto;min-height:0;max-height:35%;display:flex}.preview-heading{flex-wrap:wrap;flex:none;align-items:center;gap:8px 12px;display:flex}.preview-heading h2{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);align-items:center;gap:7px;margin:0;font-size:11px;font-weight:500;display:flex}.preview-heading button{font-size:11px}.preview-heading .preview-toggle{margin-left:auto}.preview-tabs{flex-wrap:wrap;gap:4px;display:flex}.preview-tabs [role=tab]{color:var(--muted);background:0 0;border-color:#0000}.preview-tabs [role=tab][aria-selected=true]{color:var(--ice);background:var(--raised);border-color:var(--hairline)}.preview-output{min-height:0;margin-top:8px;display:flex}.preview-output[hidden]{display:none}.preview-output .look{width:100%;overflow:auto}.file-preview[data-mode=code]{max-height:50%}.code-review-output{flex-direction:column}.code-review{flex-direction:column;gap:6px;width:100%;min-width:0;min-height:0;display:flex}.code-review-toolbar{flex:none;align-items:center;gap:8px;display:flex}.code-review-path{font:11px var(--mono);overflow-wrap:anywhere;min-width:0}.code-review-toolbar button{flex:none;margin-left:auto;font-size:11px}.code-review-status,.code-review-guide{color:var(--muted);flex:none;margin:0;font-size:11px}.code-review-guide code{color:var(--ice)}.code-review-source{white-space:pre;tab-size:2;min-height:0;font:12px/1.6 var(--mono);color:var(--text);background:var(--ground);border:1px solid var(--hairline);border-radius:3px;gap:14px;margin:0;padding:10px;display:flex;overflow:auto}.code-review-source>code{font:inherit}.code-review-numbers{color:var(--dim);text-align:right;-webkit-user-select:none;user-select:none;border-right:1px solid var(--hairline);padding-right:12px}.lpc-keyword,.lpc-meta{color:var(--ice)}.lpc-type,.lpc-number,.lpc-atom{color:var(--seed)}.lpc-string{color:var(--moss)}.lpc-comment{color:var(--dim);font-style:italic}.lpc-def,.lpc-builtin{color:var(--bright)}.file-actions>.addmenu{margin-top:0}.behaviour-addition{margin-top:14px}.behaviour-addition>label{color:var(--muted);font-size:12px}.behaviour-addition select{flex:160px;min-width:0;max-width:100%}.file-actions .room-properties{border:0;flex-wrap:wrap;gap:6px;margin-top:14px;padding:0;display:flex}.file-actions .room-properties select{flex:100%;width:100%;min-width:0}.file-actions .room-properties button{font-size:11px}.file-actions .room-property-help{width:100%;color:var(--muted);font-size:12px}.placed{margin:0;padding:0;list-style:none}.placed li{gap:8px;padding:2px 0;display:flex}.placed .glyph{color:var(--muted);width:1em}.placed .empty,.empty{color:var(--dim)}.empty a{text-underline-offset:3px;text-decoration:underline}.exits{margin:0;padding:0;list-style:none}.exits li{flex-wrap:wrap;gap:2px 8px;padding:2px 0;display:flex}.exits .dir{color:var(--bright);flex:none;min-width:5em}.exits .stub{color:var(--seed)}.addmenu{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.stubform{border-top:1px solid var(--hairline);flex-direction:column;gap:8px;margin-top:10px;padding-top:10px;display:flex}.stubform label{color:var(--muted);align-items:center;gap:8px;display:flex}.stubform input{flex:1;min-width:0}.stubform .footnote{padding:0}.footnote{color:var(--dim);padding:8px 12px;font-size:11px}.findings{white-space:nowrap;flex:none;align-items:center;gap:10px;display:flex}.findings .n{color:var(--muted)}.findings .n.blocking{color:var(--blood)}.findings .n.warning{color:var(--seed)}.centre .filehead{border-bottom:1px solid var(--hairline);background:var(--panel);align-items:baseline;gap:10px;padding:8px 14px;display:flex}.centre .filehead .name{color:var(--bright)}.centre .filehead .cls{color:var(--muted)}pre.source{white-space:pre;margin:0;padding:10px 14px;overflow:auto}pre.source .ln{color:var(--dim);-webkit-user-select:none;user-select:none}.notice{color:var(--muted);padding:24px}.notice h1{font:600 16px/1.4 var(--prose);color:var(--bright);margin:0 0 8px}.list{max-width:720px;margin:40px auto;padding:0 20px}.list h1{font:600 20px/1.3 var(--prose);color:var(--bright)}.list h2{font:600 14px/1.4 var(--prose);color:var(--bright);margin:24px 0 4px}.list .help{font:400 13px/1.6 var(--prose);color:var(--dim);max-width:60ch;margin:0 0 8px}.list table{border-collapse:collapse;width:100%}.list td,.list th{text-align:left;border-bottom:1px solid var(--hairline);padding:6px 8px;font-weight:400}.list th{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.form{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-top:12px;display:flex}.form .field{flex-direction:column;gap:3px;margin:0;display:flex}.form .field label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.callout{border-left:2px solid var(--ice);margin:16px 0;padding:6px 0 6px 10px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.minimap{max-width:100%;display:block}.minimap g{cursor:pointer}.minimap g:hover rect{stroke:var(--dim)}.surface{height:100%;min-height:0}.surface .cm-editor{height:100%}.surface .cm-scroller{overflow:auto}.build{flex-direction:column;height:100%;min-height:0;display:flex}.build .surface{flex:1}.build>.filehead,.build>nav{flex-shrink:0}.prose-only .cm-line,.prose-only .cm-opaque,.prose-only .cm-unlocked,.prose-only .cm-behaviour,.prose-only .cm-behaviour-edited{color:#0000}.prose-only .cm-behaviour-edited{border-left-color:#0000}.prose-only .cm-island{color:var(--text)}.prose-only .cm-gutters{display:none}.prose-only .cm-line:not(:has(.cm-island,.cm-behaviour-row)){font-size:0;line-height:.6}.mapmode{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr) 260px;height:100%;min-height:0;display:grid}.maptools{border-bottom:1px solid var(--hairline);background:var(--panel);grid-column:1/-1;align-items:center;gap:8px;padding:8px 12px;display:flex}.mapcanvas{min-height:0}.maprail{border-left:1px solid var(--hairline);overflow:auto}.react-flow__node{font:inherit}.react-flow__edge-text{fill:var(--muted);font-size:10px}.react-flow__controls button{background:var(--panel);border-color:var(--hairline)}.room-node,.stub-node{background:var(--panel);border:1px solid var(--hairline);width:96px;color:var(--text);border-radius:2px;padding:6px 8px}.room-node.selected{border-color:var(--ice);box-shadow:0 0 0 1px var(--ice)}.stub-node{border-style:dashed;border-color:var(--seed)}.room-node .short,.stub-node .short{color:var(--bright);font-size:11px;line-height:1.3}.room-node .file,.stub-node .file{color:var(--dim);font-size:10px}.stub-node .stub-text{color:var(--seed);margin-top:3px;font-size:10px}.room-node .marks{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.room-node .marks .mark{font-size:9px}.room-node .marks .blocking{color:var(--blood)}.room-node .marks .warning{color:var(--seed)}.handle{background:var(--dim);border:1px solid var(--hairline);width:7px;height:7px}.handle-target{opacity:0}.cm-detail,.cm-detail>label{display:block}.findings-page{overflow-wrap:anywhere;padding:24px}.finding-list{padding-left:24px}.finding-list li{margin-bottom:20px}.finding-list p{margin-bottom:6px}.placement-actions,.placement-move{min-width:0;display:block}.placement-buttons{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.placement-move select{width:100%}.action-error{color:var(--blood);overflow-wrap:anywhere;margin:8px 16px}.cm-detail{width:100%}.cm-detail>span:first-child,.cm-detail>label{color:var(--dim)}.cm-detail .cm-island-prose{width:100%;margin-top:6px;display:block}.stub-node .stub-text{-webkit-line-clamp:3;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.dialog-backdrop{z-index:20;background:#060b14b3;place-items:center;display:grid;position:fixed;inset:0}.dialog{background:var(--panel);border:1px solid var(--hairline);border-radius:2px;flex-direction:column;gap:10px;min-width:340px;padding:16px;display:flex}.dialog h2{font:600 14px/1.3 var(--prose);color:var(--bright);margin:0}.dialog label{color:var(--muted);align-items:center;gap:8px;display:flex}.dialog label.check{align-items:flex-start}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.dialog.add{max-width:560px}.dialog.add label{grid-template-columns:12ch 1fr;display:grid}.dialog.add .footnote{margin:-4px 0 0 calc(12ch + 8px)}.dialog.add select,.dialog.add input{width:100%}.dialog.add input[type=number]{width:8ch}.dialog.history{min-width:420px}.dialog.history .placed li{padding:3px 0}.dialog.history .glyph{width:7ch;color:var(--dim)}.facts .facts-body{padding:20px 24px 40px}.facts h1{font:600 18px/1.3 var(--prose);color:var(--bright);margin:0 0 6px}.facts h2{font:600 12px/1.3 var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;align-items:baseline;gap:8px;margin:28px 0 10px;display:flex}.facts .lede{color:var(--muted);max-width:74ch;margin:0 0 4px}.fact{background:var(--raised);border:1px solid var(--hairline);border-radius:2px;max-width:min(74ch,100%);margin:10px 0;padding:10px 12px}.fact[data-seed=true]{border-color:var(--seed)}.fact-head{align-items:baseline;gap:8px;display:flex}.fact-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.fact .help{color:var(--dim);margin:3px 0 8px}.fact-short,.fact-prose{background:var(--panel);width:100%;color:var(--text);border:1px solid var(--hairline);border-radius:2px;padding:6px 8px}.fact-prose{font:15px/1.55 var(--prose);resize:vertical}.fact-short{font:14px/1.4 var(--mono)}.fact-short:focus,.fact-prose:focus{outline:1px solid var(--ice)}.derived{max-width:min(74ch,100%);margin:0}.derived>div{border-bottom:1px solid var(--hairline);align-items:baseline;gap:12px;padding:5px 0;display:flex}.derived dt{width:20ch;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;flex:none;font-size:11px}.derived dd{flex-wrap:wrap;flex:1;align-items:baseline;gap:10px;margin:0;display:flex}.derived .value{color:var(--text);font-family:var(--mono);font-size:13px}.derived .empty{color:var(--dim);font-style:italic}.derived .from{color:var(--dim);margin-left:auto;font-size:11px}.seeds .done{color:var(--moss)}.seedlist{max-width:min(74ch,100%);margin:0;padding:0;list-style:none}.seedlist li{border-bottom:1px solid var(--hairline);align-items:baseline;gap:12px;padding:5px 0;display:flex}.seedlist .where{color:var(--muted);text-align:right;margin-left:auto;font-size:12px}.signin{max-width:420px;margin:12vh auto;padding:0 20px}.signin h1{font:600 20px/1.3 var(--prose);color:var(--bright);margin:0 0 12px}.signin p{font:400 14px/1.6 var(--prose);color:var(--muted);margin:0 0 20px}.signin form{gap:6px;display:grid}.signin label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:11px}.signin input{margin-bottom:10px}.signin button{justify-self:start;margin-top:4px}.signin .refusal{color:var(--blood);margin-top:16px}.list ul{margin:0 0 20px;padding-left:20px}.list li,.list p{font:400 14px/1.6 var(--prose);color:var(--muted)}.review{max-width:720px;margin:32px auto;padding:0 20px}.review h1{font:600 20px/1.3 var(--prose);color:var(--bright);margin:0 0 4px}.review .state{font:400 15px/1.5 var(--prose);color:var(--bright);margin:0 0 4px}.review .pr,.review .conflict{font:400 13px/1.6 var(--prose);color:var(--muted);margin:0 0 16px}.review .conflict{color:var(--blood)}.review button{margin-bottom:16px}.review>p[role=status]{font:400 13px/1.6 var(--prose);color:var(--muted);margin:0 0 16px}.review .comments{margin:0;padding:0;list-style:none}.review .comments li{border-top:1px solid var(--hairline);padding:12px 0}.review .who{font:400 13px/1.4 var(--prose);color:var(--bright);margin:0 0 4px}.review .who .where{color:var(--muted)}.review .body{font:400 14px/1.6 var(--prose);color:var(--muted);white-space:pre-wrap;margin:0}.rail .panel.said .placed span:last-child,.rail .panel.said .glyph{color:var(--bright)}.entry{max-width:720px;margin:0 0 32px}.entry h1{font:600 20px/1.3 var(--prose);color:var(--bright);margin:0 0 4px}.entry h2{font:600 13px/1.4 var(--prose);color:var(--bright);text-transform:uppercase;letter-spacing:.06em;margin:0 0 10px}.entry h3{font:500 13px/1.4 var(--mono);color:var(--muted);margin:16px 0 6px}.entry .panel{border-top:1px solid var(--hairline);border-bottom:none;padding:16px 0}.entry p{font:400 14px/1.6 var(--prose);color:var(--muted);margin:0 0 8px}.entry .aside{color:var(--dim)}.entry .notes{white-space:pre-wrap}.entry .paste{align-items:center;gap:10px;display:flex}.entry .paste code{color:var(--bright)}.entry dl{margin:0}.entry dt{font:500 12px/1.6 var(--prose);color:var(--dim);text-transform:uppercase;letter-spacing:.05em;margin-top:8px}.entry dt .seed{color:var(--seed);text-transform:none;letter-spacing:0}.entry dd{font:400 14px/1.6 var(--prose);color:var(--text);margin:2px 0 0}.entry ul{margin:0;padding:0;list-style:none}.entry .rooms li,.entry .rules li,.entry .files li{font:400 13px/1.6 var(--prose);color:var(--muted);gap:10px;padding:2px 0;display:flex}.entry .glyph{color:var(--dim);text-align:right;min-width:2ch}.entry .where{color:var(--dim)}.entry .mark{color:var(--seed)}.review .switch{margin:0 0 16px}.plan{max-width:720px;margin:40px auto;padding:0 20px 64px}.plan h1{font:600 20px/1.3 var(--prose);color:var(--bright);margin:0 0 12px}.plan h2{font:600 15px/1.4 var(--prose);color:var(--bright);margin:28px 0 4px}.plan p{font:400 14px/1.6 var(--prose);color:var(--muted);margin:0 0 16px}.plan .help{font:400 13px/1.6 var(--prose);color:var(--dim);margin:0 0 12px}.plan .refusal{color:var(--blood)}.plan blockquote{font:400 14px/1.6 var(--prose);color:var(--text);border-left:2px solid var(--hairline);white-space:pre-wrap;margin:0 0 16px;padding:2px 0 2px 14px}.plan .state{border:1px solid var(--hairline);background:var(--panel);border-radius:3px;margin:0 0 8px;padding:14px 16px 2px}.plan .state h2{margin-top:0}.plan .verdict{color:var(--text)}.plan .verdict.yes{color:var(--moss)}.plan .answers{margin:0 0 24px}.plan .answers dt{font:400 11px/1.4 var(--prose);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:16px 0 4px}.plan .answers dd{font:400 14px/1.6 var(--prose);color:var(--text);white-space:pre-wrap;margin:0}.planform{gap:0;display:grid}.planform .question{margin:0 0 20px}.planform label{font:600 14px/1.4 var(--prose);color:var(--bright);margin:0 0 2px;display:block}.planform .help{margin:0 0 6px}.planform input,.planform textarea{width:100%}.planform textarea{font:400 14px/1.6 var(--prose);resize:vertical}.planform button{justify-self:start}.planform .dialog-actions{justify-content:flex-start}.plan .button{border:1px solid var(--hairline);background:var(--raised);color:var(--text);border-radius:4px;padding:6px 12px;display:inline-block}.plan .button:hover{border-color:var(--dim);color:var(--bright);text-decoration:none}.plan-graphics{margin:12px 0 28px}.plan-graphics-grid{gap:20px;margin-top:16px;display:grid}.plan-graphic{min-width:0;margin:0}.plan-graphic>img{object-fit:contain;border:1px solid var(--hairline);background:#edf0ee;border-radius:4px;width:100%;max-height:360px;display:block}.plan-graphic figcaption{overflow-wrap:anywhere;margin:6px 0 10px}.plan-graphic figcaption .help{display:block}.plan-graphic-full{border:1px solid var(--hairline);background:#edf0ee;max-width:100%;max-height:70vh;margin:8px 0;overflow:auto}.plan-graphic-full img{max-width:none;display:block}.plan-graphics input[type=file]{max-width:100%;font-size:13px}.plan .decide{border-top:1px solid var(--hairline);padding-top:8px}.plan .decide label{font:600 14px/1.4 var(--prose);color:var(--bright);margin:16px 0 2px;display:block}.plan .decide textarea,.plan .decide input{width:100%;font:400 14px/1.6 var(--prose)}.plan .decide .dialog-actions{margin-top:16px}.plan .decide input[aria-invalid]{border-color:var(--blood)}.plan .decide .refusal{font:400 13px/1.6 var(--prose);margin:6px 0 0}.plan .decide .refusal button{vertical-align:baseline;text-underline-offset:2px;padding:1px 6px;font-size:12px;text-decoration:underline}.plan .decide .waiting{margin:8px 0 0}body{font-family:var(--sans);font-size:13px}button,input,textarea,select{border-radius:5px}button{justify-content:center;align-items:center;gap:6px;min-height:30px;padding:5px 10px;transition:background .15s,border-color .15s,color .15s;display:inline-flex}button:hover:not(:disabled){background:var(--icesus-hover);border-color:#6c98ad}button.primary{color:#102733;background:linear-gradient(#c8e9f0,#8fbccc);border-color:#c4e7f0;box-shadow:inset 0 1px #e5faff,0 2px 8px #0003}button:disabled{opacity:.6}button[aria-pressed=true]{background:var(--icesus-active);color:var(--ice);border-color:#72a8bf}input,select{min-height:30px}input::placeholder,textarea::placeholder{color:var(--dim);opacity:1}.ui-icon{vertical-align:middle;flex:none}button .ui-icon{width:16px;height:16px}.brand{color:var(--bright);flex:none;align-items:center;gap:12px;display:inline-flex}.brand:hover{text-decoration:none}.brand img{object-fit:contain}.brand-type{flex-direction:column;display:flex}.brand-name{font:500 29px/1.1 var(--display);letter-spacing:.2em;color:#e0f3f8}.brand-caption{font:500 8px/1.8 var(--sans);letter-spacing:.32em;color:#9fbecb}.brand.compact .brand-name{font-size:23px}.brand.compact .brand-caption{font-size:7px}.eyebrow{font:600 10px/1.5 var(--sans);letter-spacing:.22em;color:var(--ice)}.topbar{height:auto;min-height:var(--bar);background:var(--icesus-inset);z-index:5;border-bottom:1px solid #577887;flex:none;padding:0;display:block;box-shadow:0 2px 12px #0004}.workbench-masthead{background:var(--icesus-landscape-overlay), url(/create/brand/frozen-valley.jpg?v=4) center 42% / cover;align-items:center;gap:18px;height:64px;padding:0 22px;display:flex}.workbench-masthead .brand{border-right:1px solid #4b697b;padding-right:24px}.topbar .path{flex-direction:column;min-width:80px;max-width:260px;display:flex}.topbar .path .crumb{font:9px/1.8 var(--sans);letter-spacing:.16em;color:#a5bdc9;display:block}.topbar .path b{font:17px/1.3 var(--display);text-overflow:ellipsis;overflow:hidden}.topbar .who{font-size:12px}.modes{align-self:stretch;gap:8px}.modes a{color:#b1c4ce;border:0;border-radius:0;align-items:center;gap:8px;padding:0 16px;font-size:13px;display:flex;position:relative}.modes a[aria-current=page]{color:#e7f9ff;box-shadow:inset 0 -2px 0 var(--ice);background:linear-gradient(#0000,#33596a66)}.modes a:hover{background:#253d6088}.workbench-actions{background:#0e1e2a;align-items:center;gap:8px;height:47px;padding:0 20px;display:flex}.workbench-label{color:#a9c2cd;font:14px var(--display);align-items:center;gap:8px;display:inline-flex}.workbench-label .ui-icon{color:var(--ice)}.topbar .save{min-width:86px;font-size:11px}.findings{font-family:var(--mono);gap:9px;font-size:11px}.badge{color:#c1d6df;font:10px/1.4 var(--sans);letter-spacing:.03em;border-color:#466270;border-radius:4px;padding:2px 7px}.frame{background:var(--ground);gap:0}.resizer{width:8px}.resizer:before{background:var(--panel);inset:0 3px}.rail{background:linear-gradient(160deg, var(--icesus-slate), var(--icesus-inset) 65%)}.panel{border-color:#29414e;padding:17px 15px}.panel>h2,.atlas-heading>h2{font:500 11px/1.4 var(--sans);letter-spacing:.09em;color:#bacfd9;align-items:center;gap:7px;margin-bottom:12px;display:flex}.panel>h2 .ui-icon,.atlas-heading>h2 .ui-icon{color:#87b5c8;width:15px;height:15px}.workspace-rail{background:linear-gradient(#142744e8 10%,#0b172b 60%),url(/create/brand/frozen-valley.jpg?v=4) 75% 0/auto 380px no-repeat}.atlas-panel{min-height:215px;position:relative}.atlas-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.atlas-heading>h2{margin:0}.minimap-open{background:var(--raised);border:1px solid #466270;border-radius:5px;align-items:center;gap:5px;min-height:30px;padding:4px 7px;font-size:11px;display:inline-flex}.minimap-open:hover{background:var(--icesus-hover);border-color:#6c98ad;text-decoration:none}.minimap-open .ui-icon{width:14px;height:14px}.atlas-panel .minimap{width:100%;max-height:160px;margin:20px auto}.minimap-room{cursor:pointer}.minimap-room-explorable .ui-icon{color:#ffe0a0}.atlas-panel .addmenu{border-top:1px solid #35505e;justify-content:center;align-items:center;padding-top:10px}.atlas-panel .mark{text-align:center;min-width:55px}.tree .group{font:600 10px var(--sans);letter-spacing:.13em;margin:20px 0 5px}.tree a{border-radius:4px;align-items:center;min-height:32px;padding:7px 6px;font-size:12px}.tree a>.ui-icon{color:#82a9bc;width:15px;height:15px}.tree a>span:first-of-type{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tree a[aria-current=page]{background:var(--icesus-panel);box-shadow:inset 2px 0 0 var(--ice)}.tree .marks{font-family:var(--sans)}.tree .mark{font-size:9px}.placed li{padding:4px 0;line-height:1.5}.placed .glyph{min-width:17px}.exits li{border-bottom:1px solid #29414e;padding:6px 0}.exits .dir{color:#bddde9;font-size:12px}.addmenu button{font-size:11px}.look{border-color:#365565;border-radius:5px;padding:12px;box-shadow:inset 0 0 0 3px #0b141c}.centre .filehead{background:var(--icesus-frame);border-bottom-color:#37515f;padding:10px 16px}.filehead .name{font-family:var(--mono);font-size:12px}.centre .filehead .cls{font-size:11px}.surface .cm-island{border-radius:4px}.surface .cm-island-caption{font-family:var(--sans);letter-spacing:.04em}.dialog{background:var(--icesus-panel);border:1px solid #567888;border-radius:8px;gap:14px;padding:24px;box-shadow:0 24px 100px #000a,inset 0 1px #92b6c733}.dialog h2{font:22px/1.25 var(--display)}.dialog-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.mapmode{grid-template-columns:minmax(0,1fr) 250px}.mapmode.no-maprail{grid-template-columns:minmax(0,1fr)}.maptools{background:var(--icesus-inset);flex-wrap:wrap;gap:10px;min-height:55px;padding:10px 18px}.map-title{font:17px var(--display);color:var(--bright);align-items:center;gap:8px;margin-right:12px;display:flex}.maptools>.empty{margin-left:auto;font-size:11px}.maptools>.mark{color:#c1d7e0}.mapcanvas{background:linear-gradient(#0b172bdd,#0b172be8),url(/create/brand/frozen-valley.jpg?v=4) 50%/cover;position:relative}.mapcanvas:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 95px #030c16a6}.room-node,.stub-node{background:var(--icesus-panel);border:1px solid #689;border-radius:7px;width:196px;min-height:134px;padding:13px 14px 12px;box-shadow:0 5px 20px #0006,inset 0 1px #c1e4ee22}.room-node:before{content:"";clip-path:polygon(0 0,100% 0,96% 100%,4% 100%);background:#7fbbcf;height:3px;position:absolute;top:-1px;left:30px;right:30px}.room-node.selected{background:linear-gradient(150deg,#294366,#14243d);border-color:#c8f0ff;box-shadow:0 0 0 2px #72c2df55,0 8px 26px #0008}.room-node.faint{opacity:.4}.room-heading{color:#b2d4e3;font:9px var(--sans);letter-spacing:.1em;align-items:center;gap:7px;margin-bottom:10px;display:flex}.room-heading .ui-icon{width:16px;height:16px}.room-coordinates{letter-spacing:0;color:#9ab6c6;font:9px var(--mono);margin-left:auto}.room-node .short{font:16px/1.25 var(--display);color:#f0f9fc;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.room-node .file{font:10px var(--mono);color:#a3becd;text-overflow:ellipsis;white-space:nowrap;margin-top:7px;overflow:hidden}.room-node .marks{border-top:1px solid #426170;align-items:center;gap:5px;margin-top:11px;padding-top:8px}.room-node .marks .mark{font:9px var(--sans)}.room-node .marks .ui-icon{width:13px;height:13px}.room-node .mark.seed{margin-left:auto}.react-flow__handle.handle{color:#d4f1fa;background:#122a3a;border:1px solid #81b5c9;border-radius:50%;place-items:center;width:21px;height:21px;display:grid}.handle .ui-icon{pointer-events:none;width:13px;height:13px}.react-flow__handle.handle:hover,.react-flow__handle.connecting{background:#396679;border-color:#ecfbff}.react-flow__handle-top{top:-11px}.react-flow__handle-bottom{bottom:-11px}.react-flow__handle-left{left:-11px}.react-flow__handle-right{right:-11px}.stub-node{min-height:104px;box-shadow:none;background:#14243ddb;border-style:dashed;border-color:#b79f7c}.stub-node>.ui-icon{width:22px;height:22px;color:var(--seed);margin-bottom:7px}.stub-node .short{font:15px var(--display);color:#e5c99e}.stub-node .file{color:#c0aa88;margin-top:5px}.stub-node .stub-text{color:#c8b394;line-height:1.4}.react-flow__edge-path{stroke:#81b1c7}.react-flow__edge-text{font-family:var(--sans)}.map-controls{background:#0b172bf5;border:1px solid #4d7184;border-radius:6px;align-items:center;padding:4px;display:flex;box-shadow:0 4px 14px #0005}.map-controls button{color:#c1e2ef;background:0 0;border:0;width:32px;height:32px}.map-controls button:last-child{border-left:1px solid #3d5b6c;border-radius:0;margin-left:5px}.map-controls span{text-align:center;color:#c2dbe5;min-width:45px;font:11px var(--mono)}.map-hint{color:#a5c2d0;background:#0a1426eb;border:1px solid #2e4a5b;border-radius:4px;align-items:center;gap:7px;padding:8px 11px;font-size:11px;display:flex}.map-hint .ui-icon{width:14px;height:14px}.map-compass{color:#a9cddb;font:10px var(--display);flex-direction:column;align-items:center;gap:3px;display:flex}.map-compass .ui-icon{stroke-width:.8px;width:44px;height:44px}.map-legend{color:#b4c9d2;background:#0b172be8;border-radius:4px;gap:16px;padding:8px;font-size:10px;display:flex}.map-legend span{align-items:center;gap:6px;display:flex}.map-legend i{border-top:2px solid #9bc6d9;width:20px}.map-legend i.dashed{border-top:2px dashed var(--seed)}.maprail{background:var(--icesus-frame);border-left-color:#395463;padding:24px 18px}.maprail h2{font:22px/1.3 var(--display);color:var(--bright);letter-spacing:0;text-transform:none;overflow-wrap:anywhere}.maprail p{line-height:1.6}.maprail>.empty{overflow-wrap:anywhere;font-size:12px}.room-rename{gap:8px;margin:16px 0;display:grid}.room-rename>label{color:var(--bright);font-size:12px}.room-filename{align-items:center;gap:6px;display:flex}.room-filename input{width:100%;min-width:0;font-family:var(--mono)}.room-filename>span{font:11px var(--mono);color:var(--muted);flex-shrink:0}.filename-preview{font:11px/1.5 var(--mono);overflow-wrap:anywhere;color:var(--muted)}.room-rename .footnote{margin:0;padding:0}.room-rename>button{justify-self:start}.room-level{gap:8px;margin:16px 0;display:grid}.room-level>label{color:var(--bright);font-size:14px}.room-level-controls{flex-wrap:wrap;gap:8px;display:flex}.room-level-controls input{flex:1;width:5em;min-width:0}.room-level .footnote{margin:0;padding:0}.maprail .exits{margin:22px 0}.maprail .exits li{overflow-wrap:anywhere;font-size:11px}.maprail .addmenu{gap:8px}.maprail .addmenu button{min-height:34px}.map-empty-icon{color:#81b1c7;margin:36px 0 24px}.map-empty-icon .ui-icon{stroke-width:.8px;width:54px;height:54px}.inspector-label{font:9px var(--sans);letter-spacing:.13em;color:#9bbccc;align-items:center;gap:7px;margin-bottom:20px;display:flex}.list.world-library{max-width:1160px;margin:0 auto;padding:0 36px 35px}.library-header{justify-content:space-between;align-items:center;height:106px;display:flex}.creator-identity{color:#bdd1db;align-items:center;gap:8px;display:flex}.library-hero{background:linear-gradient(90deg,#10213af5,#14274499 52%,#1a315200),url(/create/brand/frozen-valley.jpg?v=4) 50% 55%/cover;border:1px solid #4c6a7a;border-radius:8px;min-height:330px;position:relative;overflow:hidden;box-shadow:0 20px 60px #0003}.hero-copy{padding:38px 42px;position:relative}.hero-copy h2{font:400 42px/1.15 var(--display);letter-spacing:-.025em;color:#edf9fc;margin:16px 0}.list .hero-copy p{font:14px/1.7 var(--sans);color:#b7cbd5}.frost-rule{color:#9ccadb;align-items:center;gap:12px;max-width:190px;margin-top:26px;display:flex}.frost-rule:before,.frost-rule:after{content:"";background:linear-gradient(90deg,#0000,#759fac);flex:1;height:1px}.frost-rule:after{transform:rotate(180deg)}.workspace-collection{margin-top:30px}.section-heading{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.list .section-heading h1{font:26px var(--display);margin:0}.list table{background:var(--icesus-inset);border:1px solid #304a58;border-radius:6px}.list td,.list th{padding:14px 16px;font-size:12px}.list th{letter-spacing:.12em;background:var(--icesus-slate);font-size:9px}.list tr:hover td{background:var(--icesus-raised)}.workspace-link{align-items:center;gap:10px;font-weight:500;display:flex}.workspace-link .ui-icon:last-child{color:#85aabc;width:14px;margin-left:auto}.new-area{background:var(--icesus-panel);border:1px solid #355261;border-radius:7px;grid-template-columns:1fr 1.8fr;gap:30px;margin-top:28px;padding:25px;display:grid}.new-area h2{font:24px var(--display);color:var(--bright);margin:8px 0}.list .new-area p{font:12px/1.6 var(--sans);margin:0}.new-area .form{align-items:end;gap:12px;margin:0}.new-area label{min-width:0;font:11px var(--sans);color:#bdcfd9;flex-direction:column;flex:1;gap:8px;display:flex}.new-area input{width:100%;padding:9px 10px}.new-area button{white-space:nowrap;height:36px}.library-footer a{font:12px var(--sans);align-items:center;gap:8px;display:inline-flex}.signin-scene{background:var(--ground);grid-template-columns:1.4fr 1fr;min-height:100%;display:grid}.signin-world{background:linear-gradient(#10213a40,#10213a44 30%,#10213acc),url(/create/brand/frozen-valley.jpg?v=4) 55%/cover;border-right:1px solid #466777;flex-direction:column;justify-content:space-between;min-height:100vh;padding:48px 60px;display:flex}.signin-world h2{font:44px/1.15 var(--display);color:#f2fafc;margin:16px 0;font-weight:400}.signin-world p{color:#c2d4de;font-size:15px}.world-caption{color:#a3c0ce;letter-spacing:.2em;font-size:9px}.signin{align-self:center;width:min(100%,440px);margin:0 auto;padding:48px}.signin>.ui-icon{color:#9bc6d7;stroke-width:1px;width:48px;height:48px;margin-bottom:24px}.signin h1{font:30px var(--display)}.signin p{font:13px/1.7 var(--sans)}.signin input{min-height:42px;padding:9px 12px}.signin form{gap:9px}.signin button{width:100%;height:42px;margin-top:10px}.facts h1,.review h1,.playtest-head h1,.entry h1,.plan h1{font-family:var(--display);font-size:26px}.fact{border-radius:6px;box-shadow:inset 0 1px #9ec5d313}@media (width<=1400px){.workbench-masthead{gap:14px}.workbench-label{font-size:12px}.topbar .who{display:inline}.maptools{gap:7px}.maptools>.empty{font-size:10px}}@media (width<=1100px){.workbench-label{display:none}.workbench-masthead{padding:0 15px}.modes a{padding:0 12px}.mapmode{grid-template-columns:minmax(0,1fr) 215px}.new-area{grid-template-columns:1fr;gap:16px}.signin-world{padding:36px}.signin-world h2{font-size:36px}}@media (width<=760px){.list.world-library{padding:0 18px 25px}.library-hero{min-height:300px}.hero-copy{padding:30px 24px}.hero-copy h2{font-size:34px}.workspace-collection{overflow:auto}.new-area .form{flex-wrap:wrap}.new-area label{min-width:160px}.signin-scene{grid-template-columns:1fr}.signin-world{gap:35px;min-height:350px}.world-caption{display:none}.signin{max-width:480px;padding:36px}}@media (prefers-reduced-motion:reduce){button{transition:none}}.room-node{height:210px}.react-flow__handle.handle-diagonal{width:16px;height:16px}.handle-diagonal .ui-icon{width:10px;height:10px}.react-flow__handle.handle-northeast,.react-flow__handle.handle-southeast{left:100%;right:auto}.react-flow__handle.handle-northwest,.react-flow__handle.handle-southwest{left:0;right:auto}.react-flow__handle.handle-northeast,.react-flow__handle.handle-northwest{top:0;transform:translate(-50%,-50%)}.react-flow__handle.handle-southeast,.react-flow__handle.handle-southwest{bottom:0;transform:translate(-50%,50%)}.react-flow__handle.occupied{cursor:default;background:#315363}.port-dot{pointer-events:none;background:#bce9f7;border-radius:50%;width:5px;height:5px}.react-flow__handle:focus-visible{outline-offset:3px;outline:2px solid #e6f8ff}.map-error{z-index:10;color:#ffe3cb;background:#372c28f5;border:1px solid #b88667;border-radius:5px;align-items:center;gap:12px;padding:10px 14px;display:flex;position:absolute;top:60px;left:16px;right:16px}.map-error button{margin-left:auto}.map-hint{pointer-events:none;flex-wrap:wrap;max-width:calc(100% - 100px)}.compass-add{grid-template-columns:repeat(3,1fr);gap:5px;width:100%;margin:10px 0;display:grid}.compass-add button{justify-content:center;align-items:center;gap:3px;padding:7px 2px;font-size:11px;display:flex}.compass-add .ui-icon{width:12px;height:12px}.compass-northwest{grid-area:1/1}.compass-north{grid-area:1/2}.compass-northeast{grid-area:1/3}.compass-west{grid-area:2/1}.compass-east{grid-area:2/3}.compass-southwest{grid-area:3/1}.compass-south{grid-area:3/2}.compass-southeast{grid-area:3/3}.maprail .exits li{overflow-wrap:anywhere;align-items:center;gap:6px;display:flex}.maprail .exits .dir{min-width:0}.disconnect-exit{flex-shrink:0;margin-left:auto}.map-warning{color:#e5c99e;border-left:2px solid #b7996f;padding-left:9px}.room-badges{flex-wrap:wrap;align-content:flex-start;gap:4px;margin-top:9px;display:flex}.room-node .room-badges{min-height:61px}.room-badge{font:9px/1.2 var(--sans);color:#bdd1dc;background:#142632;border:1px solid #496170;border-radius:4px;align-items:center;gap:3px;padding:2px 4px;display:inline-flex}.room-badge .ui-icon{width:12px;height:12px}.badge-dark{color:#d4bfee;background:#272439;border-color:#6f5986}.badge-light,.badge-loot{color:#f0d291;background:#302e24;border-color:#7d6a44}.badge-outside{color:#b4d9b6;background:#1a312d;border-color:#54715c}.badge-indoor{color:#bed7e6;border-color:#5d7e92}.badge-underwater{color:#b1e0ed;background:#1b3540;border-color:#50858e}.badge-secret,.badge-secret_access{color:#ddc7f1;background:#31293d;border-color:#8b6fa4}.badge-secret_exit{color:#d4bfe9;background:#292737;border-color:#75618b}.badge-searchable{color:#f0d6a6;background:#332e25;border-color:#8b7752}.room-node.room-indoor:before{background:#91b8d5}.room-node.room-outside:before{background:#86b895}.room-node.room-underwater:before{background:#72c3d1}.room-node.room-secret{background:linear-gradient(150deg,#35324d,#182637 75%);border-style:dashed;border-color:#aa8cc4}.room-node.room-highlighted{box-shadow:0 0 0 2px #bfdeeb88,0 6px 22px #0006}.room-node.room-muted{opacity:.3}.room-node.room-muted:focus-within,.room-node.room-muted:hover{opacity:.8}.room-node.room-secret.selected{border-color:#ecdbff;box-shadow:0 0 0 2px #b395d288}.room-badge.badge-explorable{color:#ffe0a0;background:#383222;border-color:#ab8c4f;gap:4px;font-weight:600}.room-badge.badge-explorable .ui-icon{stroke-width:1.45px;width:14px;height:14px}.room-node.room-explorable:before{background:#e7c482;height:4px}.room-node.room-explorable:not(.selected){border-color:#b7a16f}.room-node.room-explorable.selected:before{background:#ffe5ac}.map-guidance{gap:8px;max-width:calc(100% - 100px);display:grid}.map-guidance .map-hint{max-width:100%;margin:0}.map-room-focus{color:#bdd1dc;font:11px/1.4 var(--sans);background:#0d202deb;border:1px solid #3a5666;border-radius:4px;flex-wrap:wrap;justify-self:start;align-items:center;gap:8px;padding:6px 9px;display:flex}.map-room-focus label{align-items:center;gap:8px;display:flex}.map-room-focus select{max-width:190px;min-height:28px;font-size:11px}.map-room-focus button{min-height:28px;padding:4px 7px;font-size:11px}.badge-monster{color:#edb3ab;background:#342729;border-color:#825952}.badge-npc{color:#b4d5ed;border-color:#537185}.room-node .marks{margin-top:5px;padding-top:5px}.map-legend{flex-wrap:wrap;gap:10px;max-width:calc(100% - 230px)}.map-legend .ui-icon{color:#e3bd80;width:14px;height:14px}.map-legend i.secret{border-color:#bea5da;border-top-style:dashed}.exit-special{cursor:pointer}.maprail .exits li{border-bottom:1px solid #38505e;padding:10px 0}.map-exit-info{flex-wrap:wrap;flex:1;align-items:center;gap:5px;min-width:0;display:flex}.exit-feature-badges,.exit-feature-badges>span{color:#e3c796;flex-wrap:wrap;align-items:center;gap:4px;font-size:10px;display:inline-flex}.exit-feature-badges .ui-icon{width:13px;height:13px}.maprail .exit-destination{text-align:left;color:#c3e6f5;width:100%;min-width:0;font:12px/1.5 var(--sans);white-space:normal;background:0 0;border:none;justify-content:flex-start;padding:3px 0}.exit-destination:hover{text-decoration:underline}.exit-destination .ui-icon{flex-shrink:0;width:12px}.maprail .edit-exit,.maprail .disconnect-exit{flex-shrink:0;margin:0;padding:5px}.special-exit-dialog{gap:0;width:min(640px,100vw - 32px);min-width:0;max-height:calc(100dvh - 32px);padding:0;overflow:hidden}.special-exit-header{border-bottom:1px solid #38515f;flex:none;align-items:center;gap:14px;padding:22px 24px 18px;display:flex}.special-exit-header>div{min-width:0}.special-exit-header h2{font-size:23px}.special-exit-header p{color:#9fb9c8;overflow-wrap:anywhere;margin:7px 0 0;font-size:12px}.special-exit-header strong{color:#c9dce5;font-weight:400}.special-exit-emblem{color:#bddde9;background:#213e4d;border:1px solid #567585;border-radius:8px;flex:none;place-items:center;width:42px;height:46px;display:grid}.special-exit-emblem .ui-icon{width:25px;height:25px}.special-exit-body{overscroll-behavior:contain;scrollbar-gutter:stable;gap:18px;min-height:0;padding:20px 24px;display:grid;overflow-y:auto}.special-exit-dialog fieldset{border:0;gap:14px;min-width:0;margin:0;padding:0;display:grid}.special-exit-dialog label:not(.check){color:#c2d6df;align-content:start;gap:6px;min-width:0;font-size:12px;display:grid}.special-exit-dialog input:not([type=checkbox]),.special-exit-dialog textarea,.special-exit-dialog select{width:100%;min-width:0;font:13px/1.5 var(--sans);padding:7px 10px}.special-exit-dialog select{padding-right:25px}.special-exit-dialog textarea{resize:vertical;min-height:72px}.special-exit-dialog input[type=checkbox]{accent-color:#aad4e3;flex:none;width:16px;height:16px;min-height:0;margin:0}.special-exit-dialog .check{cursor:pointer;color:#c2d6df;align-items:center;gap:9px;min-height:28px;font-size:12px}.special-exit-dialog label:has(input:disabled){cursor:default}.exit-section-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.exit-section-heading h3{color:#e0edf3;font:600 13px/1.5 var(--sans);margin:0}.special-exit-dialog .exit-two-way{color:#c3e3ed}.exit-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;display:grid}.exit-single-field{grid-template-columns:minmax(0,1fr)}.special-exit-dialog .exit-hint{color:#9fb9c8;font:11px/1.5 var(--sans);margin:0}.exit-one-way{color:#e5c99e;align-items:center;gap:8px;margin:25px 0 0;font-size:12px;display:flex}.special-exit-dialog .exit-door-section{border-top:1px solid #38515f;padding-top:16px}.special-exit-dialog .exit-feature-toggle{color:#e0edf3;font-size:13px;font-weight:600}.exit-feature-toggle .ui-icon{color:#a6c9da}.special-exit-dialog .door-fields{gap:14px;display:grid}.exit-disclosure{background:#10243080;border:1px solid #385462;border-radius:6px;min-width:0}.exit-disclosure summary{cursor:pointer;color:#c7dde7;padding:10px 12px;font-size:12px}.exit-disclosure summary::marker{color:#9bbfce;font-size:10px}.exit-disclosure summary span{color:#9fb9c8;margin-left:10px;font-size:11px}.exit-disclosure summary:hover{background:#25435266}.exit-disclosure[open]>summary{border-bottom:1px solid #385462}.exit-disclosure-body{gap:14px;padding:14px;display:grid}.exit-disclosure-body[hidden]{display:none}.special-exit-dialog .exit-autolock{margin-top:24px}.special-exit-footer{background:#10212d;border-top:1px solid #38515f;flex:none;gap:10px;padding:14px 24px 18px;display:grid}.special-exit-footer .dialog-actions{margin:0}.special-exit-footer button{min-height:36px;padding:7px 16px}.special-exit-dialog .exit-problem{color:#e5c99e;margin:0;font-size:12px}.special-exit-dialog .action-error{margin:0}.special-exit-dialog input[aria-invalid=true]{border-color:#c69d66}.special-exit-dialog input[readonly]{color:#a8bdc9;background-color:#10202b}@media (width<=520px){.special-exit-header{padding:18px 16px 14px}.special-exit-header h2{font-size:20px}.special-exit-emblem{display:none}.special-exit-body{gap:16px;padding:16px}.special-exit-footer{padding:12px 16px 16px}.special-exit-dialog .exit-field-grid{grid-template-columns:minmax(0,1fr);gap:12px}.exit-disclosure summary span{margin:3px 0 0 13px;display:block}.special-exit-dialog .exit-autolock,.exit-one-way{margin-top:0}}.map-help{color:#c2d6df;font-size:11px;position:relative}.map-help summary{cursor:pointer;padding:7px}.map-help>div{z-index:12;background:#142b39;border:1px solid #689;border-radius:6px;width:min(360px,80vw);max-height:min(70vh,560px);padding:14px 18px;font-size:12px;line-height:1.6;position:absolute;top:100%;right:0;overflow:auto;box-shadow:0 12px 32px #0009}.map-help p{margin:0 0 10px}.map-help p:last-child{margin-bottom:0}@media (width<=600px){.map-legend{max-width:calc(100% - 24px)}}.surface .cm-editor .cm-content{flex-basis:0;min-width:0}.surface .cm-editor .cm-source-indent{font-size:0}.surface .cm-editor .cm-form-field{vertical-align:top;white-space:normal;width:min(66rem,100% - 1rem);max-width:calc(100% - 1rem);font:13px/1.5 var(--mono);color:var(--text);box-sizing:border-box;background:0 0;border:0;border-left:2px solid #0000;border-radius:0;flex-direction:column;align-items:start;gap:3px 6px;margin:2px 0;padding:2px 6px;display:inline-flex}.surface .cm-editor .cm-form-field:focus-within{border-left-color:var(--ice);background:#14243d66}.cm-field-line{grid-template-columns:minmax(10ch,max-content) minmax(0,1fr) auto;align-items:start;gap:6px;width:100%;min-width:0;display:grid}.cm-compact-value>.cm-field-line{grid-template-columns:minmax(10ch,max-content) minmax(0,max-content) auto;width:max-content;max-width:100%}.surface .cm-editor .cm-level-field{flex-wrap:wrap;align-items:baseline;gap:4px 8px;min-width:0;display:flex}.surface .cm-editor .cm-form-field .cm-level-field select{width:17ch}.surface .cm-editor .cm-level-maximum{align-items:baseline;gap:6px;display:inline-flex}.surface .cm-editor .cm-level-maximum[hidden]{display:none}.surface .cm-editor .cm-level-expression{color:var(--muted);overflow-wrap:anywhere;font-size:11px}.surface .cm-editor .cm-level-expression:empty{display:none}.cm-random-number{flex-wrap:wrap;align-items:end;gap:8px;min-width:0;display:flex}.cm-random-number>.cm-field-hint{flex-basis:100%}.surface .cm-editor .cm-random-number>[hidden]{display:none}.surface .cm-editor .cm-monster-guide{color:#a8becb;width:100%;font:12px/1.5 var(--sans);flex-direction:column;align-items:start;gap:3px;display:flex}.surface .cm-editor .cm-monster-rating{color:#c9e8ee;font-weight:600}.surface .cm-editor .cm-guide-toggle{color:#c9e8ee;min-height:26px;font:inherit;padding:2px 6px}.surface .cm-editor .cm-guide-toggle:focus-visible{outline:2px solid var(--ice);outline-offset:1px}.surface .cm-editor .cm-monster-guide table{border-collapse:collapse;width:100%;max-width:36rem;margin-bottom:6px}.surface .cm-editor .cm-monster-guide caption{text-align:left;font-weight:600}.surface .cm-editor .cm-monster-guide td,.surface .cm-editor .cm-monster-guide th{text-align:left;border-bottom:1px solid #304958;padding:2px 12px 2px 0}.surface .cm-editor .cm-form-field[data-seed=true]{border-left-color:var(--seed)}.surface .cm-editor .cm-field-heading{min-height:28px;color:var(--muted);align-items:center;gap:3px;display:flex}.surface .cm-editor .cm-form-field .cm-island-label{color:#9dd4e5;font:inherit;letter-spacing:0;text-transform:none;white-space:nowrap}.surface .cm-editor .cm-field-end{color:var(--muted);padding-top:5px}.surface .cm-editor .cm-field-help{color:#9bbdca;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex:0 0 28px;place-items:center;width:28px;height:28px;min-height:28px;margin:0;padding:0;transition:color .12s,background-color .12s,border-color .12s;display:inline-grid}.surface .cm-editor .cm-field-help .ui-icon{pointer-events:none;width:18px;height:18px;display:block}.surface .cm-editor .cm-field-help:hover,.surface .cm-editor .cm-field-help[aria-expanded=true]{color:#d8f2fa;background:var(--icesus-active);border-color:#416476}.surface .cm-editor .cm-field-hint{color:#a8becb;font:12px/1.45 var(--sans);overflow-wrap:anywhere;display:block}.surface .cm-editor .cm-help-panel{box-sizing:border-box;background:var(--icesus-slate);color:#b6cad4;width:100%;min-width:0;font:12px/1.6 var(--sans);border-left:2px solid #527b8d;border-radius:0 4px 4px 0;margin:4px 0;padding:9px 12px}.surface .cm-editor .cm-field-hint[hidden]{display:none}.cm-help-paragraph{max-width:78ch;display:block}.cm-help-paragraph+.cm-help-paragraph{margin-top:8px}@media (prefers-reduced-motion:reduce){.surface .cm-editor .cm-field-help{transition:none}}.surface .cm-editor .cm-form-field input:not([type=checkbox]),.surface .cm-editor .cm-form-field select,.surface .cm-editor .cm-form-field textarea{box-sizing:border-box;background-color:var(--icesus-control);color:#eef7fa;min-width:0;min-height:28px;font:13px/1.5 var(--mono);border:1px solid #304958;border-radius:2px;padding:3px 6px}.surface .cm-editor .cm-form-field input[type=text],.surface .cm-editor .cm-form-field textarea{width:100%;max-width:100%}.surface .cm-editor .cm-form-field textarea{resize:vertical}.surface .cm-editor .cm-form-field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23c2d6df' stroke-width='2'/%3E%3C/svg%3E");background-position:right 8px center;width:100%;max-width:28ch;padding-right:28px}.surface .cm-editor .cm-form-field select:disabled{opacity:.7}.surface .cm-editor .cm-form-field textarea.cm-island-aliases{overflow-wrap:anywhere}.surface .cm-editor .cm-form-field input[type=checkbox]{width:18px;height:18px;accent-color:var(--ice);margin:6px 0}.surface .cm-editor .cm-form-field input:focus-visible,.surface .cm-editor .cm-form-field textarea:focus-visible,.surface .cm-editor .cm-form-field select:focus-visible,.surface .cm-editor .cm-field-help:focus-visible{outline:2px solid var(--ice);outline-offset:1px}.surface .cm-editor .cm-form-field [aria-invalid=true]{border-color:var(--blood)}.surface .cm-editor .cm-field-count{color:#a8becb;font:11px/1.4 var(--mono);text-align:right;align-self:end;display:block}.surface .cm-editor .cm-field-count.over-limit{color:var(--seed)}.surface .cm-editor .cm-field-error{color:var(--blood);font:12px/1.5 var(--sans);flex-basis:100%}.surface .cm-editor .cm-field-error[hidden]{display:none}.surface .cm-editor .cm-number-field,.surface .cm-editor .cm-choice-field{flex-direction:column;gap:3px;display:flex}.surface .cm-editor .cm-form-field input[type=number]{width:9ch;max-width:100%}.surface .cm-editor .cm-island-range{flex-wrap:wrap;align-items:start;gap:4px 10px;display:flex}.surface .cm-editor .cm-island-range>label{color:#bbcfda;align-items:center;gap:5px;font-size:11px;display:flex}.surface .cm-editor .cm-form-field .cm-island-list,.surface .cm-editor .cm-form-field .cm-island-rowset{gap:4px;width:100%;max-width:100%}.surface .cm-editor .cm-form-field .cm-island-line{flex:auto}.surface .cm-editor .cm-form-field .cm-list-line{gap:4px}.surface .cm-editor .cm-form-field .cm-island-remove{flex:none;min-width:26px;min-height:28px}.surface .cm-editor .cm-form-field .cm-island-add{align-self:flex-start;min-height:26px;padding:2px 6px}.surface .cm-editor .cm-form-field .cm-row{border:0;border-left:1px solid #365261;border-radius:0;gap:4px;padding:4px 6px}.surface .cm-editor .cm-form-field .cm-row-key,.surface .cm-editor .cm-form-field .cm-row-value{gap:4px}.surface .cm-editor .cm-form-field .cm-row-key .cm-island-line{flex:12rem}.surface .cm-editor .cm-form-field .cm-detail{flex-direction:column;gap:4px;display:flex}.surface .cm-editor .cm-form-field .cm-detail>label{display:block}.surface .cm-editor .cm-source-statement,.surface .cm-editor .cm-exit-line{font:13px/1.7 var(--mono);background:0 0;border:0;border-radius:0;padding:2px 6px}.surface .cm-editor .cm-source-statement{color:#b7cbd6;white-space:pre-wrap;overflow-wrap:anywhere}.surface .cm-editor .cm-exit-line{box-sizing:border-box;vertical-align:top;display:inline-block}.cm-exit-syntax,.cm-exit-direction{color:#9dd4e5}.cm-exit-pair a,.cm-placement-line a{color:#d1e4ed;text-underline-offset:3px;-webkit-text-decoration:underline #658b9d;text-decoration:underline #658b9d}.file-relations{border-bottom:1px solid var(--hairline);font:12px/1.6 var(--mono);flex-wrap:wrap;align-items:baseline;gap:5px 18px;padding:6px 16px;display:flex}.file-relation-group{flex-wrap:wrap;gap:4px 12px;display:inline-flex}.file-relations .dir{color:var(--muted)}.file-relations a{overflow-wrap:anywhere}.file-relations .inventory-link{min-height:24px;font:inherit;margin-left:auto;padding:0 4px}.inventory-panel:focus{outline:2px solid var(--ice);outline-offset:-2px}.inventory-panel>.help{font:11px/1.5 var(--mono);margin:6px 0}.inventory-panel .placement-buttons{gap:4px}.inventory-panel .placement-buttons button{min-height:25px;padding:2px 5px;font-size:11px}.cm-exit-pair{overflow-wrap:anywhere}.room-neighbours{border-bottom:1px solid var(--hairline);font:12px/1.6 var(--mono);flex-wrap:wrap;align-items:baseline;gap:6px 18px;padding:7px 16px;display:flex}.room-neighbours .neighbour{overflow-wrap:anywhere}.room-neighbours .dir{color:var(--muted)}.room-neighbours .map-link{white-space:nowrap;margin-left:auto}.room-neighbours .stub{color:var(--seed)}@media (width<=760px){.cm-field-line,.cm-compact-value>.cm-field-line{grid-template-columns:minmax(0,1fr) auto}.surface .cm-editor .cm-field-heading,.surface .cm-editor .cm-form-field>.cm-field-hint,.surface .cm-editor .cm-field-count{grid-column:1/-1}}.tree .tree-group{width:100%;color:var(--text);text-align:left;font:600 12px var(--sans);background:0 0;border:0;align-items:center;gap:7px;margin-top:14px;padding:7px 6px;display:flex}.tree .tree-group:hover{background:var(--raised)}.tree .group-count{color:var(--muted);margin-left:auto;font-weight:400}.tree [hidden]{display:none}.seeds h2{align-items:center;gap:8px;display:flex}.placement-kind{color:var(--muted);font:11px var(--sans);margin-bottom:3px;display:block}.monster-combat{border-block:1px solid var(--hairline);margin-top:18px;padding-block:12px}.monster-combat>label{gap:5px;margin-bottom:8px;display:grid}.monster-combat select{min-width:0;max-width:100%}.monster-xp{border:1px solid var(--hairline);border-radius:5px;margin-top:14px;padding:10px}.monster-xp h3{margin:0 0 8px;font-size:12px}.combat-entries{margin:12px 0 0;padding:0;list-style:none}.combat-entries li{border-top:1px solid var(--hairline);padding:9px 0}.combat-entries b{font-size:12px;font-weight:500}.combat-entries small{color:var(--muted);overflow-wrap:anywhere;margin-top:3px;display:block}.placement-existing{margin-top:12px}.placement-existing label,.design-help label{gap:6px;margin:10px 0;display:grid}.placement-existing select{width:100%;min-width:0}.design-help details{border-top:1px solid var(--hairline);padding:9px 0}.design-help summary,.placement-existing summary,.playtest-report summary{cursor:pointer;color:var(--text);font-weight:600}.design-help p,.panel>.help{font:13px/1.6 var(--sans);color:var(--muted)}.design-help .addmenu{flex-wrap:wrap}.design-help input[type=number]{max-width:12ch}.review-checklist{border-top:1px solid var(--hairline);padding-top:20px}.review-checklist p,.playtest-report p{font:14px/1.6 var(--sans)}.review-checklist ol{padding-left:22px}.review-checklist li{margin-bottom:18px}.review-checklist h2{font:600 19px/1.4 var(--sans)}.review-checklist .check,.playtest-report .check{align-items:flex-start;gap:10px;margin:16px 0;line-height:1.6;display:flex}.review-checklist input[type=checkbox],.playtest-report input[type=checkbox]{width:18px;height:18px;accent-color:var(--ice);flex:none;margin-top:3px}.test-evidence{border-left:2px solid var(--ice);white-space:pre-wrap;padding:12px}.playtest-report{border-bottom:1px solid var(--hairline);padding:16px 24px}.playtest-report fieldset{border:1px solid var(--hairline);max-width:760px;padding:14px}.playtest-report label:not(.check){gap:7px;display:grid}.playtest-report textarea{resize:vertical;width:100%}.playtest-report fieldset:disabled{opacity:.65}.dialog{max-height:calc(100vh - 48px);overflow-y:auto}.dialog.add select,.dialog.add input{min-width:0}.random-equipment{border-top:1px solid var(--hairline);margin-top:16px;padding-top:12px}.random-equipment h3{margin:0 0 6px;font-size:13px}.random-equipment-entry{align-items:center;gap:8px;margin-top:6px;display:flex}.random-equipment-entry>.quiet{text-align:left;flex:1;min-width:0}@media (width<=600px){.dialog.add{width:calc(100vw - 32px);min-width:0}.dialog.add label{grid-template-columns:minmax(0,1fr)}.dialog.add .footnote{margin:0}}.dialog>p{line-height:1.6}.submit-dialog{box-sizing:border-box;width:min(560px,100vw - 32px);min-width:0}.submit-dialog h3{font:600 16px/1.4 var(--sans);margin:0}.submit-dialog>p,.submit-dialog section p{margin:0}.submit-dialog section{gap:12px;display:grid}.submit-dialog .check{margin:0}.submit-dialog .dialog-actions{flex-wrap:wrap}summary:focus-visible,.tree-group:focus-visible{outline:2px solid var(--ice);outline-offset:2px}.surface .cm-editor .cm-item-descriptions{flex-direction:column;gap:5px;padding:5px 6px;display:inline-flex}.cm-item-opening,.cm-item-closing{color:#9dd4e5}.cm-item-hint{color:var(--muted);font:11px/1.5 var(--sans)}.cm-item-rows{flex-direction:column;gap:8px;width:100%;display:flex}.cm-item-pair{border-left:1px solid var(--hairline);grid-template-columns:minmax(12ch,1fr) 10px minmax(0,2.5fr) 25px;align-items:start;gap:6px;padding:4px 0 4px 12px;display:grid}.cm-item-pair label{min-width:0;color:var(--muted);font:11px/1.5 var(--sans);flex-direction:column;gap:3px;display:flex}.cm-item-colon{padding-top:26px}.surface .cm-editor .cm-item-pair button{min-height:26px;margin-top:20px;padding:2px 5px}.surface .cm-editor .cm-item-descriptions>button{min-height:26px;font:12px var(--mono);align-self:flex-start;padding:2px 6px}.cm-item-empty{color:var(--muted);padding-left:12px}.surface .cm-editor .cm-item-descriptions .cm-field-error{flex-basis:auto}.room-properties{border-top:1px solid var(--hairline);flex-wrap:wrap;align-items:center;gap:6px;padding:8px 16px;display:flex}.room-properties select{flex:0 34ch;min-width:0;max-width:100%}.room-properties button,.room-properties select{min-height:28px;font:12px var(--mono);padding:3px 6px}.room-property-help{color:var(--muted);font:12px/1.5 var(--sans);flex-basis:100%}.surface .cm-editor .cm-room-structured{flex-direction:column;gap:5px;padding:5px 6px;display:inline-flex;position:relative}.cm-structured-heading,.cm-structured-close{color:#9dd4e5}.cm-structured-fields{box-sizing:border-box;flex-wrap:wrap;align-items:end;gap:6px 12px;width:100%;min-width:0;padding-left:12px;display:flex}.cm-random-help{color:var(--muted);font:11px/1.5 var(--sans);flex-basis:100%}.cm-structured-fields label{min-width:0;color:var(--muted);font:11px/1.4 var(--sans);flex-direction:column;gap:3px;display:flex}.cm-structured-title,.cm-structured-scalar-line{align-items:center;gap:6px;min-width:0;max-width:100%;display:flex}.cm-structured-scalar-line{flex-wrap:wrap}.cm-room-scalar .cm-structured-fields{width:auto;padding:0}.cm-room-scalar .cm-structured-fields label{flex-direction:row;align-items:center}.cm-room-list,.cm-room-mapping{flex-direction:column;gap:6px;width:100%;display:flex}.cm-room-list-row{align-items:start;gap:6px;padding-left:12px;display:flex}.cm-room-list-row label{flex:1}.cm-movement [hidden]{display:none!important}.cm-movement .cm-room-list-row{box-sizing:border-box;flex-wrap:wrap;align-items:end;width:100%;min-width:0;padding:0}.cm-movement .cm-room-list-row input{box-sizing:border-box;min-width:0;max-width:100%}.cm-movement-room{flex-direction:column;flex:100%;gap:4px;min-width:0;display:flex}.cm-movement .cm-room-hint{color:var(--muted);font:12px/1.5 var(--sans);white-space:normal;padding:8px 12px;display:block}.monster-movement{border-top:1px solid var(--hairline);margin-top:18px;padding-top:10px}.cm-room-map-pair{border-left:1px solid var(--hairline);grid-template-columns:minmax(0,1fr) auto auto auto;align-items:end;gap:6px;padding:5px 0 5px 12px;display:grid}[data-setter=set_signs] .cm-room-map-pair{grid-template-columns:minmax(12ch,1fr) minmax(0,1.5fr) minmax(0,2fr) 24px;align-items:start}.surface .cm-editor .cm-room-structured button:not(.cm-field-help){min-height:26px;font:12px var(--mono);align-self:start;padding:2px 6px}.cm-room-map-pair a{font:11px var(--mono)}@media (width<=900px){[data-setter=set_signs] .cm-room-map-pair{grid-template-columns:minmax(0,1fr) 24px}[data-setter=set_signs] .cm-room-map-pair label{grid-column:1}[data-setter=set_signs] .cm-room-map-pair button{grid-area:1/2}}@media (width<=760px){.cm-item-pair{grid-template-columns:minmax(0,1fr) 25px}.cm-item-pair label{grid-column:1}.cm-item-colon{display:none}.surface .cm-editor .cm-item-pair button{grid-area:1/2}}.cm-content-structured .cm-content-pair{flex-wrap:wrap;align-items:end;gap:8px;min-width:0;display:flex}.cm-content-structured label{flex-direction:column;gap:4px;min-width:0;max-width:100%;display:flex}.cm-content-structured input,.cm-content-structured select,.cm-content-structured textarea{box-sizing:border-box;min-width:0;max-width:100%}.cm-content-structured input[type=number]{width:100px}.cm-content-structured .cm-inquiry-pair{grid-template-columns:minmax(0,1fr);gap:8px;width:100%;display:grid}.cm-content-structured .cm-inquiry-pair textarea{width:100%}.cm-content-structured .cm-inquiry-pair button{justify-self:start}.cm-content-structured .cm-inquiry-answer{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.surface .cm-editor .cm-inquiry-pair .cm-inquiry-actions{flex-direction:row;align-items:center}.cm-content-structured .cm-content-pair button{white-space:normal;max-width:100%}.surface .cm-editor .cm-content-pair>button:not(.cm-field-help){align-self:end;min-height:28px}.surface .cm-editor .cm-content-structured button:focus-visible{outline:2px solid var(--ice);outline-offset:1px}.cm-armour-slots{gap:8px;min-width:0;padding:4px 0}.cm-list-title{color:#d1e4ed;font:600 12px/1.5 var(--sans)}.cm-armour-slots>.cm-field-hint{max-width:66ch;margin-bottom:2px}.cm-armour-slots .cm-slot-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;width:min(100%,23rem);display:grid}.surface .cm-editor .cm-slot-row select{max-width:none}.surface .cm-editor .cm-content-structured .cm-entry-add{min-height:28px;font:12px var(--sans);margin-top:2px;padding:3px 8px}.cm-content-structured .cm-damage-total{font-family:var(--font-ui)}.content-properties label{flex-direction:column;gap:6px;min-width:0;display:flex}.cm-boolean-field{flex-wrap:wrap;align-items:center;gap:.4rem;display:inline-flex}.cm-boolean-hint{color:var(--muted);white-space:nowrap;font-size:.75rem}.surface .cm-editor .cm-entry-list{flex-direction:column;gap:8px;width:100%;min-width:0;display:flex}.surface .cm-editor .cm-entry-row{box-sizing:border-box;min-width:0;max-width:100%}.editor-remove,.surface .cm-editor .cm-island .cm-entry-remove{color:#c2d6df;background:var(--icesus-raised);width:28px;min-width:28px;height:28px;min-height:28px;font:16px/1 var(--mono);text-transform:none;border:1px solid #304958;border-radius:5px;flex:0 0 28px;align-self:start;place-items:center;margin:0;padding:0;display:inline-grid}.editor-remove:hover,.surface .cm-editor .cm-island .cm-entry-remove:hover{color:#ffe1de;background:#35252e;border-color:#8e5b60}.editor-remove:focus-visible,.surface .cm-editor .cm-island .cm-entry-remove:focus-visible{outline:2px solid var(--ice);outline-offset:2px}.surface .cm-editor .cm-entry-row:has(>label)>.cm-entry-remove{margin-top:19px}.cm-visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.surface .cm-editor .cm-source-comment{background:0 0;border:0;border-left:2px solid #0000;border-radius:0}.surface .cm-editor .cm-comment-line{flex-wrap:wrap;align-items:start;gap:6px;width:100%;min-width:0;display:flex}.surface .cm-editor .cm-comment-heading{color:#91aeba;white-space:nowrap;padding-top:4px}.surface .cm-editor .cm-source-comment .cm-island-line{width:100%;min-width:min(18ch,100%);font:inherit;flex:30ch}.surface .cm-editor .cm-source-comment .cm-note-by{padding-top:4px}.surface .cm-editor .cm-room-scalar .cm-field-heading{align-self:start}.surface .cm-editor .cm-room-scalar .cm-structured-close{padding-top:4px}.cm-stat-versions{gap:.65rem;width:100%;min-width:0;display:grid}.cm-stat-version{border:1px solid var(--icesus-line);border-radius:.35rem;gap:.4rem;min-width:0;padding:.55rem;display:grid}.cm-stat-version-fields{grid-template-columns:repeat(auto-fit,minmax(3.5rem,1fr));gap:.45rem;min-width:0;display:grid}.cm-stat-version-fields .cm-argument{min-width:0}.cm-stat-version-fields input{box-sizing:border-box;width:100%;min-width:0}.list.plan-list{width:100%;max-width:1120px;font-family:var(--sans);margin:48px auto;padding:0 28px 40px}.plans-heading{justify-content:space-between;align-items:flex-start;gap:28px;margin-bottom:28px;display:flex}.plans-heading>div{max-width:660px}.plans-heading-actions{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;display:flex}.plans-heading-actions button{min-height:44px;font:13px var(--sans)}.plan-list .plans-heading h1{font:600 32px/1.2 var(--display);margin:0 0 10px}.plan-list .plans-heading .help{font:14px/1.7 var(--sans);color:var(--muted);margin:0}.plan-list .plan-action{background:var(--raised);min-height:44px;color:var(--bright);font:500 13px/1.4 var(--sans);border:1px solid #526f7e;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:9px 13px;text-decoration:none;display:inline-flex}.plan-list .plan-action:hover{background:var(--icesus-hover);border-color:var(--ice)}.plan-list .plan-create{background:var(--ice);border-color:var(--ice);color:#102733;flex-shrink:0;font-weight:600}.plan-list .plan-create:hover{background:#d6f2f8;border-color:#edfcff}.plan-list .plans-notice{border:1px solid var(--hairline);background:var(--panel);font:13px/1.6 var(--sans);border-radius:6px;align-items:center;gap:12px;margin:0 0 24px;padding:14px 16px;display:flex}.plans-notice>.ui-icon{color:var(--seed);flex-shrink:0}.plans-notice strong{color:var(--text);font-weight:500}.plan-list .plans-notice p{font:inherit;margin:0}.plans-controls{border-bottom:1px solid var(--hairline);padding:0 0 20px}.plans-filters{flex-wrap:wrap;gap:6px;margin-bottom:20px;display:flex}.plans-filters button{min-height:44px;color:var(--muted);font:500 13px/1.4 var(--sans);background:0 0;border-color:#0000;padding:9px 14px}.plans-filters button[aria-pressed=true]{background:var(--raised);color:var(--bright);box-shadow:inset 0 -2px var(--ice);border-color:#6c98ad}.plans-tools{align-items:flex-end;gap:20px;display:flex}.plans-tools label{color:var(--muted);font:500 12px/1.4 var(--sans);flex-direction:column;gap:7px;display:flex}.plans-search{flex:1;min-width:0}.plans-search>div{position:relative}.plans-search .ui-icon{color:var(--dim);pointer-events:none;position:absolute;top:13px;left:13px}.plans-search input{width:100%;min-width:0;padding:10px 12px 10px 40px}.plans-tools input,.plans-tools select{min-height:44px;font:14px/1.5 var(--sans)}.plans-sort{flex:0 0 200px}.plans-sort select{width:100%;padding-left:12px}.plans-results{justify-content:space-between;align-items:center;gap:12px;min-height:56px;display:flex}.plan-list .plans-results p{font:12px/1.5 var(--sans);margin:0}.plans-results button{min-height:44px;font:13px var(--sans)}.plan-list .plans-table{table-layout:fixed;border:1px solid var(--hairline);border-collapse:separate;border-spacing:0;background:var(--panel);border-radius:8px}.plan-list .plans-table th{font:500 11px/1.5 var(--sans);letter-spacing:.06em;text-transform:uppercase;padding:13px 18px}.plans-table th:first-child{border-top-left-radius:8px;width:40%}.plans-table th:nth-child(2){width:21%}.plans-table th:nth-child(3){width:17%}.plans-table th:last-child{border-top-right-radius:8px;width:22%}.plan-list .plans-table td{vertical-align:middle;font:13px/1.5 var(--sans);border-bottom:1px solid var(--hairline);overflow-wrap:anywhere;padding:19px 18px}.plans-table tr:last-child td{border-bottom:0}.plans-table tr:last-child td:first-child{border-bottom-left-radius:8px}.plans-table tr:last-child td:last-child{border-bottom-right-radius:8px}.plan-list .plans-table tr:focus-within td{background:var(--icesus-raised)}.plan-title{min-height:44px;font:600 16px/1.5 var(--sans);text-underline-offset:4px;justify-content:space-between;align-items:center;gap:16px;padding:4px 0;-webkit-text-decoration:underline #5c8797;text-decoration:underline #5c8797;display:flex}.plan-title:hover{color:var(--bright);text-decoration-color:currentColor}.plan-title .ui-icon{opacity:.7;flex-shrink:0;width:16px}.plan-meta{color:var(--muted);font:12px/1.6 var(--sans);flex-wrap:wrap;gap:3px 12px;margin-top:4px;display:flex}.plan-meta span{min-width:0}.plan-status{font:500 12px/1.4 var(--sans);border:1px solid;border-radius:20px;align-items:center;gap:6px;padding:5px 9px;display:inline-flex}.plan-status .ui-icon{flex-shrink:0;width:14px;height:14px}.plan-status-waiting{color:#f0d291;background:#302e24;border-color:#7d6a44}.plan-status-approved{color:#a5e5c4;background:#19362e;border-color:#487e64}.plan-status-refused{color:#ffb4af;background:#35282e;border-color:#87565b}.plan-date-cell time{flex-direction:column;gap:3px;display:inline-flex}.plan-time{color:var(--muted);font-size:11px}.plan-actions{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.plan-detail-link{text-underline-offset:3px;align-items:center;min-height:44px;font-size:12px;text-decoration:underline;display:inline-flex}.plan-mobile-label{display:none}.plans-pagination{justify-content:flex-end;align-items:center;gap:16px;padding:20px 0 0;font-size:12px;display:flex}.plans-pagination button{min-height:44px;font:13px var(--sans)}.plan-list .plans-guidance{font:12px/1.7 var(--sans);margin:18px 0 0}.plans-empty{text-align:center;border:1px dashed var(--hairline);background:var(--panel);border-radius:8px;padding:48px 24px}.plans-empty>.ui-icon{width:32px;height:32px;color:var(--dim)}.plan-list .plans-empty h2{font:600 20px/1.4 var(--display);letter-spacing:0;text-transform:none;margin:12px 0 8px}.plan-list .plans-empty p{max-width:460px;font:14px/1.7 var(--sans);margin:0 auto}.plan-list :focus-visible{outline:2px solid var(--ice);outline-offset:3px}@media (width<=760px){.list.plan-list{margin:28px auto;padding:0 16px 28px}.plans-heading{flex-direction:column;gap:18px;margin-bottom:24px}.plans-heading-actions{flex-flow:wrap;align-items:flex-start;gap:8px}.plan-list .plans-heading h1{font-size:28px}.plans-tools{flex-wrap:wrap;gap:16px}.plans-search,.plans-sort{flex:100%}.plans-filters{gap:4px}.plans-filters button{padding:8px 10px}.plan-list .plans-table{background:0 0;border:0;display:block}.plans-table thead{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.plans-table tbody{gap:14px;display:grid}.plans-table tbody tr{border:1px solid var(--hairline);background:var(--panel);border-radius:8px;grid-template-columns:minmax(0,1fr);padding:12px 16px;display:grid}.plan-list .plans-table td{border:0;padding:8px 0;display:block}.plan-list .plans-table tr:hover td,.plan-list .plans-table tr:focus-within td{background:0 0}.plans-table .plan-title{font-size:17px}.plan-mobile-label{color:var(--muted);display:inline}.plan-date-cell time{display:inline}.plan-time{margin-left:8px}.plan-list .plans-table .plan-actions-cell{border-top:1px solid var(--hairline);margin-top:8px;padding-top:12px}.plan-actions{flex-flow:wrap;align-items:center;gap:8px 20px}.plans-pagination{justify-content:space-between;gap:8px}}.plan-status-changes_requested{color:#c5d8ff;background:#233248;border-color:#6a86b4}.plan-feedback{border:1px solid var(--hairline);border-radius:6px;margin:20px 0;padding:16px}.plan-feedback h2{margin-top:0}.plan blockquote{white-space:pre-wrap;overflow-wrap:anywhere}.plan-history{border-top:1px solid var(--hairline);margin-top:32px}.plan-history ol{padding-left:22px}.plan-history li{padding:8px 0 16px}.plan-history summary{cursor:pointer;color:var(--text);padding:10px 0}.plan-history details .answers{margin-top:16px}.plan-revision-actions{flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0 24px;display:flex}.plan .decide .dialog-actions{flex-wrap:wrap}.plan .decide .dialog-actions button{white-space:normal}.entity-icon,.entity-emblem{--entity-accent:#b4cfdb;--entity-ground:#1b303e}.entity-icon[data-icon=room],.entity-emblem[data-kind=room]{--entity-accent:#b6e1ed;--entity-ground:#1c3543}.entity-icon[data-icon=monster],.entity-emblem[data-kind=monster]{--entity-accent:#eab3a6;--entity-ground:#362c31}.entity-icon[data-icon=aggressive]{--entity-accent:#ff8878}.aggression-label{color:#ff8878}.aggression-badge,.room-badge.badge-aggressive{color:#ffb0a3;background:#3d2428;border:1px solid #a25b51;border-radius:4px}.filehead .aggression-badge{font:11px var(--sans);padding:1px 5px}.cm-aggressive-link>.entity-icon{vertical-align:-2px;width:14px;height:14px;margin-right:4px;display:inline-block}.entity-icon[data-icon=npc],.entity-emblem[data-kind=npc]{--entity-accent:#c6c3ee;--entity-ground:#2d2d43}.entity-icon[data-icon=object],.entity-emblem[data-kind=object]{--entity-accent:#e5cb96;--entity-ground:#33312b}.entity-icon[data-icon=weapon],.entity-emblem[data-kind=weapon]{--entity-accent:#c6dbe6;--entity-ground:#263540}.entity-icon[data-icon=armour],.entity-emblem[data-kind=armour]{--entity-accent:#a6d3c2;--entity-ground:#203732}.entity-icon,.tree a>.entity-icon{color:var(--entity-accent)}.badge-npc{color:#c6c3ee;background:#292c40;border-color:#6c6288}.entity-emblem{border:1px solid color-mix(in srgb, var(--entity-accent) 35%, transparent);background:var(--entity-ground);width:36px;height:36px;color:var(--entity-accent);border-radius:9px 3px;flex:none;place-items:center;display:inline-grid;box-shadow:inset 0 1px #ffffff0a}.entity-emblem>.ui-icon{stroke-width:1.35px;width:23px;height:23px}.entity-picker.addmenu{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:14px;display:grid}.entity-picker button{background:var(--icesus-control);text-align:left;border-color:#35505e;justify-content:flex-start;gap:9px;min-width:0;min-height:50px;padding:7px;font-size:12px}.entity-picker button:hover{background:var(--icesus-hover);border-color:#88b7c8}.entity-picker button .entity-emblem{width:30px;height:32px}.entity-picker button .ui-icon{width:20px;height:20px}.entity-picker button>span:last-child{overflow-wrap:anywhere}.dialog.add{width:min(560px,100vw - 32px);min-width:0}.entity-dialog-heading{border-bottom:1px solid #395565;align-items:center;gap:15px;padding-bottom:16px;display:flex}.entity-dialog-heading .entity-emblem{border-radius:12px 4px;width:52px;height:56px}.entity-dialog-heading .ui-icon{stroke-width:1.15px;width:34px;height:34px}.entity-dialog-heading>div{min-width:0}.entity-dialog-heading h2{margin:0 0 5px}.entity-dialog-heading .empty{overflow-wrap:anywhere;margin:0;font-size:12px}.tree .tree-group{letter-spacing:.025em;gap:7px;font-size:11px}.tree-group>.ui-icon[data-icon=chevron]{width:10px;height:10px;color:var(--dim);transform:rotate(90deg)}.tree-group[aria-expanded=false]>.ui-icon[data-icon=chevron]{transform:none}.tree-group>.entity-icon{width:16px;height:16px}.tree-group .group-count{min-width:20px;height:20px;font:10px var(--mono);color:#b1c9d4;border:1px solid #304c5c;border-radius:5px;place-items:center;display:grid}.tree .tree a{padding-left:12px}.tree .tree{border-left:1px solid #29424f;margin-left:8px;position:relative}.tree .tree a[aria-current=page]{box-shadow:inset 2px 0 0 var(--ice)}.centre .filehead>.entity-icon{align-self:center;width:18px;height:18px}.centre .filehead .name{overflow-wrap:anywhere;min-width:0}.filehead .cls{border:1px solid #395463;border-radius:4px;padding:1px 5px}.file-relations a{align-items:center;gap:5px;display:inline-flex}.file-relations a .entity-icon{width:14px;height:14px}.design-help summary>.ui-icon{color:#9fc1d1;width:15px;height:15px;margin-right:7px}.appnav nav a{align-items:center;gap:6px;display:inline-flex}.appnav nav .ui-icon{width:13px;height:13px}.authoring-art{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;max-width:100%;height:auto;display:block}.map-compass .authoring-art{width:66px;height:66px}.map-compass{gap:0}.map-empty-illustration{margin:20px -8px 22px}.map-empty-illustration .authoring-art{width:100%}.collection-count{font:11px/1.4 var(--sans);color:#bad1dc;border:1px solid #355160;border-radius:20px;padding:5px 10px}.illustrated-empty{background:#14243d80;border:1px dashed #426170;border-radius:7px;align-items:center;gap:16px;padding:22px;display:flex}.illustrated-empty>.ui-icon{color:#97c5d6;stroke-width:1.2px;width:32px;height:32px}.list .illustrated-empty p{font:13px/1.7 var(--sans);margin:0}.new-area{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:center;gap:28px}.new-area-intro{grid-template-columns:132px minmax(0,1fr);align-items:center;gap:20px;display:grid}.new-area-intro .authoring-art{width:160px;max-width:none;margin-left:-14px}.new-area-intro h2{margin:7px 0 9px}.new-area-intro #area-name-help{margin-top:8px;font-size:11px}.new-area .form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.new-area .form button{grid-column:1/-1;justify-self:end;min-height:40px}.new-area .form>.help,.new-area .form>[role=alert]{grid-column:1/-1}.plan-document-heading{border-bottom:1px solid #355361;align-items:center;gap:24px;margin-bottom:24px;padding-bottom:18px;display:flex}.plan-document-heading>div{flex:1;min-width:0}.plan-document-heading h1{overflow-wrap:anywhere;margin:8px 0 12px}.plan-document-heading .verdict{margin-bottom:0}.plan-document-heading .authoring-art{flex:0 0 150px;width:150px}.review-checklist h2{align-items:center;gap:10px;display:flex}.review-checklist h2>.ui-icon{color:#b3d7e5;width:22px;height:22px}.review-checklist .review-stages{gap:10px;margin:24px 0;padding:0;list-style:none;display:grid}.review-stages li{background:var(--icesus-slate);border:1px solid #3b5664;border-radius:6px;align-items:flex-start;gap:14px;margin:0;padding:16px;display:flex}.review-stages li>div{flex:1;min-width:0}.review-stages li b{color:#d5e5eb;font-size:13px;font-weight:500}.review-stages li p{margin:6px 0 0;font-size:13px}.review-stages a{text-underline-offset:3px;text-decoration:underline}.stage-symbol{color:#dec69b;background:#30322f;border:1px solid #7c715c;border-radius:8px 3px;flex:none;place-items:center;width:32px;height:36px;display:inline-grid}.stage-symbol .ui-icon{stroke-width:1.4px;width:21px;height:21px}.stage-complete .stage-symbol{color:#a8e5c5;background:#203d33;border-color:#4a7d65}@media (width<=1100px){.new-area{grid-template-columns:minmax(0,1fr)}.new-area-intro{grid-template-columns:160px minmax(0,1fr)}.new-area-intro .authoring-art{width:180px}.new-area .form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.new-area .form button{grid-column:auto}}@media (width<=600px){.appnav{gap:8px;padding-inline:10px}.appnav-brand{display:none}.new-area{padding:20px}.new-area-intro{grid-template-columns:minmax(0,1fr);gap:6px}.new-area-intro .authoring-art{width:230px;max-width:100%;margin:-12px auto 0}.new-area .form{grid-template-columns:minmax(0,1fr)}.new-area label{min-width:0}.new-area .form button{width:100%}.plan-document-heading{gap:12px}.plan-document-heading .authoring-art{flex-basis:84px;width:84px}.review-stages li{gap:10px;padding:12px}}@media (forced-colors:active){.entity-emblem,.stage-symbol{border-color:currentColor}}.list.plan-list.construction-list{max-width:1520px}.construction-list .plans-heading>div{max-width:740px}.construction-list .eyebrow{margin-bottom:10px;display:block}.construction-direction{flex-shrink:0;min-height:44px}.construction-table-scroll{border:1px solid var(--hairline);background:var(--panel);border-radius:8px;overflow-x:auto}.construction-list .construction-table{table-layout:fixed;border-collapse:collapse;width:100%;min-width:1240px;font:13px/1.5 var(--sans);margin:0}.construction-list .construction-table th,.construction-list .construction-table td{vertical-align:top;overflow-wrap:anywhere;padding:14px 12px}.construction-list .construction-table th{font:500 12px/1.5 var(--sans);color:var(--muted);text-align:left;text-transform:none;letter-spacing:0;vertical-align:middle}.construction-column-label{display:none}.construction-table th button{min-height:44px;color:inherit;font:inherit;text-align:left;background:0 0;border:0;padding:0}.construction-table th[aria-sort]{color:var(--bright)}.construction-table th:first-child{width:19%}.construction-table th:nth-child(2){width:9%}.construction-table th:nth-child(3){width:12%}.construction-table th:nth-child(4){width:7%}.construction-table th:nth-child(5),.construction-table th:nth-child(6),.construction-table th:nth-child(7){width:8%}.construction-table th:nth-child(8){width:12%}.construction-table th:nth-child(9){width:17%}.construction-table td{border-top:1px solid var(--hairline);font-variant-numeric:tabular-nums}.construction-table .plan-title{align-items:flex-start;padding:0;font-size:15px}.construction-detail{color:var(--muted);font:12px/1.6 var(--sans);margin-top:5px;display:block}.construction-warning{color:var(--seed);margin-top:8px;font-size:12px;display:block}.construction-table .plan-detail-link{font-size:13px}.construction-table .plan-status{white-space:nowrap}.construction-waiting{border:1px solid var(--ice);min-height:28px;color:var(--ice);font:600 12px/1.4 var(--sans);border-radius:20px;align-items:center;margin:0 6px 6px 0;padding:3px 10px;text-decoration:none;display:inline-flex}.construction-waiting:hover{background:var(--icesus-hover);color:var(--bright)}.construction-table tr.construction-waits td:first-child{box-shadow:inset 3px 0 0 var(--ice)}.construction-callout{background:var(--panel);border-left-width:3px;border-radius:0 6px 6px 0;padding:12px 16px}.construction-callout p{margin:0 0 6px}.construction-callout ul{margin:0 0 10px;padding-left:18px}.construction-callout li{margin:2px 0}.list.world-library.wizard-home{max-width:1520px}@media (width<=760px){.construction-direction{width:100%}.construction-list .plans-heading-actions{flex-direction:column;align-items:stretch}.construction-table-scroll{background:0 0;border:0;overflow:visible}.construction-list .construction-table{background:0 0;border:0;min-width:0;display:block}.construction-table thead{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.construction-table th button{display:none}.construction-column-label{display:inline}.construction-table tbody{gap:16px;display:grid}.construction-table tbody tr{border:1px solid var(--hairline);background:var(--panel);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;padding:12px 16px;display:grid}.construction-list .construction-table td{border:0;padding:12px 0;display:block}.construction-table td:first-child,.construction-table td:last-child{grid-column:1/-1}.construction-table tbody tr.construction-waits{border-color:var(--ice)}.construction-table tr.construction-waits td:first-child{box-shadow:none}.construction-list .construction-table td:last-child{border-top:1px solid var(--hairline)}.construction-table td[data-label]:not([data-label=""]):before{content:attr(data-label);color:var(--muted);font:500 12px/1.5 var(--sans);margin-bottom:7px;display:block}}.details-rail .entity-icon,.details-rail .entity-emblem{--entity-accent:#b4cfdb;--entity-ground:#1b303e}.details-rail .entity-icon[data-icon=room],.details-rail .entity-emblem[data-kind=room]{--entity-accent:#b6e1ed;--entity-ground:#1c3543}.details-rail .entity-icon[data-icon=monster],.details-rail .entity-emblem[data-kind=monster]{--entity-accent:#eab3a6;--entity-ground:#362c31}.details-rail .entity-icon[data-icon=npc],.details-rail .entity-emblem[data-kind=npc]{--entity-accent:#c6c3ee;--entity-ground:#2d2d43}.details-rail .entity-icon[data-icon=object],.details-rail .entity-emblem[data-kind=object]{--entity-accent:#e5cb96;--entity-ground:#33312b}.details-rail .entity-icon[data-icon=weapon],.details-rail .entity-emblem[data-kind=weapon]{--entity-accent:#c6dbe6;--entity-ground:#263540}.details-rail .entity-icon[data-icon=armour],.details-rail .entity-emblem[data-kind=armour]{--entity-accent:#a6d3c2;--entity-ground:#203732}.details-rail .entity-icon{color:var(--entity-accent)}.details-rail .entity-emblem{border:1px solid color-mix(in srgb, var(--entity-accent) 35%, transparent);background:var(--entity-ground);width:36px;height:36px;color:var(--entity-accent);border-radius:9px 3px;flex:none;place-items:center;display:inline-grid;box-shadow:inset 0 1px #ffffff0a}.details-rail .entity-emblem>.ui-icon{stroke-width:1.35px;width:23px;height:23px}.details-rail .entity-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:14px;display:grid}.details-rail{min-width:0;scroll-padding-top:calc(var(--tools-heading-height,140px) + 12px)}.details-heading{z-index:2;background:var(--icesus-slate);border-bottom:1px solid #46616f;padding:16px 16px 12px;position:sticky;top:0;box-shadow:0 5px 12px #08141d55}.details-heading h2{font:600 14px/1.4 var(--sans);color:var(--bright);align-items:center;gap:8px;margin:0;display:flex}.details-heading h2 .ui-icon{width:18px;height:18px}.details-heading p{color:var(--muted);font:12px/1.5 var(--sans);margin:5px 0 10px}.details-heading nav{flex-wrap:wrap;gap:4px;display:flex}.details-heading nav button{background:var(--icesus-raised);color:#c3dce6;min-height:28px;font:11px/1.4 var(--sans);border:1px solid #3a5564;padding:4px 8px}.details-heading nav button:hover{background:var(--icesus-hover);border-color:#8fbece}.details-rail .authoring-section{background:var(--icesus-slate);border:1px solid #334e5e;border-radius:7px;min-width:0;margin:12px;padding:14px}.details-rail .authoring-section>h2{color:#d7e7ed;font:600 13px/1.5 var(--sans);letter-spacing:0;text-transform:none;align-items:center;gap:8px;margin:0 0 12px;display:flex}.authoring-section>h2>.ui-icon{color:#9bc5d5;width:16px;height:16px}.details-rail h3{color:#b8ced9;font:500 11px/1.5 var(--sans);align-items:center;gap:6px;margin:14px 0 7px;display:flex}.details-rail h3 .ui-icon{width:14px;height:14px}.details-rail :is(.help,.muted,.room-property-help,.empty){color:#a9c1ce;font:12px/1.55 var(--sans);margin:8px 0}.details-rail .authoring-section>.help:first-of-type{margin-top:-5px}.details-rail .addmenu{gap:6px;margin-top:8px}.details-rail button{max-width:100%;min-height:32px;font:12px/1.4 var(--sans);overflow-wrap:anywhere}.details-rail button.quiet{color:#bdd8e5}.details-rail :is(button,select,input,summary):focus-visible{outline-offset:3px;outline:2px solid #b6e1ed}.details-rail :is(.authoring-section,.design-help):focus{outline-offset:-1px;outline:2px solid #91bdcf}.details-rail :is(select,input){min-width:0;max-width:100%;min-height:34px;font:12px/1.4 var(--sans);padding:6px 8px}.details-rail label{color:#bcd2dd;min-width:0;font:12px/1.5 var(--sans)}.details-rail .room-properties{border:0;align-items:stretch;gap:8px;margin:0;padding:0;display:grid}.details-rail .room-properties label{gap:7px;width:100%;display:grid}.details-rail .room-properties select{width:100%}.details-rail .room-properties .addmenu{margin:0}.details-rail .room-property-help{background:var(--icesus-raised);border-left:2px solid #6598ae;border-radius:0 4px 4px 0;margin:0;padding:9px 10px}.details-rail .parent-panel{border:0;padding:12px 16px 0}.details-rail .parent-panel h2{margin-bottom:3px;font-size:10px}.details-rail .parent-panel a{font-size:12px}.details-rail .placed li{min-width:0}.details-rail .placed li>span:last-child{overflow-wrap:anywhere;min-width:0}.details-rail .entity-picker-group h3{margin:12px 0 6px}.details-rail .entity-picker{gap:6px;margin-top:0}.details-rail .equipment-picker{grid-template-columns:repeat(3,minmax(0,1fr))}.details-rail .entity-picker button{background:var(--icesus-control);text-align:left;border-color:#35505e;justify-content:flex-start;gap:6px;min-width:0;min-height:38px;padding:7px 5px;font-size:11px}.details-rail .equipment-picker button{flex-direction:column;justify-content:center}.details-rail .entity-picker .entity-emblem{border-radius:6px;width:24px;height:26px}.details-rail .entity-picker .ui-icon{width:17px;height:17px}.details-rail .random-equipment{border-top:1px solid #304d5d;margin-top:12px;padding-top:0}.details-rail .random-equipment .help{margin:5px 0}.details-rail .random-equipment .addmenu button{flex:1;padding-inline:5px;font-size:11px}.details-rail .placement-existing{border-top:1px solid #304d5d;padding-top:10px}.details-rail :is(.placement-existing,.authoring-help) summary{font:500 12px/1.5 var(--sans);cursor:pointer;color:#bcd6e2;padding:5px 0}.details-rail .inventory-money{border-top:1px solid #304d5d;margin-top:10px}.details-rail .money-controls{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.details-rail .money-controls label{flex:115px;gap:5px;display:grid}.details-rail .money-controls input{width:100%}.details-rail .money-controls button{padding-inline:8px}.details-rail .footnote{margin:8px 0 0;padding:0;font-size:11px}.details-rail .writing-shortcuts{margin:0}.details-rail .writing-shortcuts button{flex:auto}.details-rail .connection-entry{border-bottom:1px solid #304d5d;flex-wrap:wrap;align-items:center;gap:3px 8px;margin-bottom:8px;padding-bottom:8px;display:flex}.details-rail .connection-entry button{justify-content:flex-start;padding-left:0}.details-rail .connection-entry small{color:#bcd2dd;font-size:11px}.details-rail .connection-destination{color:#a9c1ce;overflow-wrap:anywhere;width:100%;font:11px/1.5 var(--mono)}.details-rail .movement-status{font:12px/1.5 var(--sans);background:var(--icesus-slate);border:1px solid #486777;border-radius:4px;margin:0;padding:4px 8px;display:inline-block}.details-rail .monster-combat>label{margin-bottom:8px}.details-rail .monster-xp{border:0;border-top:1px solid #304d5d;border-radius:0;padding:12px 0 0}.details-rail .monster-xp h3{color:#bcd2dd;font-weight:500;line-height:1.5}.details-rail .authoring-help{margin-top:8px}.details-rail .authoring-help[open]{border-bottom:1px solid #304d5d;padding-bottom:8px}.details-rail .combat-entries li{border-color:#304d5d}.details-rail .behaviour-addition>.addmenu{flex-wrap:nowrap}.details-rail .behaviour-addition>.addmenu select{flex:1;width:100%}.details-rail .behaviour-addition>.addmenu button{flex:none}.details-rail .design-help{border:1px solid #334e5e;border-radius:7px;margin:12px;padding:14px}.details-rail .design-help summary{font-size:12px;line-height:1.5}.details-rail .design-help summary>.ui-icon{color:#9fc1d1;width:15px;height:15px;margin-right:7px}.details-rail .design-help p{font-size:12px;line-height:1.65}.details-rail .validation-panel{border:0;margin:0 12px 12px;padding:14px}.details-rail .validation-panel h2{font-size:10px}.dialog.add .field-error{color:var(--blood);font:12px/1.5 var(--sans);margin:0}.dialog.add .footnote{margin:-5px 0 0;padding:0;line-height:1.5}.build .file-preview[data-mode=code]{max-height:35%}@media (prefers-reduced-motion:reduce){.details-rail button{transition:none}}@media (forced-colors:active){.details-rail .authoring-section,.details-heading{border-color:canvastext}}.authoring-search{border:1px solid var(--control-border);border-radius:var(--control-radius);background:var(--control-ground);align-items:center;gap:6px;width:100%;min-width:0;margin-bottom:8px;padding:0 6px;display:flex}.authoring-search:focus-within{outline:var(--focus-ring);outline-offset:2px}.authoring-search>.ui-icon{width:14px;height:14px;color:var(--muted);flex:none}.authoring-search input[type=search]{width:100%;min-width:0;min-height:var(--control-height);color:var(--bright);font:12px/1.5 var(--sans);background:0 0;border:0;border-radius:0;flex:1;padding:5px 0}.authoring-search input[type=search]:focus-visible{outline:0}.authoring-search input::-webkit-search-cancel-button{-webkit-appearance:none}.authoring-search button{width:28px;min-height:28px;font:18px/1 var(--sans);flex:none;padding:0}.search-result-count{color:var(--muted);font:11px/1.5 var(--sans);margin:0 0 8px}.tree-file-name{overflow-wrap:anywhere;min-width:0}.tree-file-name small{color:var(--muted);font:11px/1.5 var(--sans);display:block}.tree a:has(.tree-file-name small){align-items:start}.tree a:has(.tree-file-name small) .marks{display:none}.room-node .room-badges-dense{gap:4px}.room-node .room-badges-dense .room-badge{box-sizing:border-box;min-height:18px}.room-node .marks:empty{border:0;margin:0;padding:0}.map-open-file{width:100%;min-height:var(--control-height);margin-bottom:5px}.room-badge-details{border-bottom:1px solid var(--hairline);margin:12px 0;padding-bottom:10px}.room-badge-details summary{cursor:pointer;color:var(--ice);font:12px/1.5 var(--sans);padding:5px 0}.room-badge-details summary:focus-visible{outline:var(--focus-ring);outline-offset:2px}.room-badge-details dl{margin:12px 0 0}.room-badge-details dl>div+div{margin-top:12px}.room-badge-details dt{font:600 12px/1.5 var(--sans);color:var(--bright);align-items:center;gap:6px;display:flex}.room-badge-details dt .ui-icon{flex:none;width:15px;height:15px}.room-badge-details dd{color:var(--muted);overflow-wrap:anywhere;font:12px/1.6 var(--sans);margin:4px 0 0}.surface .cm-editor .cm-behaviour-row{border:0;border-left:2px solid var(--hairline);width:calc(100% - 1rem);max-width:calc(100% - 1rem);font:13px/1.5 var(--mono);background:0 0;border-radius:0;padding:6px}.surface .cm-editor .cm-behaviour-row:focus-within{border-left-color:var(--ice);background:#14243d66}.surface .cm-editor .cm-behaviour-name:before{content:"// ";color:var(--muted)}.surface .cm-editor .cm-behaviour-hooks{color:var(--ice);font:12px/1.5 var(--mono);overflow-wrap:anywhere}.surface .cm-editor .cm-behaviour-help{font:12px/1.5 var(--sans)}.surface .cm-editor .cm-behaviour-source summary{min-height:28px;font:12px/1.5 var(--mono)}.surface .cm-editor .cm-behaviour-field :is(input,textarea,select){font-family:var(--mono)}.workspace-collection .section-heading{flex-wrap:wrap;gap:12px}.workspace-collection .section-heading .collection-count{margin-right:auto}body{background:var(--ground)}button{box-shadow:inset 0 1px #e8f0ff12}button.primary{background:var(--icesus-metal);color:#102633;border-color:#badce9;box-shadow:inset 0 1px #edfaff,0 3px 10px #0004}button.primary:hover:not(:disabled){color:#102633;background:#def2f9;border-color:#f0fcff}button[aria-pressed=true]{border-color:var(--icesus-line);color:var(--icesus-ice)}.brand{gap:12px;position:relative}.brand img{width:205px;height:56px}.brand.compact img{width:157px;height:43px}.brand-product{border-left:1px solid var(--icesus-line);max-width:76px;color:var(--muted);font:10px/1.5 var(--sans);letter-spacing:.1em;text-transform:uppercase;padding-left:12px}.brand.compact .brand-product{display:none}.appnav{background:var(--icesus-frame);border-bottom-color:var(--icesus-line)}.appnav-brand{color:var(--icesus-ice);font:12px var(--display);align-items:center;gap:7px;display:inline-flex}.appnav nav a[aria-current=page]{border-color:var(--icesus-line);background:var(--icesus-active);color:#d3edf5}.appnav nav a[href$=\/plans] .ui-icon{color:var(--icesus-ice)}.appnav nav a[href$=\/construction] .ui-icon{color:var(--icesus-green)}.workbench-masthead{border-top:1px solid #caeafa1c}.workbench-masthead .brand{border-right-color:var(--icesus-line)}.modes a[aria-current=page]{box-shadow:inset 0 -2px 0 var(--icesus-ice);color:var(--icesus-ice);background:linear-gradient(#0000,#83b6cf30)}.modes .ui-icon[data-icon=quill]{color:var(--icesus-ice)}.modes .ui-icon[data-icon=play]{color:var(--icesus-green)}.modes .ui-icon[data-icon=shield]{color:var(--icesus-violet)}.workbench-actions{background:var(--icesus-frame)}.library-hero{border-color:#6888b1;box-shadow:inset 0 0 0 4px #0b141b66,0 18px 50px #0004}.library-hero:after{content:"";pointer-events:none;border:1px solid #badce930;position:absolute;inset:9px}.hero-copy h2,.signin-world h2{color:var(--bright);text-shadow:0 2px 15px #0008}.eyebrow,.world-caption,.frost-rule{color:var(--icesus-ice)}.frost-rule:before,.frost-rule:after{background:linear-gradient(90deg, transparent, var(--icesus-line))}.new-area{background:var(--icesus-panel);border-color:var(--icesus-line);box-shadow:var(--icesus-bevel)}.collection-count{color:var(--icesus-ice);border-color:var(--icesus-line);background:var(--icesus-slate)}.list th{background:var(--icesus-raised);color:#bad7e3}.workspace-link>.ui-icon:first-child{color:var(--icesus-ice)}.dialog{background:var(--icesus-panel);border-color:#6888b1;box-shadow:0 24px 100px #000a,inset 0 1px #badce944}.dialog h2,.signin h1{color:var(--bright)}.signin-scene{background:radial-gradient(ellipse at bottom right, #5889c226, transparent 60%), var(--ground)}.signin-world{border-right-color:#6888b1}.entity-icon[data-icon=room],.entity-emblem[data-kind=room]{--entity-accent:var(--icesus-ice)}.entity-icon[data-icon=monster],.entity-emblem[data-kind=monster]{--entity-accent:var(--icesus-red)}.entity-icon[data-icon=npc],.entity-emblem[data-kind=npc]{--entity-accent:var(--icesus-violet)}.entity-icon[data-icon=object],.entity-emblem[data-kind=object]{--entity-accent:var(--icesus-gold)}.entity-icon[data-icon=weapon],.entity-emblem[data-kind=weapon]{--entity-accent:var(--icesus-ember)}.entity-icon[data-icon=armour],.entity-emblem[data-kind=armour]{--entity-accent:var(--icesus-green)}.room-node.selected{border-color:var(--icesus-ice)}@media (width<=760px){.brand-product{display:none}.library-header .brand img{width:184px;height:50px}}
