/* Shared index art direction. Keep report layout and data semantics intact. */
/* Reserve the same scrollbar gutter on short and long routes so both bars
   and their icons keep the same horizontal positions when navigating. */
html[data-theme] { scrollbar-gutter:stable; }
html[data-theme] body[class] {
  --glass-page:#101111; --glass-text:#f4f4f2; --glass-muted:#aaaead;
  --glass-line:rgba(255,255,255,.14); --glass-panel:rgba(255,255,255,.065);
  --glass-solid:#1b1b1b; --glass-accent:#d6d8d4;
  --brand-signature:#999999; --brand-signature-rgb:174,176,174;
  --brand-signature-soft:rgba(174,176,174,.1); --brand-signature-dark-soft:rgba(174,176,174,.16);
  --bottom-nav-height:clamp(48px,14.3vw,63.5px); --bottom-nav-gap:max(24px,env(safe-area-inset-bottom));
  --bottom-nav-offset:calc(var(--bottom-nav-height) + var(--bottom-nav-gap));
  --site-header-height:60px;
  --channel-bg:var(--glass-page); --channel-ink:var(--glass-text); --channel-muted:var(--glass-muted);
  --channel-line:var(--glass-line); --channel-soft:var(--glass-panel); --channel-panel:var(--glass-solid);
  --channel-surface:var(--glass-panel); --channel-surface-soft:var(--glass-panel);
  --annual-bg:var(--glass-page); --annual-paper:var(--glass-solid); --annual-ink:var(--glass-text);
  --annual-muted:var(--glass-muted); --annual-line:var(--glass-line); --annual-soft:var(--glass-panel);
  --annual-brand:var(--glass-accent); --annual-brand-rgb:174,176,174;
  color:var(--glass-text); background:#080909;
}
html[data-theme="light"] body[class] {
  --glass-page:#f3f1ed; --glass-text:#252628; --glass-muted:#646663;
  --glass-line:#23262920; --glass-panel:rgba(255,255,255,.65); --glass-solid:#faf9f6; --glass-accent:#555854;
  background:#e5e3df;
}
html[data-theme] :is(.app-shell,.analysis-page-background,.channels-page-main,.annual-page-main,.analysis-view) {
  background:var(--glass-page); color:var(--glass-text);
}
/* Viewport over the actual supplied logo2.png, not a reconstructed infinity.
   Source crop: x478 y115 w300 h194 on the untouched 1254x1254 reference. */
html[data-theme] .brand-mark.brand-reference {
  position:relative; display:block; flex:none; width:56px; height:auto; aspect-ratio:300 / 194;
  overflow:hidden; background:var(--glass-page); isolation:isolate;
}
html[data-theme] .brand-reference::before { content:none; }
html[data-theme] .brand-reference .brand-symbol {
  position:absolute; display:block; left:-159.333333%; top:-59.278351%;
  width:418%; max-width:none; height:auto; opacity:1; object-fit:initial;
  filter:invert(1) grayscale(1); mix-blend-mode:screen; pointer-events:none;
}
html[data-theme="light"] .brand-reference .brand-symbol { filter:grayscale(1); mix-blend-mode:multiply; }
html[data-theme] .brand-wordmark { color:var(--glass-text); font-size:24px; font-weight:700; letter-spacing:-.065em; }
html[data-theme] .home-footer .brand-reference { width:43px; }
html[data-theme] .home-footer .brand-wordmark { font-size:19px; }
html[data-theme] .side-menu .brand-reference { background:var(--glass-solid); }
html[data-theme] .top-header {
  position:fixed; top:0; left:50%; transform:translateX(-50%); z-index:120;
  width:100%; max-width:var(--app-width);
  height:var(--site-header-height); padding:8px 20px; border:0; box-sizing:border-box;
  display:flex; align-items:center; justify-content:space-between;
  background:color-mix(in srgb,var(--glass-page) 60%,transparent);
  backdrop-filter:blur(22px); -webkit-backdrop-filter:blur(22px);
}
html[data-theme] .top-header .logo { gap:8px; min-width:0; }
html[data-theme] .top-header .brand-reference { width:42px; }
/* Source paper luminance becomes alpha, without an opaque plate or blending. */
html[data-theme] .top-header .brand-reference { background:transparent; }
html[data-theme] .top-header .header-brand-symbol { display:block; width:100%; height:100%; filter:invert(1); }
html[data-theme="light"] .top-header .header-brand-symbol { filter:none; }
html[data-theme] .top-header .brand-wordmark { font-size:20px; line-height:1.2; white-space:nowrap; }
html[data-theme] .top-header .header-actions { display:flex; align-items:center; gap:4px; flex:none; }
html[data-theme] .top-header .theme-toggle { display:flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; flex:none; }
html[data-theme] .top-header .theme-icon { width:22px; height:22px; }
html[data-theme] body:not(.home-page-body) main { padding-top:calc(var(--site-header-height) + 20px); padding-bottom:calc(var(--bottom-nav-offset) + 36px); }
html[data-theme] .top-header :is(.theme-toggle,.icon-button) { color:var(--glass-text); border:0; background:transparent; box-shadow:none; }
html[data-theme] .icon-button span { background:var(--glass-text); }
html[data-theme] .header-account {
  display:inline-flex; align-items:center; justify-content:center; flex:none;
  width:44px; height:44px; padding:0; border:0; border-radius:0;
  color:var(--glass-text); background:transparent; cursor:pointer;
}
html[data-theme] .header-account svg { width:22px; height:22px; stroke:currentColor; stroke-width:1.5; }
html[data-theme] .header-account:focus-visible { outline:2px solid var(--glass-accent); outline-offset:2px; }
/* GLOBAL CONTRACT: every page uses this navigation, never a route-specific skin. */
html[data-theme] .bottom-nav {
  position:fixed; left:50%; transform:translateX(-50%); z-index:120; box-sizing:border-box;
  display:grid; grid-template-columns:repeat(5,minmax(0,1fr));
  width:84vw; max-width:calc(var(--app-width) * .84); height:var(--bottom-nav-height);
  bottom:var(--bottom-nav-gap); padding:0 10px;
  border:1px solid #ffffff35; border-radius:16px; overflow:visible;
  background:linear-gradient(115deg,#8d70604f,#65656547 50%,#b9a58a56);
  backdrop-filter:blur(26px) saturate(140%); -webkit-backdrop-filter:blur(26px) saturate(140%);
  box-shadow:inset 0 1px 1px #ffffff45,inset 0 -1px 2px #ffffff18,0 12px 32px #0005;
}
html[data-theme] .bottom-nav :is(a,button) {
  display:flex; align-items:center; justify-content:center; flex-direction:column;
  min-width:0; min-height:44px; padding:0; gap:0; border:0; border-radius:13px;
  color:#f6f5f0; background:transparent;
}
html[data-theme] .bottom-nav b { display:none; }
html[data-theme] .bottom-nav .nav-icon,html[data-theme] .bottom-nav .nav-icon svg { width:25px; height:25px; color:inherit; }
html[data-theme] .bottom-nav .nav-icon svg { stroke-width:1.5; }
html[data-theme] .bottom-nav .active { color:#fff; background:#ffffff12; }
html[data-theme] .bottom-nav .active .nav-icon { color:inherit; }
/* Account status belongs in the shared header, never a home-only logo dot. */
html[data-theme] .bottom-nav .saju-login-trigger .nav-icon::after { content:none; }
/* Keep the exact supplied brush/mobius silhouette. SVG only removes its paper background. */
html[data-theme] .bottom-nav .home-nav-orbit,
html[data-theme] .bottom-nav .home-nav-orbit svg { width:35px; height:25px; }
html[data-theme] .bottom-nav .home-nav-orbit svg { overflow:hidden; stroke:none; }
html[data-theme] .bottom-nav .home-nav-orbit { position:relative; isolation:isolate; filter:drop-shadow(0 0 2px #fff5); }
html[data-theme] .bottom-nav .home-nav-orbit::before { content:''; position:absolute; z-index:-1; inset:-13px -10px; pointer-events:none; background:radial-gradient(ellipse at 28% 25%,#ff83b58c,transparent 62%),radial-gradient(ellipse at 52% 52%,#baa1ed66,transparent 65%),radial-gradient(ellipse at 75% 85%,#8ed9f080,transparent 62%); filter:blur(8px); }
html[data-theme] .bottom-nav .home-nav-account { border:0; border-radius:0; background:transparent; }
html[data-theme="light"] .bottom-nav { background:linear-gradient(115deg,#7b6a5ac4,#5a5552c4,#8a7d6ec4); }
html[data-theme] .bottom-nav :is(a,button):focus-visible { outline:2px solid #e1e1e1; outline-offset:3px; }
@media (hover:hover) {
  html[data-theme] .bottom-nav :is(a,button):hover { background:#ffffff12; }
}

/* Readable glass panels, rather than putting long reports over imagery. */
html[data-theme] :is(.analysis-card,.analysis-category,.analysis-page-state,.annual-page-state,.annual-category,.annual-guide-card,.annual-top-impact-list,.annual-transition,.s60-section,.s60-type-card,.channel-entry-card,.channel-scope-card,.public-channel-row,.channel-row) {
  border:1px solid var(--glass-line); border-radius:22px;
  background:linear-gradient(135deg,var(--glass-panel),transparent 130%),var(--glass-page);
  box-shadow:inset 0 1px 1px #ffffff0e,0 8px 22px #0000000a; color:var(--glass-text);
}
html[data-theme] :is(.analysis-hero,.annual-hero,.s60-hero,.s60-empty) {
  border:1px solid var(--glass-line); border-radius:26px;
  background:radial-gradient(ellipse at 90% 0%,#6a6a6a33,transparent 68%),linear-gradient(135deg,#252728,#141515);
  color:#f4f4f2;
}
html[data-theme] .analysis-hero h2 { color:#f4f4f2; }
html[data-theme] .analysis-hero :is(p,small) { color:#d4d5d2; }
html[data-theme] .analysis-view { top:var(--site-header-height); }
html[data-theme] .analysis-scroll { overflow-x:hidden; }
html[data-theme] .annual-toolbar { top:var(--site-header-height); background:var(--glass-solid); border-color:var(--glass-line); }
html[data-theme] .annual-page-state a { background:var(--glass-accent); color:var(--glass-page); }
html[data-theme] :is(.analysis-header,.analysis-tabs) {
  color:var(--glass-text); background:color-mix(in srgb,var(--glass-page) 88%,transparent);
  border-color:var(--glass-line); backdrop-filter:blur(20px);
}
html[data-theme] .analysis-header :is(b,button),html[data-theme] .analysis-tabs button.active { color:var(--glass-text); }
html[data-theme] .analysis-tabs button { color:var(--glass-muted); }
html[data-theme] .analysis-tabs button::after { background:var(--glass-accent); }
html[data-theme] :is(.side-menu,.birth-sheet,.saju-hub-sheet,.login-sheet,.archive-sheet,.result-sheet,.channel-create-dialog,.delete-confirm-dialog) {
  color:var(--glass-text); background:var(--glass-solid); border-color:var(--glass-line);
}
html[data-theme] :is(.saju-hub-option,.saved-saju-card,.login-box,.channel-search,.s60-search,.channel-state-note,.s60-trait-grid article,.s60-code-part) {
  color:var(--glass-text); border-color:var(--glass-line); background:var(--glass-panel); border-radius:16px;
}
html[data-theme] :is(.channel-filters,.s60-filters) button { border-color:var(--glass-line); background:var(--glass-panel); color:var(--glass-muted); }
html[data-theme] :is(.channel-filters button[aria-pressed="true"],.s60-filters button.active) { color:var(--glass-text); border-color:var(--glass-accent); background:var(--brand-signature-soft); }
html[data-theme] .channel-scope-switch { border-color:var(--glass-line); }
html[data-theme] .channel-row { margin-bottom:12px; padding:18px 14px; }
html[data-theme] .channel-directory-header { padding-top:12px; }
@media (max-width:360px) {
  html[data-theme] .brand-wordmark { font-size:22px; }
}

/* One glass interaction system: no orange/blue primary actions or right drawers. */
html[data-theme] :is(.submit-button,.result-confirm,.archive-selection-continue,.s60-start,.s60-cta,.annual-purchase-button) {
  background:linear-gradient(135deg,#dedede,#adadad); color:#1c1c1c; border:1px solid #ffffff48; box-shadow:inset 0 1px #fff7,0 6px 20px #8181811a; border-radius:16px;
}
html[data-theme] :is(.birth-sheet,.archive-sheet,.saju-hub-sheet,.login-sheet,.result-sheet) {
  border:1px solid var(--glass-line); border-radius:28px 28px 0 0;
  background:linear-gradient(150deg,var(--glass-panel),transparent 55%),var(--glass-solid);
  box-shadow:0 -20px 80px #0005; padding-bottom:calc(var(--bottom-nav-offset) + 28px);
}
html[data-theme] :is(.birth-sheet,.login-sheet) :is(input,select),html[data-theme] .birth-sheet :is(.birth-moment-card,.moment-parts,.calendar-inline,.auto-time-bucket) {
  color:var(--glass-text); background:var(--glass-panel); border-color:var(--glass-line); box-shadow:none;
}
html[data-theme] .birth-sheet .moment-parts input { background:transparent; }
.profile-consent { display:flex !important; align-items:flex-start; gap:10px; margin:16px 0 8px; font-size:12px; line-height:1.6; }
.profile-consent input[type="checkbox"] { flex:none; width:18px; height:18px; margin:2px 0 0; accent-color:var(--glass-accent); }
.profile-consent-note { margin:0 0 14px; color:var(--glass-muted); font-size:11px; line-height:1.6; }
html[data-theme] :is(.sheet-head h2,.birth-sheet label,.birth-sheet legend,.saved-saju-card,.archive-empty b) { color:var(--glass-text); }
html[data-theme] :is(.sheet-head small,.birth-sheet label>span,.birth-sheet .moment-parts label>span,.archive-empty p) { color:var(--glass-muted); }
html[data-theme] .choice-row input:checked+span { color:var(--glass-text); border-color:var(--glass-accent); background:var(--brand-signature-soft); }
html[data-theme] :is(.saju-hub-symbol,.saju-hub-symbol-yearly,.saju-hub-symbol-code,.saju-hub-symbol-reading) { color:var(--glass-accent); background:var(--glass-panel); }
html[data-theme] .side-menu { display:none !important; }
.service-dialog { box-sizing:border-box; width:min(calc(100% - 20px),480px); max-height:88dvh; margin:auto auto max(10px,env(safe-area-inset-bottom)); padding:26px 22px; overflow:auto; border:1px solid var(--glass-line); border-radius:28px; color:var(--glass-text); background:linear-gradient(145deg,var(--glass-panel),transparent 60%),var(--glass-solid); box-shadow:inset 0 1px #ffffff26,0 -16px 80px #0006; }
.service-dialog::backdrop { background:#080808a6; backdrop-filter:blur(9px); }
.service-dialog-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:24px; }
.service-dialog-head h2 { margin:4px 0 0; font-size:23px; letter-spacing:-.05em; }
.service-dialog-head p { margin:0; color:var(--glass-muted); font-size:11px; letter-spacing:.04em; }
.service-dialog-close { position:relative; flex:none; width:44px; height:44px; padding:0; border:0; background:transparent; color:var(--glass-muted); cursor:pointer; }
.service-dialog-close::before,.service-dialog-close::after { content:''; position:absolute; width:18px; height:1.5px; top:calc(50% - .75px); left:calc(50% - 9px); border-radius:2px; background:currentColor; transform:rotate(45deg); }
.service-dialog-close::after { transform:rotate(-45deg); }
html.service-menu-open { overflow:hidden; }
.service-menu-dialog {
  width:min(calc(100% - 20px),424px); max-height:calc(100dvh - 32px - env(safe-area-inset-top));
  padding:25px 20px 20px; border:1px solid #ffffff30; border-radius:28px;
  background:radial-gradient(ellipse at 0 0,#99999929,transparent 48%),linear-gradient(140deg,#ffffff0c,transparent 60%),#151515ea;
  backdrop-filter:blur(30px) saturate(135%); -webkit-backdrop-filter:blur(30px) saturate(135%);
  box-shadow:inset 0 1px 1px #ffffff42,inset 0 -1px 1px #ffffff12,0 20px 80px #0008;
  overscroll-behavior:contain; scrollbar-width:thin;
}
.service-menu-dialog[open] { animation:service-menu-enter .22s ease-out; }
.service-menu-dialog::before { content:none; }
.service-menu-dialog .service-dialog-head { align-items:center; margin-bottom:18px; }
.service-menu-dialog .service-dialog-head p { color:var(--glass-accent); font-size:10px; letter-spacing:.18em; }
.service-menu-dialog .service-dialog-head h2 { font-size:22px; }
.service-menu-dialog .service-dialog-close { width:44px; height:44px; border-radius:0; }
.service-menu-quick { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.service-menu-quick a { display:flex; justify-content:center; align-items:center; min-height:42px; border:1px solid var(--glass-line); border-radius:12px; color:var(--glass-text); background:#ffffff06; text-decoration:none; font-size:12px; }
.service-menu-section { margin-top:22px; }
.service-menu-section h3 { margin:0 0 10px; font-size:13px; font-weight:500; color:var(--glass-muted); }
.service-menu-grid,.service-menu-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.service-menu-grid a,.service-menu-links a { display:flex; min-width:0; border:1px solid var(--glass-line); border-radius:16px; text-decoration:none; color:var(--glass-text); background:linear-gradient(140deg,#ffffff0c,#ffffff02); box-shadow:inset 0 1px #ffffff10; }
.service-menu-grid a { flex-direction:column; gap:12px; padding:13px; }
.service-menu-links a { align-items:center; gap:9px; padding:12px 10px; }
.service-menu-symbol { display:flex; flex:none; align-items:center; justify-content:center; width:30px; height:30px; color:var(--glass-accent); }
.service-menu-symbol svg { width:23px; height:23px; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.service-menu-copy { min-width:0; }
.service-menu-copy strong { display:block; font-size:13px; font-weight:600; letter-spacing:-.04em; word-break:keep-all; overflow-wrap:anywhere; }
.service-menu-copy small { display:block; margin-top:5px; color:var(--glass-muted); font-size:10px; line-height:1.5; word-break:keep-all; overflow-wrap:anywhere; }
.service-menu-support { display:flex; flex-wrap:wrap; justify-content:center; gap:12px 20px; padding-top:18px; border-top:1px solid var(--glass-line); margin-top:22px; font-size:11px; }
.service-menu-support a { display:flex; align-items:center; min-height:36px; text-decoration:none; }
html[data-theme="light"] .service-menu-dialog { border-color:#ffffffc9; background:radial-gradient(ellipse at 0 0,#99999925,transparent 48%),#f5f2eef2; box-shadow:inset 0 1px #fff,0 20px 80px #27272733; }
html[data-theme="light"] .service-sheet-handle::before { background:#27272740; }
html[data-theme="light"] :is(.service-menu-grid,.service-menu-links) a { background:linear-gradient(140deg,#ffffffb0,#ffffff40); }
@media(hover:hover) { .service-menu-dialog a:hover { border-color:var(--glass-accent); background-color:#99999912; } }
@keyframes service-menu-enter { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:translateY(0); } }
@media(prefers-reduced-motion:reduce) { .service-menu-dialog[open] { animation:none; } }
.service-menu-support a,.service-demo-link { color:var(--glass-muted); }
/* Menu and archive use the same glass bottom-sheet language. Drag starts only on the handle. */
html[data-theme] .service-sheet-handle { display:block; position:sticky; top:0; z-index:2; width:80px; height:28px; margin:-16px auto 8px; padding:0; border:0; border-radius:0; background:transparent; touch-action:none; cursor:grab; }
.service-sheet-handle::before { content:''; display:block; width:32px; height:3px; margin:auto; border-radius:4px; background:#ffffff55; }
.service-sheet-handle:active { cursor:grabbing; }
:is(.service-menu-dialog,.archive-sheet) { translate:0 var(--sheet-drag-y,0px); transition:translate .18s ease-out; }
:is(.service-menu-dialog,.archive-sheet).is-sheet-dragging { transition:none; user-select:none; }
html[data-theme] .archive-sheet { width:min(calc(100% - 20px),424px); max-width:424px; max-height:calc(100dvh - 32px - env(safe-area-inset-top)); height:auto; bottom:max(10px,env(safe-area-inset-bottom)); z-index:150; padding:25px 20px 20px; border:1px solid #ffffff30; border-radius:28px; background:radial-gradient(ellipse at 0 0,#99999929,transparent 48%),linear-gradient(140deg,#ffffff0c,transparent 60%),#151515ea; backdrop-filter:blur(30px) saturate(135%); -webkit-backdrop-filter:blur(30px) saturate(135%); box-shadow:inset 0 1px 1px #ffffff42,0 20px 80px #0008; overscroll-behavior:contain; scrollbar-width:thin; }
html[data-theme="light"] .archive-sheet { border-color:#ffffffc9; background:radial-gradient(ellipse at 0 0,#99999925,transparent 48%),#f5f2eef2; box-shadow:inset 0 1px #fff,0 20px 80px #27272733; }
html[data-theme] .archive-sheet .sheet-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:0; margin:0 0 18px; background:transparent; border:0; }
html[data-theme] .archive-sheet .sheet-head small { color:var(--glass-accent); font-size:10px; letter-spacing:.18em; }
html[data-theme] .archive-sheet .sheet-head h2 { margin:4px 0 0; font-size:22px; line-height:1.3; letter-spacing:-.05em; }
html[data-theme] .archive-sheet :is(.archive-content,.archive-empty) { padding:0; margin:0; }
html[data-theme] .archive-sheet .archive-list { display:grid; gap:12px; margin:0; }
html[data-theme] .archive-sheet .saved-saju-card { display:grid; grid-template-columns:minmax(0,1fr) 44px 44px; grid-template-areas:'profile edit delete' 'readings readings readings' 'years years years' 'primary-action primary-action primary-action'; gap:10px 4px; padding:14px; border:1px solid var(--glass-line); border-radius:18px; background:linear-gradient(140deg,var(--glass-panel),transparent); box-shadow:inset 0 1px #ffffff10; overflow:hidden; }
html[data-theme] .archive-sheet .saved-saju-card:is(.is-primary-chart,.is-selected) { border-color:var(--glass-accent); box-shadow:inset 0 0 0 1px #99999925; }
html[data-theme] .archive-sheet .archive-select { min-width:0; width:100%; padding:0; min-height:44px; background:transparent; color:var(--glass-text); border:0; border-radius:0; }
html[data-theme] .archive-sheet .saved-summary strong { color:var(--glass-text); font-size:16px; font-weight:600; }
html[data-theme] .archive-sheet .saved-summary small { color:var(--glass-muted); font-size:11px; line-height:1.6; white-space:normal; }
html[data-theme] .archive-sheet :is(.chart-edit,.chart-delete) { width:44px; min-height:44px; margin:0; padding:0; border:0; border-radius:10px; color:var(--glass-muted); background:transparent; font-size:11px; }
html[data-theme] .archive-sheet .primary-chart-indicator { display:none; }
html[data-theme] .archive-sheet .primary-chart-toggle { min-height:40px; padding:8px; border:1px solid var(--glass-line); border-radius:12px; background:var(--glass-panel); color:var(--glass-muted); font-size:12px; font-weight:500; }
html[data-theme] .archive-sheet .primary-chart-toggle-mark { display:none; }
html[data-theme] .archive-sheet .is-primary-chart .primary-chart-toggle { color:var(--glass-accent); border-color:var(--glass-accent); background:#99999914; }
html[data-theme] .archive-sheet .saved-reading-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; padding:0; border:0; background:transparent; }
html[data-theme] .archive-sheet .reading-entitlement { min-height:44px; padding:8px; border:1px solid var(--glass-line); border-radius:12px; background:var(--glass-panel); color:var(--glass-text); font-size:11px; box-shadow:none; }
html[data-theme] .archive-sheet .entitlement-mark { color:var(--glass-accent); background:transparent; }
html[data-theme] .archive-sheet .saved-year-picker { margin:0; padding:12px; border:1px solid var(--glass-line); border-radius:12px; background:var(--glass-panel); color:var(--glass-muted); }
html[data-theme] .archive-sheet .saved-year-options button { min-height:40px; border-color:var(--glass-line); background:transparent; color:var(--glass-text); border-radius:10px; }
html[data-theme] .archive-sheet :is(button.archive-add,.archive-create) { width:100%; min-height:46px; margin-top:14px; padding:12px; border:1px solid var(--glass-line); border-radius:14px; background:var(--glass-panel); color:var(--glass-text); font-size:13px; box-shadow:none; }
html[data-theme] .archive-sheet .archive-selection-footer { position:sticky; bottom:-20px; padding:12px 0 0; margin-top:14px; border:0; background:var(--glass-solid); }
html[data-theme] .archive-sheet[data-entry-purpose="selection"] .saved-saju-card { grid-template-columns:1fr; grid-template-areas:'profile'; }
html[data-theme] .archive-sheet[data-entry-purpose="selection"] { display:block; overflow-y:auto; }
html[data-theme] .archive-sheet[data-entry-purpose="selection"] :is(.archive-content,.archive-empty) { overflow:visible; }
html[data-theme] .archive-sheet[data-entry-purpose="selection"] :is(.chart-edit,.chart-delete,.saved-reading-actions,.saved-year-picker,.primary-chart-toggle) { display:none; }
html[data-theme] .archive-sheet [hidden] { display:none; }
html[data-theme] .archive-sheet[data-entry-purpose="selection"] .archive-select { grid-template-columns:minmax(0,1fr) 28px; }
html[data-theme] .archive-sheet :is(button,a):focus-visible { outline:2px solid var(--glass-accent); outline-offset:2px; }
@media(prefers-reduced-motion:reduce) { :is(.service-menu-dialog,.archive-sheet) { transition:none; } }
.service-auth-form label { display:grid; gap:8px; font-size:12px; color:var(--glass-muted); margin:16px 0; }
.service-auth-form input { min-height:48px; padding:0 14px; width:100%; box-sizing:border-box; border:1px solid var(--glass-line); border-radius:12px; background:var(--glass-panel); color:var(--glass-text); font:inherit; font-size:16px; }
.service-auth-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.service-kakao-login { display:grid; place-items:center; width:100%; min-height:48px; padding:0; overflow:hidden; border:0; border-radius:8px; background:#fee500; cursor:pointer; }
.service-kakao-login img { display:block; width:min(100%,360px); height:auto; object-fit:contain; }
.service-kakao-login:disabled { cursor:not-allowed; }
.service-kakao-help { margin:8px 0 0; }
.service-auth-existing { margin:18px 0; font-size:12px; line-height:1.75; color:var(--glass-muted); overflow-wrap:anywhere; }
.service-auth-divider { display:flex; align-items:center; gap:12px; margin:22px 0 8px; color:var(--glass-muted); font-size:11px; }
.service-auth-divider::before,.service-auth-divider::after { content:""; height:1px; flex:1; background:var(--glass-line); }
.service-auth-notice { margin:0 0 18px; padding:12px 14px; border:1px solid var(--glass-line); border-radius:12px; background:var(--glass-panel); color:var(--glass-text); font-size:12px; line-height:1.7; overflow-wrap:anywhere; }
.service-account-dialog .service-status { overflow-wrap:anywhere; }
.service-primary,.service-secondary { width:100%; min-height:48px; padding:12px 16px; border-radius:14px; font:inherit; font-size:14px; font-weight:600; cursor:pointer; }
.service-primary { background:linear-gradient(135deg,#dedede,#adadad); color:#1c1c1c; border:1px solid #ffffff48; }
.service-secondary { background:var(--glass-panel); color:var(--glass-text); border:1px solid var(--glass-line); }
.service-primary:disabled,.service-secondary:disabled { opacity:.5; cursor:not-allowed; }
.service-status { color:var(--glass-muted); line-height:1.7; font-size:13px; }
.service-fine { font-size:11px; line-height:1.8; color:var(--glass-muted); margin-top:18px; }
.service-product-price { display:block; font-size:36px; letter-spacing:-.04em; margin:12px 0; }
.service-account-links { display:grid; gap:12px; margin:22px 0; }
.service-account-links a { color:var(--glass-text); padding:16px; border:1px solid var(--glass-line); border-radius:14px; text-decoration:none; }
.service-demo-link { display:block; margin-top:16px; font-size:12px; }
.service-dialog :is(input,button,a):focus-visible { outline:2px solid var(--glass-accent); outline-offset:3px; }
.home-matching { padding:24px 0 12px; }
.home-matching-card { margin-inline:5%; }
.home-matching-card { position:relative; display:block; overflow:hidden; padding:26px 22px; min-height:195px; border:1px solid var(--glass-line); border-radius:25px; background:radial-gradient(ellipse at 100% 0%,#81818128,transparent 70%),linear-gradient(145deg,var(--glass-panel),transparent); box-shadow:inset 0 1px #ffffff18; color:var(--glass-text); text-decoration:none; }
.home-matching-card small { font-size:10px; color:var(--glass-accent); letter-spacing:.08em; }
.home-matching-card h3 { position:relative; margin:15px 0 10px; font-size:26px; line-height:1.35; letter-spacing:-.055em; font-weight:600; }
.home-matching-card p { max-width:210px; font-size:12px; line-height:1.7; color:var(--glass-muted); }
.home-matching-card .matching-entry { display:flex; align-items:center; justify-content:space-between; margin-top:22px; padding-top:15px; border-top:1px solid var(--glass-line); font-size:12px; }
.home-match-codes { position:absolute; right:20px; top:38px; display:flex; transform:rotate(10deg); pointer-events:none; }
.home-match-codes span { width:50px; height:68px; display:grid; place-items:center; border:1px solid #ffffff40; background:linear-gradient(140deg,#ffffff1c,#91919115); border-radius:15px; backdrop-filter:blur(12px); color:var(--glass-text); font-size:17px; }
.home-match-codes span+span { margin:21px 0 0 -12px; transform:rotate(-22deg); }
@media(prefers-reduced-motion:reduce) { .service-dialog { scroll-behavior:auto; } }
