/* Additional worlds inherit every light/dark tint; shape is their identity. */
/* Four distinct world hues per existing tint; text contrast >=4.5 on panels. */
html[data-theme=dark][data-tint=violet]{--world-gemini:#c289ec;--world-gopher:#a6e977;--world-spartan:#e7958d;--world-nex:#8edfe6;}
html[data-theme=light][data-tint=violet]{--world-gemini:#64199a;--world-gopher:#32610f;--world-spartan:#8b271d;--world-nex:#1b7179;}
html[data-theme=dark][data-tint=tide]{--world-gemini:#89ecdb;--world-gopher:#ec8999;--world-spartan:#e7d88d;--world-nex:#ab8ee6;}
html[data-theme=light][data-tint=tide]{--world-gemini:#106557;--world-gopher:#91182c;--world-spartan:#655815;--world-nex:#401d86;}
html[data-theme=dark][data-tint=amber]{--world-gemini:#eccb89;--world-gopher:#80a3ea;--world-spartan:#e78dd8;--world-nex:#8ee69d;}
html[data-theme=light][data-tint=amber]{--world-gemini:#725313;--world-gopher:#184091;--world-spartan:#8b1d79;--world-nex:#1b792a;}
html[data-theme=dark][data-tint=rose]{--world-gemini:#ec89a1;--world-gopher:#77e9cc;--world-spartan:#d1e78d;--world-nex:#a48ee6;}
html[data-theme=light][data-tint=rose]{--world-gemini:#9a1939;--world-gopher:#10604c;--world-spartan:#4b5d14;--world-nex:#371d86;}
html[data-theme=dark][data-tint=glacier]{--world-gemini:#89c2ec;--world-gopher:#e9a677;--world-spartan:#df8de7;--world-nex:#95e68e;}
html[data-theme=light][data-tint=glacier]{--world-gemini:#175b8c;--world-gopher:#884617;--world-spartan:#821d8b;--world-nex:#23791b;}
html[data-theme=dark][data-tint=moss]{--world-gemini:#b2ec89;--world-gopher:#c792ed;--world-spartan:#e7958d;--world-nex:#8edfe6;}
html[data-theme=light][data-tint=moss]{--world-gemini:#346510;--world-gopher:#5e1891;--world-spartan:#8b271d;--world-nex:#1c757d;}
html[data-theme=dark][data-tint=slate]{--world-gemini:#9fb1d6;--world-gopher:#e9c377;--world-spartan:#8de7c9;--world-nex:#e68ed8;}
html[data-theme=light][data-tint=slate]{--world-gemini:#364d7d;--world-gopher:#725212;--world-spartan:#15654b;--world-nex:#861d74;}
[data-world=gemini]{--world-color:var(--world-gemini)}[data-world=gopher]{--world-color:var(--world-gopher)}[data-world=spartan]{--world-color:var(--world-spartan)}[data-world=nex]{--world-color:var(--world-nex)}
.world-picker{max-width:620px;margin:10px auto 18px;padding:10px;border:1px dashed var(--edge);display:flex;flex-wrap:wrap;gap:8px;text-align:left;font-size:11px}
.world-picker legend{color:var(--signal);padding:0 6px}.world-picker label{display:flex;gap:5px;align-items:center;padding:7px;border:1px solid var(--edge);cursor:pointer;background:var(--panel)}
.world-picker input{accent-color:var(--accent);padding:0;min-width:14px;min-height:14px}.world-picker label:has(input:checked){border-color:var(--signal);color:var(--ink)}
.world-picker p{flex-basis:100%;margin:3px 0;color:var(--muted);font-size:10px}.world-board{margin:26px 0;border-top:1px dashed var(--edge);padding:12px 0}.world-board>p,.world-note{font-size:11px;color:var(--muted)}
.world-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.world-cards article{padding:12px;border:1px solid var(--edge);background:var(--panel)}.world-cards h3{font-size:13px}.world-cards p,.world-cards a{font-size:11px}.world-count{color:var(--signal)}
[data-world="gopher"]{border-style:double}.world-hit[data-world="gopher"]{border-left:4px double var(--signal)}.world-hit[data-world="spartan"]{border-left:4px solid var(--accent)}.world-hit[data-world="nex"]{border-left:4px dashed var(--signal)}
#gemspace[data-world="gopher"] .portal-frame{border:5px double var(--signal)}
#gemspace[data-world="gopher"] .portal-toolbar{border-bottom:3px double var(--edge)}
#gemspace[data-world="spartan"] .portal-frame{border:2px solid var(--accent);border-top:8px solid var(--signal)}
#gemspace[data-world="spartan"] .capsule-document h1,#gemspace[data-world="spartan"] .capsule-document h2{border-bottom:1px solid var(--edge);padding-bottom:8px}
#gemspace[data-world="nex"] .portal-frame{border:2px dashed var(--signal)}
#gemspace[data-world="nex"] .portal-toolbar{background:var(--panel);border-bottom:3px double var(--signal)}
.world-menu-item{display:flex;gap:12px;margin:7px 0}.world-menu-item>span{color:var(--signal);font-size:11px;min-width:65px}.world-menu-note{margin:0;font:inherit;white-space:pre-wrap}.nex-document{white-space:pre;overflow:auto;font-size:12px}.world-reading{padding:15px;border:2px solid var(--edge)}
.world-results .hit-url{overflow-wrap:anywhere}.world-results .tag{color:var(--signal)}
.world-picker label span,.world-cards article h3,.world-cards article a,.world-hit .hit-title,.world-hit .tag{color:var(--world-color)}
.world-picker label:has(input:checked),.world-cards article,.world-hit{border-color:var(--world-color)}.world-picker input{accent-color:var(--world-color)}
.world-hit[data-world]{border-left-color:var(--world-color)}
#gemspace[data-world=gopher]{--accent:var(--world-gopher);--signal:var(--world-nex);--warm:var(--world-spartan)}
#gemspace[data-world=spartan]{--accent:var(--world-spartan);--signal:var(--world-gopher);--warm:var(--world-gemini)}
#gemspace[data-world=nex]{--accent:var(--world-nex);--signal:var(--world-gemini);--warm:var(--world-spartan)}
#gemspace[data-world] .portal-frame{border-color:var(--world-color)}#gemspace[data-world] .portal-toolbar .eyebrow{color:var(--world-color)}
@media(max-width:620px){.world-cards{grid-template-columns:1fr}.world-picker{font-size:10px}.world-picker label{flex:1 1 42%}.world-menu-item{gap:6px}.nex-document{font-size:11px}}
/* All protocol text participates in document-only size controls, including menus. */
.capsule-document .nex-document{font-size:calc(12px * var(--display-scale))}
.capsule-document .world-menu-item>span{font-size:calc(11px * var(--display-scale))}
@media(max-width:620px){.capsule-document .nex-document{font-size:calc(11px * var(--display-scale))}}
/* A small departure console: four readable cartridges, not a wall of controls. */
.world-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px;max-width:660px;border-style:solid;background:var(--panel);text-align:left}
.world-picker legend{font-size:11px;letter-spacing:.03em}.course-heading{grid-column:1/-1;display:flex;justify-content:space-between;gap:8px;font-size:9px;color:var(--muted);margin-bottom:2px}
.world-picker label{position:relative;display:block;padding:10px 6px 9px;border:1px solid var(--edge);border-top:3px solid var(--edge);min-width:0;box-shadow:inset 0 -3px 0 var(--edge)}
.world-picker label>span{display:grid;gap:5px;text-align:center}.world-picker strong{font-size:12px;letter-spacing:.04em}.world-picker small{font-size:9px;line-height:1.5;font-weight:normal}.world-picker .world-symbol{font-size:15px;font-weight:normal;min-height:20px}
.world-picker input{position:absolute;left:6px;top:7px;width:13px;height:13px;min-height:13px;min-width:13px;margin:0}
.world-picker label:has(input:checked){border-color:var(--world-color);box-shadow:inset 0 -3px 0 var(--world-color)}
.world-picker label:has(input:focus-visible){outline:2px dashed var(--world-color);outline-offset:3px}
.world-picker .course-count{color:var(--ink);min-height:27px}.world-picker .course-tools{grid-column:1/-1;display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:5px 0 0}
.course-tools button{font:inherit;color:var(--ink);background:transparent;border:1px solid var(--edge);padding:4px 7px;cursor:pointer}.course-tools button:hover,.course-tools button:focus-visible{border-color:var(--signal)}.course-tools a{margin-left:auto}
.world-picker noscript{grid-column:1/-1}.world-hit .meter{color:var(--world-color)}.world-hit .hit-meta{gap:6px}.world-hit .tag{line-height:1.5}
@media(max-width:540px){.world-picker{grid-template-columns:repeat(2,minmax(0,1fr));padding:9px}.world-picker .course-count{min-height:14px}.world-picker label{padding:8px}.world-picker .course-heading{font-size:8px}.course-tools a{margin-left:0}}
/* Doorway controls wrap between complete links; larger text gets wider cards. */
.world-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,calc(210px * var(--display-scale))),1fr))}
.world-cards article{min-width:0}
.world-cards h3{font-size:calc(13px * var(--display-scale))}
.world-board>p,.world-cards p,.world-cards a{font-size:calc(11px * var(--display-scale))}
.world-actions{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin:10px 0}
.world-actions a{display:inline-block;white-space:nowrap}
.world-actions a:focus-visible{outline-color:var(--world-color)}
