:root{--color-bg: #fff8f0;--color-surface: #ffffff;--color-ink: #2c2c2c;--color-muted: #777777;--color-border: #e8e0d4;--color-accent: #d4a017;--color-danger: #c0392b;--color-danger-bg: #fdf0f0;--color-danger-border: #f5c6c6;color-scheme:light dark;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme: dark){:root{--color-bg: #14120e;--color-surface: #211e17;--color-ink: #f3efe6;--color-muted: #8a8378;--color-border: #2c2820;--color-accent: #f5a623;--color-danger: #f87171;--color-danger-bg: #2a1a18;--color-danger-border: #47201d}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--color-bg);color:var(--color-ink)}.page{min-height:100%;display:flex;align-items:center;justify-content:center;padding:16px}.card{text-align:center;padding:48px 32px;max-width:420px;width:100%;background:var(--color-surface);border-radius:16px;border:1px solid var(--color-border);box-shadow:0 4px 24px #0000000f}.card .emoji{font-size:48px;margin-bottom:16px}.brand-logo{display:block;width:100%;max-width:200px;height:auto;margin:0 auto}.brand-heading{margin:0 0 20px}.card-logo{max-width:160px;margin-bottom:28px}.card h1{font-size:22px;margin:0 0 8px;color:var(--color-ink)}.card .subtitle{font-size:14px;color:var(--color-muted);margin:0 0 28px;line-height:1.5}.form-group{text-align:left;margin-bottom:16px}.form-group label{display:block;font-size:13px;font-weight:600;color:var(--color-ink);margin-bottom:6px}.form-group input[type=password]{width:100%;padding:11px 14px;border:1.5px solid var(--color-border);border-radius:8px;font-size:15px;outline:none;background:var(--color-bg);color:var(--color-ink);transition:border-color .15s}.form-group input[type=password]:focus{border-color:var(--color-accent)}.field-error{font-size:12px;color:var(--color-danger);margin-top:4px}.btn{display:inline-block;width:100%;padding:13px 32px;background:var(--color-accent);color:#fff;text-decoration:none;border-radius:8px;font-weight:600;font-size:15px;border:none;cursor:pointer;transition:opacity .15s}.btn:disabled{opacity:.6;cursor:not-allowed}.error-msg{background:var(--color-danger-bg);border:1px solid var(--color-danger-border);color:var(--color-danger);border-radius:8px;padding:10px 14px;font-size:13px;margin-bottom:16px;text-align:left}.spinner{display:inline-block;width:36px;height:36px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .7s linear infinite;margin-bottom:16px}@keyframes spin{to{transform:rotate(360deg)}}.fallback-note{font-size:12px;color:var(--color-muted);margin-top:14px;line-height:1.5}.fallback-note a{color:var(--color-muted);text-decoration:underline}.fallback-note a:hover{color:var(--color-accent)}.doc-page{align-items:flex-start;padding:32px 16px 64px}.doc{max-width:720px;width:100%;margin:0 auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;box-shadow:0 4px 24px #0000000f;padding:40px 40px 48px;color:var(--color-ink);line-height:1.65}.doc-header{margin-bottom:32px;padding-bottom:20px;border-bottom:1px solid var(--color-border)}.doc-brand{display:inline-block;margin-bottom:20px}.doc-brand .brand-logo{max-width:150px;margin:0}.doc h1{font-size:28px;margin:0 0 6px}.doc-updated{font-size:13px;color:var(--color-muted);margin:0}.doc h2{font-size:18px;margin:28px 0 10px}.doc h3{font-size:15px;margin:18px 0 6px}.doc p{font-size:14px;margin:0 0 12px}.doc ul{font-size:14px;margin:0 0 12px;padding-left:22px}.doc li{margin-bottom:6px}.doc a{color:var(--color-accent)}.doc-summary{background:var(--color-bg);border:1px solid var(--color-border);border-left:3px solid var(--color-accent);border-radius:8px;padding:16px 20px 4px;margin-bottom:28px}.doc-summary h2{margin-top:0;font-size:15px}.doc-toc ol{font-size:14px;margin:0 0 12px;padding-left:22px}.doc-toc li{margin-bottom:4px}.doc-table-wrap{overflow-x:auto;margin:0 0 16px;-webkit-overflow-scrolling:touch}.doc table{border-collapse:collapse;width:100%;min-width:460px;font-size:13px}.doc th,.doc td{border:1px solid var(--color-border);padding:8px 10px;text-align:left;vertical-align:top}.doc th{background:var(--color-bg);font-weight:600}@media (max-width: 520px){.doc{padding:24px 20px 32px}}
