﻿.admin-page{max-width:820px;margin:0 auto;padding:48px 24px}.admin-table{width:100%;border-collapse:collapse;margin-top:16px}.admin-table th,.admin-table td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--color-border);font-size:0.95em;vertical-align:middle}.admin-table th{color:var(--color-muted);font-size:0.75em;text-transform:uppercase;letter-spacing:0.04em;font-weight:700}.admin-table .actions{text-align:right;white-space:nowrap}.admin-table .actions a,.admin-table .actions .link-button{margin-left:12px}.admin-form-actions{margin-top:24px;display:flex;gap:12px}:root{--color-bg: #f6f7f9;--color-surface: #ffffff;--color-border: #e3e6ea;--color-text: #1f2933;--color-muted: #6b7280;--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-success: #15803d;--color-success-bg: #f0fdf4;--color-error: #b91c1c;--color-error-bg: #fef2f2;--radius: 10px;--ink: #14192b;--ink-deep: #0d1120;--ink-line: #262e48;--parchment: #ece4d3;--parchment-dim: #d9cfb8;--parchment-text: #241d13;--parchment-muted: #6b5f47;--fog: #97a0ba;--brass: #c9a15a;--brass-bright: #e0bd7e;--seal: #8a2f2f;--seal-bright: #a83d3d;--blot: #17110a;--font-display: "Fraunces", ui-serif, Georgia, serif;--font-body: "Inter", ui-sans-serif, system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", monospace}*{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}body{margin:0;min-height:100vh;display:flex;flex-direction:column;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;background:var(--color-bg);color:var(--color-text);line-height:1.5}main{flex:1 0 auto}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}.button_to{display:inline}.link-button{display:inline;background:none;border:none;padding:0;margin:0;font:inherit;color:var(--color-primary);text-decoration:none;cursor:pointer}.link-button:hover{text-decoration:underline}h1,h2{margin-top:0}.site-header{display:flex;align-items:center;justify-content:space-between;padding:18px clamp(20px, 5vw, 32px);border-bottom:1px solid var(--ink-line);background:var(--ink-deep)}.site-header .brand{font-family:var(--font-display);font-weight:600;font-size:1.05em;letter-spacing:0.01em;color:var(--parchment)}.site-header .brand:hover{text-decoration:none}.site-header nav{display:flex;align-items:center;gap:24px;font-family:var(--font-body)}.site-header nav a,.site-header nav .link-button{font-size:0.85em;font-weight:600;color:var(--fog);padding:6px 0;border-bottom:1px solid transparent}.site-header nav a:hover,.site-header nav .link-button:hover{color:var(--brass-bright);border-color:var(--brass-bright);text-decoration:none}.site-header nav .nav-divider{width:1px;height:16px;background:var(--ink-line)}.riddle-theme{--color-bg: var(--ink);--color-surface: var(--parchment);--color-border: var(--parchment-dim);--color-text: var(--fog);--color-muted: var(--fog);--color-primary: var(--brass);--color-primary-hover: var(--brass-bright);--radius: 3px;display:flex;justify-content:center;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body)}.riddle-theme a{color:var(--brass)}.riddle-theme a:hover{color:var(--brass-bright)}.riddle-theme .btn{color:var(--ink-deep)}.riddle-theme .btn:hover{color:var(--ink-deep)}.riddle-theme .card{--color-text: var(--parchment-text);--color-muted: var(--parchment-muted);--color-border: var(--parchment-dim);color:var(--color-text);box-shadow:0 30px 60px -24px rgba(0,0,0,0.45)}.page{max-width:560px;width:100%;margin:0 auto;padding:48px 24px;text-align:center}.page-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:20px;text-align:left}.page-header h1{margin:0}.page-footer{margin-top:20px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:32px;margin-bottom:20px;text-align:left}.eyebrow{display:block;font-size:0.75em;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--color-muted);margin-bottom:8px}.divider{border:none;border-top:1px solid var(--color-border);margin:24px 0}.field{margin-bottom:18px}.field label{display:block;font-size:0.85em;font-weight:600;color:var(--color-muted);margin-bottom:6px}.field input[type="text"],.field input[type="email"],.field input[type="password"],.field textarea{width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:6px;font-size:1em;font-family:inherit}.field textarea{resize:vertical;min-height:90px}.field input:focus,.field textarea:focus{outline:none;border-color:var(--color-primary)}.field-checkbox{display:flex;align-items:center;gap:8px}.field-checkbox label{margin-bottom:0}.field-hint{display:block;margin-top:4px;font-size:0.8em;color:var(--color-muted)}.btn-danger{background:var(--color-error)}.btn-danger:hover{background:#991b1b}.btn-secondary{background:transparent;color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-bg);color:var(--color-text)}.btn{display:inline-block;background:var(--color-primary);color:#fff;border:none;border-radius:6px;padding:10px 22px;font-size:1em;cursor:pointer;font-family:inherit}.btn:hover{background:var(--color-primary-hover);color:#fff;text-decoration:none}.stat{font-size:0.95em;color:var(--color-muted)}.callout{font-size:0.95em;font-style:italic;color:var(--color-primary)}.flash{max-width:560px;margin:16px auto 0;padding:12px 16px;border-radius:var(--radius);font-size:0.9em}.flash.notice{background:var(--color-success-bg);color:var(--color-success)}.flash.alert{background:var(--color-error-bg);color:var(--color-error)}#error_explanation{background:var(--color-error-bg);color:var(--color-error);border-radius:var(--radius);padding:12px 16px;margin-bottom:18px}#error_explanation h2{font-size:0.95em;margin:0 0 6px}#error_explanation ul{margin:0;padding-left:18px}.riddle-theme{position:relative;padding-top:clamp(32px, 6vw, 64px);overflow:hidden}.riddle-theme::before{content:"";position:absolute;top:-10%;left:50%;width:900px;height:900px;transform:translateX(-50%);background:radial-gradient(circle, rgba(201,161,90,0.16) 0%, rgba(201,161,90,0.05) 35%, transparent 70%);pointer-events:none}.riddle-card .eyebrow{color:var(--seal)}.riddle-text{font-family:var(--font-display);font-style:italic;font-weight:500;font-size:clamp(1.4rem, 3.2vw, 1.9rem);line-height:1.35;margin:0 0 28px;text-wrap:balance;quotes:"\201C" "\201D"}.riddle-text::before{content:open-quote;color:var(--brass)}.riddle-text::after{content:close-quote;color:var(--brass)}.answer-row{display:flex;gap:10px;align-items:flex-start}.guess_field{flex:1;margin-bottom:0}.guess_field input{text-align:left;font-family:var(--font-mono)}.hint-disclosure{margin-top:18px}.hint-disclosure summary{cursor:pointer;font-weight:600;font-size:0.85em;color:var(--parchment-muted);list-style:none}.hint-disclosure summary::-webkit-details-marker{display:none}.hint-disclosure summary::before{content:"▸";display:inline-block;margin-right:6px;color:var(--brass);font-size:0.75em;transition:transform 0.15s ease}.hint-disclosure[open] summary::before{transform:rotate(90deg)}.hint-disclosure summary:hover{color:var(--parchment-text)}.hint-body{margin:10px 0 0;padding:12px 14px;background:rgba(36,29,19,0.05);border-left:2px solid var(--brass);font-style:italic;color:var(--parchment-muted)}.ledger strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--brass-bright);font-weight:500}.result-card{position:relative;display:flex;align-items:center;gap:20px;min-height:92px;overflow:hidden}.result-message{flex:1;min-width:0;padding-right:110px}.result-text{font-family:var(--font-display);font-style:italic;font-size:1.3rem;margin:0}.result-sub{margin:6px 0 0}.seal-mark{position:absolute;right:22px;top:50%;width:58px;height:58px;border-radius:50%;border:2.5px solid var(--seal);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:600;font-size:0.62rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--seal);transform:translateY(-50%) scale(0) rotate(-18deg);opacity:0}.result-card.show-seal .seal-mark{animation:stamp-down 0.42s cubic-bezier(0.2, 1.4, 0.4, 1) forwards}.blot-mark{position:absolute;right:6px;top:50%;width:92px;height:66px;transform:translateY(-50%);pointer-events:none}.blot-piece{position:absolute;background:var(--blot);opacity:0}.blot-main{width:54px;height:44px;left:22px;top:8px;border-radius:74% 26% 42% 58% / 40% 66% 34% 60%;transform:scale(0) rotate(-8deg);transform-origin:40% 55%}.blot-a{width:32px;height:28px;left:2px;top:22px;border-radius:58% 42% 60% 40% / 48% 55% 45% 52%;transform:scale(0) rotate(10deg);transform-origin:90% 40%}.blot-b{width:10px;height:9px;left:80px;top:6px;border-radius:50% 50% 40% 60% / 55% 40% 60% 45%;transform:scale(0) rotate(-30deg);transform-origin:30% 60%}.blot-drip{width:6px;height:6px;left:56px;top:56px;border-radius:55% 45% 50% 50% / 50% 55% 45% 50%;transform:scale(0) rotate(0deg);transform-origin:50% 50%}.result-card.show-blot .blot-main{animation:blot-main-pop 0.42s cubic-bezier(0.22, 1.7, 0.36, 1) forwards}.result-card.show-blot .blot-a{animation:blot-a-pop 0.36s cubic-bezier(0.22, 1.7, 0.36, 1) 0.04s forwards}.result-card.show-blot .blot-b{animation:blot-b-pop 0.36s cubic-bezier(0.22, 1.7, 0.36, 1) 0.09s forwards}.result-card.show-blot .blot-drip{animation:blot-drip-fall 0.4s cubic-bezier(0.3, 1.4, 0.4, 1) 0.14s forwards}@keyframes stamp-down{0%{transform:translateY(-50%) scale(2.2) rotate(-18deg);opacity:0}55%{transform:translateY(-50%) scale(0.92) rotate(-18deg);opacity:1}75%{transform:translateY(-50%) scale(1.06) rotate(-18deg);opacity:1}100%{transform:translateY(-50%) scale(1) rotate(-18deg);opacity:1}}@keyframes blot-main-pop{0%{transform:scale(0) rotate(-8deg);opacity:0}60%{transform:scale(1.1) rotate(-8deg);opacity:1}100%{transform:scale(1) rotate(-8deg);opacity:1}}@keyframes blot-a-pop{0%{transform:scale(0) rotate(10deg);opacity:0}60%{transform:scale(1.15) rotate(10deg);opacity:1}100%{transform:scale(1) rotate(10deg);opacity:1}}@keyframes blot-b-pop{0%{transform:scale(0) rotate(-30deg);opacity:0}60%{transform:scale(1.25) rotate(-30deg);opacity:1}100%{transform:scale(1) rotate(-30deg);opacity:1}}@keyframes blot-drip-fall{0%{transform:scale(0) rotate(0deg);opacity:0}65%{transform:scale(1.3) rotate(0deg);opacity:1}100%{transform:scale(1) rotate(0deg);opacity:1}}@media (prefers-reduced-motion: reduce){.result-card.show-seal .seal-mark{animation:none;transform:translateY(-50%) scale(1) rotate(-18deg);opacity:1}.result-card.show-blot .blot-main,.result-card.show-blot .blot-a,.result-card.show-blot .blot-b,.result-card.show-blot .blot-drip{animation:none;opacity:1}.result-card.show-blot .blot-main{transform:scale(1) rotate(-8deg)}.result-card.show-blot .blot-a{transform:scale(1) rotate(10deg)}.result-card.show-blot .blot-b{transform:scale(1) rotate(-30deg)}.result-card.show-blot .blot-drip{transform:scale(1) rotate(0deg)}}@media (max-width: 480px){.answer-row{flex-direction:column}.result-card{flex-direction:column;align-items:flex-start}}@font-face{font-family:"Fraunces";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fraunces-600-e024981a80a6f6150d32f76842a466e84ef9b097154fd62a94fcaa6be21e981c.woff2) format("woff2")}@font-face{font-family:"Fraunces";font-style:italic;font-weight:500;font-display:swap;src:url(/assets/fraunces-500italic-60a17510cc1ae858857147bb5ee0ee777a0c5e242638fa69f0d00f5c3b4179f3.woff2) format("woff2")}@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/inter-400-36bd85b5b0f6ef27b8aba400163b86326dbb411f763fd74e0fd04bce8ad3da57.woff2) format("woff2")}@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/inter-600-a49c975d3174b0c19be75b71d1797edfa5c9e893eea873fc13371b3d82b611e6.woff2) format("woff2")}@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/plex-mono-400-e32060f62b41f9db66fd4b4a4cee74d09ed173f5e3ff10eb46f2455c285fd46b.woff2) format("woff2")}@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/plex-mono-500-7309f03a9e75224368d520077f161089b24332d871f37c5b6d030e863f581b0a.woff2) format("woff2")}.board-title{font-family:var(--font-display);font-style:italic;font-weight:500;font-size:1.2rem;margin:0 0 4px}.board-rows{margin-top:16px}.board-row{display:flex;align-items:baseline;gap:14px;padding:10px 0;border-top:1px solid var(--color-border)}.board-row:first-of-type{border-top:none}.board-rank{width:28px;flex-shrink:0;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:0.95em;color:var(--color-muted)}.board-row.first .board-rank{color:var(--seal);font-weight:500}.board-name{flex:1;font-size:0.95em}.board-row.first .board-name{font-weight:600}.board-tag{font-size:0.66em;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--seal)}.winner-row .winner-name{margin:0 0 4px}
