:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root,[data-theme=dark]{--bg: #1a1a2e;--bg-card: #16213e;--text: #eee;--text-sub: #999;--border: #444;--input-bg: #0f3460;--accent: #646cff;color:var(--text);background-color:var(--bg)}[data-theme=light]{--bg: #f5f5f5;--bg-card: #ffffff;--text: #213547;--text-sub: #666;--border: #ccc;--input-bg: #fff;--accent: #535bf2;color:var(--text);background-color:var(--bg)}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;transition:background-color .3s,color .3s}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;cursor:pointer;transition:border-color .25s}.container{max-width:420px;margin:0 auto;padding:2rem 1.5rem;text-align:center}.theme-toggle{position:fixed;top:1rem;right:1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.3rem;color:var(--text);transition:background .3s,border-color .3s;padding:0}.theme-toggle:hover{border-color:var(--accent)}.settings-btn{position:fixed;top:1rem;left:1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:.4rem .8rem;font-size:.75rem;color:var(--text-sub);cursor:pointer;transition:border-color .2s}.settings-btn:hover{border-color:var(--accent)}.api-key-section{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1rem;margin-bottom:1.5rem;text-align:left}.save-key-btn{margin-top:.75rem;padding:.5rem 1.2rem;border-radius:8px;border:none;background:var(--accent);color:#fff;font-size:.85rem;font-weight:600;cursor:pointer}.title{font-size:1.8rem;margin-bottom:.25rem;color:var(--text)}.subtitle{color:var(--text-sub);margin-bottom:2rem}.form{display:flex;flex-direction:column;gap:1.5rem}.photo-upload{width:180px;height:180px;border-radius:50%;margin:0 auto;overflow:hidden;cursor:pointer;border:3px dashed var(--border);transition:border-color .2s}.photo-upload:hover{border-color:var(--accent)}.photo-upload.dragging{border-color:var(--accent);background:#646cff1a;transform:scale(1.05);transition:border-color .2s,transform .2s,background .2s}.photo-preview{width:100%;height:100%;object-fit:cover}.photo-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem}.photo-icon{font-size:2.5rem;color:var(--text-sub);line-height:1}.photo-text{font-size:.85rem;color:var(--text-sub)}.input-group{display:flex;flex-direction:column;gap:.5rem;text-align:left}.input-group label{font-size:.9rem;font-weight:600;color:var(--text)}.input-group input{padding:.75rem 1rem;border-radius:10px;border:1px solid var(--border);background:var(--input-bg);color:var(--text);font-size:1rem;transition:border-color .2s,background .3s}.input-group input:focus{outline:none;border-color:var(--accent)}.submit-btn{margin-top:.5rem;padding:.9rem;border-radius:12px;border:none;background:var(--accent);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s}.submit-btn:hover:not(:disabled){opacity:.85}.submit-btn:disabled{opacity:.4;cursor:not-allowed}.report-photo{width:120px;height:120px;border-radius:50%;overflow:hidden;margin:0 auto 1rem;border:3px solid var(--accent)}.report-photo img{width:100%;height:100%;object-fit:cover}.report-info{display:flex;justify-content:center;gap:1.5rem;margin-bottom:1.5rem;color:var(--text-sub);font-size:.9rem}.report-content{text-align:left;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;line-height:1.7}.report-content h3{color:var(--accent);margin:1.2rem 0 .5rem;font-size:1.1rem}.report-content h3:first-child{margin-top:0}.report-content p{margin:.3rem 0;color:var(--text)}.report-content li{margin:.2rem 0 .2rem 1rem;color:var(--text)}.report-content hr{border:none;border-top:1px solid var(--border);margin:1rem 0}.report-content strong{color:var(--text)}
