Remove obsolete generated assets and dead code
All checks were successful
Build Org Website / build (push) Successful in 43s
All checks were successful
Build Org Website / build (push) Successful in 43s
This commit is contained in:
@@ -1,601 +0,0 @@
|
||||
.house-root {
|
||||
--house-ink: #34271e;
|
||||
--house-wood: #744a2d;
|
||||
--house-wood-dark: #4a2e20;
|
||||
--house-plaster: #eadcbf;
|
||||
--house-lamp: #e7b85a;
|
||||
--house-green: #607451;
|
||||
--house-blue: #617789;
|
||||
--house-rug: #914d3f;
|
||||
--house-shadow: rgba(43, 29, 18, 0.18);
|
||||
max-width: 1180px;
|
||||
}
|
||||
|
||||
.house-heading {
|
||||
max-width: 760px;
|
||||
}
|
||||
|
||||
.house-visually-hidden {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
padding: 0;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
white-space: nowrap;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.house-statusbar {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: 1rem;
|
||||
margin: 1rem 0;
|
||||
padding: 0.75rem 1rem;
|
||||
border: 1px solid color-mix(in oklab, var(--border) 72%, var(--house-wood));
|
||||
border-radius: 8px;
|
||||
background: color-mix(in oklab, var(--surface) 92%, var(--house-lamp) 8%);
|
||||
box-shadow: 0 8px 24px var(--house-shadow);
|
||||
}
|
||||
|
||||
.house-statusbar p {
|
||||
margin: 0;
|
||||
color: var(--muted);
|
||||
font-size: 0.92rem;
|
||||
}
|
||||
|
||||
.house-statusbar button {
|
||||
flex: 0 0 auto;
|
||||
min-height: 36px;
|
||||
padding: 0.4rem 0.7rem;
|
||||
font-size: 0.84rem;
|
||||
}
|
||||
|
||||
.house-experience {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.8fr);
|
||||
gap: 1rem;
|
||||
align-items: stretch;
|
||||
}
|
||||
|
||||
.house-illustration,
|
||||
.house-panel,
|
||||
.house-directory {
|
||||
border: 1px solid var(--border);
|
||||
border-radius: 10px;
|
||||
background: color-mix(in oklab, var(--surface) 84%, var(--house-plaster) 16%);
|
||||
box-shadow: 0 20px 50px var(--house-shadow);
|
||||
}
|
||||
|
||||
.house-illustration {
|
||||
position: relative;
|
||||
min-width: 0;
|
||||
padding: clamp(1rem, 3vw, 2rem);
|
||||
overflow: hidden;
|
||||
background:
|
||||
radial-gradient(circle at 14% 14%, rgba(255, 255, 255, 0.42) 0 2px, transparent 3px),
|
||||
linear-gradient(to bottom, color-mix(in oklab, var(--surface) 68%, var(--house-blue) 32%) 0 34%, color-mix(in oklab, var(--surface) 76%, var(--house-green) 24%) 34% 100%);
|
||||
}
|
||||
|
||||
.house-illustration::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
right: -8%;
|
||||
bottom: -10%;
|
||||
width: 42%;
|
||||
aspect-ratio: 1;
|
||||
border-radius: 50% 50% 8% 8%;
|
||||
background: color-mix(in oklab, var(--house-green) 78%, transparent);
|
||||
opacity: 0.45;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.house-roof {
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
width: 82%;
|
||||
height: 85px;
|
||||
margin: 0 auto -2px;
|
||||
clip-path: polygon(50% 0, 100% 100%, 0 100%);
|
||||
background:
|
||||
repeating-linear-gradient(115deg, transparent 0 17px, rgba(255, 255, 255, 0.06) 18px 19px),
|
||||
linear-gradient(145deg, #5b3427, #351f1b);
|
||||
filter: drop-shadow(0 10px 10px rgba(30, 18, 12, 0.2));
|
||||
}
|
||||
|
||||
.house-chimney {
|
||||
position: absolute;
|
||||
right: 19%;
|
||||
top: 28px;
|
||||
width: 32px;
|
||||
height: 45px;
|
||||
background: #513127;
|
||||
}
|
||||
|
||||
.house-moon {
|
||||
position: absolute;
|
||||
top: 12px;
|
||||
left: 50%;
|
||||
color: #f6d98f;
|
||||
font-size: 1.25rem;
|
||||
transform: translateX(-50%);
|
||||
text-shadow: 0 0 14px rgba(246, 217, 143, 0.7);
|
||||
}
|
||||
|
||||
.house-shell {
|
||||
position: relative;
|
||||
z-index: 3;
|
||||
max-width: 680px;
|
||||
margin: 0 auto;
|
||||
border: 8px solid var(--house-wood-dark);
|
||||
border-bottom-width: 12px;
|
||||
background: var(--house-wood-dark);
|
||||
box-shadow: 0 20px 35px rgba(35, 22, 14, 0.3);
|
||||
}
|
||||
|
||||
.house-floorplan {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(6, minmax(0, 1fr));
|
||||
grid-template-rows: minmax(105px, 0.75fr) repeat(2, minmax(128px, 1fr));
|
||||
gap: 5px;
|
||||
background: var(--house-wood-dark);
|
||||
}
|
||||
|
||||
.house-room {
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
justify-content: flex-end;
|
||||
min-width: 0;
|
||||
min-height: 108px;
|
||||
overflow: hidden;
|
||||
border: 0;
|
||||
border-radius: 2px;
|
||||
padding: 0.75rem;
|
||||
background:
|
||||
linear-gradient(90deg, transparent 49%, rgba(82, 53, 33, 0.15) 50%, transparent 51%),
|
||||
repeating-linear-gradient(0deg, transparent 0 23px, rgba(82, 53, 33, 0.11) 24px 25px),
|
||||
var(--house-plaster);
|
||||
color: var(--house-ink);
|
||||
text-align: left;
|
||||
isolation: isolate;
|
||||
transition: filter 180ms ease, transform 180ms ease, box-shadow 180ms ease;
|
||||
}
|
||||
|
||||
.house-room::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
z-index: -1;
|
||||
top: 14px;
|
||||
right: 14px;
|
||||
width: 34px;
|
||||
height: 46px;
|
||||
border: 4px solid color-mix(in oklab, var(--house-wood) 80%, transparent);
|
||||
border-bottom-width: 7px;
|
||||
background:
|
||||
linear-gradient(90deg, transparent 44%, rgba(67, 55, 44, 0.25) 45% 55%, transparent 56%),
|
||||
linear-gradient(0deg, transparent 44%, rgba(67, 55, 44, 0.25) 45% 55%, transparent 56%),
|
||||
color-mix(in oklab, var(--house-blue) 68%, #fff 32%);
|
||||
box-shadow: 0 0 18px rgba(244, 207, 125, 0.18);
|
||||
}
|
||||
|
||||
.house-room::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
z-index: -1;
|
||||
inset: 0;
|
||||
background: radial-gradient(circle at 70% 25%, rgba(239, 190, 88, 0.55), transparent 42%);
|
||||
opacity: 0;
|
||||
transition: opacity 180ms ease;
|
||||
}
|
||||
|
||||
.house-room:hover,
|
||||
.house-room.is-selected {
|
||||
z-index: 2;
|
||||
background-color: #f1e2c1;
|
||||
color: var(--house-ink);
|
||||
transform: translateY(-2px);
|
||||
box-shadow: inset 0 0 0 3px var(--house-lamp), 0 5px 15px rgba(42, 27, 17, 0.28);
|
||||
}
|
||||
|
||||
.house-room:hover::after,
|
||||
.house-room.is-selected::after,
|
||||
.house-room.is-visited::after {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.house-room.is-visited:not(.is-selected) {
|
||||
box-shadow: inset 0 0 0 2px color-mix(in oklab, var(--house-green) 70%, transparent);
|
||||
}
|
||||
|
||||
.house-room.is-visited .house-room__name::after {
|
||||
content: " · lit";
|
||||
color: var(--house-green);
|
||||
font-size: 0.68rem;
|
||||
letter-spacing: 0.04em;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.house-room:focus-visible,
|
||||
.house-secret-door:focus-visible {
|
||||
z-index: 4;
|
||||
outline: 4px solid color-mix(in oklab, var(--house-lamp) 82%, #fff);
|
||||
outline-offset: -5px;
|
||||
}
|
||||
|
||||
.house-room__object {
|
||||
position: absolute;
|
||||
left: 0.7rem;
|
||||
top: 0.55rem;
|
||||
color: color-mix(in oklab, var(--house-wood) 85%, var(--house-ink));
|
||||
font-size: clamp(1.35rem, 3vw, 2.1rem);
|
||||
line-height: 1;
|
||||
opacity: 0.88;
|
||||
}
|
||||
|
||||
.house-room__name,
|
||||
.house-room__hint {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.house-room__name {
|
||||
font-weight: 900;
|
||||
}
|
||||
|
||||
.house-room__hint {
|
||||
margin-top: 0.15rem;
|
||||
font-size: 0.72rem;
|
||||
opacity: 0.72;
|
||||
}
|
||||
|
||||
.house-room--attic {
|
||||
grid-column: 1 / -1;
|
||||
grid-row: 1;
|
||||
justify-content: center;
|
||||
padding-left: 2rem;
|
||||
background-color: #d7c39d;
|
||||
}
|
||||
|
||||
.house-room--attic::before {
|
||||
width: 54px;
|
||||
height: 32px;
|
||||
border-radius: 50% 50% 0 0;
|
||||
}
|
||||
|
||||
.house-room--study { grid-column: 1 / 3; grid-row: 2; }
|
||||
.house-room--library { grid-column: 3 / 5; grid-row: 2; }
|
||||
.house-room--foyer { grid-column: 5 / 7; grid-row: 2; background-color: #e5d3ae; }
|
||||
.house-room--kitchen { grid-column: 1 / 3; grid-row: 3; background-color: #dfcda9; }
|
||||
.house-room--workshop { grid-column: 3 / 5; grid-row: 3; background-color: #c8c3a5; }
|
||||
.house-room--playroom { grid-column: 5 / 7; grid-row: 3; background-color: #dbc3ac; }
|
||||
.house-room--garden {
|
||||
grid-column: 1 / -1;
|
||||
grid-row: 4;
|
||||
min-height: 105px;
|
||||
background:
|
||||
radial-gradient(circle at 15% 65%, #bd846f 0 5px, transparent 6px),
|
||||
radial-gradient(circle at 74% 50%, #dfb36d 0 4px, transparent 5px),
|
||||
linear-gradient(to bottom, #a9c3be 0 40%, #829260 41% 100%);
|
||||
}
|
||||
|
||||
.house-room--garden::before {
|
||||
top: 12px;
|
||||
right: 12%;
|
||||
width: 15px;
|
||||
height: 62px;
|
||||
border: 0;
|
||||
border-radius: 50% 50% 10% 10%;
|
||||
background: #4c633e;
|
||||
box-shadow: 10px -15px 0 8px #72835a, -9px -7px 0 6px #61784f;
|
||||
}
|
||||
|
||||
.house-foundation {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(4, 1fr);
|
||||
height: 18px;
|
||||
gap: 2px;
|
||||
margin: 0 -8px -12px;
|
||||
background: #7d6d5c;
|
||||
}
|
||||
|
||||
.house-foundation span {
|
||||
border: 1px solid rgba(54, 39, 29, 0.32);
|
||||
}
|
||||
|
||||
.house-secret-wrap {
|
||||
position: relative;
|
||||
z-index: 4;
|
||||
min-height: 88px;
|
||||
display: grid;
|
||||
place-items: center;
|
||||
}
|
||||
|
||||
.house-secret-door[hidden] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.house-secret-door {
|
||||
display: grid;
|
||||
grid-template-columns: auto 1fr;
|
||||
grid-template-rows: auto auto;
|
||||
align-items: center;
|
||||
column-gap: 0.65rem;
|
||||
width: min(310px, 90%);
|
||||
min-height: 68px;
|
||||
border: 1px solid #2c2019;
|
||||
padding: 0.6rem 0.85rem;
|
||||
background:
|
||||
repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.04) 0 2px, transparent 2px 15px),
|
||||
#3d2920;
|
||||
color: #f0d8ab;
|
||||
box-shadow: 0 9px 20px rgba(31, 20, 14, 0.35);
|
||||
animation: house-door-appears 700ms ease both;
|
||||
}
|
||||
|
||||
.house-secret-door > span {
|
||||
grid-row: 1 / 3;
|
||||
color: var(--house-lamp);
|
||||
font-size: 1.6rem;
|
||||
}
|
||||
|
||||
.house-secret-door strong,
|
||||
.house-secret-door small {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.house-secret-door small {
|
||||
opacity: 0.72;
|
||||
}
|
||||
|
||||
.house-secret-door.is-selected,
|
||||
.house-secret-door:hover {
|
||||
background-color: #221813;
|
||||
color: #fff3d6;
|
||||
box-shadow: 0 0 0 2px var(--house-lamp), 0 9px 25px rgba(31, 20, 14, 0.5);
|
||||
}
|
||||
|
||||
.house-panel {
|
||||
position: relative;
|
||||
align-self: stretch;
|
||||
min-height: 610px;
|
||||
padding: clamp(1.2rem, 3vw, 2rem);
|
||||
overflow: hidden;
|
||||
background:
|
||||
repeating-linear-gradient(0deg, rgba(75, 52, 34, 0.025) 0 1px, transparent 1px 7px),
|
||||
color-mix(in oklab, var(--surface) 89%, var(--house-plaster) 11%);
|
||||
}
|
||||
|
||||
.house-panel::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
right: -28px;
|
||||
bottom: -36px;
|
||||
width: 125px;
|
||||
height: 125px;
|
||||
border: 14px solid color-mix(in oklab, var(--house-rug) 58%, transparent);
|
||||
border-radius: 50%;
|
||||
opacity: 0.15;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.house-panel__window {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
grid-template-rows: repeat(2, 1fr);
|
||||
gap: 3px;
|
||||
width: 72px;
|
||||
height: 82px;
|
||||
margin: 0 0 1.5rem auto;
|
||||
border: 6px solid var(--house-wood);
|
||||
background: var(--house-wood);
|
||||
box-shadow: 0 8px 0 -4px var(--house-wood-dark), 0 0 30px rgba(231, 184, 90, 0.18);
|
||||
}
|
||||
|
||||
.house-panel__window span {
|
||||
background: linear-gradient(145deg, #9cb3b7, #f0cf89);
|
||||
}
|
||||
|
||||
.house-panel__eyebrow {
|
||||
margin: 0;
|
||||
color: var(--house-green);
|
||||
font-size: 0.76rem;
|
||||
font-weight: 900;
|
||||
letter-spacing: 0.12em;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.house-panel h2 {
|
||||
margin: 0.2rem 0 0.65rem;
|
||||
font-size: clamp(1.6rem, 4vw, 2.25rem);
|
||||
}
|
||||
|
||||
.house-panel__description {
|
||||
color: var(--fg);
|
||||
}
|
||||
|
||||
.house-panel__caption {
|
||||
margin: 1rem 0 1.5rem;
|
||||
padding-left: 0.8rem;
|
||||
border-left: 3px solid var(--house-lamp);
|
||||
color: var(--muted);
|
||||
font-size: 0.9rem;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.house-shelves {
|
||||
display: grid;
|
||||
gap: 1.25rem;
|
||||
}
|
||||
|
||||
.house-shelves h3 {
|
||||
margin: 0 0 0.5rem;
|
||||
color: var(--house-wood);
|
||||
font-size: 0.72rem;
|
||||
letter-spacing: 0.1em;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.house-link-list {
|
||||
display: grid;
|
||||
gap: 0.35rem;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.house-link-list li {
|
||||
border-bottom: 1px solid color-mix(in oklab, var(--border) 65%, transparent);
|
||||
}
|
||||
|
||||
.house-link-list a,
|
||||
.house-empty {
|
||||
display: block;
|
||||
padding: 0.48rem 0.15rem;
|
||||
}
|
||||
|
||||
.house-link-list a::after {
|
||||
content: " ↗";
|
||||
color: var(--house-lamp);
|
||||
opacity: 0;
|
||||
transition: opacity 130ms ease;
|
||||
}
|
||||
|
||||
.house-link-list a:hover::after,
|
||||
.house-link-list a:focus-visible::after {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.house-empty {
|
||||
border-bottom: 0;
|
||||
color: var(--muted);
|
||||
font-size: 0.88rem;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.house-directory {
|
||||
margin-top: 1rem;
|
||||
padding: 0.85rem 1rem;
|
||||
}
|
||||
|
||||
.house-directory summary {
|
||||
color: var(--muted);
|
||||
font-weight: 800;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.house-directory__grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
|
||||
gap: 0.75rem;
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
.house-directory__grid section {
|
||||
padding: 0.75rem;
|
||||
border: 1px solid var(--border);
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
.house-directory__grid h2 {
|
||||
margin: 0 0 0.35rem;
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
.house-noscript {
|
||||
color: var(--muted);
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
@keyframes house-door-appears {
|
||||
from { opacity: 0; transform: translateY(10px) scale(0.96); }
|
||||
to { opacity: 1; transform: translateY(0) scale(1); }
|
||||
}
|
||||
|
||||
@media (max-width: 880px) {
|
||||
.house-experience {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
.house-panel {
|
||||
min-height: auto;
|
||||
}
|
||||
|
||||
.house-panel__window {
|
||||
position: absolute;
|
||||
top: 1.25rem;
|
||||
right: 1.25rem;
|
||||
width: 54px;
|
||||
height: 62px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 620px) {
|
||||
.house-statusbar {
|
||||
align-items: flex-start;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.house-roof,
|
||||
.house-foundation {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.house-shell {
|
||||
border-width: 5px;
|
||||
}
|
||||
|
||||
.house-floorplan {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr;
|
||||
grid-template-rows: none;
|
||||
gap: 4px;
|
||||
}
|
||||
|
||||
.house-room,
|
||||
.house-room--attic,
|
||||
.house-room--study,
|
||||
.house-room--library,
|
||||
.house-room--foyer,
|
||||
.house-room--kitchen,
|
||||
.house-room--workshop,
|
||||
.house-room--playroom,
|
||||
.house-room--garden {
|
||||
grid-column: 1;
|
||||
grid-row: auto;
|
||||
min-height: 92px;
|
||||
padding-left: 4rem;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.house-room__object {
|
||||
left: 1rem;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
|
||||
.house-room::before {
|
||||
top: 20px;
|
||||
}
|
||||
|
||||
.house-room--garden::before {
|
||||
right: 18%;
|
||||
}
|
||||
|
||||
.house-panel__window {
|
||||
opacity: 0.45;
|
||||
}
|
||||
}
|
||||
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
.house-room,
|
||||
.house-room::after,
|
||||
.house-link-list a::after,
|
||||
.house-secret-door {
|
||||
animation: none;
|
||||
transition: none;
|
||||
}
|
||||
}
|
||||
@@ -1,932 +0,0 @@
|
||||
:root {
|
||||
color-scheme: dark;
|
||||
--lima-bg: #080a12;
|
||||
--lima-panel: #111827;
|
||||
--lima-panel-strong: #182238;
|
||||
--lima-border: #d2a85c;
|
||||
--lima-text: #fff5df;
|
||||
--lima-muted: #c8c3b8;
|
||||
--lima-accent: #ffd47b;
|
||||
--lima-blue: #3d73a8;
|
||||
--lima-danger: #bd4a56;
|
||||
--lima-focus: #7ee7ff;
|
||||
}
|
||||
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
html,
|
||||
body {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
overflow: hidden;
|
||||
background: var(--lima-bg);
|
||||
color: var(--lima-text);
|
||||
font-family: Inter, "Noto Sans", system-ui, sans-serif;
|
||||
}
|
||||
|
||||
button,
|
||||
input,
|
||||
select {
|
||||
font: inherit;
|
||||
}
|
||||
|
||||
button,
|
||||
.lima-button-link,
|
||||
.lima-exit {
|
||||
min-height: 44px;
|
||||
border: 2px solid #b99150;
|
||||
border-radius: 5px;
|
||||
background: #202d43;
|
||||
color: var(--lima-text);
|
||||
padding: 0.65rem 1rem;
|
||||
font-weight: 800;
|
||||
cursor: pointer;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
button:hover,
|
||||
.lima-button-link:hover,
|
||||
.lima-exit:hover {
|
||||
background: #2b4162;
|
||||
border-color: var(--lima-accent);
|
||||
}
|
||||
|
||||
button:active {
|
||||
transform: translateY(1px);
|
||||
}
|
||||
|
||||
button:disabled {
|
||||
cursor: not-allowed;
|
||||
opacity: 0.48;
|
||||
}
|
||||
|
||||
:focus-visible {
|
||||
outline: 4px solid var(--lima-focus);
|
||||
outline-offset: 3px;
|
||||
}
|
||||
|
||||
[hidden] {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.lima-rpg {
|
||||
position: relative;
|
||||
width: 100vw;
|
||||
height: 100dvh;
|
||||
overflow: hidden;
|
||||
background: #080a12;
|
||||
isolation: isolate;
|
||||
}
|
||||
|
||||
.lima-rpg::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
z-index: -2;
|
||||
background:
|
||||
linear-gradient(90deg, rgb(5 8 16 / 0.82), rgb(5 8 16 / 0.15) 60%, rgb(5 8 16 / 0.45)),
|
||||
url("/assets/images/play/princess-lima/title-landscape.png") center / cover no-repeat;
|
||||
}
|
||||
|
||||
.lima-rpg__game {
|
||||
position: absolute;
|
||||
inset: 0 0 0 272px;
|
||||
display: grid;
|
||||
place-items: center;
|
||||
overflow: hidden;
|
||||
background: #080a12;
|
||||
}
|
||||
|
||||
.lima-rpg__game canvas {
|
||||
display: block;
|
||||
max-width: none;
|
||||
max-height: none;
|
||||
image-rendering: pixelated;
|
||||
transition: filter 320ms ease, transform 320ms ease;
|
||||
}
|
||||
|
||||
.lima-rpg__loading,
|
||||
.lima-main-menu,
|
||||
.lima-setup {
|
||||
position: absolute;
|
||||
z-index: 50;
|
||||
left: clamp(1rem, 6vw, 6rem);
|
||||
top: 50%;
|
||||
width: min(31rem, calc(100vw - 2rem));
|
||||
transform: translateY(-50%);
|
||||
border: 3px solid var(--lima-border);
|
||||
border-radius: 8px;
|
||||
background: rgb(10 15 27 / 0.96);
|
||||
box-shadow: 0 20px 70px rgb(0 0 0 / 0.7);
|
||||
padding: clamp(1.2rem, 3vw, 2.4rem);
|
||||
}
|
||||
|
||||
.lima-rpg__loading {
|
||||
display: grid;
|
||||
gap: 0.75rem;
|
||||
}
|
||||
|
||||
.lima-rpg__loading strong {
|
||||
font-size: 1.4rem;
|
||||
}
|
||||
|
||||
.lima-main-menu__eyebrow,
|
||||
.lima-panel__eyebrow {
|
||||
margin: 0 0 0.4rem;
|
||||
color: var(--lima-accent);
|
||||
font-size: 0.78rem;
|
||||
font-weight: 900;
|
||||
letter-spacing: 0.16em;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.lima-main-menu h1 {
|
||||
margin: 0;
|
||||
color: #fff6d8;
|
||||
font-family: Georgia, serif;
|
||||
font-size: clamp(2.4rem, 6vw, 4.7rem);
|
||||
line-height: 0.94;
|
||||
text-shadow: 0 4px #2f1822;
|
||||
}
|
||||
|
||||
.lima-main-menu__tagline {
|
||||
max-width: 36ch;
|
||||
color: var(--lima-muted);
|
||||
font-size: 1.04rem;
|
||||
line-height: 1.55;
|
||||
}
|
||||
|
||||
.lima-menu-stack {
|
||||
display: grid;
|
||||
gap: 0.7rem;
|
||||
}
|
||||
|
||||
.lima-menu-stack a {
|
||||
display: grid;
|
||||
place-items: center;
|
||||
}
|
||||
|
||||
.lima-primary {
|
||||
background: #8f5b28;
|
||||
border-color: #f2c36c;
|
||||
}
|
||||
|
||||
.lima-danger {
|
||||
background: #612c38;
|
||||
border-color: #e7888f;
|
||||
}
|
||||
|
||||
.lima-hud {
|
||||
position: absolute;
|
||||
z-index: 30;
|
||||
inset: 0 auto 0 0;
|
||||
display: flex;
|
||||
width: 272px;
|
||||
flex-direction: column;
|
||||
gap: 0;
|
||||
overflow: auto;
|
||||
border-right: 3px solid #b78b4d;
|
||||
background:
|
||||
linear-gradient(180deg, rgb(20 29 47 / 0.98), rgb(7 12 22 / 0.99)),
|
||||
url("/assets/images/play/princess-lima/world-tiles.png");
|
||||
box-shadow: 8px 0 24px rgb(0 0 0 / 0.38);
|
||||
pointer-events: auto;
|
||||
}
|
||||
|
||||
.lima-hud > div {
|
||||
border-bottom: 1px solid rgb(214 174 99 / 0.38);
|
||||
background: rgb(8 12 22 / 0.48);
|
||||
padding: 0.72rem 0.85rem;
|
||||
}
|
||||
|
||||
.lima-hud span {
|
||||
display: block;
|
||||
color: #c9c4b8;
|
||||
font-size: 0.72rem;
|
||||
font-weight: 800;
|
||||
letter-spacing: 0.08em;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.lima-hud strong {
|
||||
display: block;
|
||||
margin-top: 0.18rem;
|
||||
color: #fff7df;
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
.lima-hud__identity {
|
||||
display: grid;
|
||||
grid-template-columns: 66px 1fr;
|
||||
align-items: center;
|
||||
gap: 0.7rem;
|
||||
border-bottom: 2px solid #9d7440;
|
||||
padding: 0.8rem;
|
||||
}
|
||||
|
||||
.lima-hud__portrait {
|
||||
width: 64px;
|
||||
height: 64px;
|
||||
border: 2px solid #d8b66d;
|
||||
border-radius: 4px;
|
||||
background-image: url("/assets/images/play/princess-lima/portrait-atlas-v2.png");
|
||||
background-position: 100% 100%;
|
||||
background-size: 400% 400%;
|
||||
}
|
||||
|
||||
.lima-hud__equipment {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
gap: 0.2rem 0.55rem;
|
||||
}
|
||||
|
||||
.lima-hud__equipment strong {
|
||||
margin: 0 0 0.45rem;
|
||||
font-size: 0.84rem;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.lima-hud__objective strong {
|
||||
display: -webkit-box;
|
||||
overflow: hidden;
|
||||
font-size: 0.9rem;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 3;
|
||||
}
|
||||
|
||||
.lima-hud__healthbar,
|
||||
.lima-boss__bar {
|
||||
height: 8px;
|
||||
margin-top: 0.38rem;
|
||||
overflow: hidden;
|
||||
border-radius: 999px;
|
||||
background: #351d29;
|
||||
}
|
||||
|
||||
.lima-hud__healthbar i,
|
||||
.lima-boss__bar i {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: linear-gradient(90deg, #5bba6f, #d8df73);
|
||||
}
|
||||
|
||||
.lima-hud__actions {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
gap: 0.42rem;
|
||||
pointer-events: auto;
|
||||
}
|
||||
|
||||
.lima-hud__actions button {
|
||||
min-width: 0;
|
||||
min-height: 42px;
|
||||
padding: 0.35rem;
|
||||
font-size: 0.72rem;
|
||||
}
|
||||
|
||||
.lima-hud__actions .lima-button-link {
|
||||
display: grid;
|
||||
grid-column: 1 / -1;
|
||||
place-items: center;
|
||||
min-height: 38px;
|
||||
font-size: 0.75rem;
|
||||
}
|
||||
|
||||
.lima-hud kbd {
|
||||
border: 1px solid #897553;
|
||||
border-radius: 3px;
|
||||
background: #090d16;
|
||||
padding: 0.05rem 0.22rem;
|
||||
}
|
||||
|
||||
.lima-hud__keys {
|
||||
margin: auto 0 0;
|
||||
border-top: 1px solid #654e32;
|
||||
color: #bcb9b0;
|
||||
padding: 0.65rem 0.8rem;
|
||||
font-size: 0.68rem;
|
||||
line-height: 1.45;
|
||||
}
|
||||
|
||||
.lima-status-stack {
|
||||
position: absolute;
|
||||
z-index: 25;
|
||||
left: calc(50% + 136px);
|
||||
bottom: 1rem;
|
||||
width: min(44rem, calc(100vw - 2rem));
|
||||
transform: translateX(-50%);
|
||||
text-align: center;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.lima-prompt,
|
||||
.lima-status {
|
||||
display: table;
|
||||
margin: 0.35rem auto;
|
||||
border: 2px solid rgb(207 172 103 / 0.72);
|
||||
border-radius: 4px;
|
||||
background: rgb(5 8 15 / 0.94);
|
||||
color: #fff5d9;
|
||||
padding: 0.48rem 0.8rem;
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
.lima-status {
|
||||
color: #d7d4cc;
|
||||
font-size: 0.88rem;
|
||||
}
|
||||
|
||||
.lima-boss {
|
||||
position: static;
|
||||
width: auto;
|
||||
border: 2px solid #bd6d8b;
|
||||
background: rgb(18 8 25 / 0.95);
|
||||
padding: 0.55rem 0.8rem;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.lima-boss__bar i {
|
||||
background: linear-gradient(90deg, #9d3961, #e28f98);
|
||||
}
|
||||
|
||||
.lima-overlay,
|
||||
.lima-setup {
|
||||
position: absolute;
|
||||
z-index: 100;
|
||||
}
|
||||
|
||||
.lima-overlay {
|
||||
inset: 0;
|
||||
display: grid;
|
||||
place-items: center;
|
||||
background: rgb(3 5 10 / 0.78);
|
||||
padding: 1rem;
|
||||
}
|
||||
|
||||
.lima-panel {
|
||||
width: min(46rem, 100%);
|
||||
max-height: min(82dvh, 48rem);
|
||||
overflow: auto;
|
||||
border: 3px solid var(--lima-border);
|
||||
border-radius: 7px;
|
||||
background: var(--lima-panel);
|
||||
box-shadow: 0 22px 80px rgb(0 0 0 / 0.8);
|
||||
}
|
||||
|
||||
.lima-panel > header {
|
||||
position: sticky;
|
||||
top: 0;
|
||||
z-index: 2;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: 1rem;
|
||||
border-bottom: 2px solid #8a6a3d;
|
||||
background: var(--lima-panel-strong);
|
||||
padding: 0.85rem 1rem;
|
||||
}
|
||||
|
||||
.lima-panel h2 {
|
||||
margin: 0;
|
||||
color: #fff2cf;
|
||||
font-family: Georgia, serif;
|
||||
font-size: 1.7rem;
|
||||
}
|
||||
|
||||
.lima-panel__body {
|
||||
padding: 1rem;
|
||||
line-height: 1.55;
|
||||
}
|
||||
|
||||
.lima-panel-lead {
|
||||
border-left: 4px solid var(--lima-accent);
|
||||
background: #0b1220;
|
||||
padding: 0.75rem;
|
||||
}
|
||||
|
||||
.lima-list {
|
||||
display: grid;
|
||||
gap: 0.65rem;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.lima-list li {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr auto;
|
||||
gap: 0.3rem 1rem;
|
||||
border: 1px solid #536076;
|
||||
border-radius: 4px;
|
||||
background: #0b1220;
|
||||
padding: 0.75rem;
|
||||
}
|
||||
|
||||
.lima-list li.is-complete strong::before,
|
||||
.lima-list li.complete strong::before {
|
||||
content: "✓ ";
|
||||
}
|
||||
|
||||
.lima-list small {
|
||||
grid-column: 1 / -1;
|
||||
color: var(--lima-muted);
|
||||
}
|
||||
|
||||
.lima-list p {
|
||||
grid-column: 1 / -1;
|
||||
margin: 0;
|
||||
color: var(--lima-muted);
|
||||
}
|
||||
|
||||
.lima-dialogue {
|
||||
display: grid;
|
||||
grid-template-columns: 100px 1fr;
|
||||
align-items: center;
|
||||
gap: 1rem;
|
||||
min-height: 9rem;
|
||||
}
|
||||
|
||||
.lima-dialogue p {
|
||||
margin: 0;
|
||||
font-size: 1.1rem;
|
||||
}
|
||||
|
||||
.lima-sprite {
|
||||
width: 96px;
|
||||
height: 96px;
|
||||
background-image: url("/assets/images/play/princess-lima/cast-atlas.png");
|
||||
background-size: 384px 384px;
|
||||
background-position: 0 0;
|
||||
image-rendering: pixelated;
|
||||
}
|
||||
|
||||
.lima-sprite--4 { background-position: 0 -96px; }
|
||||
.lima-sprite--5 { background-position: -96px -96px; }
|
||||
.lima-sprite--6 { background-position: -192px -96px; }
|
||||
.lima-sprite--7 { background-position: -288px -96px; }
|
||||
.lima-sprite--8 { background-position: 0 -192px; }
|
||||
.lima-sprite--11 { background-position: -288px -192px; }
|
||||
|
||||
.lima-setting,
|
||||
.lima-check {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: 1rem;
|
||||
min-height: 52px;
|
||||
border-bottom: 1px solid #39445a;
|
||||
}
|
||||
|
||||
.lima-setting input {
|
||||
width: min(18rem, 52vw);
|
||||
}
|
||||
|
||||
.lima-check input {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
}
|
||||
|
||||
.lima-confirm {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 0.7rem;
|
||||
}
|
||||
|
||||
.lima-setup {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.lima-setup form {
|
||||
display: grid;
|
||||
gap: 0.85rem;
|
||||
}
|
||||
|
||||
.lima-setup h2 {
|
||||
margin: 0;
|
||||
font-family: Georgia, serif;
|
||||
font-size: 2rem;
|
||||
}
|
||||
|
||||
.lima-setup label,
|
||||
.lima-setup fieldset {
|
||||
display: grid;
|
||||
gap: 0.45rem;
|
||||
}
|
||||
|
||||
.lima-setup input[type="text"] {
|
||||
min-height: 48px;
|
||||
border: 2px solid #7b6749;
|
||||
border-radius: 4px;
|
||||
background: #070b13;
|
||||
color: #fff;
|
||||
padding: 0.6rem;
|
||||
}
|
||||
|
||||
.lima-setup fieldset {
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
border: 1px solid #786649;
|
||||
padding: 0.75rem;
|
||||
}
|
||||
|
||||
.lima-setup fieldset legend {
|
||||
grid-column: 1 / -1;
|
||||
}
|
||||
|
||||
.lima-setup fieldset label {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.lima-setup__error {
|
||||
min-height: 1.4em;
|
||||
color: #ffb1b9;
|
||||
}
|
||||
|
||||
.lima-intro {
|
||||
position: absolute;
|
||||
z-index: 120;
|
||||
inset: 0;
|
||||
overflow: hidden;
|
||||
background: #03050a;
|
||||
}
|
||||
|
||||
.lima-intro__picture {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
background-image: url("/assets/images/play/princess-lima/intro-storyboard.png");
|
||||
background-repeat: no-repeat;
|
||||
background-position: 0 0;
|
||||
background-size: 200% 200%;
|
||||
image-rendering: pixelated;
|
||||
animation: lima-cinematic-pan 15s ease-in-out both;
|
||||
}
|
||||
|
||||
.lima-intro__picture[data-panel="1"] { background-position: 100% 0; }
|
||||
.lima-intro__picture[data-panel="2"] { background-position: 0 100%; }
|
||||
.lima-intro__picture[data-panel="3"] { background-position: 100% 100%; }
|
||||
|
||||
.lima-intro__vignette {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
background: linear-gradient(180deg, rgb(0 0 0 / 0.22), transparent 40%, rgb(0 0 0 / 0.75));
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.lima-intro__subtitle {
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
bottom: 5.2rem;
|
||||
width: min(58rem, calc(100% - 3rem));
|
||||
transform: translateX(-50%);
|
||||
border: 2px solid #d7b76d;
|
||||
border-radius: 4px;
|
||||
background: rgb(4 7 14 / 0.94);
|
||||
color: #fff9e9;
|
||||
padding: 0.85rem 1.1rem;
|
||||
font-family: Georgia, serif;
|
||||
font-size: clamp(1rem, 2.1vw, 1.45rem);
|
||||
line-height: 1.45;
|
||||
text-align: center;
|
||||
text-shadow: 0 2px #000;
|
||||
}
|
||||
|
||||
.lima-intro__progress {
|
||||
position: absolute;
|
||||
right: 1rem;
|
||||
bottom: 1rem;
|
||||
left: 1rem;
|
||||
height: 6px;
|
||||
overflow: hidden;
|
||||
border-radius: 999px;
|
||||
background: #251d2a;
|
||||
}
|
||||
|
||||
.lima-intro__progress i {
|
||||
display: block;
|
||||
width: 0;
|
||||
height: 100%;
|
||||
background: #f1c66e;
|
||||
transition: width 0.4s linear;
|
||||
}
|
||||
|
||||
.lima-intro__controls {
|
||||
position: absolute;
|
||||
z-index: 2;
|
||||
top: 0.75rem;
|
||||
right: 0.75rem;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0.45rem;
|
||||
border: 1px solid #75633e;
|
||||
background: rgb(3 5 10 / 0.86);
|
||||
padding: 0.4rem;
|
||||
}
|
||||
|
||||
.lima-intro__controls button {
|
||||
min-height: 38px;
|
||||
padding: 0.38rem 0.65rem;
|
||||
font-size: 0.78rem;
|
||||
}
|
||||
|
||||
.lima-intro__controls span {
|
||||
color: #e5dcc5;
|
||||
padding: 0 0.35rem;
|
||||
font-size: 0.76rem;
|
||||
}
|
||||
|
||||
.lima-intro.is-paused .lima-intro__picture {
|
||||
animation-play-state: paused;
|
||||
}
|
||||
|
||||
@keyframes lima-cinematic-pan {
|
||||
from { transform: scale(1.02) translate3d(-0.5%, 0, 0); }
|
||||
to { transform: scale(1.09) translate3d(0.5%, -0.5%, 0); }
|
||||
}
|
||||
|
||||
.lima-rpg.is-high-contrast {
|
||||
--lima-panel: #000;
|
||||
--lima-panel-strong: #000;
|
||||
--lima-text: #fff;
|
||||
--lima-muted: #fff;
|
||||
--lima-border: #ffdf00;
|
||||
--lima-focus: #00ffff;
|
||||
}
|
||||
|
||||
.lima-rpg:fullscreen {
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
}
|
||||
|
||||
.lima-screenreader {
|
||||
position: fixed;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
overflow: hidden;
|
||||
clip-path: inset(50%);
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.lima-rpg.is-dialogue-blur .lima-rpg__game canvas {
|
||||
filter: blur(4px) saturate(0.58) brightness(0.62);
|
||||
transform: scale(1.015);
|
||||
}
|
||||
|
||||
.lima-rpg.is-dialogue-depth .lima-rpg__game canvas {
|
||||
filter: saturate(0.68) brightness(0.55);
|
||||
}
|
||||
|
||||
.lima-panel[data-kind="dialogue"] {
|
||||
position: absolute;
|
||||
right: clamp(1rem, 4vw, 4rem);
|
||||
bottom: clamp(1rem, 4vh, 3rem);
|
||||
left: max(288px, clamp(1rem, 4vw, 4rem));
|
||||
width: auto;
|
||||
max-height: none;
|
||||
overflow: visible;
|
||||
border-color: #e4c477;
|
||||
background:
|
||||
linear-gradient(135deg, rgb(23 25 39 / 0.98), rgb(8 12 23 / 0.98)),
|
||||
url("/assets/images/play/princess-lima/world-tiles.png");
|
||||
box-shadow: 0 18px 70px rgb(0 0 0 / 0.82), inset 0 0 0 1px rgb(255 239 190 / 0.16);
|
||||
}
|
||||
|
||||
.lima-panel[data-kind="dialogue"] > header {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.lima-panel[data-kind="dialogue"] .lima-panel__body {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.lima-cinematic-dialogue {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(170px, 26%) 1fr;
|
||||
min-height: 236px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.lima-cinematic-dialogue__portrait {
|
||||
min-height: 236px;
|
||||
border-right: 2px solid #a8844d;
|
||||
background-image:
|
||||
linear-gradient(0deg, rgb(7 10 18 / 0.3), transparent 45%),
|
||||
url("/assets/images/play/princess-lima/portrait-atlas-v2.png");
|
||||
background-repeat: no-repeat;
|
||||
background-size: 400% 400%;
|
||||
image-rendering: auto;
|
||||
animation: lima-portrait-arrive 320ms ease-out both;
|
||||
}
|
||||
|
||||
.lima-cinematic-dialogue__copy {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding: 1.1rem 1.25rem;
|
||||
}
|
||||
|
||||
.lima-cinematic-dialogue__speaker {
|
||||
margin: 0 0 0.6rem;
|
||||
color: #f6d785;
|
||||
font-family: Georgia, serif;
|
||||
font-size: clamp(1.25rem, 2.2vw, 1.8rem);
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
.lima-cinematic-dialogue__speaker span {
|
||||
margin-left: 0.5rem;
|
||||
color: #b8c1ce;
|
||||
font-family: Inter, system-ui, sans-serif;
|
||||
font-size: 0.72rem;
|
||||
letter-spacing: 0.12em;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.lima-cinematic-dialogue__text {
|
||||
flex: 1;
|
||||
margin: 0;
|
||||
color: #fff8e7;
|
||||
font-family: Georgia, serif;
|
||||
font-size: clamp(1rem, 1.7vw, 1.28rem);
|
||||
line-height: 1.55;
|
||||
}
|
||||
|
||||
.lima-cinematic-dialogue__choices {
|
||||
display: grid;
|
||||
gap: 0.48rem;
|
||||
margin: 0.8rem 0;
|
||||
}
|
||||
|
||||
.lima-cinematic-dialogue__choices button {
|
||||
display: grid;
|
||||
grid-template-columns: 2rem 1fr;
|
||||
align-items: center;
|
||||
border-color: #7d94aa;
|
||||
background: rgb(24 41 59 / 0.82);
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.lima-cinematic-dialogue__choices button span {
|
||||
display: grid;
|
||||
width: 1.5rem;
|
||||
height: 1.5rem;
|
||||
place-items: center;
|
||||
border: 1px solid #e3bf6d;
|
||||
border-radius: 50%;
|
||||
color: #f4d27e;
|
||||
}
|
||||
|
||||
.lima-cinematic-dialogue__controls {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: flex-end;
|
||||
gap: 0.5rem;
|
||||
}
|
||||
|
||||
.lima-history {
|
||||
width: min(44rem, calc(100% - 2rem));
|
||||
max-height: 78dvh;
|
||||
overflow: auto;
|
||||
border: 3px solid var(--lima-border);
|
||||
background: #0b111e;
|
||||
color: var(--lima-text);
|
||||
padding: 1rem;
|
||||
}
|
||||
|
||||
.lima-history::backdrop {
|
||||
background: rgb(2 4 8 / 0.8);
|
||||
}
|
||||
|
||||
.lima-history li {
|
||||
margin-bottom: 0.75rem;
|
||||
border-left: 3px solid #9e7c46;
|
||||
padding-left: 0.75rem;
|
||||
}
|
||||
|
||||
.lima-history p {
|
||||
margin: 0.2rem 0;
|
||||
}
|
||||
|
||||
.lima-settings-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||
gap: 0.65rem;
|
||||
}
|
||||
|
||||
.lima-settings-grid label {
|
||||
display: flex;
|
||||
min-height: 48px;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: 0.75rem;
|
||||
border: 1px solid #46546a;
|
||||
background: #0b1220;
|
||||
padding: 0.65rem;
|
||||
}
|
||||
|
||||
.lima-settings-grid input[type="checkbox"] {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
}
|
||||
|
||||
.lima-ending-mark {
|
||||
color: #f4d37e;
|
||||
font-family: Georgia, serif;
|
||||
font-size: 1.7rem;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.lima-rpg[data-saved="true"]::after {
|
||||
content: "Journey saved";
|
||||
position: absolute;
|
||||
z-index: 80;
|
||||
top: 1rem;
|
||||
right: 1rem;
|
||||
border: 1px solid #d6b466;
|
||||
background: rgb(6 10 18 / 0.9);
|
||||
color: #fff2cd;
|
||||
padding: 0.48rem 0.7rem;
|
||||
}
|
||||
|
||||
@keyframes lima-portrait-arrive {
|
||||
from { opacity: 0; transform: translateX(-14px); }
|
||||
to { opacity: 1; transform: translateX(0); }
|
||||
}
|
||||
|
||||
@media (max-width: 820px) {
|
||||
.lima-hud {
|
||||
width: 220px;
|
||||
}
|
||||
|
||||
.lima-rpg__game {
|
||||
left: 220px;
|
||||
}
|
||||
|
||||
.lima-status-stack {
|
||||
left: calc(50% + 110px);
|
||||
width: min(38rem, calc(100vw - 238px));
|
||||
}
|
||||
|
||||
.lima-main-menu,
|
||||
.lima-rpg__loading,
|
||||
.lima-setup {
|
||||
left: 1rem;
|
||||
top: 50%;
|
||||
}
|
||||
|
||||
.lima-intro__controls span {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.lima-panel[data-kind="dialogue"] {
|
||||
left: 232px;
|
||||
}
|
||||
|
||||
.lima-cinematic-dialogue {
|
||||
grid-template-columns: 130px 1fr;
|
||||
}
|
||||
|
||||
.lima-settings-grid {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@media (max-height: 560px) and (orientation: landscape) {
|
||||
.lima-hud {
|
||||
width: 210px;
|
||||
}
|
||||
|
||||
.lima-rpg__game {
|
||||
left: 210px;
|
||||
}
|
||||
|
||||
.lima-status-stack {
|
||||
left: calc(50% + 105px);
|
||||
bottom: 0.35rem;
|
||||
}
|
||||
|
||||
.lima-status {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.lima-main-menu {
|
||||
padding: 1rem;
|
||||
}
|
||||
|
||||
.lima-main-menu h1 {
|
||||
font-size: 2.6rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
scroll-behavior: auto !important;
|
||||
transition: none !important;
|
||||
animation: none !important;
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -1,533 +0,0 @@
|
||||
@import "tailwindcss/theme";
|
||||
@import "tailwindcss/utilities";
|
||||
|
||||
@theme {
|
||||
--font-display: Georgia, "Times New Roman", serif;
|
||||
--font-body: Inter, ui-sans-serif, system-ui, sans-serif;
|
||||
--color-river-950: #07131b;
|
||||
--color-river-900: #0c2028;
|
||||
--color-river-700: #174653;
|
||||
--color-moon-100: #fff8df;
|
||||
--color-moon-300: #f1d894;
|
||||
--color-hibiscus-500: #c7475d;
|
||||
}
|
||||
|
||||
/* Preflight is intentionally omitted: this file is isolated to the standalone game. */
|
||||
:root {
|
||||
--tr-ink: #07131b;
|
||||
--tr-deep: #0c2028;
|
||||
--tr-teal: #174653;
|
||||
--tr-paper: #fff8df;
|
||||
--tr-gold: #f1d894;
|
||||
--tr-copper: #b97145;
|
||||
--tr-rose: #c7475d;
|
||||
--tr-shadow: 0 28px 80px rgb(1 10 14 / .56);
|
||||
}
|
||||
|
||||
* { box-sizing: border-box; }
|
||||
[hidden] { display: none !important; }
|
||||
|
||||
html, body {
|
||||
width: 100%;
|
||||
min-height: 100%;
|
||||
margin: 0;
|
||||
overflow: hidden;
|
||||
background: var(--tr-ink);
|
||||
color: var(--tr-paper);
|
||||
font-family: Inter, ui-sans-serif, system-ui, sans-serif;
|
||||
}
|
||||
|
||||
button, a, input, select { font: inherit; }
|
||||
button, a { -webkit-tap-highlight-color: transparent; }
|
||||
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible {
|
||||
outline: 3px solid var(--tr-gold);
|
||||
outline-offset: 3px;
|
||||
}
|
||||
|
||||
.tr-app {
|
||||
position: fixed;
|
||||
inset: 0;
|
||||
isolation: isolate;
|
||||
overflow: hidden;
|
||||
background:
|
||||
radial-gradient(circle at 70% 10%, rgb(235 198 109 / .16), transparent 32%),
|
||||
linear-gradient(145deg, #102d35, #050d13 70%);
|
||||
}
|
||||
|
||||
.tr-app::after {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
z-index: 2;
|
||||
pointer-events: none;
|
||||
content: "";
|
||||
background: linear-gradient(180deg, rgb(0 0 0 / .05), transparent 55%, rgb(0 5 8 / .58));
|
||||
}
|
||||
|
||||
.tr-canvas {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.tr-canvas canvas {
|
||||
display: block;
|
||||
width: 100% !important;
|
||||
height: 100% !important;
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
.tr-atmosphere {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
z-index: 3;
|
||||
overflow: hidden;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.tr-atmosphere i {
|
||||
position: absolute;
|
||||
width: 5px;
|
||||
height: 5px;
|
||||
border-radius: 50%;
|
||||
background: #ffe69a;
|
||||
box-shadow: 0 0 16px 4px rgb(255 225 132 / .72);
|
||||
animation: tr-drift 9s ease-in-out infinite;
|
||||
}
|
||||
|
||||
.tr-atmosphere i:nth-child(1) { left: 18%; top: 34%; }
|
||||
.tr-atmosphere i:nth-child(2) { left: 74%; top: 23%; animation-delay: -3s; }
|
||||
.tr-atmosphere i:nth-child(3) { left: 57%; top: 68%; animation-delay: -6s; }
|
||||
|
||||
@keyframes tr-drift {
|
||||
0%, 100% { transform: translate3d(0, 0, 0); opacity: .2; }
|
||||
50% { transform: translate3d(42px, -32px, 0); opacity: .9; }
|
||||
}
|
||||
|
||||
.tr-screen {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
z-index: 30;
|
||||
display: grid;
|
||||
place-items: center;
|
||||
padding: max(24px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));
|
||||
overflow: auto;
|
||||
background:
|
||||
linear-gradient(90deg, rgb(5 17 23 / .9), rgb(5 17 23 / .38)),
|
||||
url("/assets/games/two-rivers/images/backgrounds/courtyard.webp") center/cover no-repeat;
|
||||
}
|
||||
|
||||
.tr-screen::before {
|
||||
position: absolute;
|
||||
inset: 20px;
|
||||
border: 1px solid rgb(241 216 148 / .42);
|
||||
border-radius: 28px;
|
||||
pointer-events: none;
|
||||
content: "";
|
||||
}
|
||||
|
||||
.tr-card, .tr-menu__copy {
|
||||
position: relative;
|
||||
width: min(680px, 100%);
|
||||
padding: clamp(28px, 5vw, 64px);
|
||||
border: 1px solid rgb(241 216 148 / .36);
|
||||
border-radius: 28px;
|
||||
background: linear-gradient(145deg, rgb(9 32 39 / .94), rgb(4 15 21 / .88));
|
||||
box-shadow: var(--tr-shadow);
|
||||
backdrop-filter: blur(16px);
|
||||
}
|
||||
|
||||
.tr-card--narrow { width: min(560px, 100%); }
|
||||
|
||||
.tr-menu {
|
||||
place-items: center start;
|
||||
background-position: center;
|
||||
}
|
||||
|
||||
.tr-menu__copy { margin-left: clamp(0px, 7vw, 120px); }
|
||||
|
||||
.tr-kicker {
|
||||
margin: 0 0 12px;
|
||||
color: var(--tr-gold);
|
||||
font-size: .72rem;
|
||||
font-weight: 800;
|
||||
letter-spacing: .22em;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.tr-screen h1 {
|
||||
margin: 0;
|
||||
color: var(--tr-paper);
|
||||
font: 500 clamp(3rem, 8vw, 7.6rem)/.78 Georgia, "Times New Roman", serif;
|
||||
letter-spacing: -.065em;
|
||||
text-wrap: balance;
|
||||
text-shadow: 0 5px 24px rgb(0 0 0 / .5);
|
||||
}
|
||||
|
||||
.tr-screen h1 em {
|
||||
color: var(--tr-gold);
|
||||
font-size: .54em;
|
||||
font-weight: 400;
|
||||
letter-spacing: -.025em;
|
||||
}
|
||||
|
||||
.tr-card h1 { font-size: clamp(2.9rem, 7vw, 5.4rem); }
|
||||
.tr-card p, .tr-lede { max-width: 54ch; color: #e5e3d6; font-size: clamp(.98rem, 1.5vw, 1.14rem); line-height: 1.7; }
|
||||
.tr-lede { margin: 28px 0; }
|
||||
|
||||
.tr-actions {
|
||||
display: grid;
|
||||
gap: 10px;
|
||||
width: min(360px, 100%);
|
||||
}
|
||||
|
||||
.tr-actions--row {
|
||||
grid-template-columns: 1fr 1fr;
|
||||
width: 100%;
|
||||
margin-top: 24px;
|
||||
}
|
||||
|
||||
button, .tr-secondary {
|
||||
min-height: 46px;
|
||||
border: 1px solid rgb(241 216 148 / .28);
|
||||
border-radius: 12px;
|
||||
color: var(--tr-paper);
|
||||
background: rgb(255 255 255 / .06);
|
||||
padding: 11px 16px;
|
||||
cursor: pointer;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
transition: border-color .2s, background .2s, transform .2s;
|
||||
}
|
||||
|
||||
button:hover:not(:disabled), .tr-secondary:hover {
|
||||
border-color: rgb(241 216 148 / .7);
|
||||
background: rgb(241 216 148 / .12);
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
button:disabled { cursor: not-allowed; opacity: .38; }
|
||||
|
||||
.tr-primary {
|
||||
border-color: #f4db94;
|
||||
color: #152129;
|
||||
background: linear-gradient(135deg, #ffe9a9, #d9a75d);
|
||||
box-shadow: 0 8px 24px rgb(208 155 72 / .24);
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
.tr-primary:hover:not(:disabled) { color: #081219; background: linear-gradient(135deg, #fff2c6, #e9bd76); }
|
||||
|
||||
.tr-loading {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
z-index: 50;
|
||||
display: grid;
|
||||
place-items: center;
|
||||
background: #07131b;
|
||||
}
|
||||
|
||||
.tr-loading > div {
|
||||
display: grid;
|
||||
gap: 18px;
|
||||
width: min(420px, calc(100% - 48px));
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.tr-loading progress {
|
||||
width: 100%;
|
||||
height: 6px;
|
||||
overflow: hidden;
|
||||
border: 0;
|
||||
border-radius: 999px;
|
||||
accent-color: var(--tr-gold);
|
||||
}
|
||||
|
||||
.tr-hud {
|
||||
position: absolute;
|
||||
top: max(18px, env(safe-area-inset-top));
|
||||
right: max(18px, env(safe-area-inset-right));
|
||||
left: max(18px, env(safe-area-inset-left));
|
||||
z-index: 10;
|
||||
display: grid;
|
||||
grid-template-columns: auto minmax(240px, 1fr) auto;
|
||||
gap: 18px;
|
||||
align-items: center;
|
||||
padding: 10px 12px 10px 18px;
|
||||
border: 1px solid rgb(241 216 148 / .35);
|
||||
border-radius: 18px;
|
||||
background: rgb(5 18 24 / .8);
|
||||
box-shadow: 0 14px 40px rgb(0 0 0 / .26);
|
||||
backdrop-filter: blur(13px);
|
||||
}
|
||||
|
||||
.tr-hud p { margin: 0; }
|
||||
.tr-hud > div p { color: var(--tr-gold); font-size: .66rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
|
||||
.tr-hud strong { font: 600 1.08rem Georgia, serif; }
|
||||
.tr-objective { overflow: hidden; color: #d9ddd7; font-size: .88rem; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
|
||||
.tr-hud nav { display: flex; gap: 8px; }
|
||||
.tr-hud button { min-height: 38px; padding: 7px 12px; font-size: .78rem; }
|
||||
kbd { color: var(--tr-gold); font: inherit; }
|
||||
|
||||
.tr-interact {
|
||||
position: absolute;
|
||||
bottom: 15%;
|
||||
left: 50%;
|
||||
z-index: 12;
|
||||
transform: translateX(-50%);
|
||||
}
|
||||
|
||||
.tr-interact button {
|
||||
border-color: rgb(241 216 148 / .6);
|
||||
border-radius: 999px;
|
||||
background: rgb(4 17 23 / .85);
|
||||
box-shadow: 0 12px 34px rgb(0 0 0 / .35);
|
||||
backdrop-filter: blur(10px);
|
||||
}
|
||||
|
||||
.tr-interact kbd {
|
||||
display: inline-grid;
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
margin-right: 7px;
|
||||
place-items: center;
|
||||
border-radius: 50%;
|
||||
color: #17232a;
|
||||
background: var(--tr-gold);
|
||||
font-weight: 900;
|
||||
}
|
||||
|
||||
.tr-touch {
|
||||
position: absolute;
|
||||
right: max(18px, env(safe-area-inset-right));
|
||||
bottom: max(18px, env(safe-area-inset-bottom));
|
||||
left: max(18px, env(safe-area-inset-left));
|
||||
z-index: 14;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.tr-touch button {
|
||||
width: 64px;
|
||||
height: 64px;
|
||||
border-radius: 50%;
|
||||
font-size: 1.5rem;
|
||||
pointer-events: auto;
|
||||
touch-action: none;
|
||||
backdrop-filter: blur(10px);
|
||||
}
|
||||
|
||||
.tr-touch button:nth-child(2) { margin-right: auto; margin-left: 9px; }
|
||||
.tr-touch button:last-child { color: var(--tr-gold); font-size: 1.2rem; }
|
||||
|
||||
.tr-overlay {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
z-index: 40;
|
||||
display: grid;
|
||||
place-items: center;
|
||||
padding: max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));
|
||||
background: rgb(2 10 14 / .72);
|
||||
backdrop-filter: blur(10px);
|
||||
}
|
||||
|
||||
.tr-panel {
|
||||
width: min(940px, 100%);
|
||||
max-height: min(90vh, 820px);
|
||||
overflow: hidden;
|
||||
border: 1px solid rgb(241 216 148 / .5);
|
||||
border-radius: 24px;
|
||||
background:
|
||||
radial-gradient(circle at 100% 0, rgb(199 71 93 / .12), transparent 30%),
|
||||
linear-gradient(145deg, #102d35, #07131b);
|
||||
box-shadow: var(--tr-shadow);
|
||||
}
|
||||
|
||||
.tr-panel > header {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr auto;
|
||||
align-items: center;
|
||||
padding: 22px 24px;
|
||||
border-bottom: 1px solid rgb(241 216 148 / .18);
|
||||
}
|
||||
|
||||
.tr-panel > header .tr-kicker { grid-column: 1; margin-bottom: 3px; }
|
||||
.tr-panel h2 { grid-column: 1; margin: 0; font: 500 clamp(1.8rem, 4vw, 3rem)/1 Georgia, serif; }
|
||||
.tr-panel > header button { grid-row: 1 / 3; grid-column: 2; width: 44px; padding: 0; font-size: 1.6rem; }
|
||||
|
||||
.tr-panel__body {
|
||||
max-height: calc(min(90vh, 820px) - 100px);
|
||||
padding: clamp(20px, 4vw, 38px);
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.tr-panel h3 { margin: 0 0 12px; color: var(--tr-gold); font: 500 1.35rem Georgia, serif; }
|
||||
.tr-panel-lede { max-width: 65ch; margin: 0 0 24px; color: #e2e3db; line-height: 1.7; }
|
||||
|
||||
.tr-tabs { display: grid; grid-template-columns: 1.2fr 1fr; gap: 28px; }
|
||||
.tr-tabs section:last-child { grid-column: 1 / -1; }
|
||||
.tr-ledger, .tr-history { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
|
||||
.tr-ledger li {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(120px, 1fr) auto;
|
||||
gap: 4px 18px;
|
||||
padding: 12px 14px;
|
||||
border: 1px solid rgb(255 255 255 / .08);
|
||||
border-radius: 12px;
|
||||
background: rgb(255 255 255 / .035);
|
||||
}
|
||||
.tr-ledger li strong { color: var(--tr-gold); }
|
||||
.tr-ledger li small { grid-column: 1 / -1; color: #acbbb9; }
|
||||
.tr-chips { display: flex; flex-wrap: wrap; gap: 8px; }
|
||||
.tr-chip { padding: 7px 10px; border: 1px solid rgb(241 216 148 / .25); border-radius: 999px; color: #e8e2ca; text-transform: capitalize; }
|
||||
|
||||
.tr-settings { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 18px; }
|
||||
.tr-settings label {
|
||||
display: flex;
|
||||
min-height: 50px;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: 18px;
|
||||
padding: 8px 12px;
|
||||
border-bottom: 1px solid rgb(255 255 255 / .08);
|
||||
}
|
||||
.tr-settings input[type="checkbox"] { width: 22px; height: 22px; accent-color: var(--tr-gold); }
|
||||
.tr-settings input[type="range"] { width: min(180px, 50%); accent-color: var(--tr-gold); }
|
||||
.tr-settings select { min-width: 120px; border: 1px solid rgb(241 216 148 / .3); border-radius: 8px; color: var(--tr-paper); background: var(--tr-deep); padding: 7px; text-transform: capitalize; }
|
||||
|
||||
.tr-save-slots { display: grid; gap: 10px; }
|
||||
.tr-save-slots article { display: grid; grid-template-columns: 1fr auto auto; gap: 10px; align-items: center; padding: 14px; border: 1px solid rgb(255 255 255 / .09); border-radius: 14px; }
|
||||
.tr-save-slots article div { display: grid; gap: 2px; }
|
||||
.tr-save-slots article span, .tr-save-slots article small { color: #9fb1af; }
|
||||
|
||||
.tr-dialogue {
|
||||
position: absolute;
|
||||
right: clamp(18px, 5vw, 70px);
|
||||
bottom: max(18px, env(safe-area-inset-bottom));
|
||||
left: clamp(18px, 5vw, 70px);
|
||||
z-index: 35;
|
||||
display: grid;
|
||||
grid-template-columns: minmax(150px, 23%) 1fr;
|
||||
min-height: 230px;
|
||||
max-height: min(48vh, 420px);
|
||||
border: 1px solid rgb(241 216 148 / .62);
|
||||
border-radius: 24px;
|
||||
background:
|
||||
radial-gradient(circle at 10% 0, rgb(199 71 93 / .16), transparent 35%),
|
||||
linear-gradient(145deg, rgb(12 40 48 / .97), rgb(4 16 22 / .97));
|
||||
box-shadow: var(--tr-shadow);
|
||||
overflow: hidden;
|
||||
backdrop-filter: blur(18px);
|
||||
}
|
||||
|
||||
.tr-portrait {
|
||||
min-height: 230px;
|
||||
background-position: center bottom;
|
||||
background-size: contain;
|
||||
background-repeat: no-repeat;
|
||||
filter: drop-shadow(8px 0 20px rgb(0 0 0 / .35));
|
||||
mask-image: linear-gradient(90deg, #000 74%, transparent);
|
||||
}
|
||||
|
||||
.tr-dialogue__copy { display: flex; min-width: 0; flex-direction: column; padding: clamp(18px, 3vw, 30px); }
|
||||
.tr-speaker { margin: 0 0 9px; color: var(--tr-gold); font: 600 clamp(1.25rem, 2.4vw, 1.8rem) Georgia, serif; }
|
||||
.tr-line { min-height: 3.4em; margin: 0; color: #fffdf1; font: 400 clamp(1rem, 1.8vw, 1.22rem)/1.65 Georgia, serif; }
|
||||
.tr-choices { display: grid; gap: 7px; margin-top: 12px; overflow: auto; }
|
||||
.tr-choices button { display: grid; grid-template-columns: 30px 1fr; align-items: center; text-align: left; }
|
||||
.tr-choices button span { color: var(--tr-gold); font-weight: 900; }
|
||||
.tr-dialogue__controls { display: flex; gap: 7px; margin-top: auto; padding-top: 12px; }
|
||||
.tr-dialogue__controls button { min-height: 36px; padding: 6px 11px; font-size: .76rem; }
|
||||
.tr-dialogue__controls button.is-active { color: var(--tr-ink); background: var(--tr-gold); }
|
||||
|
||||
.tr-history li { padding: 14px; border-bottom: 1px solid rgb(255 255 255 / .08); }
|
||||
.tr-history strong { color: var(--tr-gold); }
|
||||
.tr-history p { margin: 5px 0 0; line-height: 1.55; }
|
||||
|
||||
.tr-puzzle-sequence, .tr-cooking, .tr-dance { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 20px 0; }
|
||||
.tr-puzzle-sequence button, .tr-cooking button { min-height: 80px; color: var(--tr-gold); font: 500 1.1rem Georgia, serif; }
|
||||
.tr-archery { position: relative; height: 96px; margin: 25px 10px; border: 1px solid rgb(241 216 148 / .25); border-radius: 999px; background: linear-gradient(90deg, rgb(199 71 93 / .22), rgb(241 216 148 / .16) 42%, rgb(241 216 148 / .45) 50%, rgb(241 216 148 / .16) 58%, rgb(199 71 93 / .22)); }
|
||||
.tr-archery i { position: absolute; top: 8px; bottom: 8px; width: 5px; border-radius: 999px; background: #fff3bd; box-shadow: 0 0 18px #ffe18b; transform: translateX(-50%); }
|
||||
.tr-archery b { position: absolute; top: 0; bottom: 0; left: 50%; width: 16%; border: 2px solid var(--tr-gold); border-radius: 999px; transform: translateX(-50%); }
|
||||
.tr-dance-cue { margin: 15px auto; color: var(--tr-gold); font-size: clamp(4rem, 14vw, 8rem); text-align: center; text-shadow: 0 0 35px rgb(241 216 148 / .45); }
|
||||
.tr-dance button { min-height: 70px; font-size: 2rem; }
|
||||
|
||||
.tr-gifts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
|
||||
.tr-gift { display: grid; grid-template-columns: 72px 1fr; gap: 7px 13px; align-items: center; padding: 14px; text-align: left; }
|
||||
.tr-gift img { grid-row: span 2; width: 72px; height: 72px; object-fit: contain; }
|
||||
.tr-gift strong { color: var(--tr-gold); font: 500 1.15rem Georgia, serif; }
|
||||
.tr-gift small { color: #bdc8c3; line-height: 1.45; }
|
||||
|
||||
.tr-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
|
||||
.tr-gallery figure { margin: 0; overflow: hidden; border: 1px solid rgb(241 216 148 / .22); border-radius: 14px; background: rgb(255 255 255 / .04); }
|
||||
.tr-gallery img, .tr-gallery figure > div { display: grid; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; place-items: center; color: rgb(241 216 148 / .3); font: 5rem Georgia, serif; }
|
||||
.tr-gallery figcaption { padding: 8px 10px; text-transform: capitalize; }
|
||||
.tr-gallery .is-locked { filter: saturate(0); opacity: .55; }
|
||||
|
||||
.tr-ending { display: grid; grid-template-columns: 1.2fr 1fr; gap: 24px; margin: 0; }
|
||||
.tr-ending img { width: 100%; min-height: 320px; border-radius: 16px; object-fit: cover; }
|
||||
.tr-ending figcaption { align-self: center; }
|
||||
.tr-ending p { font: 400 1.18rem/1.7 Georgia, serif; }
|
||||
.tr-ending blockquote { margin: 24px 0 0; padding-left: 18px; border-left: 2px solid var(--tr-gold); color: var(--tr-gold); font: italic 1rem/1.7 Georgia, serif; }
|
||||
|
||||
.tr-toast-stack {
|
||||
position: absolute;
|
||||
top: 94px;
|
||||
right: max(20px, env(safe-area-inset-right));
|
||||
z-index: 60;
|
||||
display: grid;
|
||||
width: min(360px, calc(100% - 40px));
|
||||
gap: 8px;
|
||||
pointer-events: none;
|
||||
}
|
||||
.tr-toast-stack p { margin: 0; padding: 12px 15px; border: 1px solid rgb(241 216 148 / .35); border-radius: 12px; color: var(--tr-paper); background: rgb(5 20 27 / .92); box-shadow: 0 10px 28px rgb(0 0 0 / .28); }
|
||||
.tr-live { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
|
||||
|
||||
.tr-rotate {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
z-index: 50;
|
||||
display: grid;
|
||||
place-items: center;
|
||||
padding: 40px;
|
||||
color: var(--tr-gold);
|
||||
background: #07131b;
|
||||
font: 500 1.5rem/1.5 Georgia, serif;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.tr-high-contrast { --tr-paper: #fff; --tr-gold: #ffe17f; }
|
||||
.tr-high-contrast .tr-dialogue, .tr-high-contrast .tr-panel, .tr-high-contrast .tr-hud { background: #000; }
|
||||
|
||||
@media (max-width: 760px) {
|
||||
.tr-screen::before { inset: 9px; border-radius: 18px; }
|
||||
.tr-menu { place-items: end stretch; }
|
||||
.tr-menu__copy { margin: 0; padding: 28px; }
|
||||
.tr-hud { grid-template-columns: 1fr auto; }
|
||||
.tr-objective { display: none; }
|
||||
.tr-hud nav button:first-child, .tr-hud nav button:nth-child(2) { display: none; }
|
||||
.tr-dialogue { grid-template-columns: 110px 1fr; max-height: 60vh; }
|
||||
.tr-portrait { min-height: 200px; }
|
||||
.tr-dialogue__copy { padding: 16px; }
|
||||
.tr-dialogue__controls button:nth-child(2), .tr-dialogue__controls button:nth-child(4) { display: none; }
|
||||
.tr-tabs, .tr-settings, .tr-ending { grid-template-columns: 1fr; }
|
||||
.tr-tabs section:last-child { grid-column: auto; }
|
||||
.tr-gallery { grid-template-columns: repeat(2, 1fr); }
|
||||
.tr-gifts { grid-template-columns: 1fr; }
|
||||
.tr-panel__body { padding: 18px; }
|
||||
}
|
||||
|
||||
@media (max-width: 699px) and (orientation: portrait) {
|
||||
.tr-exploring .tr-rotate { display: grid !important; }
|
||||
}
|
||||
|
||||
@media (max-height: 540px) and (orientation: landscape) {
|
||||
.tr-hud { top: 8px; right: 8px; left: 8px; padding-block: 6px; }
|
||||
.tr-dialogue { right: 12px; bottom: 8px; left: 12px; min-height: 180px; max-height: 66vh; }
|
||||
.tr-portrait { min-height: 180px; }
|
||||
.tr-line { line-height: 1.45; }
|
||||
.tr-touch button { width: 52px; height: 52px; }
|
||||
}
|
||||
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
*, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
|
||||
}
|
||||
Reference in New Issue
Block a user