:root{--c-bg: #15100e;--c-bg-glow: #241812;--c-surface: #201813;--c-surface-2: #2b2019;--c-surface-3: #372920;--c-border: rgba(176, 141, 87, .18);--c-border-strong: rgba(176, 141, 87, .38);--c-bronze: #b08d57;--c-bronze-soft: #cbaa7c;--c-red: #c23b2c;--c-red-strong: #a52a1f;--c-red-glow: rgba(194, 59, 44, .35);--c-gold: #e6b44c;--c-gold-soft: #f2cd78;--c-gold-glow: rgba(230, 180, 76, .28);--c-pitch-red: #c23b2c;--c-pitch-yellow: #e6b44c;--c-pitch-blue: #4b7fd4;--c-pitch-purple: #a06bd8;--c-pitch-none: #8c7a65;--c-text: #f5ede1;--c-text-muted: #b8a58d;--c-text-dim: #8c7a65;--c-danger: #e0705f;--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Code", "Roboto Mono", Menlo, monospace;--fs-xs: .75rem;--fs-sm: .875rem;--fs-base: 1rem;--fs-lg: 1.125rem;--fs-xl: 1.375rem;--fs-2xl: clamp(1.6rem, 1.2rem + 2vw, 2.4rem);--lh-tight: 1.25;--lh-normal: 1.55;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.5rem;--sp-6: 2rem;--sp-7: 3rem;--r-sm: 8px;--r-md: 12px;--r-lg: 18px;--r-full: 999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 8px 24px -8px rgba(0, 0, 0, .6);--shadow-glow-red: 0 6px 20px -6px var(--c-red-glow);--ease: cubic-bezier(.22, 1, .36, 1);--dur-fast: .12s;--dur: .2s;--dur-slow: .32s;--content-max: 46rem;--header-h: 3.25rem}*,*:before,*:after{box-sizing:border-box}*{margin:0}html,body{height:100%}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-normal);color:var(--c-text);background-color:var(--c-bg);background-image:radial-gradient(120% 80% at 50% -10%,var(--c-bg-glow) 0%,transparent 60%),radial-gradient(90% 60% at 100% 110%,rgba(176,141,87,.07) 0%,transparent 55%);background-attachment:fixed;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#app{min-height:100dvh}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--c-gold);outline-offset:2px;border-radius:var(--r-sm)}.content{width:100%;max-width:var(--content-max);margin-inline:auto;padding-inline:clamp(var(--sp-4),5vw,var(--sp-6))}.wordmark{display:inline-flex;align-items:baseline;gap:var(--sp-2);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:var(--fs-sm);color:var(--c-text)}.wordmark__accent{color:var(--c-bronze);font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:2.75rem;padding:0 var(--sp-5);border:1px solid transparent;border-radius:var(--r-md);font-weight:600;font-size:var(--fs-base);line-height:1;transition:background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),box-shadow var(--dur) var(--ease)}.btn:active{transform:translateY(1px)}.btn:disabled{cursor:not-allowed;opacity:.55}.btn--primary{background-color:var(--c-red);color:#fff;box-shadow:var(--shadow-glow-red)}.btn--primary:hover:not(:disabled){background-color:var(--c-red-strong)}.btn--ghost{background-color:transparent;border-color:var(--c-border-strong);color:var(--c-text-muted)}.btn--ghost:hover:not(:disabled){color:var(--c-text);border-color:var(--c-bronze);background-color:#b08d5714}.btn--icon{min-height:2.25rem;padding:0 var(--sp-3);font-size:var(--fs-sm)}.input,.textarea{width:100%;background-color:var(--c-surface-2);border:1px solid var(--c-border);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);color:var(--c-text);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur) var(--ease),background-color var(--dur-fast) var(--ease)}.input::placeholder,.textarea::placeholder{color:var(--c-text-dim)}.input:hover,.textarea:hover{border-color:var(--c-border-strong)}.input:focus,.textarea:focus{outline:none;border-color:var(--c-gold);background-color:var(--c-surface);box-shadow:0 0 0 3px var(--c-gold-glow)}.view{display:flex;flex-direction:column;min-height:100dvh}.view__center{flex:1;display:flex;flex-direction:column;justify-content:center;padding-block:var(--sp-6) calc(var(--sp-6) + env(safe-area-inset-bottom))}.topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding-top:calc(var(--sp-4) + env(safe-area-inset-top))}.topbar__left{display:flex;align-items:center;gap:var(--sp-2)}.menu{position:relative}.menu__trigger{margin-left:calc(var(--sp-2) * -1);position:relative}.menu__glyph{display:inline-flex;align-items:center;justify-content:center;transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease)}.menu__glyph--diamond{position:absolute;inset:0;color:var(--c-gold);opacity:0;transform:rotate(-90deg) scale(.4)}.menu__trigger.is-open .menu__glyph--menu{opacity:0;transform:rotate(90deg) scale(.4)}.menu__trigger.is-open .menu__glyph--diamond{opacity:1;transform:rotate(0) scale(1)}.menu__backdrop{position:fixed;inset:0;z-index:30}.menu__panel{position:absolute;top:calc(100% + var(--sp-2));left:0;z-index:31;width:min(20rem,calc(100vw - var(--sp-6)));max-height:min(24rem,70vh);overflow-y:auto;padding:var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-2);background-color:var(--c-surface);border:1px solid var(--c-border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-md);animation:rise var(--dur) var(--ease) both}.menu__signout{display:block;width:100%;text-align:left;padding:var(--sp-2) var(--sp-3);border:none;background:none;color:var(--c-text);font:inherit;font-weight:700;cursor:pointer;transition:color var(--dur-fast) var(--ease)}.menu__signout:hover{color:var(--c-gold)}.menu__divider{height:1px;background-color:var(--c-border)}.menu__history{display:flex;flex-direction:column;gap:var(--sp-1)}.menu__label{font-size:var(--fs-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--c-text-dim);text-align:center;padding:0 var(--sp-2)}.menu__note{margin:0;padding:var(--sp-2);font-size:var(--fs-sm);color:var(--c-text-dim)}.menu__note--error{color:var(--c-danger)}.menu__item{display:block;width:100%;text-align:left;padding:var(--sp-2) var(--sp-3);border:1px solid transparent;border-radius:var(--r-sm);background-color:transparent;color:var(--c-text-muted);font-size:var(--fs-sm);line-height:1.4;transition:color var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease)}.menu__item:hover:not(:disabled){color:var(--c-text);background-color:#b08d571a}.menu__item:disabled{opacity:.55}.menu__more{display:block;width:100%;margin-top:var(--sp-1);padding:var(--sp-2);border:none;background:none;color:var(--c-bronze);font:inherit;font-size:var(--fs-sm);font-weight:600;cursor:pointer;transition:color var(--dur-fast) var(--ease)}.menu__more:hover:not(:disabled){color:var(--c-gold)}.menu__more:disabled{cursor:default;opacity:.55}.login{max-width:30rem}.login__card{background-color:color-mix(in srgb,var(--c-surface) 82%,transparent);border:1px solid var(--c-border);border-radius:var(--r-lg);padding:clamp(var(--sp-5),6vw,var(--sp-7));box-shadow:var(--shadow-md);backdrop-filter:blur(8px)}.login__brand{display:flex;flex-direction:column;gap:var(--sp-2);margin-bottom:var(--sp-6)}.login__title{font-size:var(--fs-2xl);line-height:var(--lh-tight);font-weight:700;letter-spacing:-.01em}.login__title em{font-style:normal;color:var(--c-gold)}.login__subtitle{color:var(--c-text-muted);max-width:34ch}.login__form{display:flex;flex-direction:column;gap:var(--sp-3)}.login__label{font-size:var(--fs-sm);font-weight:600;color:var(--c-text-muted)}.login__hint{font-size:var(--fs-sm);color:var(--c-text-dim)}.login__sent{display:flex;flex-direction:column;gap:var(--sp-3)}.login__sent strong{color:var(--c-gold-soft)}.ask__header{padding-top:calc(var(--sp-5) + env(safe-area-inset-top))}.ask__hero{display:flex;flex-direction:column;gap:var(--sp-3);margin-bottom:var(--sp-5)}.ask__title{font-size:var(--fs-2xl);line-height:var(--lh-tight);font-weight:700;letter-spacing:-.01em}.ask__lede{color:var(--c-text-muted);max-width:48ch}.ask__form{display:flex;flex-direction:column;gap:var(--sp-3)}.ask__textarea{min-height:8.5rem;resize:none;overflow:hidden;font-size:var(--fs-lg);line-height:var(--lh-normal);padding:var(--sp-4)}.ask__actions{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4)}.ask__count{font-size:var(--fs-sm);color:var(--c-text-dim);font-variant-numeric:tabular-nums}@media (max-width: 30rem){.ask__count{display:none}.ask__actions{justify-content:flex-end}}.disclaimer{margin-top:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-2);font-size:var(--fs-xs);line-height:1.5;color:var(--c-text-dim);text-align:center;text-wrap:balance}.disclaimer__warning{color:var(--c-text-muted)}.view--chat{height:100dvh;overflow:hidden}.chat__header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);min-height:var(--header-h);padding-top:env(safe-area-inset-top);border-bottom:1px solid var(--c-border);background-color:color-mix(in srgb,var(--c-bg) 88%,transparent);backdrop-filter:blur(10px);z-index:10}.chat__header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);width:100%;min-height:var(--header-h)}.chat__actions{display:flex;align-items:center;gap:var(--sp-2)}.chat__thread{flex:1;overflow-y:auto;overscroll-behavior:contain;scroll-behavior:smooth;padding-block:var(--sp-5)}.chat__turns{display:flex;flex-direction:column;gap:var(--sp-5)}.turn{display:flex;flex-direction:column;gap:var(--sp-2);animation:rise var(--dur-slow) var(--ease) both}.turn__role{font-size:var(--fs-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--c-text-dim)}.turn--user .turn__role{color:var(--c-bronze)}.turn--judge .turn__role{color:var(--c-gold)}.turn__body{white-space:pre-wrap;overflow-wrap:anywhere}.turn--user .turn__body{background-color:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);border-top-right-radius:var(--r-sm);padding:var(--sp-4);align-self:flex-start;max-width:52ch}.turn--judge .turn__body{color:var(--c-text);font-size:var(--fs-lg);line-height:1.65;white-space:normal}.caret{display:inline-block;width:.5em;height:1.05em;margin-left:2px;translate:0 2px;background-color:var(--c-gold);border-radius:1px;animation:blink 1s steps(2,jump-none) infinite}.answer-actions{display:flex;align-items:center;gap:var(--sp-1);margin-top:var(--sp-2)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:1px solid transparent;border-radius:var(--r-sm);background-color:transparent;color:var(--c-text-dim);transition:color var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.icon-btn:hover:not(:disabled){color:var(--c-text);background-color:#b08d5714;border-color:var(--c-border)}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.icon-btn.is-active{color:var(--c-gold)}.answer-actions__status{margin-left:var(--sp-2);font-size:var(--fs-xs);color:var(--c-text-muted)}.thinking{display:inline-flex;align-items:center;gap:var(--sp-3);color:var(--c-text-muted);font-size:var(--fs-base)}.thinking__dots{display:inline-flex;gap:5px}.thinking__dots span{width:7px;height:7px;border-radius:var(--r-full);background-color:var(--c-gold);opacity:.35;animation:pulse 1.2s var(--ease) infinite}.thinking__dots span:nth-child(2){animation-delay:.15s}.thinking__dots span:nth-child(3){animation-delay:.3s}.composer{border-top:1px solid var(--c-border);padding-block:var(--sp-3) calc(var(--sp-3) + env(safe-area-inset-bottom));background-color:color-mix(in srgb,var(--c-bg) 90%,transparent);backdrop-filter:blur(10px)}.composer__row{display:flex;align-items:flex-end;gap:var(--sp-3)}.composer__input{flex:1;min-height:2.75rem;max-height:40dvh;resize:none;overflow-y:auto;border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4)}.composer__send{flex:none;width:2.75rem;height:2.75rem;padding:0;border-radius:var(--r-md)}.notice{border:1px solid rgba(224,112,95,.4);background-color:#e0705f14;color:var(--c-danger);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);font-size:var(--fs-sm);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.meta-chips{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-2)}.chip{font-family:inherit;font-size:var(--fs-xs);letter-spacing:.02em;border:1px solid var(--c-border-strong);border-radius:var(--r-full);padding:2px var(--sp-3);color:var(--c-bronze-soft)}.chip--card{cursor:pointer;background:none;color:var(--c-gold-soft);transition:border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease)}.chip--card:hover{border-color:var(--c-gold);color:var(--c-gold)}.chip--card[aria-expanded=true]{border-color:var(--c-gold);background:#e6b44c1f;color:var(--c-gold)}.card-detail{flex-basis:100%;width:100%;max-width:20rem;margin-top:var(--sp-2);padding:var(--sp-3) var(--sp-4);border:1px solid var(--c-border-strong);border-radius:var(--r-md);background:var(--c-surface);box-shadow:var(--shadow-sm)}.card-detail__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3)}.card-detail__heading{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-1)}.card-detail__title{color:var(--c-text);font-size:var(--fs-base);font-weight:600}.card-detail__type{color:var(--c-text-dim);font-size:var(--fs-xs)}.card-detail__close{border:none;background:none;color:var(--c-text-dim);font-size:var(--fs-lg);line-height:1;padding:0 var(--sp-1);cursor:pointer}.card-detail__close:hover{color:var(--c-text)}.card-detail__status{margin:var(--sp-2) 0 0;color:var(--c-text-dim);font-size:var(--fs-sm)}.card-detail__status--error{color:var(--c-danger)}.card-detail__body{margin-top:var(--sp-2);touch-action:pan-y}.card-detail__stats{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-2)}.card-detail__stat{font-size:var(--fs-xs);color:var(--c-text-muted);border:1px solid var(--c-border);border-radius:var(--r-full);padding:1px var(--sp-2)}.card-detail__text{margin:0;color:var(--c-text);font-size:var(--fs-sm);line-height:var(--lh-normal);white-space:pre-wrap}.card-detail__nav{display:flex;align-items:center;justify-content:center;gap:var(--sp-3);margin-top:var(--sp-3)}.card-detail__arrow{width:1.75rem;height:1.75rem;border:1px solid var(--c-border-strong);border-radius:var(--r-full);background:none;color:var(--c-bronze-soft);line-height:1;cursor:pointer}.card-detail__arrow:hover{border-color:var(--c-gold);color:var(--c-gold)}.card-detail__dots{display:flex;align-items:center;gap:var(--sp-2)}.pitch-dot{display:inline-block;width:.65rem;height:.65rem;padding:0;border:1px solid var(--c-border-strong);border-radius:50%;background:var(--c-pitch-none);opacity:.5;cursor:pointer;transition:opacity var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.pitch-dot--active{opacity:1;transform:scale(1.25)}.pitch-dot--red{background:var(--c-pitch-red)}.pitch-dot--yellow{background:var(--c-pitch-yellow)}.pitch-dot--blue{background:var(--c-pitch-blue)}.pitch-dot--purple{background:var(--c-pitch-purple)}.pitch-dot--none{background:var(--c-pitch-none)}.card-detail__meta{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);margin:var(--sp-3) 0 0;font-size:var(--fs-xs)}.card-detail__swatch-label{display:inline-flex;align-items:center;gap:var(--sp-2);color:var(--c-text-muted)}.card-detail__link{color:var(--c-gold-soft);text-decoration:none}.card-detail__link:hover{text-decoration:underline}.turn--judge .turn__body>:first-child{margin-top:0}.turn--judge .turn__body>:last-child{margin-bottom:0}.md-p{margin:var(--sp-3) 0}.md-heading{margin:var(--sp-4) 0 var(--sp-2);font-size:1.15em;line-height:var(--lh-tight)}.md-list{margin:var(--sp-3) 0;padding-left:1.4em}.md-list li{margin:var(--sp-1) 0}.md-code{padding:.1em .35em;border-radius:var(--r-sm);background:var(--c-surface-2);font-family:var(--font-mono);font-size:.9em}.md-pre{margin:var(--sp-3) 0;padding:var(--sp-3);border-radius:var(--r-sm);background:var(--c-surface-2);font-family:var(--font-mono);font-size:.9em;overflow-x:auto}.md-pre code{padding:0;background:none}.md-quote{margin:var(--sp-3) 0;padding-left:var(--sp-3);border-left:3px solid var(--c-border-strong);color:var(--c-text-muted)}.md-link{color:var(--c-gold-soft)}.md-hr{margin:var(--sp-4) 0;border:none;border-top:1px solid var(--c-border)}.md-table-wrap{margin:var(--sp-3) 0;overflow-x:auto}.md-table{border-collapse:collapse;width:100%;font-size:.95em}.md-table th,.md-table td{padding:var(--sp-2) var(--sp-3);border:1px solid var(--c-border);vertical-align:top}.md-table th{background:var(--c-surface-2)}.md-task{list-style:none}.md-checkbox{margin:0 var(--sp-2) 0 0;vertical-align:-.1em;accent-color:var(--c-gold)}del{color:var(--c-text-dim)}.citation{white-space:nowrap}.rule-ref{position:relative;display:inline-block;vertical-align:baseline}.rule-ref__btn{margin:0;padding:0;border:none;background:none;color:var(--c-gold-soft);font:inherit;cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:.2em}.rule-ref__btn:hover{color:var(--c-gold)}.rule-ref__panel{position:absolute;top:calc(100% + 6px);z-index:40;box-sizing:border-box;display:flex;flex-direction:column;gap:var(--sp-2);max-height:min(60vh,24rem);overflow-y:auto;padding:var(--sp-3);background-color:var(--c-surface-2);border:1px solid var(--c-border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-md);color:var(--c-text-muted);font-size:var(--fs-sm);font-weight:400;line-height:var(--lh-normal);text-align:left;white-space:normal;animation:rise var(--dur-fast) var(--ease) both}.rule-ref__title{color:var(--c-gold);font-weight:700}.rule-ref__text{white-space:pre-wrap}.rule-ref__error{color:var(--c-red)}.rule-ref__link{color:var(--c-gold-soft);text-decoration:none}.rule-ref__link:hover{text-decoration:underline}.turn:has(.rule-ref__panel){z-index:5}@keyframes blink{50%{opacity:0}}@keyframes pulse{0%,60%,to{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.fab-symbol{display:inline-block;width:1em;height:1em;vertical-align:-.15em;margin:0 .06em;user-select:none}
