Refactor org platform navigation and content flows
All checks were successful
Build Org Website / build (push) Successful in 38s

This commit is contained in:
gitea-actions
2026-07-29 21:42:31 +01:00
parent 7afc554f5d
commit 5b59f5745c
42 changed files with 2564 additions and 588 deletions

View File

@@ -447,13 +447,13 @@
.archive-world {
--world-ink: #17251e;
--world-panel: #f3ead2;
--world-panel: #efe2c2;
--world-paper: #fff9e9;
--world-line: #8b6841;
--world-brass: #d49a3a;
--world-moss: #527657;
--world-berry: #9d5268;
max-width: 1440px;
max-width: 1540px;
}
.archive-world__heading {
@@ -461,6 +461,7 @@
}
.archive-world__shell {
position: relative;
overflow: hidden;
border: 2px solid var(--world-line);
border-radius: 12px;
@@ -468,12 +469,26 @@
box-shadow: 0 22px 70px rgba(23, 37, 30, 0.28);
}
.archive-world__toolbar {
display: flex;
flex-wrap: wrap;
.archive-world.is-restored .archive-world__shell {
box-shadow: 0 22px 80px rgba(215, 184, 94, 0.32), 0 0 0 3px rgba(239, 213, 137, 0.22);
}
.archive-world__shell:fullscreen {
width: 100vw;
height: 100vh;
display: grid;
grid-template-rows: auto auto minmax(0, 1fr) auto auto auto auto;
border: 0;
border-radius: 0;
background: #101b18;
}
.archive-world__hud {
display: grid;
grid-template-columns: 1.1fr 1.4fr 0.8fr 1.15fr auto;
gap: 0.65rem;
align-items: center;
padding: 0.75rem;
align-items: stretch;
padding: 0.65rem;
border-bottom: 2px solid #6e5738;
background:
linear-gradient(rgba(255, 255, 255, 0.04), transparent),
@@ -481,12 +496,18 @@
color: #fff6dc;
}
.archive-world__toolbar > div {
.archive-world__hud > div:not(.rpg-hud__actions) {
display: grid;
min-width: 110px;
align-content: center;
min-width: 0;
padding: 0.45rem 0.6rem;
border: 1px solid rgba(229, 200, 135, 0.25);
border-radius: 6px;
background: rgba(9, 20, 15, 0.28);
}
.archive-world__toolbar span {
.archive-world__hud span,
.rpg-objective span {
color: #d8c9a6;
font-size: 0.68rem;
font-weight: 900;
@@ -494,9 +515,49 @@
text-transform: uppercase;
}
.archive-world__toolbar button,
.archive-world__hud strong {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.archive-world__hud small {
color: #b8d4bb;
}
.rpg-hud__health span {
display: flex;
justify-content: space-between;
gap: 0.5rem;
}
.rpg-meter {
height: 9px;
overflow: hidden;
border: 1px solid #d6b777;
border-radius: 999px;
background: #211c18;
}
.rpg-meter i {
display: block;
height: 100%;
background: linear-gradient(90deg, #8dbb73, #d8db78);
transition: width 180ms ease;
}
.rpg-hud__actions {
display: flex;
flex-wrap: wrap;
gap: 0.35rem;
align-content: center;
justify-content: flex-end;
}
.archive-world__hud button,
.archive-world__controls button,
.archive-world__dialog button {
.archive-world__dialog button,
.archive-world__panel button {
border: 1px solid #d6b777;
border-radius: 6px;
background: #fff3d2;
@@ -506,24 +567,40 @@
cursor: pointer;
}
.archive-world__toolbar button {
margin-left: auto;
padding: 0.55rem 0.75rem;
.archive-world__hud button {
padding: 0.48rem 0.62rem;
font-size: 0.76rem;
}
.archive-world__toolbar button + button {
margin-left: 0;
}
.archive-world__toolbar button:hover,
.archive-world__toolbar button:focus-visible,
.archive-world__hud button:hover,
.archive-world__hud button:focus-visible,
.archive-world__controls button:hover,
.archive-world__controls button:focus-visible,
.archive-world__dialog button:hover,
.archive-world__dialog button:focus-visible {
.archive-world__dialog button:focus-visible,
.archive-world__panel button:hover,
.archive-world__panel button:focus-visible,
.archive-world__panel a:focus-visible,
.archive-world__panel select:focus-visible,
.archive-world__panel input:focus-visible {
border-color: #fff0b5;
background: #fffaf0;
box-shadow: 0 0 0 3px rgba(255, 236, 173, 0.24);
outline: none;
}
.rpg-objective {
display: flex;
gap: 0.75rem;
align-items: baseline;
padding: 0.55rem 0.8rem;
border-bottom: 1px solid rgba(245, 228, 183, 0.16);
background: #24342b;
color: #fff4cf;
}
.rpg-objective strong {
font-size: 0.88rem;
}
.archive-world__badge {
@@ -537,6 +614,12 @@
font-weight: 900;
}
.archive-world__stage {
position: relative;
min-height: 0;
background: #101b18;
}
.archive-world__game {
position: relative;
width: 100%;
@@ -548,6 +631,13 @@
image-rendering: pixelated;
}
.archive-world__shell:fullscreen .archive-world__stage,
.archive-world__shell:fullscreen .archive-world__game {
height: 100%;
max-height: none;
aspect-ratio: auto;
}
.archive-world__game:focus-visible {
box-shadow: inset 0 0 0 4px #fff0a9;
}
@@ -572,6 +662,31 @@
display: none;
}
.rpg-boss {
position: absolute;
z-index: 25;
top: 0.65rem;
left: 50%;
width: min(520px, 82%);
padding: 0.45rem 0.65rem;
border: 1px solid #f0bfd0;
border-radius: 7px;
background: rgba(21, 12, 20, 0.9);
color: #ffe9f0;
text-align: center;
transform: translateX(-50%);
}
.rpg-meter--boss {
height: 11px;
margin-top: 0.25rem;
border-color: #df8ca8;
}
.rpg-meter--boss i {
background: linear-gradient(90deg, #80324e, #d97691);
}
.archive-world__controls {
display: flex;
gap: 1rem;
@@ -590,6 +705,12 @@
gap: 0.3rem;
}
.archive-world__action-pad {
display: grid;
grid-template-columns: repeat(2, minmax(84px, 1fr));
gap: 0.4rem;
}
.archive-world__dpad [data-world-move="up"] {
grid-column: 2;
}
@@ -613,21 +734,29 @@
-webkit-user-select: none;
}
.archive-world__interact {
min-width: 110px;
min-height: 64px !important;
.archive-world__action-pad [data-world-attack],
.archive-world__action-pad [data-world-interact] {
min-height: 54px;
background: #f5d98d;
}
.archive-world__status,
.archive-world__instructions {
.archive-world__instructions,
.archive-world__prompt {
margin: 0;
padding: 0.65rem 1rem;
color: #f5e4b7;
text-align: center;
}
.archive-world__prompt {
padding-bottom: 0.15rem;
color: #fff0b7;
font-weight: 900;
}
.archive-world__status {
border-top: 1px solid rgba(245, 228, 183, 0.16);
padding-top: 0.2rem;
font-weight: 800;
}
@@ -637,6 +766,283 @@
font-size: 0.85rem;
}
.archive-world__overlay {
position: absolute;
z-index: 60;
inset: 0;
display: grid;
place-items: center;
padding: clamp(0.6rem, 2vw, 1.5rem);
background: rgba(9, 15, 12, 0.78);
backdrop-filter: blur(2px);
}
.archive-world__overlay[hidden] {
display: none;
}
.archive-world__panel {
width: min(720px, 100%);
max-height: 96%;
overflow: auto;
border: 3px double #9c7846;
border-radius: 6px;
background:
linear-gradient(rgba(255, 255, 255, 0.26), transparent 30%),
var(--world-panel);
color: #2a2118;
box-shadow: 0 20px 80px rgba(0, 0, 0, 0.58);
}
.archive-world__panel > header {
position: sticky;
z-index: 2;
top: 0;
display: flex;
gap: 1rem;
justify-content: space-between;
align-items: start;
padding: 0.85rem 1rem;
border-bottom: 2px solid #a6834f;
background: #e8d5aa;
}
.archive-world__panel h2,
.archive-world__panel h3,
.archive-world__dialog h2 {
font-family: Georgia, "Times New Roman", serif;
}
.archive-world__panel h2 {
margin: 0.15rem 0 0;
}
.archive-world__panel > header button {
min-width: 42px;
min-height: 42px;
padding: 0;
font-size: 1.4rem;
}
.archive-world__panel-body {
padding: 1rem;
}
.archive-world__panel blockquote {
margin: 0.9rem 0;
padding: 0.8rem;
border-left: 4px solid var(--world-moss);
background: rgba(255, 255, 255, 0.46);
}
.rpg-panel__landmark-icon {
float: right;
margin: 0 0 0.5rem 0.8rem;
color: #8b6828;
font-size: 3rem;
}
.rpg-panel__facts {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0.55rem;
}
.rpg-panel__facts div {
padding: 0.55rem;
border: 1px solid #c1a87d;
border-radius: 4px;
background: rgba(255, 255, 255, 0.34);
}
.rpg-panel__facts dt {
color: #66563d;
font-size: 0.7rem;
font-weight: 900;
letter-spacing: 0.06em;
text-transform: uppercase;
}
.rpg-panel__facts dd {
margin: 0.2rem 0 0;
}
.rpg-panel__actions,
.rpg-panel__puzzle-buttons,
.rpg-menu-tabs {
display: flex;
flex-wrap: wrap;
gap: 0.55rem;
margin: 0.9rem 0;
}
.archive-world__panel button {
min-height: 42px;
padding: 0.6rem 0.8rem;
}
.rpg-panel__complete {
color: #2e6237;
font-weight: 900;
}
.rpg-panel__destinations {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0.5rem;
margin-top: 1rem;
padding-top: 0.8rem;
border-top: 1px solid #b99d70;
}
.rpg-panel__destinations h3 {
grid-column: 1 / -1;
margin: 0;
}
.rpg-panel__destinations a {
padding: 0.65rem;
border: 1px solid #a88654;
border-radius: 5px;
background: var(--world-paper);
color: #302516;
font-weight: 800;
text-decoration: none;
}
.rpg-panel__hint,
.rpg-panel__note {
color: #6f614d;
font-size: 0.82rem;
}
.rpg-panel__sequence {
min-height: 1.5em;
font-weight: 900;
}
.archive-world__panel form,
.archive-world__panel label {
display: grid;
gap: 0.4rem;
}
.archive-world__panel form {
gap: 0.75rem;
}
.archive-world__panel select,
.archive-world__panel input[type="range"] {
width: 100%;
}
.archive-world__panel select {
min-height: 42px;
border: 1px solid #9c7846;
border-radius: 4px;
padding: 0.45rem;
background: #fff9e9;
color: #2a2118;
font: inherit;
}
.rpg-menu-tabs {
position: sticky;
top: 76px;
z-index: 1;
padding: 0.45rem;
background: #efe2c2;
}
.rpg-menu-tabs [aria-current="page"] {
background: #385341;
color: #fff8e7;
}
.rpg-menu-list {
display: grid;
gap: 0.55rem;
padding: 0;
list-style: none;
}
.rpg-menu-list li {
display: grid;
gap: 0.18rem;
padding: 0.7rem;
border: 1px solid #b89b6c;
border-radius: 5px;
background: rgba(255, 255, 255, 0.38);
}
.rpg-menu-list li.is-complete {
border-color: #6d966c;
background: #e1edd5;
}
.rpg-menu-list small,
.rpg-menu-list span {
color: #665a46;
}
.rpg-inventory li {
grid-template-columns: 48px minmax(0, 1fr) auto;
align-items: center;
}
.rpg-item-icon {
display: block;
width: 44px;
height: 44px;
border: 1px solid #9b7948;
border-radius: 6px;
background-color: #e7d4aa;
background-image: url("/assets/images/play/archive-world/v2/item-atlas.png");
background-repeat: no-repeat;
background-size: 176px 176px;
image-rendering: pixelated;
}
.rpg-item-icon--0 { background-position: 0 0; }
.rpg-item-icon--1 { background-position: -44px 0; }
.rpg-item-icon--2 { background-position: -88px 0; }
.rpg-item-icon--3 { background-position: -132px 0; }
.rpg-item-icon--4 { background-position: 0 -44px; }
.rpg-item-icon--5 { background-position: -44px -44px; }
.rpg-item-icon--6 { background-position: -88px -44px; }
.rpg-item-icon--7 { background-position: -132px -44px; }
.rpg-item-icon--8 { background-position: 0 -88px; }
.rpg-item-icon--9 { background-position: -44px -88px; }
.rpg-item-icon--10 { background-position: -88px -88px; }
.rpg-item-icon--11 { background-position: -132px -88px; }
.rpg-item-icon--12 { background-position: 0 -132px; }
.rpg-controls-list div {
display: grid;
grid-template-columns: minmax(90px, 0.35fr) 1fr;
gap: 0.6rem;
padding: 0.45rem 0;
border-bottom: 1px solid #c9b38e;
}
.rpg-controls-list dt {
font-weight: 900;
}
.rpg-controls-list dd {
margin: 0;
}
.rpg-toggle {
grid-template-columns: auto 1fr !important;
align-items: center;
}
.rpg-danger {
border-color: #a34e57 !important;
background: #f3c8c5 !important;
}
.archive-world__dialog {
width: min(92vw, 620px);
max-height: 86vh;
@@ -658,7 +1064,6 @@
.archive-world__dialog h2 {
margin-top: 0.25rem;
font-family: Georgia, "Times New Roman", serif;
}
.archive-world__dialog form,
@@ -711,51 +1116,6 @@
font-weight: 800;
}
.archive-world__preview-links {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0.65rem;
margin: 1rem 0;
}
.archive-world__preview-links a {
padding: 0.75rem;
border: 1px solid var(--world-line);
border-radius: 6px;
background: var(--world-paper);
color: #3a2b18;
font-weight: 800;
text-decoration: none;
}
.archive-world__preview-links a:hover,
.archive-world__preview-links a:focus-visible {
background: #fff;
box-shadow: 0 0 0 3px rgba(82, 118, 87, 0.25);
}
.archive-world__journal {
display: grid;
gap: 0.5rem;
padding: 0;
list-style: none;
}
.archive-world__journal li {
padding: 0.65rem;
border: 1px dashed #aa977b;
border-radius: 5px;
color: #756956;
}
.archive-world__journal li.is-discovered {
border-style: solid;
border-color: #638568;
background: #e5efdc;
color: #29452e;
font-weight: 800;
}
.archive-world__directory {
margin-top: 1.5rem;
border: 1px solid var(--border);
@@ -769,6 +1129,12 @@
cursor: pointer;
}
.archive-world__directory > p {
margin: 0;
padding: 0 1rem 0.8rem;
color: var(--muted);
}
.archive-world__directory-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
@@ -813,12 +1179,13 @@
min-height: 160px;
}
.archive-world__toolbar > div {
min-width: 82px;
.archive-world__hud {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.archive-world__toolbar button {
margin-left: 0;
.rpg-hud__actions {
grid-column: 1 / -1;
justify-content: start;
}
.archive-world__game {
@@ -827,11 +1194,16 @@
}
.archive-world__dialog fieldset,
.archive-world__preview-links,
.rpg-panel__facts,
.rpg-panel__destinations,
.archive-world__directory-grid {
grid-template-columns: 1fr;
}
.rpg-objective {
display: grid;
gap: 0.2rem;
}
}
@media (max-width: 480px) {
@@ -841,10 +1213,43 @@
.archive-world__controls {
justify-content: space-between;
gap: 0.4rem;
padding: 0.5rem;
}
.archive-world__dpad {
grid-template-columns: repeat(3, 42px);
grid-template-columns: repeat(3, 38px);
grid-template-rows: repeat(2, 40px);
}
.archive-world__action-pad {
grid-template-columns: repeat(2, minmax(64px, 1fr));
}
.archive-world__controls button {
min-height: 40px;
padding: 0.4rem 0.5rem;
font-size: 0.8rem;
}
.archive-world__panel {
max-height: 100%;
}
.archive-world__panel-body {
padding: 0.75rem;
}
.rpg-menu-tabs {
top: 70px;
}
.rpg-inventory li {
grid-template-columns: 44px minmax(0, 1fr);
}
.rpg-inventory li button {
grid-column: 1 / -1;
}
}
@@ -857,4 +1262,8 @@
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
}
.rpg-meter i {
transition: none;
}
}