@import"https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@300;400;600&display=swap";:root{--color-primary: #4f46e5;--color-primary-hover: #4338ca;--color-secondary: #64748b;--color-background: #ffffff;--color-surface: #f8fafc;--color-text: #1e293b;--color-text-muted: #64748b;--color-border: #e2e8f0;--color-error: #ef4444;--color-success: #22c55e;--font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-fancy: "Cinzel", serif;--font-family-body: "Alegreya", serif;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1)}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text);background-color:var(--color-background)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);font-weight:500;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color .15s ease;text-decoration:none}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-primary-hover)}.btn-secondary{background-color:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background-color:var(--color-border)}.input{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-background)}.input:focus{outline:2px solid var(--color-primary);outline-offset:-1px;border-color:var(--color-primary)}.card{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm)}@keyframes creature-card-enter{0%{opacity:0;transform:scale(.92) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes creature-card-enter-bounce{0%{opacity:0;transform:scale(.3) translateY(40px)}50%{opacity:1;transform:scale(1.08) translateY(-8px)}70%{transform:scale(.96) translateY(3px)}85%{transform:scale(1.02) translateY(-1px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes creature-reveal-glow{0%{box-shadow:inset 0 0 0 1px #facc1580,0 0 16px 2px #facc1540}to{box-shadow:inset 0 0 0 1px transparent,0 0 0 0 transparent}}@keyframes creature-tab-glow{0%,30%{box-shadow:0 0 10px 2px #facc1580;border-color:#facc15b3}to{box-shadow:none;border-color:#ffffff26}}@keyframes creature-poem-line-reveal{0%{background:#facc1526}to{background:transparent}}.creature-card{display:flex;flex-direction:column;align-self:center;width:100%;max-width:380px;background:#0c0a14;border:1px solid rgba(255,255,255,.08);border-radius:1rem;overflow:hidden;min-height:0;animation:creature-card-enter .5s cubic-bezier(.16,1,.3,1) both}.creature-card--entrance{animation:creature-card-enter-bounce .9s cubic-bezier(.22,1,.36,1) both}.creature-card-video-wrap{position:relative;aspect-ratio:1 / 1;overflow:hidden;background:#0a0a14;flex:0 1 auto;min-height:140px}.creature-card-video{display:block;width:100%;height:100%;object-fit:cover}.creature-card-video-overlay{position:absolute;inset:auto 0 0 0;padding:var(--spacing-lg) var(--spacing-md) var(--spacing-md);background:linear-gradient(to top,rgba(8,6,16,.92) 0%,rgba(8,6,16,.5) 60%,transparent 100%);display:flex;flex-direction:column;gap:var(--spacing-xs)}.creature-card-name{font-family:Josefin Sans,sans-serif;font-size:var(--font-size-2xl);font-weight:600;color:#ffffffeb;margin:0;line-height:1.1;letter-spacing:.02em}.creature-card-realm{display:inline-block;align-self:flex-start;font-family:Josefin Sans,sans-serif;font-size:.65rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;padding:3px 10px;border-radius:var(--radius-full);line-height:1.3}.creature-card-realm--aurora_skies{background:#a78bfa40;color:#c4b5fd}.creature-card-realm--cascadia_falls{background:#22d3ee33;color:#67e8f9}.creature-card-realm--ember_peaks{background:#f9731640;color:#fdba74}.creature-card-realm--frost_hollows{background:#93c5fd40;color:#bfdbfe}.creature-card-realm--twilight_veil{background:#818cf840;color:#a5b4fc}.creature-card-realm--verdant_wilds{background:#4ade8033;color:#86efac}.creature-card-realm--celestial_isles{background:#facc1533;color:#fde68a}.creature-card-tabs{display:flex;border-bottom:1px solid rgba(255,255,255,.06)}.creature-card-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:var(--spacing-sm) var(--spacing-xs);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;color:#fff6;transition:color .2s,border-color .2s,box-shadow .4s}.creature-card-tab:hover:not(.creature-card-tab--locked){color:#ffffffb3}.creature-card-tab--active{color:#ffffffe0;border-bottom-color:#ffffff80}.creature-card-tab--active.creature-card-tab--locked{border-bottom-color:#ffffff26}.creature-card-tab--locked{color:#fff3;cursor:pointer}.creature-card-tab--new{animation:creature-tab-glow 2s ease-out both}.creature-card-tab-label{font-family:Josefin Sans,sans-serif;font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;min-height:.75rem}.creature-card-content{padding:var(--spacing-md);flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y;border-radius:var(--radius-sm);transition:box-shadow .6s ease}.creature-card-content::-webkit-scrollbar{width:4px}.creature-card-content::-webkit-scrollbar-track{background:transparent}.creature-card-content::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.creature-card-content::-webkit-scrollbar-thumb:hover{background:#ffffff40}.creature-card-content{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.creature-card-content--new{animation:creature-reveal-glow 2.5s ease-out .3s both}.creature-card-body{display:flex;flex-direction:column;flex:0 1 260px;min-height:140px}.creature-card-fact-title{font-family:var(--font-family-body);font-size:var(--font-size-lg);font-weight:700;font-style:italic;color:#ffffffd9;margin:0 0 var(--spacing-xs) 0}.creature-card-fact-text{font-family:var(--font-family-body);font-size:var(--font-size-base);color:#ffffffb3;line-height:1.55;margin:0}.creature-card-empty-text{font-family:var(--font-family-body);font-size:var(--font-size-sm);font-style:italic;color:#fff9;margin:0;display:flex;align-items:center;justify-content:center;height:100%;text-align:center}.creature-card-locked-text{font-family:var(--font-family-body);font-size:var(--font-size-sm);font-style:italic;color:#fff9;margin:0;display:flex;align-items:center;justify-content:center;height:100%}.creature-card-poem{padding:var(--spacing-md);flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.creature-card-poem::-webkit-scrollbar{width:4px}.creature-card-poem::-webkit-scrollbar-track{background:transparent}.creature-card-poem::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.creature-card-poem::-webkit-scrollbar-thumb:hover{background:#ffffff40}.creature-card-poem-header{display:flex;align-items:center;gap:var(--spacing-xs);color:#fff6;font-family:Josefin Sans,sans-serif;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:var(--spacing-md)}.creature-card-poem-label{color:#fff6}.creature-card-poem-dash{color:#fff3}.creature-card-poem-title{color:#ffffff8c;font-style:italic;text-transform:none;letter-spacing:.02em}.creature-card-poem-lines{display:flex;flex-direction:column;gap:var(--spacing-sm)}.creature-card-poem-line{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:4px 6px;border-radius:var(--radius-sm)}.creature-card-poem-line--new{animation:creature-poem-line-reveal 2s ease-out .3s both}.creature-card-poem-mark{flex-shrink:0;width:3px;height:1.1em;margin-top:.25em;background:#facc1580;border-radius:2px}.creature-card-poem-text{font-family:var(--font-family-body);font-size:var(--font-size-base);font-style:italic;color:#fffc;line-height:1.5}.creature-card-poem-text--locked{font-style:normal;color:#fff3}.creature-card-poem-lock{flex-shrink:0;margin-top:.2em;color:#ffffff26}.creature-card-poem-line--locked{opacity:.6}.creature-card-speak{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-full);color:#ffffff8c;cursor:pointer;transition:color .15s,background .15s,border-color .15s}.creature-card-speak:hover{color:#ffffffe6;background:#ffffff1f;border-color:#fff3}.creature-card-speak--float{float:right;margin:0 0 var(--spacing-xs) var(--spacing-sm)}.creature-card-poem-header .creature-card-speak{margin-left:auto;width:24px;height:24px}.creature-card-hint{font-family:var(--font-family-body);font-size:var(--font-size-sm);color:#ffffff40;text-align:center;margin:var(--spacing-sm) var(--spacing-md) 0;font-style:italic}.confusable-card{background:#fff;border-radius:12px;padding:1.5rem;width:min(720px,calc(100vw - 2rem));max-height:85vh;box-sizing:border-box;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;box-shadow:0 2px 12px #00000014;container-type:inline-size;color:#1e293b}.confusable-card-hl{color:#a020c0;font-weight:inherit}.confusable-card-words{display:flex;flex-direction:column;gap:1rem}.confusable-card-word{display:flex;flex-direction:row;gap:1rem;align-items:flex-start}.confusable-card-text{flex:1;min-width:0}.confusable-card-title{font-size:2.5rem;font-weight:800;line-height:1;letter-spacing:-.02em;margin:0 0 .4rem;cursor:pointer;width:fit-content}.confusable-card-sentence{font-size:1.2rem;line-height:1.4;margin:0 0 .85rem;cursor:pointer;color:#111827}.confusable-card-speak-icon{display:inline;margin-left:.35em;color:#94a3b8;flex-shrink:0;transition:color .12s ease}.confusable-card-sentence .confusable-card-speak-icon{vertical-align:-.1em}.confusable-card-notes .confusable-card-speak-icon{vertical-align:-.25em}.confusable-card-sentence:hover .confusable-card-speak-icon,.confusable-card-notes:hover .confusable-card-speak-icon{color:#4f46e5}.confusable-card-sentence strong{font-weight:700}.confusable-card-notes{display:flex;align-items:flex-start;gap:.5rem;font-size:.875rem;line-height:1.45;color:#334155;margin:0;cursor:pointer}.confusable-card-note-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:#111827}.confusable-card-media{flex-shrink:0;width:40%;max-width:160px;aspect-ratio:1 / 1}.confusable-card-image{display:block;width:100%;height:100%;border-radius:12px;object-fit:cover;background:#f1f5f9}.confusable-card-more-row{display:flex;justify-content:center;margin-top:1.25rem}.confusable-card-more{background:#fff;border:1px solid #cbd5e1;border-radius:999px;padding:.5rem 1.1rem;color:#334155;font-family:inherit;font-size:.9rem;cursor:pointer;transition:background-color .12s ease,border-color .12s ease}.confusable-card-more strong{color:#111827;font-weight:700;margin-left:.15rem}.confusable-card-more:hover{background:#f8fafc;border-color:#94a3b8}.confusable-card-more:focus-visible{outline:2px solid #64748b;outline-offset:2px}@container (min-width: 560px){.confusable-card{padding:1.75rem}.confusable-card-words{flex-direction:row;gap:1.5rem}.confusable-card-word{flex:1 1 0;flex-direction:column;gap:.75rem;min-width:0}.confusable-card-media{width:100%;max-width:none;margin-top:auto}}@container (max-width: 559.98px){.confusable-card-word+.confusable-card-word{border-top:1px solid #e2e8f0;padding-top:1rem}}.confusable-card::-webkit-scrollbar{width:6px}.confusable-card::-webkit-scrollbar-track{background:transparent}.confusable-card::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.confusable-card::-webkit-scrollbar-thumb:hover{background:#94a3b8}.admin-layout{display:flex;flex-direction:column;min-height:100vh}.admin-header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--color-surface);border-bottom:1px solid var(--color-border)}.admin-brand{font-weight:600;font-size:var(--font-size-lg)}.admin-nav{flex:1;display:flex;gap:var(--spacing-sm)}.admin-nav-link{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);text-decoration:none;color:var(--color-text-muted);font-size:var(--font-size-sm)}.admin-nav-link.active,.admin-nav-link:hover{color:var(--color-primary);background-color:var(--color-background)}.admin-logout{font-size:var(--font-size-sm)}.admin-main{flex:1;padding:var(--spacing-lg);overflow:hidden}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh}.login-card{width:100%;max-width:360px;display:flex;flex-direction:column;gap:var(--spacing-md)}.login-card h1{font-size:var(--font-size-xl);text-align:center}.login-error{color:var(--color-error);font-size:var(--font-size-sm)}.logs-page{display:flex;flex-direction:column;height:100%}.logs-error{color:var(--color-error);font-size:var(--font-size-sm);margin-bottom:var(--spacing-sm)}.logs-columns{display:grid;grid-template-columns:180px 320px 1fr;gap:var(--spacing-md);height:calc(100vh - 120px)}.logs-column{display:flex;flex-direction:column;overflow:hidden}.logs-column h2{font-size:var(--font-size-sm);font-weight:600;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:var(--spacing-sm)}.logs-list{list-style:none;padding:0;margin:0;overflow-y:auto;flex:1}.logs-list-item{display:block;width:100%;text-align:left;padding:var(--spacing-xs) var(--spacing-sm);border:none;background:none;cursor:pointer;font-size:var(--font-size-sm);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;border-radius:var(--radius-sm);color:var(--color-text);word-break:break-all}.logs-list-item:hover{background-color:var(--color-surface)}.logs-list-item.active{background-color:var(--color-primary);color:#fff}.logs-empty{color:var(--color-text-muted);font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-sm)}.logs-viewer{min-width:0}.logs-content{flex:1;overflow:auto;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm);font-size:var(--font-size-sm);margin:0}.log-count{font-weight:400;color:var(--color-text-muted)}.log-refresh{margin-left:var(--spacing-sm);padding:0 var(--spacing-sm);border:none;background:none;cursor:pointer;font-size:.75rem;color:var(--color-primary);font-weight:400;text-transform:none}.log-refresh:hover{text-decoration:underline}.log-date-separator{font-size:.75rem;font-weight:600;color:var(--color-text-muted);padding:var(--spacing-sm) var(--spacing-sm) var(--spacing-xs);border-top:1px solid var(--color-border);margin-top:var(--spacing-xs)}.log-date-separator:first-child{border-top:none;margin-top:0}.log-row{border-radius:var(--radius-sm)}.log-row:hover,.log-row.expanded{background-color:var(--color-background)}.log-row-header{display:flex;align-items:baseline;gap:var(--spacing-sm);width:100%;text-align:left;padding:3px var(--spacing-sm);border:none;background:none;cursor:pointer;font-size:var(--font-size-sm);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:var(--color-text);line-height:1.4}.log-ts{color:var(--color-text-muted);flex-shrink:0;font-size:.75rem}.log-json-badge{font-size:.625rem;font-weight:600;text-transform:uppercase;color:var(--color-primary);background-color:color-mix(in srgb,var(--color-primary) 10%,transparent);padding:0 4px;border-radius:var(--radius-sm);flex-shrink:0}.log-preview{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.log-row-detail{padding:var(--spacing-xs) var(--spacing-sm) var(--spacing-sm) var(--spacing-sm);margin-left:var(--spacing-sm);border-left:2px solid var(--color-border)}.log-raw-message{margin:0;white-space:pre-wrap;word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:var(--font-size-sm)}.json-tree{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:var(--font-size-sm);line-height:1.5}.json-key{color:#881391}.json-str{color:#0b7c3e}.json-num,.json-bool{color:#1750eb}.json-null,.json-bracket{color:var(--color-text-muted)}.home-page{display:flex;flex-direction:column;gap:var(--spacing-lg)}.search-form{display:flex;gap:var(--spacing-sm)}.search-input{flex:1;max-width:480px;padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-md);background-color:var(--color-surface);color:var(--color-text)}.search-input:focus{outline:none;border-color:var(--color-primary)}.search-btn{padding:var(--spacing-sm) var(--spacing-lg)}.search-error{color:var(--color-error);font-size:var(--font-size-sm)}.search-results{display:flex;flex-direction:column;gap:var(--spacing-lg)}.search-section h2{font-size:var(--font-size-md);margin-bottom:var(--spacing-sm)}.search-empty{color:var(--color-text-muted);font-size:var(--font-size-sm)}.search-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.search-table th{text-align:left;padding:var(--spacing-xs) var(--spacing-sm);border-bottom:2px solid var(--color-border);color:var(--color-text-muted);font-weight:600;font-size:var(--font-size-xs);text-transform:uppercase}.search-table td{padding:var(--spacing-xs) var(--spacing-sm);border-bottom:1px solid var(--color-border)}.search-table tr:hover{background-color:var(--color-surface)}.search-table.clickable-rows tbody tr{cursor:pointer}.search-table.clickable-rows tbody tr:hover{background-color:color-mix(in srgb,var(--color-primary) 8%,transparent)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.85em}.role-badge{display:inline-block;padding:1px 6px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;background-color:var(--color-surface);color:var(--color-text-muted)}.role-badge.role-admin{color:#c53030;background-color:#fff5f5}.role-badge.role-teacher{color:#2b6cb0;background-color:#ebf8ff}.role-badge.role-parent{color:#2f855a;background-color:#f0fff4}.role-badge.role-student{color:#b7791f;background-color:ivory}.role-badge.role-guest{color:var(--color-text-muted);background-color:var(--color-surface)}.role-badge.role-deleted{color:#fff;background-color:#4a5568}.detail-link{color:var(--color-primary);text-decoration:none;font-weight:500}.detail-link:hover{text-decoration:underline}.profile-detail{display:flex;flex-direction:column;gap:var(--spacing-lg)}.back-link{color:var(--color-text-muted);text-decoration:none;font-size:var(--font-size-sm)}.back-link:hover{color:var(--color-primary)}.profile-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-lg)}.profile-card h2{font-size:var(--font-size-lg);margin-bottom:var(--spacing-md)}.profile-fields{display:grid;grid-template-columns:120px 1fr;gap:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm)}.profile-fields dt{color:var(--color-text-muted);font-weight:600}.profile-fields dd{margin:0}.muted{color:var(--color-text-muted);font-size:var(--font-size-sm)}.achievements-section{margin-bottom:var(--spacing-sm)}.achievements-toggle{background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);cursor:pointer;color:var(--color-text)}.achievements-toggle:hover{background-color:var(--color-surface)}.achievements-table{width:100%;border-collapse:collapse;margin-top:var(--spacing-sm);font-size:var(--font-size-sm)}.achievements-table th,.achievements-table td{text-align:left;padding:var(--spacing-xs) var(--spacing-sm);border-bottom:1px solid var(--color-border)}.achievements-table th{font-weight:600;color:var(--color-text-muted)}.testing-tools-section{margin-bottom:var(--spacing-md);padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface)}.testing-tools-toggle{background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);cursor:pointer;color:var(--color-text)}.testing-tools-toggle:hover{background-color:var(--color-surface)}.testing-tool{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.testing-tool-label{font-size:var(--font-size-sm)}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);cursor:pointer}.btn-sm:hover{background-color:var(--color-surface)}.btn-sm:disabled{opacity:.5;cursor:default}.testing-tool-result{font-size:var(--font-size-sm);color:var(--color-text-muted)}.testing-tool-error{font-size:var(--font-size-sm);color:var(--color-error, #e53e3e)}.profile-logs-section{display:flex;flex-direction:column;gap:var(--spacing-sm)}.profile-logs-section h3{font-size:var(--font-size-md);display:flex;align-items:center}.profile-logs-content{max-height:calc(100vh - 500px);white-space:pre-wrap;word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.lh-container{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm);max-height:calc(100vh - 460px);overflow-y:auto}.lh-count{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-bottom:var(--spacing-xs)}.lh-empty{color:var(--color-text-muted);font-size:var(--font-size-sm)}.lh-entry{border-radius:var(--radius-sm)}.lh-entry:hover,.lh-expanded{background-color:var(--color-background)}.lh-summary{display:flex;align-items:baseline;gap:var(--spacing-sm);width:100%;text-align:left;padding:3px var(--spacing-sm);border:none;background:none;cursor:pointer;font-size:var(--font-size-sm);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:var(--color-text);line-height:1.4}.lh-time{color:var(--color-text-muted);flex-shrink:0;font-size:.75rem}.lh-active-time{color:var(--color-text-muted);flex-shrink:0;font-size:.7rem;width:3.5ch;text-align:right}.lh-icon{flex-shrink:0;font-weight:700;width:1.2em;text-align:center}.lh-correct{color:#2f855a}.lh-incorrect{color:#c53030}.lh-info{color:var(--color-text-muted)}.lh-warning{color:#c05621}.lh-connections{margin-top:.4rem}.lh-connection-list{list-style:none;padding:0;margin:.25rem 0 0;font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:.92em;display:flex;flex-direction:column;gap:.15rem}.lh-connection-list .lh-conn-mark{font-weight:600}.lh-detail code{background:#0000000f;border:1px solid rgba(0,0,0,.1);border-radius:3px;padding:0 .25em;font-size:.92em;font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace)}.lh-input-col,.lh-output-col{display:flex;align-items:baseline;gap:var(--spacing-sm);overflow:hidden;min-width:0}.lh-input-col{width:40ch;flex-shrink:0}.lh-output-col{flex-shrink:1}.lh-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.lh-badge{flex-shrink:0;font-size:.625rem;font-weight:600;text-transform:uppercase;padding:0 5px;border-radius:var(--radius-sm)}.lh-badge-review{color:#2b6cb0;background-color:#ebf8ff}.lh-badge-probe{color:#b7791f;background-color:ivory}.lh-badge-reintro{color:#9b2c2c;background-color:#fff5f5}.lh-badge-placement{color:#2f855a;background-color:#f0fff4}.lh-badge-achievement{color:#805ad5;background-color:#faf5ff}.lh-badge-difficulty{color:#b7791f;background-color:ivory}.lh-arrow{flex-shrink:0;color:var(--color-text-muted);margin:0 var(--spacing-xs)}.lh-detail{padding:var(--spacing-xs) var(--spacing-sm) var(--spacing-sm);margin-left:var(--spacing-lg);border-left:2px solid var(--color-border);font-size:var(--font-size-sm)}.lh-detail-section{margin-top:var(--spacing-xs);padding-top:var(--spacing-xs);border-top:1px solid var(--color-border)}.lh-detail-group{margin-top:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-border);border-radius:4px;background-color:color-mix(in srgb,var(--color-text-muted) 3%,transparent)}.lh-detail-group-label{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:var(--spacing-xs)}.lh-detail-group .lh-detail-section:first-of-type{margin-top:0;padding-top:0;border-top:none}.lh-detail-label{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:2px}.lh-detail-fields{display:flex;flex-direction:column;gap:2px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:var(--font-size-sm)}.lh-detail-fields strong{color:var(--color-text-muted);font-weight:500}.lh-session-summary{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);border-top:2px solid var(--color-border);border-bottom:1px solid var(--color-border);background-color:color-mix(in srgb,var(--color-text-muted) 6%,transparent);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:var(--font-size-xs);color:var(--color-text-muted);flex-wrap:wrap}.lh-session-summary.lh-in-progress{border-top-color:var(--color-primary);background-color:color-mix(in srgb,var(--color-primary) 6%,transparent)}.lh-session-duration{font-weight:600;color:var(--color-text);display:flex;align-items:center;gap:var(--spacing-xs)}.lh-session-active{font-weight:400;color:var(--color-primary);font-style:italic}.lh-session-stat{padding:0 5px;border-radius:var(--radius-sm);background-color:color-mix(in srgb,var(--color-text-muted) 8%,transparent)}.lh-probe-detail{display:flex;flex-direction:column;gap:2px;margin-top:2px;padding-left:var(--spacing-sm)}.lh-ilog-table{border-collapse:collapse;margin-top:2px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:var(--font-size-sm)}.lh-ilog-table td{padding:0 var(--spacing-sm) 0 0;vertical-align:top;white-space:nowrap}.lh-ilog-t{color:var(--color-text-muted);text-align:right;min-width:5ch}.lh-ilog-label{font-weight:600;color:var(--color-text)}.lh-ilog-detail{color:var(--color-text);white-space:pre}.lh-ilog-tts .lh-ilog-label{color:#6b7280;font-weight:500}.lh-ilog-tts-interrupt .lh-ilog-label{color:#b45309;font-weight:500}.lh-ilog-submit .lh-ilog-label{color:var(--color-primary)}.creatures-page{background:#000;color:#ffffffd9;margin:calc(-1 * var(--spacing-lg));padding:var(--spacing-lg);min-height:calc(100vh - 52px)}.creatures-page h1{margin:0 0 var(--spacing-lg) 0;color:#ffffffe6}.creatures-realm-section{margin-bottom:var(--spacing-2xl)}.creatures-realm-heading{display:inline-block;font-size:var(--font-size-sm);font-weight:400;letter-spacing:.1em;text-transform:uppercase;margin:0 0 var(--spacing-xs) 0;padding:4px 14px;border-radius:var(--radius-full)}.creatures-realm-heading--aurora_skies{background:#a78bfa40;color:#c4b5fd}.creatures-realm-heading--cascadia_falls{background:#22d3ee33;color:#67e8f9}.creatures-realm-heading--celestial_isles{background:#facc1533;color:#fde68a}.creatures-realm-heading--ember_peaks{background:#f9731640;color:#fdba74}.creatures-realm-heading--frost_hollows{background:#93c5fd40;color:#bfdbfe}.creatures-realm-heading--twilight_veil{background:#818cf840;color:#a5b4fc}.creatures-realm-heading--verdant_wilds{background:#4ade8033;color:#86efac}.creatures-realm-desc{font-size:var(--font-size-sm);color:#fff6;margin:0 0 var(--spacing-md) 0}.creatures-rows{display:flex;flex-direction:column;gap:var(--spacing-sm)}.creatures-row{display:flex;gap:var(--spacing-sm);align-items:stretch}.creatures-name-card{width:120px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);padding:var(--spacing-xs)}.creatures-name-card-text{font-family:"Josefin Sans",var(--font-family);font-size:var(--font-size-sm);font-weight:600;color:#ffffffb3;text-align:center;letter-spacing:.02em}.creatures-thumb{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs);background:transparent;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);cursor:pointer;transition:border-color .15s,background .15s;width:120px;flex-shrink:0}.creatures-thumb:hover{border-color:#ffffff40;background:#ffffff0d}.creatures-thumb-img{width:100%;aspect-ratio:1 / 1;object-fit:cover;border-radius:var(--radius-sm);background:#111}.creatures-thumb-label{font-size:.7rem;text-align:center;line-height:1.3;color:#fff9}.creatures-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:100;padding:var(--spacing-md)}.creatures-modal{position:relative;display:flex;flex-direction:column;max-width:400px;width:100%;max-height:100%;min-height:0}.creatures-modal-close{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);background:#00000080;border:none;border-radius:var(--radius-full);width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;z-index:1}.creatures-modal-close:hover{background:#000000b3}.confusables-page{padding:var(--spacing-lg);max-width:520px}.confusables-page h1{margin:0 0 var(--spacing-xs) 0}.confusables-summary{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0 0 var(--spacing-md) 0}.confusables-list{display:flex;flex-direction:column;gap:2px}.confusables-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:.5rem .75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;text-align:left;font-size:var(--font-size-sm);transition:background .1s}.confusables-row:hover{background:#eef2ff}.confusables-row-words{font-weight:500;color:var(--color-text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.confusables-row-meta{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.confusables-badge{font-size:.6875rem;padding:1px 5px;border-radius:4px;background:#e0e7ff;color:#4338ca;font-weight:500}.confusables-row-count{font-size:.75rem;color:var(--color-text-muted);min-width:1.25rem;text-align:center}.confusables-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100}.confusables-modal{position:relative}.confusables-modal-close{position:absolute;top:-12px;right:-12px;background:#00000080;border:none;border-radius:var(--radius-full);width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;z-index:1}.confusables-modal-close:hover{background:#000000b3}.reports-page{max-width:960px;margin:0 auto;display:flex;flex-direction:column;gap:var(--spacing-md)}.reports-page h1{font-size:var(--font-size-xl);margin:0}.reports-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-md)}.reports-item{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.reports-item-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md)}.reports-item-meta{flex:1}.reports-item-name{font-size:var(--font-size-md);font-weight:600;margin:0 0 var(--spacing-xs) 0}.reports-item-desc{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0;line-height:1.4}.reports-elapsed{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:0}.reports-output{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-sm);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--font-size-xs);line-height:1.4;white-space:pre;overflow-x:auto;max-height:70vh;overflow-y:auto;margin:0}.reports-output-error{color:var(--color-error)}
