:root{--color-bg: #0b1e3a;--color-bg-elevated: #122a52;--color-bg-card: #16335f;--color-bg-card-hover: #1c3e72;--color-border: #2c4a7c;--color-text: #eef4ff;--color-text-dim: #aec3e6;--color-accent: #f4b740;--color-accent-dim: #d99a1f;--color-good: #4caf78;--color-bad: #e2645a;--color-info: #6fb4e8;--radius-lg: 20px;--radius-md: 14px;--touch-min: 56px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;background:var(--color-bg);color:var(--color-text);overscroll-behavior:none}body{font-family:-apple-system,SF Pro Text,Segoe UI,system-ui,sans-serif;font-size:19px;line-height:1.45}#root{min-height:100vh;padding-top:var(--safe-top);padding-bottom:var(--safe-bottom);padding-left:var(--safe-left);padding-right:var(--safe-right)}h1,h2,h3,h4{font-family:inherit;font-weight:800;margin:0 0 .4em}a{color:inherit}button{font-family:inherit;font-size:1rem;color:var(--color-text);background:var(--color-bg-card);border:2px solid var(--color-border);border-radius:var(--radius-md);min-height:var(--touch-min);min-width:var(--touch-min);padding:12px 20px;cursor:pointer;touch-action:manipulation;transition:background .15s ease,transform .1s ease,border-color .15s ease}button:active{transform:scale(.97)}button:hover{background:var(--color-bg-card-hover)}button:disabled{opacity:.4;cursor:default;transform:none}button.primary{background:var(--color-accent);border-color:var(--color-accent-dim);color:#2a1a00;font-weight:700}button.primary:hover{background:#ffc75c}button.ghost{background:transparent}.screen{max-width:1200px;margin:0 auto;padding:24px clamp(16px,4vw,40px) 56px}.app-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px clamp(16px,4vw,40px)}.app-header .back-button{display:flex;align-items:center;gap:8px}.card{background:var(--color-bg-card);border:2px solid var(--color-border);border-radius:var(--radius-lg);padding:20px}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;background:var(--color-bg-elevated);border:1px solid var(--color-border);font-size:.85rem;color:var(--color-text-dim)}.pill.new{background:var(--color-accent);color:#2a1a00;border-color:var(--color-accent-dim);font-weight:700}.evidence-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(220px,1fr);gap:20px}@media (max-width: 760px){.evidence-layout{grid-template-columns:1fr}}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#040a16b8;display:flex;align-items:center;justify-content:center;padding:24px;z-index:50}.modal{background:var(--color-bg-elevated);border:2px solid var(--color-border);border-radius:var(--radius-lg);padding:24px;max-width:560px;width:100%;max-height:85vh;overflow-y:auto}textarea{width:100%;font-family:inherit;font-size:1rem;color:var(--color-text);background:var(--color-bg-card);border:2px solid var(--color-border);border-radius:var(--radius-md);padding:12px;resize:vertical}::selection{background:var(--color-accent);color:#2a1a00}.logbook-page{background:repeating-linear-gradient(#fdf6e3 0,#fdf6e3 27px,#e4d9b8 28px);color:#2a2200;border-radius:10px;padding:16px 16px 16px 48px;position:relative;min-height:80px}.logbook-page:before{content:"";position:absolute;left:32px;top:0;bottom:0;width:2px;background:#c9594f;opacity:.6}.logbook-date{font-family:ui-monospace,Menlo,monospace;font-weight:700;margin-bottom:10px}.weather-chart{background:repeating-linear-gradient(0deg,transparent 0 23px,#2c4a7c22 23px 24px),repeating-linear-gradient(90deg,transparent 0 23px,#2c4a7c22 23px 24px),var(--color-bg-elevated);border-radius:10px;padding:18px}.speech-bubble{background:#fdf6e3;color:#2a2200;border-radius:14px;padding:12px 16px;position:relative;font-size:1.05rem}.speech-bubble:before{content:"";position:absolute;left:-8px;top:16px;border-width:8px 10px 8px 0;border-style:solid;border-color:transparent #fdf6e3 transparent transparent}.evidence-caption{font-size:1.15rem;font-weight:700;line-height:1.4;margin:0 0 14px}.evidence-card-frame{position:relative;overflow:hidden}.opened-stamp{position:absolute;top:10px;right:10px;border:3px solid var(--color-good);color:var(--color-good);border-radius:10px;padding:2px 10px;font-weight:800;font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;transform:rotate(8deg) scale(1.4);opacity:0;pointer-events:none;animation:stamp-pop .4s ease-out .05s forwards}@keyframes stamp-pop{0%{opacity:0;transform:rotate(8deg) scale(2.2)}70%{opacity:1;transform:rotate(8deg) scale(.92)}to{opacity:1;transform:rotate(8deg) scale(1)}}.speak-button{min-width:44px;min-height:44px;padding:6px;font-size:1.2rem;flex-shrink:0}.deep-dive-panel{margin-top:14px;padding-top:14px;border-top:1px dashed var(--color-border);color:var(--color-text-dim);animation:fade-in .2s ease-out}.evidence-reveal{animation:fade-in .22s ease-out}.rank-reveal{animation:rank-pop .5s cubic-bezier(.2,1,.3,1)}@keyframes rank-pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.changed-card{display:flex;flex-direction:column}.case-folder{background:#e9dcb8;color:#2a2200;border-radius:4px 14px 14px;padding:18px;position:relative;height:100%;display:flex;flex-direction:column;gap:8px;box-shadow:0 6px 14px #00000040}.case-folder:before{content:"";position:absolute;top:-14px;left:18px;width:90px;height:14px;background:#e9dcb8;border-radius:8px 8px 0 0}.case-folder .aircraft-art{color:#7a5a2a;margin:-4px 0 4px}@keyframes fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
