@font-face{font-family:MOC Gelasio;src:url(/fonts/Gelasio-Regular.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:MOC Gelasio;src:url(/fonts/Gelasio-Bold.ttf) format("truetype");font-weight:700;font-display:swap}@font-face{font-family:MOC Mont;src:url(/fonts/Mont-Regular.otf) format("opentype");font-weight:400;font-display:swap}@font-face{font-family:MOC Mont;src:url(/fonts/Mont-Bold.otf) format("opentype");font-weight:700;font-display:swap}:root{--navy: #0a2540;--teal: #3db39e;--royal: #1b4f9c;--orange: #e67e22;--red: #c0392b;--light: #f7f9fb;--light2: #eef2f8;--white: #ffffff;--body: #1f2937;--muted: #5b6b7c;--serif: "MOC Gelasio", Georgia, "Times New Roman", serif;--sans: "MOC Mont", -apple-system, "Segoe UI", Roboto, Arial, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--sans);color:var(--body);background:var(--light);font-size:15px}.app{display:flex;flex-direction:column;min-height:100vh}.header{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:var(--white);border-bottom:1px solid var(--light2)}.logo{font-family:var(--serif);font-weight:700;font-size:18px;color:var(--navy);cursor:pointer}.logo .accent{color:var(--teal)}.logo-img{height:40px;width:auto;cursor:pointer;display:block}.nav{display:flex;gap:6px;align-items:center}.nav button{background:none;border:none;font-family:var(--sans);font-size:13.5px;color:var(--royal);padding:8px 12px;border-radius:8px;cursor:pointer}.nav button:hover{background:var(--light2)}.nav button.active{background:var(--light2);color:var(--navy);font-weight:700}.key-banner{background:var(--navy);color:var(--white);display:flex;align-items:center;justify-content:center;gap:16px;padding:12px 44px 12px 18px;font-size:14px;position:relative;flex-wrap:wrap}.key-banner .primary-btn{padding:8px 16px;font-size:13px}.key-banner-x{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:none;border:none;color:#b8c4d0;font-size:20px;cursor:pointer;line-height:1}.key-banner-x:hover{color:var(--white)}.footer{background:var(--navy);color:#b8c4d0;text-align:center;padding:18px 16px;font-size:12.5px;line-height:1.9}.footer .line1{color:var(--white)}.chat-page{flex:1;display:flex;flex-direction:column;max-width:860px;width:100%;margin:0 auto;padding:0 16px}.chat-start{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding-bottom:8vh}.chat-start h1{font-family:var(--serif);color:var(--navy);font-size:34px;margin:0;text-align:center}.chat-start .tagline{color:var(--muted);font-size:14.5px;text-align:center;max-width:560px;margin:0}.chat-active{flex:1;display:flex;flex-direction:column;min-height:0}.messages{flex:1;overflow-y:auto;padding:20px 4px 12px;display:flex;flex-direction:column;gap:14px}.msg{max-width:82%;padding:12px 16px;border-radius:14px;white-space:pre-wrap;line-height:1.55}.msg.user{align-self:flex-end;background:var(--navy);color:var(--white);border-bottom-right-radius:4px}.msg.assistant{align-self:flex-start;background:var(--white);border:1px solid var(--light2);border-bottom-left-radius:4px}.msg .citations{margin-top:8px;font-size:11.5px;color:var(--muted);border-top:1px solid var(--light2);padding-top:6px}.msg.system-card{align-self:stretch;max-width:100%;background:var(--light2);border-left:4px solid var(--teal)}.composer-wrap{padding:10px 0 16px}.composer{background:var(--white);border:1.5px solid var(--light2);border-radius:16px;padding:10px 12px;display:flex;gap:10px;align-items:flex-end;box-shadow:0 4px 18px #0a25400f}.composer:focus-within{border-color:var(--teal)}.composer textarea{flex:1;border:none;resize:none;outline:none;font-family:var(--sans);font-size:15px;line-height:1.5;max-height:160px;background:transparent}.composer .send{background:var(--teal);color:var(--white);border:none;border-radius:10px;padding:9px 16px;font-family:var(--sans);font-weight:700;font-size:14px;cursor:pointer}.composer .send:disabled{background:var(--light2);color:var(--muted);cursor:default}.upload-row{display:flex;justify-content:center;gap:10px;margin-top:10px;flex-wrap:wrap}.upload-btn{background:var(--white);border:1.5px solid var(--royal);color:var(--royal);border-radius:10px;padding:9px 18px;font-family:var(--sans);font-weight:700;font-size:13.5px;cursor:pointer}.upload-btn:hover{background:var(--light2)}.secondary-btn{background:var(--white);border:1.5px solid var(--teal);color:var(--teal);border-radius:10px;padding:9px 18px;font-family:var(--sans);font-weight:700;font-size:13.5px;cursor:pointer}.secondary-btn:hover{background:var(--light2)}.meter-note{text-align:center;font-size:12px;color:var(--muted);margin-top:8px}.meter-note.warn{color:var(--orange)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a254080;display:flex;align-items:center;justify-content:center;z-index:40;padding:20px}.modal{background:var(--white);border-radius:16px;width:640px;max-width:100%;max-height:88vh;overflow-y:auto;padding:24px}.modal h2{font-family:var(--serif);color:var(--navy);margin:0 0 8px}.field{margin:12px 0}.field label{display:block;font-size:13px;font-weight:700;color:var(--navy);margin-bottom:5px}.field input[type=text],.field input[type=email],.field input[type=password],.field select,.field textarea{width:100%;padding:9px 11px;border:1.5px solid var(--light2);border-radius:9px;font-family:var(--sans);font-size:14px}.gate{background:var(--light2);border-left:4px solid var(--orange);padding:12px 14px;border-radius:8px;font-size:13.5px;display:flex;gap:10px;align-items:flex-start}.primary-btn{background:var(--teal);color:var(--white);border:none;border-radius:10px;padding:10px 20px;font-family:var(--sans);font-weight:700;font-size:14px;cursor:pointer}.primary-btn:disabled{background:var(--light2);color:var(--muted);cursor:default}.danger-btn{background:var(--white);border:1.5px solid var(--red);color:var(--red);border-radius:10px;padding:9px 16px;font-weight:700;font-size:13.5px;cursor:pointer}.warn-box{background:#fdf3ec;border-left:4px solid var(--orange);border-radius:8px;padding:12px 14px;font-size:13.5px;margin:10px 0}.error-box{background:#fbeeec;border-left:4px solid var(--red);border-radius:8px;padding:12px 14px;font-size:13.5px;margin:10px 0;color:var(--red)}.q-card{background:var(--white);border:1.5px solid var(--light2);border-left:4px solid var(--royal);border-radius:12px;padding:16px}.q-card .q-id{font-size:12px;font-weight:700;color:var(--royal);letter-spacing:.5px}.q-card .q-question{font-family:var(--serif);font-size:16px;color:var(--navy);margin:6px 0 12px}.q-option{display:flex;gap:10px;align-items:flex-start;border:1.5px solid var(--light2);border-radius:9px;padding:9px 11px;margin:6px 0;cursor:pointer;font-size:13.5px}.q-option:hover{border-color:var(--teal)}.q-option.selected{border-color:var(--teal);background:#eefaf7}.q-option .lvl{font-weight:700;color:var(--navy);min-width:16px}.pricing{max-width:1080px;margin:0 auto;padding:36px 20px 60px;flex:1}.pricing h1{font-family:var(--serif);color:var(--navy);text-align:center}.interval-toggle{display:flex;justify-content:center;gap:0;margin:18px 0 28px}.interval-toggle button{padding:9px 22px;border:1.5px solid var(--royal);background:var(--white);color:var(--royal);font-weight:700;cursor:pointer;font-size:13.5px}.interval-toggle button:first-child{border-radius:10px 0 0 10px}.interval-toggle button:last-child{border-radius:0 10px 10px 0}.interval-toggle button.on{background:var(--royal);color:var(--white)}.tiers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}@media(max-width:980px){.tiers{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.tiers{grid-template-columns:1fr}}.tier{background:var(--white);border:1.5px solid var(--light2);border-radius:16px;padding:22px;display:flex;flex-direction:column;position:relative}.tier.recommended{border-color:var(--teal);box-shadow:0 8px 26px #3db39e2e}.tier .badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--teal);color:var(--white);font-size:11.5px;font-weight:700;border-radius:999px;padding:4px 14px}.tier h3{font-family:var(--serif);color:var(--navy);margin:4px 0 2px;font-size:20px}.tier .who{color:var(--muted);font-size:12.5px;min-height:18px}.tier .price{font-family:var(--serif);font-size:30px;color:var(--navy);margin:12px 0 2px}.tier .price small{font-size:13px;color:var(--muted);font-family:var(--sans)}.tier ul{padding-left:18px;color:var(--body);font-size:13.5px;line-height:1.7;flex:1}.tier .cta{margin-top:12px}.screen{max-width:860px;margin:0 auto;padding:32px 20px 60px;flex:1;width:100%}.screen h1{font-family:var(--serif);color:var(--navy)}.card{background:var(--white);border:1.5px solid var(--light2);border-radius:14px;padding:20px;margin:14px 0}.card h3{margin-top:0;color:var(--navy)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.stat{background:var(--light);border-radius:10px;padding:12px}.stat .n{font-family:var(--serif);font-size:24px;color:var(--navy);font-weight:700}.stat .l{font-size:12px;color:var(--muted)}table.list{width:100%;border-collapse:collapse;font-size:13.5px}table.list th{text-align:left;background:var(--navy);color:var(--white);padding:8px 10px}table.list td{padding:8px 10px;border-bottom:1px solid var(--light2)}.auth-wrap{flex:1;display:flex;align-items:center;justify-content:center;padding:24px}.auth-column{display:flex;flex-direction:column;align-items:center}.auth-logo{width:340px;max-width:86vw;height:auto;margin-bottom:22px}.auth-card{background:var(--white);border-radius:18px;padding:34px;width:400px;max-width:100%;box-shadow:0 10px 34px #0a25401a}.auth-card h1{font-family:var(--serif);color:var(--navy);font-size:24px;text-align:center;margin:0 0 4px}.auth-card .sub{text-align:center;color:var(--muted);font-size:13px;margin-bottom:18px}.google-btn{width:100%;padding:10px;border:1.5px solid var(--light2);background:var(--white);border-radius:10px;font-weight:700;font-size:14px;cursor:pointer;color:var(--body)}.divider{text-align:center;color:var(--muted);font-size:12px;margin:14px 0}.link-btn{background:none;border:none;color:var(--royal);cursor:pointer;font-size:13px;text-decoration:underline}.score-banner{background:var(--white);border:1.5px solid var(--light2);border-radius:12px;padding:10px 16px;display:flex;align-items:center;gap:14px;margin-top:12px;flex-wrap:wrap}.score-banner .score{font-family:var(--serif);font-size:26px;font-weight:700;color:var(--navy)}.band-chip{border-radius:999px;padding:4px 12px;color:var(--white);font-size:12.5px;font-weight:700}
