:root{--bg-primary: #f8fafc;--bg-secondary: #ffffff;--bg-tertiary: #f1f5f9;--bg-hover: #f8fafc;--bg-card: #ffffff;--bg-input: #ffffff;--bg-chat: #f8fafc;--bg-user-msg: #0f2644;--bg-gradient: #f0f3f7;--text-primary: #1e293b;--text-secondary: #475569;--text-tertiary: #64748b;--text-muted: #94a3b8;--text-inverse: #ffffff;--border-primary: #e2e8f0;--border-secondary: #f1f5f9;--border-focus: #3b6ea5;--accent-primary: #0f2644;--accent-primary-light: #e3ecf5;--accent-secondary: #1e4a7a;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--shadow-accent: 0 4px 12px rgba(15, 38, 68, .2);--selection-bg: #bed0e6;--scrollbar-track: #f1f5f9;--scrollbar-thumb: #cbd5e1;--overlay-bg: rgba(0, 0, 0, .3)}[data-theme=dark]{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--bg-hover: #1e293b;--bg-card: #1e293b;--bg-input: #1e293b;--bg-chat: #0f172a;--bg-user-msg: #1a3050;--bg-gradient: #0f172a;--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-tertiary: #94a3b8;--text-muted: #64748b;--text-inverse: #0f172a;--border-primary: #334155;--border-secondary: #1e293b;--border-focus: #5b8fbe;--accent-primary: #5b8fbe;--accent-primary-light: #1a3050;--accent-secondary: #7aabce;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--shadow-accent: 0 4px 12px rgba(91, 143, 190, .25);--selection-bg: #1e4a7a;--scrollbar-track: #1e293b;--scrollbar-thumb: #475569;--overlay-bg: rgba(0, 0, 0, .6)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:Arial,Helvetica Neue,Helvetica,sans-serif;background:var(--bg-gradient);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;transition:background .3s ease,color .3s ease}button,input,textarea,select{font-family:inherit}::selection{background:var(--selection-bg)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOutRight{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@keyframes radarDraw{0%{stroke-dashoffset:1000;opacity:0}to{stroke-dashoffset:0;opacity:1}}@keyframes radarFill{0%{opacity:0}to{opacity:.2}}@keyframes cardEntrance{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes confettiPop{0%{transform:scale(0) rotate(0);opacity:1}50%{transform:scale(1.2) rotate(180deg);opacity:1}to{transform:scale(0) rotate(360deg);opacity:0}}@keyframes scoreReveal{0%{transform:scale(.5);opacity:0}60%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}@keyframes tabSlide{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes counterTick{0%{transform:translateY(0);opacity:1}50%{transform:translateY(-4px);opacity:.5}to{transform:translateY(0);opacity:1}}@keyframes shimmerLoading{0%{background-position:-400% 0}to{background-position:400% 0}}.fade-in{animation:fadeIn .35s ease forwards}.fade-in-scale{animation:fadeInScale .3s ease forwards}.pulse{animation:pulse 1.5s ease-in-out infinite}.shimmer{background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--border-primary) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:6px}.slide-in-right{animation:slideInRight .3s ease forwards}.card-entrance{animation:cardEntrance .4s ease forwards}.tab-content-enter{animation:tabSlide .3s ease forwards}.shimmer-loading{background:linear-gradient(90deg,var(--bg-tertiary) 0%,var(--border-primary) 20%,var(--bg-tertiary) 40%,var(--bg-tertiary) 100%);background-size:400% 100%;animation:shimmerLoading 1.8s ease-in-out infinite;border-radius:6px}.radar-polygon{stroke-dasharray:1000;stroke-dashoffset:1000;animation:radarDraw 1.2s ease forwards .3s}.radar-fill{opacity:0;animation:radarFill .8s ease forwards .8s}.score-reveal{animation:scoreReveal .5s ease forwards}.btn-interactive{transition:all .2s ease}.btn-interactive:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-interactive:active{transform:translateY(0) scale(.97);box-shadow:var(--shadow-sm)}.score-btn{transition:all .15s ease}.score-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.score-btn:active{transform:scale(.95)}.skeleton{position:relative;overflow:hidden}.skeleton:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 25%,rgba(255,255,255,.1) 50%,transparent 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.onboarding-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn .3s ease}.onboarding-card{background:var(--bg-card);border-radius:20px;padding:36px 32px;max-width:480px;width:90%;box-shadow:0 24px 48px #0003;animation:fadeInScale .4s ease}@media print{body{background:#fff!important;color:#000!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.no-print,.history-drawer,.theme-toggle,.tab-bar,.input-area,.sample-buttons,.profile-selector,.chat-area,.cross-profile-section,.start-new-btn,.manual-override-controls,.slider-control,.hero-section,footer{display:none!important}.print-only{display:block!important}.app-container{max-width:100%!important;margin:0!important;padding:20px!important}.gu-hero,.tier-badge,.score-card,.risk-card{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.contract-analysis-section{page-break-before:auto;page-break-inside:avoid}.dimension-scores-section{page-break-before:auto}.print-header{display:flex!important;justify-content:space-between;align-items:center;padding-bottom:16px;border-bottom:2px solid #1e293b;margin-bottom:24px}.print-footer{display:block!important;position:fixed;bottom:0;left:0;right:0;text-align:center;padding:8px;font-size:10px;color:#94a3b8;border-top:1px solid #e2e8f0}*{box-shadow:none!important}}.print-only{display:none}@media(max-width:768px){.app-container{padding:12px 10px!important}.app-title{font-size:22px!important}.tab-bar{gap:4px!important}.tab-bar button{padding:8px 14px!important;font-size:12px!important}.two-col-grid{grid-template-columns:1fr!important}.profile-cards-grid{grid-template-columns:1fr 1fr!important}.tier-detail-grid{grid-template-columns:1fr!important}.history-drawer{width:100%!important;max-width:100%!important}input[type=range]{height:8px!important;cursor:pointer}input[type=range]::-webkit-slider-thumb{width:24px!important;height:24px!important}button{min-height:36px}.hero-section h1{font-size:28px!important}.comparison-grid{grid-template-columns:1fr!important}}@media(max-width:480px){.app-container{padding:10px 8px!important}.app-title{font-size:20px!important}.app-subtitle{font-size:12px!important}.gu-hero-score{font-size:38px!important}.gu-hero-tier{font-size:22px!important}.profile-cards-grid{grid-template-columns:1fr!important}.sample-buttons{flex-direction:column!important}.sample-buttons button{width:100%!important;text-align:left!important}.input-row{flex-direction:column!important}.input-row button{width:100%!important}}.doc-layout{display:flex;gap:20px;align-items:flex-start}.doc-sidebar{width:210px;flex-shrink:0;position:sticky;top:16px;max-height:calc(100vh - 32px);overflow-y:auto}@media(max-width:860px){.doc-layout{flex-direction:column}.doc-sidebar{width:100%;position:static;max-height:none;flex-direction:row;flex-wrap:wrap}}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}
