*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; } html { height: 100%; } body { font-family: var(--m3-font-plain); background: var(--m3-surface); color: var(--m3-on-surface); min-height: 100vh; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } /* ============================================================ LAYOUT ============================================================ */ .doc-page { max-width: 960px; margin: 0 auto; padding: 48px 32px 96px; } /* TOP BAR */ .doc-topbar { display: flex; align-items: center; gap: 12px; margin-bottom: 48px; } .doc-back { display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px 8px 12px; border-radius: var(--m3-radius-full, 9999px); background: transparent; color: var(--m3-on-surface-variant); border: 1px solid var(--m3-outline-variant); font-family: var(--m3-font-plain); font-size: 13px; font-weight: 500; text-decoration: none; transition: background 0.15s, color 0.15s, border-color 0.15s; } .doc-back:hover { background: var(--m3-surface-container); color: var(--m3-primary); border-color: var(--m3-primary); } .doc-back .material-icons-round { font-size: 18px; } /* HEADER */ .doc-header { margin-bottom: 56px; } .doc-eyebrow { font-family: var(--m3-font-plain); font-size: 11px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; color: var(--m3-primary); margin-bottom: 12px; } .doc-title { font-family: var(--m3-font-brand); font-size: 40px; font-weight: 700; letter-spacing: -0.02em; line-height: 1.15; color: var(--m3-on-surface); margin-bottom: 12px; } .doc-subtitle { font-family: var(--m3-font-plain); font-size: 15px; line-height: 1.6; color: var(--m3-on-surface-variant); max-width: 560px; } /* SECTION */ .doc-section { margin-bottom: 40px; } .doc-section-title { font-family: var(--m3-font-brand); font-size: 12px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--m3-on-surface-variant); padding-bottom: 12px; margin-bottom: 20px; border-bottom: 1px solid var(--m3-outline-variant); } /* ============================================================ CATEGORY LIST (index dokumen) ============================================================ */ .cat-list { display: flex; flex-direction: column; } .cat-item { display: flex; align-items: center; gap: 14px; padding: 16px 2px; border-bottom: 1px solid var(--m3-outline-variant); text-decoration: none; color: inherit; } .cat-item:last-child { border-bottom: none; } .cat-item > .material-icons-round { font-size: 22px; color: var(--m3-primary); flex-shrink: 0; } .cat-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; } .cat-name { display: block; font-family: var(--m3-font-brand); font-weight: 600; font-size: 16px; color: var(--m3-on-surface); transition: color 0.15s; } .cat-item:hover .cat-name { color: var(--m3-primary); } .cat-desc { display: block; font-family: var(--m3-font-plain); font-size: 13px; line-height: 1.5; color: var(--m3-on-surface-variant); } .cat-arrow { flex-shrink: 0; color: var(--m3-outline); transition: color 0.15s, transform 0.15s; } .cat-item:hover .cat-arrow { color: var(--m3-primary); transform: translateX(4px); } /* ============================================================ FOOTER ============================================================ */ .doc-footer { margin-top: 64px; padding-top: 24px; border-top: 1px solid var(--m3-outline-variant); font-family: var(--m3-font-plain); font-size: 12px; color: var(--m3-on-surface-variant); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; } .doc-footer a { color: var(--m3-primary); text-decoration: none; } .doc-footer a:hover { text-decoration: underline; } /* ============================================================ MOBILE ============================================================ */ @media (max-width: 640px) { .doc-page { padding: 32px 20px 64px; } .doc-title { font-size: 30px; } .doc-subtitle { font-size: 14px; } .doc-header { margin-bottom: 40px; } .cat-item { gap: 12px; padding: 14px 2px; } .cat-name { font-size: 15px; } .cat-desc { font-size: 12px; } .doc-footer { flex-direction: column; align-items: flex-start; } } @media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; } } .cat-list { display: flex; flex-direction: column; } .cat-item { display: flex; align-items: center; gap: 14px; padding: 16px 2px; border-bottom: 1px solid var(--m3-outline-variant); text-decoration: none; color: inherit; } .cat-item:last-child { border-bottom: none; } .cat-item > .material-icons-round { font-size: 22px; color: var(--m3-primary); flex-shrink: 0; } .cat-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; } .cat-name { display: block; font-family: var(--m3-font-brand); font-weight: 600; font-size: 16px; color: var(--m3-on-surface); transition: color 0.15s; } .cat-item:hover .cat-name { color: var(--m3-primary); } .cat-desc { display: block; font-size: 13px; line-height: 1.5; color: var(--m3-on-surface-variant); } .cat-arrow { flex-shrink: 0; color: var(--m3-outline); transition: color 0.15s, transform 0.15s; } .cat-item:hover .cat-arrow { color: var(--m3-primary); transform: translateX(4px); }