* { margin: 0; padding: 0; box-sizing: border-box; }
body {
    background: #f5f5f0;
    color: #333;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 16px;
    min-height: 100vh;
    display: flex;
    justify-content: center;
    padding: 50px 20px;
}
.container { width: 100%; max-width: 480px; }
h1 {
    color: #1a1a1a;
    font-size: 1.5em;
    font-weight: normal;
    font-style: italic;
}
h2 {
    color: #1a1a1a;
    font-size: 0.9em;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 14px;
}
.tagline {
    color: #999;
    margin-bottom: 28px;
    font-size: 0.8em;
}
.panel {
    background: #fff;
    border: 1px solid #ddd;
    padding: 18px 20px;
    margin-bottom: 14px;
}
input[type="text"],
input[type="password"] {
    width: 100%;
    background: #fff;
    border: 1px solid #ccc;
    color: #333;
    padding: 8px 10px;
    font-family: inherit;
    font-size: 0.9em;
    margin-bottom: 10px;
}
input:focus { outline: none; border-color: #666; }
input::placeholder { color: #bbb; }
button {
    background: #333;
    color: #fff;
    border: none;
    padding: 9px 20px;
    font-family: inherit;
    cursor: pointer;
    width: 100%;
    font-size: 0.85em;
    text-transform: uppercase;
    letter-spacing: 1px;
}
button:hover { background: #555; }
.error {
    color: #b00;
    margin-bottom: 12px;
    font-size: 0.85em;
}
.hint-text {
    color: #999;
    font-size: 0.78em;
    margin-top: 14px;
    font-style: italic;
}
.meta {
    color: #888;
    font-size: 0.82em;
    font-style: italic;
}
.note {
    background: #fafaf5;
    border-left: 2px solid #ccc;
    padding: 10px 14px;
    margin-bottom: 8px;
    font-size: 0.85em;
    color: #555;
}
pre {
    background: #fafaf5;
    border: 1px solid #e0e0d8;
    padding: 12px;
    font-size: 0.82em;
    font-family: 'Courier New', monospace;
    overflow-x: auto;
    color: #555;
}
.logout {
    color: #b00;
    text-decoration: none;
    font-size: 0.85em;
}
.logout:hover { text-decoration: underline; }
