Spaces:
Running on Zero
Running on Zero
| :root { | |
| color-scheme: dark; | |
| --paper: #efe4c9; | |
| --paper-2: #e7d7b7; | |
| --paper-3: #f7eed9; | |
| --edge: #d3bd92; | |
| --ink: #271a0e; | |
| --ink-soft: #5d4528; | |
| --ink-faint: #8a714c; | |
| --rule: rgba(73, 49, 22, 0.22); | |
| --rule-soft: rgba(73, 49, 22, 0.12); | |
| --oxblood: #9a2b22; | |
| --oxblood-2: #74201b; | |
| --gold: #b07d12; | |
| --gold-2: #d8a226; | |
| --gold-glow: rgba(216, 162, 38, 0.38); | |
| --leaf: #2f6b41; | |
| --leaf-2: #3f8453; | |
| --night: #14130d; | |
| --night-2: #202012; | |
| --serif: Georgia, "Times New Roman", serif; | |
| --label: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; | |
| } | |
| * { | |
| box-sizing: border-box; | |
| } | |
| [hidden] { | |
| display: none ; | |
| } | |
| html, | |
| body { | |
| min-height: 100%; | |
| margin: 0; | |
| } | |
| body { | |
| color: var(--ink); | |
| background: | |
| linear-gradient(180deg, rgba(65, 68, 41, 0.22), transparent 22%), | |
| linear-gradient(115deg, #202012 0%, #14130d 48%, #0c0b07 100%); | |
| font-family: var(--serif); | |
| -webkit-font-smoothing: antialiased; | |
| text-rendering: optimizeLegibility; | |
| } | |
| button, | |
| input, | |
| textarea { | |
| font: inherit; | |
| color: inherit; | |
| } | |
| button { | |
| cursor: pointer; | |
| } | |
| button:disabled, | |
| input:disabled, | |
| textarea:disabled { | |
| cursor: wait; | |
| } | |
| .icon-sprite { | |
| display: none; | |
| } | |
| .icon { | |
| width: 14px; | |
| height: 14px; | |
| flex: 0 0 auto; | |
| fill: none; | |
| stroke: currentColor; | |
| stroke-width: 1.7; | |
| stroke-linecap: round; | |
| stroke-linejoin: round; | |
| } | |
| .sr-only { | |
| position: absolute; | |
| width: 1px; | |
| height: 1px; | |
| padding: 0; | |
| margin: -1px; | |
| overflow: hidden; | |
| clip: rect(0, 0, 0, 0); | |
| white-space: nowrap; | |
| border: 0; | |
| } | |
| .desk-glow { | |
| position: fixed; | |
| inset: 0; | |
| pointer-events: none; | |
| background: | |
| linear-gradient(90deg, rgba(0, 0, 0, 0.22), transparent 22%, transparent 78%, rgba(0, 0, 0, 0.28)), | |
| linear-gradient(180deg, rgba(216, 162, 38, 0.08), transparent 34%); | |
| } | |
| .atlas-shell { | |
| position: relative; | |
| z-index: 1; | |
| width: min(1480px, 100%); | |
| min-height: 100vh; | |
| margin: 0 auto; | |
| padding: 32px; | |
| color: var(--ink); | |
| font-family: var(--serif); | |
| } | |
| .atlas-stage { | |
| position: relative; | |
| display: grid; | |
| grid-template-rows: auto minmax(0, 1fr); | |
| height: calc(100vh - 64px); | |
| min-height: calc(100vh - 64px); | |
| overflow: hidden; | |
| color: var(--ink); | |
| background: | |
| linear-gradient(180deg, var(--paper-3), var(--paper) 16%, var(--paper) 84%, var(--paper-2)), | |
| var(--paper); | |
| border: 1px solid var(--edge); | |
| border-radius: 4px; | |
| box-shadow: | |
| 0 40px 90px -30px rgba(0, 0, 0, 0.72), | |
| 0 4px 14px rgba(0, 0, 0, 0.35); | |
| } | |
| .atlas-stage::before { | |
| content: ""; | |
| position: absolute; | |
| inset: 0; | |
| pointer-events: none; | |
| background-image: | |
| linear-gradient(rgba(73, 49, 22, 0.018) 1px, transparent 1px), | |
| linear-gradient(90deg, rgba(73, 49, 22, 0.014) 1px, transparent 1px); | |
| background-size: 34px 34px; | |
| mix-blend-mode: multiply; | |
| } | |
| .atlas-stage::after { | |
| content: ""; | |
| position: absolute; | |
| inset: 0; | |
| pointer-events: none; | |
| box-shadow: | |
| inset 0 0 120px rgba(99, 58, 20, 0.2), | |
| inset 0 0 0 1px rgba(255, 247, 224, 0.26); | |
| } | |
| .atlas-stage > * { | |
| position: relative; | |
| z-index: 2; | |
| } | |
| .atlas-topbar { | |
| display: grid; | |
| grid-template-columns: minmax(155px, auto) minmax(260px, 540px) minmax(300px, 1fr); | |
| align-items: flex-end; | |
| gap: 20px; | |
| padding: 30px 42px 18px; | |
| border-bottom: 1px solid var(--rule); | |
| } | |
| .atlas-title-block { | |
| min-width: 0; | |
| } | |
| .atlas-kicker { | |
| margin: 0 0 7px; | |
| color: var(--ink-faint); | |
| font-family: var(--label); | |
| font-size: 0.64rem; | |
| font-weight: 800; | |
| line-height: 1.4; | |
| letter-spacing: 0.18em; | |
| text-transform: uppercase; | |
| } | |
| .atlas-topbar h1 { | |
| margin: 0; | |
| color: var(--ink); | |
| font-family: var(--serif); | |
| font-size: 2.5rem; | |
| font-weight: 700; | |
| line-height: 0.98; | |
| letter-spacing: 0; | |
| } | |
| .atlas-search { | |
| display: flex; | |
| min-width: 0; | |
| align-items: center; | |
| gap: 9px; | |
| height: 42px; | |
| padding: 0 12px; | |
| color: var(--ink-soft); | |
| background: rgba(255, 247, 224, 0.4); | |
| border: 1px solid var(--rule); | |
| border-radius: 8px; | |
| box-shadow: inset 0 1px 0 rgba(255, 247, 224, 0.42); | |
| } | |
| .atlas-search:focus-within { | |
| border-color: rgba(154, 43, 34, 0.48); | |
| box-shadow: | |
| inset 0 1px 0 rgba(255, 247, 224, 0.42), | |
| 0 0 0 3px rgba(176, 125, 18, 0.12); | |
| } | |
| .atlas-search input { | |
| min-width: 0; | |
| width: 100%; | |
| height: 100%; | |
| padding: 0; | |
| color: var(--ink); | |
| background: transparent; | |
| border: 0; | |
| outline: 0; | |
| font-family: var(--label); | |
| font-size: 0.86rem; | |
| font-weight: 760; | |
| } | |
| .atlas-search input::placeholder { | |
| color: var(--ink-faint); | |
| opacity: 0.82; | |
| } | |
| .atlas-search input::-webkit-search-cancel-button { | |
| display: none; | |
| } | |
| .atlas-search-clear { | |
| display: inline-grid; | |
| width: 26px; | |
| height: 26px; | |
| flex: 0 0 auto; | |
| place-items: center; | |
| padding: 0; | |
| color: var(--ink-faint); | |
| background: transparent; | |
| border: 0; | |
| border-radius: 50%; | |
| } | |
| .atlas-search-clear:hover { | |
| color: var(--ink); | |
| background: rgba(73, 49, 22, 0.08); | |
| } | |
| .atlas-actions { | |
| display: flex; | |
| flex-wrap: wrap; | |
| align-items: center; | |
| justify-content: flex-end; | |
| gap: 9px; | |
| } | |
| .atlas-status { | |
| min-width: min(360px, 100%); | |
| color: var(--ink-faint); | |
| font-family: var(--label); | |
| font-size: 0.68rem; | |
| font-weight: 750; | |
| line-height: 1.55; | |
| letter-spacing: 0.03em; | |
| text-align: right; | |
| } | |
| .atlas-search-summary { | |
| margin: 0 0 9px; | |
| color: var(--ink-faint); | |
| font-family: var(--label); | |
| font-size: 0.72rem; | |
| font-weight: 760; | |
| line-height: 1.4; | |
| } | |
| .atlas-search-result { | |
| display: grid; | |
| width: 100%; | |
| gap: 6px; | |
| padding: 10px 11px; | |
| color: var(--ink); | |
| background: rgba(255, 247, 224, 0.38); | |
| border: 1px solid var(--rule-soft); | |
| border-left: 3px solid var(--leaf); | |
| border-radius: 7px; | |
| text-align: left; | |
| } | |
| .atlas-search-result:hover, | |
| .atlas-search-result.active { | |
| background: rgba(47, 107, 65, 0.1); | |
| border-color: rgba(47, 107, 65, 0.35); | |
| } | |
| .atlas-search-result.active { | |
| border-left-color: var(--oxblood); | |
| } | |
| .atlas-search-result strong { | |
| color: var(--ink); | |
| font-family: var(--serif); | |
| font-size: 0.88rem; | |
| line-height: 1.2; | |
| } | |
| .atlas-search-meta, | |
| .atlas-search-snippet { | |
| color: var(--ink-faint); | |
| font-family: var(--label); | |
| font-size: 0.68rem; | |
| font-weight: 760; | |
| line-height: 1.35; | |
| } | |
| .atlas-search-score { | |
| display: block; | |
| height: 5px; | |
| overflow: hidden; | |
| background: rgba(73, 49, 22, 0.14); | |
| border-radius: 999px; | |
| } | |
| .atlas-search-score i { | |
| display: block; | |
| width: 0; | |
| height: 100%; | |
| background: linear-gradient(90deg, var(--leaf) 0%, var(--gold) 72%, var(--oxblood) 100%); | |
| border-radius: inherit; | |
| } | |
| .atlas-layout { | |
| display: grid; | |
| grid-template-columns: 300px minmax(0, 1fr) 330px; | |
| min-height: 0; | |
| overflow: hidden; | |
| } | |
| .atlas-panel { | |
| min-width: 0; | |
| overflow: auto; | |
| padding: 20px; | |
| background: linear-gradient(180deg, rgba(255, 247, 224, 0.2), rgba(73, 49, 22, 0.045)); | |
| } | |
| .atlas-left { | |
| border-right: 1px solid var(--rule); | |
| } | |
| .atlas-right { | |
| border-left: 1px solid var(--rule); | |
| } | |
| .atlas-section + .atlas-section { | |
| margin-top: 24px; | |
| } | |
| .atlas-stat-grid { | |
| display: grid; | |
| grid-template-columns: repeat(2, minmax(0, 1fr)); | |
| gap: 10px; | |
| margin-bottom: 24px; | |
| } | |
| .atlas-stat { | |
| min-height: 72px; | |
| padding: 12px; | |
| background: rgba(255, 247, 224, 0.38); | |
| border: 1px solid var(--rule); | |
| border-radius: 8px; | |
| } | |
| .atlas-stat strong { | |
| display: block; | |
| color: var(--ink); | |
| font-family: var(--serif); | |
| font-size: 1.55rem; | |
| line-height: 1; | |
| font-variant-numeric: tabular-nums; | |
| } | |
| .atlas-stat span { | |
| display: block; | |
| margin-top: 7px; | |
| color: var(--ink-faint); | |
| font-family: var(--label); | |
| font-size: 0.66rem; | |
| font-weight: 820; | |
| letter-spacing: 0.1em; | |
| text-transform: uppercase; | |
| } | |
| .atlas-list { | |
| display: grid; | |
| gap: 8px; | |
| } | |
| .atlas-filter { | |
| display: grid; | |
| width: 100%; | |
| gap: 4px; | |
| padding: 10px 11px; | |
| color: var(--ink); | |
| background: rgba(255, 247, 224, 0.34); | |
| border: 1px solid var(--rule-soft); | |
| border-left: 3px solid var(--gold); | |
| border-radius: 7px; | |
| font-family: var(--label); | |
| font-size: 0.78rem; | |
| font-weight: 750; | |
| text-align: left; | |
| transition: background 0.2s, border-color 0.2s, padding-left 0.2s; | |
| } | |
| .atlas-filter:hover, | |
| .atlas-filter.active { | |
| padding-left: 14px; | |
| background: rgba(216, 162, 38, 0.1); | |
| border-color: rgba(176, 125, 18, 0.45); | |
| } | |
| .atlas-filter.active { | |
| border-left-color: var(--oxblood); | |
| } | |
| .atlas-filter strong { | |
| color: var(--ink); | |
| font-family: var(--serif); | |
| font-size: 0.88rem; | |
| font-weight: 700; | |
| line-height: 1.25; | |
| } | |
| .atlas-filter span { | |
| color: var(--ink-faint); | |
| font-size: 0.72rem; | |
| font-weight: 750; | |
| line-height: 1.35; | |
| } | |
| .atlas-map-wrap { | |
| position: relative; | |
| min-height: 0; | |
| background: | |
| linear-gradient(rgba(73, 49, 22, 0.08) 1px, transparent 1px), | |
| linear-gradient(90deg, rgba(73, 49, 22, 0.08) 1px, transparent 1px), | |
| radial-gradient(circle at center, rgba(255, 247, 224, 0.5), transparent 62%), | |
| rgba(255, 245, 222, 0.42); | |
| background-size: 30px 30px, 30px 30px, 100% 100%, 100% 100%; | |
| box-shadow: inset 0 0 90px rgba(99, 58, 20, 0.1); | |
| } | |
| .atlas-svg { | |
| display: block; | |
| width: 100%; | |
| height: 100%; | |
| min-height: 0; | |
| } | |
| .atlas-link { | |
| stroke: rgba(73, 49, 22, 0.22); | |
| stroke-width: 0.12; | |
| } | |
| .atlas-dot { | |
| cursor: pointer; | |
| opacity: 0.9; | |
| stroke: rgba(39, 26, 14, 0.72); | |
| stroke-width: 0.25; | |
| transition: opacity 0.18s, r 0.18s, stroke-width 0.18s; | |
| } | |
| .atlas-dot:hover, | |
| .atlas-dot.selected { | |
| opacity: 1; | |
| r: 1.35; | |
| stroke: #fff0b5; | |
| stroke-width: 0.42; | |
| } | |
| .atlas-dot.search-match { | |
| opacity: 1; | |
| stroke: #fff0b5; | |
| stroke-width: 0.45; | |
| } | |
| .atlas-search-ring { | |
| pointer-events: none; | |
| fill: none; | |
| stroke: rgba(176, 125, 18, 0.55); | |
| stroke-width: 0.35; | |
| } | |
| .atlas-dot.dim, | |
| .atlas-link.dim, | |
| .atlas-search-ring.dim { | |
| opacity: 0.08; | |
| } | |
| .atlas-label { | |
| fill: var(--ink-soft); | |
| font-size: 1.6px; | |
| font-weight: 800; | |
| paint-order: stroke; | |
| stroke: rgba(247, 238, 217, 0.78); | |
| stroke-width: 0.5; | |
| } | |
| .atlas-refresh-progress { | |
| position: absolute; | |
| right: 18px; | |
| bottom: 18px; | |
| max-width: 360px; | |
| padding: 12px 14px; | |
| color: var(--ink); | |
| background: rgba(247, 238, 217, 0.94); | |
| border: 1px solid var(--edge); | |
| border-radius: 8px; | |
| box-shadow: 0 14px 30px -20px rgba(0, 0, 0, 0.56); | |
| font-family: var(--label); | |
| font-size: 0.76rem; | |
| font-weight: 780; | |
| line-height: 1.4; | |
| } | |
| .atlas-detail, | |
| .atlas-report { | |
| color: var(--ink-soft); | |
| font-size: 0.82rem; | |
| line-height: 1.48; | |
| } | |
| .atlas-detail h2, | |
| .atlas-report h2 { | |
| margin: 0 0 8px; | |
| color: var(--ink); | |
| font-family: var(--serif); | |
| font-size: 1.38rem; | |
| line-height: 1.08; | |
| } | |
| .atlas-detail p, | |
| .atlas-report p { | |
| margin: 7px 0 0; | |
| } | |
| .atlas-detail a, | |
| .atlas-report a { | |
| color: var(--oxblood); | |
| font-weight: 780; | |
| text-decoration: none; | |
| } | |
| .atlas-tags { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 6px; | |
| margin-top: 12px; | |
| } | |
| .atlas-tags span { | |
| padding: 4px 7px; | |
| color: var(--ink-soft); | |
| background: rgba(73, 49, 22, 0.08); | |
| border: 1px solid var(--rule-soft); | |
| border-radius: 999px; | |
| font-family: var(--label); | |
| font-size: 0.66rem; | |
| font-weight: 800; | |
| } | |
| .advisor-shell[hidden], | |
| .atlas-shell[hidden] { | |
| display: none; | |
| } | |
| .almanac { | |
| position: relative; | |
| z-index: 1; | |
| width: min(1320px, 100%); | |
| min-height: 100vh; | |
| margin: 0 auto; | |
| padding: 32px; | |
| } | |
| .sheet { | |
| position: relative; | |
| min-height: calc(100vh - 64px); | |
| overflow: hidden; | |
| color: var(--ink); | |
| background: | |
| linear-gradient(180deg, var(--paper-3), var(--paper) 16%, var(--paper) 84%, var(--paper-2)), | |
| var(--paper); | |
| border: 1px solid var(--edge); | |
| border-radius: 4px; | |
| box-shadow: | |
| 0 40px 90px -30px rgba(0, 0, 0, 0.72), | |
| 0 4px 14px rgba(0, 0, 0, 0.35); | |
| } | |
| .sheet::before { | |
| content: ""; | |
| position: absolute; | |
| inset: 0; | |
| pointer-events: none; | |
| background-image: | |
| linear-gradient(rgba(73, 49, 22, 0.018) 1px, transparent 1px), | |
| linear-gradient(90deg, rgba(73, 49, 22, 0.014) 1px, transparent 1px); | |
| background-size: 34px 34px; | |
| mix-blend-mode: multiply; | |
| } | |
| .sheet::after { | |
| content: ""; | |
| position: absolute; | |
| inset: 0; | |
| pointer-events: none; | |
| box-shadow: | |
| inset 0 0 120px rgba(99, 58, 20, 0.2), | |
| inset 0 0 0 1px rgba(255, 247, 224, 0.26); | |
| } | |
| .masthead { | |
| position: relative; | |
| z-index: 2; | |
| display: flex; | |
| align-items: flex-end; | |
| justify-content: space-between; | |
| gap: 20px; | |
| padding: 30px 42px 18px; | |
| border-bottom: 1px solid var(--rule); | |
| } | |
| .masthead-l { | |
| display: flex; | |
| min-width: 0; | |
| align-items: center; | |
| gap: 18px; | |
| } | |
| .crest { | |
| width: 52px; | |
| height: 52px; | |
| flex: 0 0 auto; | |
| color: var(--ink); | |
| } | |
| .masthead h1 { | |
| margin: 0; | |
| font-family: var(--serif); | |
| font-size: 2.5rem; | |
| line-height: 0.98; | |
| font-weight: 700; | |
| letter-spacing: 0; | |
| } | |
| .masthead .sub { | |
| margin-top: 7px; | |
| color: var(--ink-faint); | |
| font-family: var(--label); | |
| font-size: 0.64rem; | |
| font-weight: 800; | |
| line-height: 1.4; | |
| letter-spacing: 0.18em; | |
| text-transform: uppercase; | |
| } | |
| .provenance { | |
| max-width: 420px; | |
| color: var(--ink-faint); | |
| font-family: var(--label); | |
| font-size: 0.68rem; | |
| font-weight: 750; | |
| line-height: 1.55; | |
| letter-spacing: 0.03em; | |
| text-align: right; | |
| } | |
| .masthead-r { | |
| display: flex; | |
| align-items: center; | |
| justify-content: flex-end; | |
| gap: 12px; | |
| } | |
| .spread { | |
| position: relative; | |
| z-index: 2; | |
| display: grid; | |
| grid-template-columns: 270px minmax(0, 1fr) 350px; | |
| } | |
| .col { | |
| min-width: 0; | |
| padding: 30px; | |
| } | |
| .col-margin, | |
| .col-proof { | |
| background: linear-gradient(180deg, rgba(255, 247, 224, 0.2), rgba(73, 49, 22, 0.045)); | |
| } | |
| .col-margin, | |
| .col-page { | |
| border-right: 1px solid var(--rule); | |
| } | |
| .eyebrow { | |
| display: flex; | |
| align-items: center; | |
| gap: 9px; | |
| margin: 0 0 14px; | |
| color: var(--ink-faint); | |
| font-family: var(--label); | |
| font-size: 0.66rem; | |
| font-weight: 850; | |
| letter-spacing: 0.16em; | |
| text-transform: uppercase; | |
| } | |
| .eyebrow::after { | |
| content: ""; | |
| flex: 1; | |
| height: 1px; | |
| background: var(--rule); | |
| } | |
| .eyebrow .count { | |
| padding: 1px 8px; | |
| color: var(--ink-soft); | |
| background: rgba(73, 49, 22, 0.1); | |
| border-radius: 999px; | |
| font-size: 0.6rem; | |
| letter-spacing: 0.04em; | |
| font-variant-numeric: tabular-nums; | |
| } | |
| .section + .section { | |
| margin-top: 30px; | |
| } | |
| .composer { | |
| margin: 0 0 18px; | |
| } | |
| .prompt { | |
| display: block; | |
| width: 100%; | |
| min-height: 72px; | |
| padding: 4px 0 12px; | |
| color: var(--ink); | |
| background: transparent; | |
| border: 0; | |
| outline: 0; | |
| resize: vertical; | |
| font-family: var(--serif); | |
| font-size: 1.32rem; | |
| line-height: 1.42; | |
| } | |
| .prompt::placeholder { | |
| color: var(--ink-faint); | |
| font-style: italic; | |
| } | |
| .underline { | |
| width: 100%; | |
| height: 2px; | |
| background: linear-gradient(90deg, var(--ink-soft), transparent); | |
| opacity: 0.55; | |
| transition: opacity 0.2s, background 0.2s; | |
| } | |
| .composer:focus-within .underline { | |
| background: linear-gradient(90deg, var(--ink), var(--ink-soft) 60%, transparent); | |
| opacity: 1; | |
| } | |
| .toolbar { | |
| display: flex; | |
| flex-wrap: wrap; | |
| align-items: center; | |
| gap: 8px; | |
| margin-top: 16px; | |
| } | |
| .toolbar .spacer { | |
| flex: 1 1 20px; | |
| } | |
| .voice-row { | |
| margin-top: 10px; | |
| } | |
| .btn { | |
| display: inline-flex; | |
| min-height: 36px; | |
| align-items: center; | |
| justify-content: center; | |
| gap: 7px; | |
| padding: 8px 13px; | |
| color: var(--ink); | |
| background: var(--paper-3); | |
| border: 1px solid var(--edge); | |
| border-radius: 7px; | |
| font-family: var(--label); | |
| font-size: 0.78rem; | |
| font-weight: 800; | |
| line-height: 1; | |
| letter-spacing: 0.03em; | |
| white-space: nowrap; | |
| transition: transform 0.12s, background 0.2s, border-color 0.2s, opacity 0.2s; | |
| } | |
| .btn:hover:not(:disabled) { | |
| background: #fff6e2; | |
| border-color: var(--ink-faint); | |
| transform: translateY(-1px); | |
| } | |
| .btn:active:not(:disabled) { | |
| transform: translateY(0); | |
| } | |
| .btn:disabled { | |
| opacity: 0.42; | |
| cursor: wait; | |
| } | |
| .btn-ink { | |
| padding-inline: 18px; | |
| color: #f6ecd2; | |
| background: var(--ink); | |
| border-color: var(--ink); | |
| } | |
| .btn-ink:hover:not(:disabled) { | |
| background: #38260f; | |
| border-color: #38260f; | |
| } | |
| .btn-voice { | |
| color: #f6ecd2; | |
| background: var(--leaf); | |
| border-color: var(--leaf); | |
| } | |
| .btn-voice:hover:not(:disabled) { | |
| background: #265935; | |
| border-color: #265935; | |
| } | |
| .btn-voice.recording { | |
| background: var(--oxblood); | |
| border-color: var(--oxblood); | |
| } | |
| .btn-voice.recording:hover:not(:disabled) { | |
| background: var(--oxblood-2); | |
| border-color: var(--oxblood-2); | |
| } | |
| .btn-ghost { | |
| color: var(--ink-soft); | |
| background: transparent; | |
| border-color: transparent; | |
| } | |
| .btn-ghost:hover:not(:disabled) { | |
| background: rgba(73, 49, 22, 0.08); | |
| border-color: transparent; | |
| } | |
| .btn-icon { | |
| width: 36px; | |
| padding: 8px; | |
| } | |
| .marginalia { | |
| min-height: 22px; | |
| margin: 8px 0 22px; | |
| color: var(--leaf); | |
| font-family: var(--label); | |
| font-size: 0.74rem; | |
| font-weight: 750; | |
| line-height: 1.4; | |
| letter-spacing: 0.02em; | |
| } | |
| .marginalia.warn { | |
| color: var(--oxblood); | |
| } | |
| .fate { | |
| position: relative; | |
| min-height: 245px; | |
| } | |
| .verdict-stamp { | |
| display: inline-flex; | |
| align-items: center; | |
| gap: 10px; | |
| padding: 7px 14px 7px 12px; | |
| margin-bottom: 18px; | |
| border: 1.5px solid currentColor; | |
| border-radius: 999px; | |
| color: var(--ink-faint); | |
| background: rgba(73, 49, 22, 0.06); | |
| font-family: var(--label); | |
| font-size: 0.72rem; | |
| font-weight: 850; | |
| letter-spacing: 0.12em; | |
| text-transform: uppercase; | |
| } | |
| .verdict-stamp .seal-dot { | |
| width: 8px; | |
| height: 8px; | |
| border-radius: 50%; | |
| background: currentColor; | |
| } | |
| .verdict-unwritten { | |
| color: var(--gold); | |
| background: rgba(216, 162, 38, 0.1); | |
| } | |
| .verdict-echo { | |
| color: var(--oxblood); | |
| background: rgba(154, 43, 34, 0.09); | |
| } | |
| .verdict-ready { | |
| color: var(--ink-faint); | |
| } | |
| .prophecy { | |
| min-height: 150px; | |
| margin: 0; | |
| color: var(--ink); | |
| font-family: var(--serif); | |
| font-size: 1.55rem; | |
| line-height: 1.52; | |
| font-weight: 400; | |
| text-wrap: pretty; | |
| } | |
| .prophecy::first-letter { | |
| float: left; | |
| padding: 7px 12px 0 0; | |
| color: var(--ink); | |
| font-size: 4.1em; | |
| line-height: 0.76; | |
| font-weight: 700; | |
| } | |
| .prophecy.bleed { | |
| color: var(--oxblood-2); | |
| } | |
| .prophecy.bleed::first-letter { | |
| color: var(--oxblood); | |
| } | |
| .prophecy.gold { | |
| color: #6a4a08; | |
| } | |
| .prophecy.gold::first-letter { | |
| color: var(--gold); | |
| text-shadow: 0 0 22px var(--gold-glow); | |
| } | |
| .prophecy.thinking { | |
| color: var(--ink-faint); | |
| font-style: italic; | |
| animation: breathe 1.7s ease-in-out infinite; | |
| } | |
| @keyframes breathe { | |
| 0%, | |
| 100% { | |
| opacity: 0.58; | |
| } | |
| 50% { | |
| opacity: 1; | |
| } | |
| } | |
| .plan-list { | |
| display: grid; | |
| gap: 2px; | |
| min-height: 42px; | |
| margin: 0; | |
| padding: 0; | |
| list-style: none; | |
| counter-reset: step; | |
| } | |
| .plan-list li { | |
| position: relative; | |
| counter-increment: step; | |
| padding: 12px 4px 12px 44px; | |
| color: var(--ink); | |
| border-bottom: 1px solid var(--rule-soft); | |
| font-size: 1rem; | |
| line-height: 1.45; | |
| text-wrap: pretty; | |
| } | |
| .plan-list li:last-child { | |
| border-bottom: 0; | |
| } | |
| .plan-list li::before { | |
| content: counter(step); | |
| position: absolute; | |
| top: 11px; | |
| left: 0; | |
| display: grid; | |
| width: 28px; | |
| height: 28px; | |
| place-items: center; | |
| color: var(--gold); | |
| background: rgba(216, 162, 38, 0.08); | |
| border: 1.5px solid var(--gold); | |
| border-radius: 50%; | |
| font-family: var(--label); | |
| font-size: 0.82rem; | |
| font-weight: 850; | |
| font-variant-numeric: tabular-nums; | |
| } | |
| .plan-list li.empty { | |
| padding-left: 0; | |
| color: var(--ink-faint); | |
| font-style: italic; | |
| border-bottom: 0; | |
| } | |
| .plan-list li.empty::before { | |
| display: none; | |
| } | |
| .seal-wrap { | |
| display: flex; | |
| align-items: center; | |
| gap: 18px; | |
| margin-bottom: 6px; | |
| } | |
| .seal { | |
| position: relative; | |
| display: grid; | |
| width: 124px; | |
| height: 124px; | |
| flex: 0 0 auto; | |
| place-items: center; | |
| align-content: center; | |
| gap: 1px; | |
| color: #f6ecd2; | |
| background: | |
| linear-gradient(145deg, rgba(255, 247, 224, 0.24), transparent 34%), | |
| linear-gradient(180deg, #7c6849, #4d3924); | |
| border-radius: 50%; | |
| box-shadow: | |
| 0 12px 26px rgba(91, 62, 35, 0.32), | |
| inset 0 0 22px rgba(43, 25, 11, 0.42); | |
| transform: rotate(-5deg); | |
| } | |
| .seal.unwritten { | |
| color: #4a3404; | |
| background: | |
| linear-gradient(145deg, rgba(255, 240, 190, 0.82), transparent 32%), | |
| linear-gradient(180deg, var(--gold-2), var(--gold)); | |
| box-shadow: | |
| 0 12px 26px rgba(176, 125, 18, 0.36), | |
| inset 0 0 22px rgba(120, 80, 8, 0.4), | |
| 0 0 34px var(--gold-glow); | |
| } | |
| .seal.echo { | |
| color: #ffe9a8; | |
| background: | |
| linear-gradient(145deg, rgba(255, 228, 150, 0.55), transparent 30%), | |
| linear-gradient(180deg, var(--oxblood), var(--oxblood-2)); | |
| box-shadow: | |
| 0 12px 26px rgba(91, 22, 16, 0.4), | |
| inset 0 0 22px rgba(53, 11, 7, 0.5); | |
| } | |
| .seal .seal-overall { | |
| font-family: var(--serif); | |
| font-size: 2.5rem; | |
| font-weight: 700; | |
| line-height: 1; | |
| font-variant-numeric: tabular-nums; | |
| } | |
| .seal .seal-of { | |
| font-family: var(--label); | |
| font-size: 0.54rem; | |
| font-weight: 800; | |
| letter-spacing: 0.16em; | |
| text-transform: uppercase; | |
| opacity: 0.86; | |
| } | |
| .seal-meta { | |
| min-width: 0; | |
| } | |
| .seal-meta .v { | |
| color: var(--ink-faint); | |
| font-family: var(--label); | |
| font-size: 0.82rem; | |
| font-weight: 850; | |
| line-height: 1.25; | |
| letter-spacing: 0.08em; | |
| text-transform: uppercase; | |
| } | |
| .seal-meta .v.unwritten { | |
| color: var(--gold); | |
| } | |
| .seal-meta .v.echo { | |
| color: var(--oxblood); | |
| } | |
| .seal-meta .t { | |
| margin-top: 4px; | |
| color: var(--ink-soft); | |
| font-size: 0.92rem; | |
| font-style: italic; | |
| line-height: 1.35; | |
| text-wrap: pretty; | |
| } | |
| .quadrants { | |
| display: grid; | |
| gap: 9px; | |
| margin-top: 18px; | |
| } | |
| .quad { | |
| display: grid; | |
| grid-template-columns: 76px minmax(0, 1fr) 24px; | |
| align-items: center; | |
| gap: 10px; | |
| } | |
| .quad .ql { | |
| color: var(--ink-soft); | |
| font-family: var(--label); | |
| font-size: 0.68rem; | |
| font-weight: 800; | |
| line-height: 1.15; | |
| letter-spacing: 0.04em; | |
| text-transform: uppercase; | |
| } | |
| .quad .qbar { | |
| display: block; | |
| height: 9px; | |
| overflow: hidden; | |
| background: rgba(73, 49, 22, 0.16); | |
| border-radius: 999px; | |
| } | |
| .quad .qfill { | |
| display: block; | |
| width: 0; | |
| height: 100%; | |
| background: linear-gradient(90deg, var(--oxblood) 0%, var(--gold) 55%, var(--leaf-2) 100%); | |
| border-radius: 999px; | |
| transition: width 0.8s cubic-bezier(0.2, 0.8, 0.2, 1); | |
| } | |
| .quad .qv { | |
| color: var(--ink); | |
| font-family: var(--label); | |
| font-size: 0.76rem; | |
| font-weight: 850; | |
| text-align: right; | |
| font-variant-numeric: tabular-nums; | |
| } | |
| .wood-map { | |
| display: grid; | |
| gap: 10px; | |
| } | |
| .wood, | |
| .wood-map-field { | |
| position: relative; | |
| height: 188px; | |
| overflow: hidden; | |
| background: | |
| linear-gradient(rgba(73, 49, 22, 0.08) 1px, transparent 1px), | |
| linear-gradient(90deg, rgba(73, 49, 22, 0.08) 1px, transparent 1px), | |
| rgba(255, 245, 222, 0.42); | |
| background-size: 26px 26px; | |
| border: 1px solid var(--rule); | |
| border-radius: 8px; | |
| } | |
| .wood-empty { | |
| position: absolute; | |
| inset: 0; | |
| display: grid; | |
| place-items: center; | |
| padding: 20px; | |
| text-align: center; | |
| } | |
| .wood-dot { | |
| position: absolute; | |
| display: block; | |
| border-radius: 50%; | |
| transform: translate(-50%, -50%); | |
| transition: opacity 0.5s; | |
| } | |
| .wood-dot.wood-inked { | |
| background: rgba(73, 49, 22, 0.34); | |
| } | |
| .wood-dot.wood-echo { | |
| background: var(--oxblood); | |
| box-shadow: 0 0 0 2px rgba(255, 240, 181, 0.5); | |
| animation: echo-pulse 2.4s ease-in-out infinite; | |
| } | |
| .wood-dot.wood-idea { | |
| z-index: 2; | |
| border-radius: 50%; | |
| background: var(--leaf); | |
| box-shadow: | |
| 0 0 0 3px #fff0b5, | |
| 0 0 20px rgba(47, 107, 65, 0.6); | |
| } | |
| @keyframes echo-pulse { | |
| 0%, | |
| 100% { | |
| opacity: 0.82; | |
| } | |
| 50% { | |
| opacity: 1; | |
| } | |
| } | |
| .wood-cap, | |
| .wood-map-caption { | |
| margin: 0 2px; | |
| color: var(--ink-faint); | |
| font-family: var(--label); | |
| font-size: 0.68rem; | |
| font-weight: 750; | |
| line-height: 1.45; | |
| letter-spacing: 0.02em; | |
| } | |
| .wood-legend { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 14px; | |
| } | |
| .wood-legend span { | |
| display: inline-flex; | |
| align-items: center; | |
| gap: 5px; | |
| color: var(--ink-soft); | |
| font-family: var(--label); | |
| font-size: 0.62rem; | |
| font-weight: 850; | |
| letter-spacing: 0.04em; | |
| text-transform: uppercase; | |
| } | |
| .wood-legend i { | |
| width: 8px; | |
| height: 8px; | |
| border-radius: 50%; | |
| } | |
| .project-list, | |
| .whitespace-list, | |
| .idea-list, | |
| .goal-list, | |
| .profile-grid { | |
| display: grid; | |
| gap: 9px; | |
| } | |
| .project, | |
| .echo-item, | |
| .gap, | |
| .gap-item { | |
| display: block; | |
| width: 100%; | |
| padding: 9px 0 9px 13px; | |
| color: inherit; | |
| background: transparent; | |
| border: 0; | |
| border-left: 2px solid var(--rule); | |
| font: inherit; | |
| text-align: left; | |
| text-decoration: none; | |
| transition: background 0.2s, border-color 0.2s, padding-left 0.2s; | |
| } | |
| .project, | |
| .echo-item { | |
| border-left-color: rgba(154, 43, 34, 0.45); | |
| } | |
| .gap, | |
| .gap-item { | |
| border-left-color: rgba(176, 125, 18, 0.5); | |
| } | |
| .project:hover, | |
| .echo-item:hover, | |
| .gap-item:hover { | |
| padding-left: 16px; | |
| background: rgba(255, 247, 224, 0.58); | |
| } | |
| .project strong, | |
| .echo-item strong, | |
| .gap strong, | |
| .gap-item strong { | |
| display: block; | |
| color: var(--ink); | |
| font-family: var(--serif); | |
| font-size: 0.98rem; | |
| font-weight: 700; | |
| line-height: 1.22; | |
| } | |
| .project p, | |
| .echo-item p, | |
| .gap p, | |
| .gap-item p { | |
| margin: 4px 0 0; | |
| color: var(--ink-soft); | |
| font-family: var(--label); | |
| font-size: 0.8rem; | |
| line-height: 1.4; | |
| } | |
| .project span, | |
| .echo-item .matched { | |
| display: inline-block; | |
| margin-top: 6px; | |
| color: var(--ink-faint); | |
| font-family: var(--label); | |
| font-size: 0.64rem; | |
| font-weight: 800; | |
| line-height: 1.3; | |
| letter-spacing: 0.02em; | |
| } | |
| .gap-item .use { | |
| display: block; | |
| margin-top: 6px; | |
| color: var(--gold); | |
| font-family: var(--label); | |
| font-size: 0.62rem; | |
| font-weight: 850; | |
| letter-spacing: 0.08em; | |
| text-transform: uppercase; | |
| opacity: 0; | |
| transition: opacity 0.2s; | |
| } | |
| .gap-item:hover .use { | |
| opacity: 1; | |
| } | |
| .idea-card, | |
| .idea { | |
| display: block; | |
| width: 100%; | |
| padding: 12px 13px; | |
| color: inherit; | |
| background: var(--paper-3); | |
| border: 1px solid var(--edge); | |
| border-left: 3px solid var(--edge); | |
| border-radius: 0 7px 7px 0; | |
| font: inherit; | |
| text-align: left; | |
| cursor: pointer; | |
| transition: border-color 0.2s, transform 0.12s, box-shadow 0.2s, opacity 0.2s; | |
| } | |
| .idea-card:hover:not(:disabled), | |
| .idea:hover:not(:disabled) { | |
| box-shadow: 0 4px 14px -8px rgba(0, 0, 0, 0.42); | |
| transform: translateX(2px); | |
| } | |
| .idea-card.current, | |
| .idea.current { | |
| background: #fff7e3; | |
| border-left-color: var(--leaf); | |
| } | |
| .idea.current.bleed { | |
| border-left-color: var(--oxblood); | |
| } | |
| .idea:disabled, | |
| .gap-item:disabled, | |
| .goal-toggle:has(input:disabled), | |
| .profile-field:has(input:disabled) { | |
| opacity: 0.64; | |
| } | |
| .idea:focus-visible, | |
| .gap-item:focus-visible, | |
| .goal-toggle:focus-within, | |
| .profile-field input:focus-visible, | |
| .btn:focus-visible, | |
| .prompt:focus-visible { | |
| outline: 2px solid rgba(47, 107, 65, 0.55); | |
| outline-offset: 2px; | |
| } | |
| .idea .ihead { | |
| display: flex; | |
| align-items: baseline; | |
| justify-content: space-between; | |
| gap: 8px; | |
| } | |
| .idea strong { | |
| color: var(--ink); | |
| font-family: var(--serif); | |
| font-size: 0.98rem; | |
| font-weight: 700; | |
| line-height: 1.22; | |
| } | |
| .idea .iscore { | |
| flex: 0 0 auto; | |
| color: var(--ink-soft); | |
| font-family: var(--label); | |
| font-size: 0.82rem; | |
| font-weight: 850; | |
| font-variant-numeric: tabular-nums; | |
| } | |
| .idea p { | |
| margin: 5px 0 0; | |
| color: var(--ink-soft); | |
| font-family: var(--label); | |
| font-size: 0.76rem; | |
| line-height: 1.4; | |
| } | |
| .idea .iverdict { | |
| display: inline-block; | |
| margin-top: 8px; | |
| color: var(--ink-faint); | |
| font-family: var(--label); | |
| font-size: 0.6rem; | |
| font-weight: 850; | |
| letter-spacing: 0.09em; | |
| text-transform: uppercase; | |
| } | |
| .idea .iverdict.unwritten { | |
| color: var(--gold); | |
| } | |
| .idea .iverdict.echo { | |
| color: var(--oxblood); | |
| } | |
| .idea small { | |
| display: block; | |
| margin-top: 5px; | |
| color: var(--leaf); | |
| font-family: var(--label); | |
| font-size: 0.7rem; | |
| font-weight: 800; | |
| line-height: 1.3; | |
| } | |
| .profile-field { | |
| display: grid; | |
| gap: 5px; | |
| } | |
| .profile-field span { | |
| color: var(--ink-faint); | |
| font-family: var(--label); | |
| font-size: 0.64rem; | |
| font-weight: 800; | |
| letter-spacing: 0.08em; | |
| text-transform: uppercase; | |
| } | |
| .profile-field input { | |
| width: 100%; | |
| min-height: 36px; | |
| padding: 8px 10px; | |
| color: var(--ink); | |
| background: rgba(255, 247, 224, 0.52); | |
| border: 1px solid var(--rule); | |
| border-radius: 6px; | |
| outline: 0; | |
| font-family: var(--label); | |
| font-size: 0.84rem; | |
| transition: border-color 0.2s, background 0.2s; | |
| } | |
| .profile-field input:focus { | |
| background: #fff8e6; | |
| border-color: var(--leaf-2); | |
| box-shadow: 0 0 0 3px rgba(47, 107, 65, 0.12); | |
| } | |
| .goal-toggle { | |
| position: relative; | |
| display: flex; | |
| align-items: flex-start; | |
| gap: 10px; | |
| padding: 9px 10px; | |
| background: transparent; | |
| border: 1px solid transparent; | |
| border-radius: 7px; | |
| cursor: pointer; | |
| transition: background 0.2s, border-color 0.2s, opacity 0.2s; | |
| } | |
| .goal-toggle:hover { | |
| background: rgba(255, 247, 224, 0.52); | |
| } | |
| .goal-toggle.on { | |
| background: rgba(47, 107, 65, 0.07); | |
| border-color: rgba(47, 107, 65, 0.4); | |
| } | |
| .goal-toggle input { | |
| position: absolute; | |
| opacity: 0; | |
| pointer-events: none; | |
| } | |
| .goal-toggle .check { | |
| display: grid; | |
| width: 18px; | |
| height: 18px; | |
| flex: 0 0 auto; | |
| place-items: center; | |
| margin-top: 1px; | |
| color: transparent; | |
| border: 1.5px solid var(--ink-faint); | |
| border-radius: 5px; | |
| transition: background 0.2s, border-color 0.2s, color 0.2s; | |
| } | |
| .goal-toggle.on .check { | |
| color: #f6ecd2; | |
| background: var(--leaf); | |
| border-color: var(--leaf); | |
| } | |
| .goal-toggle .check .icon { | |
| width: 11px; | |
| height: 11px; | |
| stroke-width: 2.4; | |
| } | |
| .goal-copy { | |
| display: grid; | |
| min-width: 0; | |
| gap: 3px; | |
| } | |
| .goal-copy strong { | |
| color: var(--ink); | |
| font-family: var(--label); | |
| font-size: 0.8rem; | |
| font-weight: 850; | |
| line-height: 1.2; | |
| } | |
| .goal-copy small { | |
| color: var(--ink-faint); | |
| font-family: var(--label); | |
| font-size: 0.7rem; | |
| font-weight: 750; | |
| line-height: 1.35; | |
| } | |
| .empty { | |
| color: var(--ink-faint); | |
| font-size: 0.95rem; | |
| font-style: italic; | |
| line-height: 1.45; | |
| } | |
| .mobile-nav { | |
| display: none; | |
| } | |
| @media (max-width: 1080px) { | |
| .atlas-topbar { | |
| grid-template-columns: 1fr minmax(260px, 1.2fr); | |
| } | |
| .atlas-actions { | |
| grid-column: 1 / -1; | |
| } | |
| .atlas-layout { | |
| grid-template-columns: 260px minmax(0, 1fr); | |
| } | |
| .atlas-right { | |
| grid-column: 1 / -1; | |
| border-top: 1px solid var(--rule); | |
| border-left: 0; | |
| } | |
| .atlas-svg { | |
| min-height: 620px; | |
| } | |
| .almanac { | |
| padding: 20px; | |
| } | |
| .spread { | |
| grid-template-columns: 250px minmax(0, 1fr); | |
| } | |
| .col-proof { | |
| grid-column: 1 / -1; | |
| border-top: 1px solid var(--rule); | |
| } | |
| .col-page { | |
| border-right: 0; | |
| } | |
| } | |
| @media (max-width: 760px) { | |
| .atlas-shell { | |
| padding: 0; | |
| } | |
| .atlas-stage { | |
| height: auto; | |
| min-height: 100vh; | |
| border-right: 0; | |
| border-left: 0; | |
| border-radius: 0; | |
| } | |
| .atlas-topbar { | |
| align-items: flex-start; | |
| grid-template-columns: 1fr; | |
| padding: 18px; | |
| } | |
| .atlas-topbar h1 { | |
| font-size: 2.5rem; | |
| } | |
| .atlas-actions { | |
| justify-content: flex-start; | |
| width: 100%; | |
| } | |
| .atlas-search { | |
| width: 100%; | |
| } | |
| .atlas-status { | |
| min-width: 100%; | |
| text-align: left; | |
| } | |
| .atlas-layout { | |
| grid-template-columns: 1fr; | |
| overflow: visible; | |
| } | |
| .atlas-left, | |
| .atlas-right { | |
| border: 0; | |
| border-top: 1px solid var(--rule); | |
| } | |
| .atlas-map-wrap { | |
| order: -1; | |
| } | |
| .atlas-svg { | |
| height: auto; | |
| min-height: 520px; | |
| } | |
| .atlas-panel { | |
| max-height: none; | |
| } | |
| .almanac { | |
| width: 100%; | |
| padding: 0; | |
| } | |
| .sheet { | |
| min-height: 100vh; | |
| border-right: 0; | |
| border-left: 0; | |
| border-radius: 0; | |
| } | |
| .masthead { | |
| padding: 18px 18px 14px; | |
| } | |
| .masthead h1 { | |
| font-size: 1.58rem; | |
| line-height: 1.05; | |
| } | |
| .masthead .sub { | |
| max-width: 290px; | |
| font-size: 0.58rem; | |
| letter-spacing: 0.12em; | |
| } | |
| .crest { | |
| width: 44px; | |
| height: 44px; | |
| } | |
| .provenance { | |
| display: none; | |
| } | |
| .masthead-r { | |
| align-self: flex-start; | |
| } | |
| .mobile-nav { | |
| position: sticky; | |
| top: 0; | |
| z-index: 20; | |
| display: flex; | |
| gap: 4px; | |
| padding: 6px; | |
| background: var(--paper-2); | |
| border-bottom: 1px solid var(--rule); | |
| } | |
| .mobile-nav button { | |
| flex: 1; | |
| padding: 9px 4px; | |
| color: var(--ink-faint); | |
| background: transparent; | |
| border: 0; | |
| border-radius: 6px; | |
| font-family: var(--label); | |
| font-size: 0.68rem; | |
| font-weight: 850; | |
| letter-spacing: 0.05em; | |
| text-transform: uppercase; | |
| } | |
| .mobile-nav button.active { | |
| color: var(--paper); | |
| background: var(--ink); | |
| } | |
| .spread { | |
| grid-template-columns: 1fr; | |
| } | |
| .col { | |
| padding: 20px 18px 28px; | |
| border-right: 0; | |
| } | |
| .col-page { | |
| order: 1; | |
| } | |
| .col-proof { | |
| order: 2; | |
| border-top: 1px solid var(--rule); | |
| } | |
| .col-margin { | |
| order: 3; | |
| border-top: 1px solid var(--rule); | |
| } | |
| .spread[data-tab="page"] .col-proof, | |
| .spread[data-tab="page"] .col-margin, | |
| .spread[data-tab="proof"] .col-page, | |
| .spread[data-tab="proof"] .col-margin, | |
| .spread[data-tab="almanac"] .col-page, | |
| .spread[data-tab="almanac"] .col-proof { | |
| display: none; | |
| } | |
| .prompt { | |
| min-height: 88px; | |
| font-size: 1.12rem; | |
| } | |
| .prophecy { | |
| min-height: 170px; | |
| font-size: 1.2rem; | |
| } | |
| .prophecy::first-letter { | |
| font-size: 3.2em; | |
| } | |
| .toolbar .spacer { | |
| display: none; | |
| } | |
| .btn { | |
| min-height: 38px; | |
| } | |
| .seal { | |
| width: 104px; | |
| height: 104px; | |
| } | |
| .seal .seal-overall { | |
| font-size: 2.1rem; | |
| } | |
| .wood, | |
| .wood-map-field { | |
| height: 170px; | |
| } | |
| } | |
| @media (prefers-reduced-motion: reduce) { | |
| *, | |
| *::before, | |
| *::after { | |
| animation-duration: 0.001ms ; | |
| transition-duration: 0.001ms ; | |
| } | |
| } | |
| /* Live turn progress (stage + token count + tool chips) */ | |
| .turn-progress { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 0.4rem; | |
| margin: 0.2rem 0 0.4rem; | |
| padding: 0.5rem 0.7rem; | |
| border: 1px solid var(--rule-soft); | |
| border-left: 3px solid var(--gold); | |
| border-radius: 8px; | |
| background: rgba(216, 162, 38, 0.06); | |
| } | |
| .turn-stage { | |
| display: flex; | |
| align-items: center; | |
| gap: 0.45rem; | |
| font-family: var(--label); | |
| font-size: 0.78rem; | |
| color: var(--ink-soft); | |
| } | |
| .turn-stage .ts-icon { | |
| font-size: 0.95rem; | |
| line-height: 1; | |
| animation: ts-pulse 1.6s ease-in-out infinite; | |
| } | |
| .turn-stage .ts-text { | |
| font-weight: 600; | |
| color: var(--ink); | |
| } | |
| .turn-stage .ts-tokens { | |
| color: var(--ink-faint); | |
| font-variant-numeric: tabular-nums; | |
| } | |
| .turn-stage .ts-eta { | |
| margin-left: auto; | |
| color: var(--ink-faint); | |
| font-variant-numeric: tabular-nums; | |
| } | |
| .turn-bar { | |
| height: 5px; | |
| border-radius: 999px; | |
| background: var(--rule-soft); | |
| overflow: hidden; | |
| } | |
| .turn-bar-fill { | |
| height: 100%; | |
| width: 0%; | |
| border-radius: 999px; | |
| background: linear-gradient(90deg, var(--gold), var(--gold-2)); | |
| transition: width 0.3s ease; | |
| } | |
| @keyframes ts-pulse { | |
| 0%, | |
| 100% { | |
| opacity: 0.55; | |
| transform: translateY(0); | |
| } | |
| 50% { | |
| opacity: 1; | |
| transform: translateY(-1px); | |
| } | |
| } | |
| .tool-chips { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 0.35rem; | |
| } | |
| .tool-chips:empty { | |
| display: none; | |
| } | |
| .tool-chip { | |
| display: inline-flex; | |
| align-items: center; | |
| gap: 0.3rem; | |
| font-family: var(--label); | |
| font-size: 0.68rem; | |
| font-weight: 600; | |
| color: var(--leaf); | |
| background: rgba(47, 107, 65, 0.1); | |
| border: 1px solid rgba(47, 107, 65, 0.28); | |
| border-radius: 999px; | |
| padding: 0.12rem 0.55rem; | |
| animation: chip-in 0.22s ease; | |
| } | |
| .tool-chip .tc-check { | |
| font-size: 0.66rem; | |
| } | |
| @keyframes chip-in { | |
| from { | |
| opacity: 0; | |
| transform: translateY(2px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |
| /* Action / overflow menus (consolidate secondary buttons) */ | |
| .menu { | |
| position: relative; | |
| display: inline-flex; | |
| } | |
| .menu-trigger .caret { | |
| margin-left: 4px; | |
| font-size: 0.72em; | |
| } | |
| .menu-trigger[aria-expanded="true"] { | |
| border-color: var(--ink-faint); | |
| } | |
| .caret-dots { | |
| font-size: 1.05rem; | |
| line-height: 1; | |
| letter-spacing: 1px; | |
| } | |
| .menu-list { | |
| position: absolute; | |
| top: calc(100% + 6px); | |
| left: 0; | |
| z-index: 30; | |
| min-width: 210px; | |
| display: flex; | |
| flex-direction: column; | |
| gap: 2px; | |
| padding: 5px; | |
| background: var(--paper-3); | |
| border: 1px solid var(--edge); | |
| border-radius: 9px; | |
| box-shadow: 0 12px 30px -12px rgba(0, 0, 0, 0.45); | |
| } | |
| .menu-list[hidden] { | |
| display: none; | |
| } | |
| .menu-list-right { | |
| left: auto; | |
| right: 0; | |
| } | |
| .menu-item { | |
| display: flex; | |
| align-items: center; | |
| gap: 9px; | |
| width: 100%; | |
| padding: 8px 10px; | |
| border: 0; | |
| border-radius: 6px; | |
| background: transparent; | |
| color: var(--ink); | |
| font: inherit; | |
| text-align: left; | |
| cursor: pointer; | |
| transition: background 0.15s ease; | |
| } | |
| .menu-item:hover:not(:disabled), | |
| .menu-item:focus-visible:not(:disabled) { | |
| background: rgba(73, 49, 22, 0.09); | |
| outline: none; | |
| } | |
| .menu-item:disabled { | |
| opacity: 0.42; | |
| cursor: default; | |
| } | |
| .menu-item .icon { | |
| flex: 0 0 auto; | |
| color: var(--ink-soft); | |
| } | |
| .menu-item .mi-text { | |
| display: flex; | |
| flex-direction: column; | |
| line-height: 1.25; | |
| } | |
| .menu-item .mi-text small { | |
| color: var(--ink-faint); | |
| font-size: 0.72em; | |
| } | |
| .menu-item-danger:hover:not(:disabled) { | |
| background: rgba(154, 43, 34, 0.1); | |
| color: var(--oxblood); | |
| } | |