:root {
    --tthc-theme-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    min-height: 100vh;
    font-family: var(--tthc-theme-font);
    background: #fff;
    color: #1f2937;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}
a { color: inherit; }
img { max-width: 100%; height: auto; }
.tthc-theme-main { min-height: 100vh; }
.tthc-theme-front-page .tthc-theme-main { min-height: 100vh; }
.tthc-theme-article-inner,
.tthc-theme-message {
    width: min(100% - 32px, 1080px);
    margin: 48px auto;
}
.tthc-theme-message {
    padding: 32px;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    background: #fff;
}
.tthc-skip-link {
    position: fixed;
    z-index: 999999;
    top: 8px;
    left: 8px;
    transform: translateY(-160%);
    padding: 10px 14px;
    border-radius: 8px;
    background: #111827;
    color: #fff;
    text-decoration: none;
}
.tthc-skip-link:focus { transform: translateY(0); }
body.admin-bar .tthc-portal-app { min-height: calc(100vh - 32px); }
@media (max-width: 782px) {
    body.admin-bar .tthc-portal-app { min-height: calc(100vh - 46px); }
}
