:root{--bg-color: #0b0b0b;--bg-secondary: #111111;--panel-bg: rgba(20, 20, 25, .7);--panel-border: rgba(212, 175, 55, .15);--text-primary: #FAFAFA;--text-secondary: #A1A1AA;--accent-gold: #D4AF37;--accent-gold-light: #FFD700;--accent-gold-dim: rgba(212, 175, 55, .2);--error-bg: rgba(220, 38, 38, .1);--error-text: #FCA5A5;--font-main: "Outfit", sans-serif;--radius-lg: 24px;--radius-md: 16px;--radius-sm: 8px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);background:linear-gradient(135deg,var(--bg-color),var(--bg-secondary));background-size:200% 200%;animation:gradientShift 30s ease infinite;color:var(--text-primary);min-height:100vh;line-height:1.6;overflow-x:hidden}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.gold-gradient-text{background:linear-gradient(135deg,#FFF 0%,var(--accent-gold) 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.app-container{max-width:1200px;margin:0 auto;padding:3rem 1.5rem;display:flex;flex-direction:column;gap:3rem;position:relative;z-index:2}.app-header{text-align:center;position:relative;z-index:10}.app-header h1{font-size:3.5rem;font-weight:300;letter-spacing:4px;text-transform:uppercase;margin-bottom:.5rem}.app-header p{color:var(--text-secondary);font-weight:300;letter-spacing:2px;font-size:1.1rem}.upload-btn{background:transparent;border:1px solid var(--accent-gold);color:var(--accent-gold);padding:1rem 2.5rem;font-size:1.1rem;border-radius:50px;cursor:pointer;transition:all .3s ease;letter-spacing:1.5px;text-transform:uppercase;position:relative;overflow:hidden;animation:glowPulse 4s infinite cubic-bezier(.4,0,.2,1)}.upload-btn:after{content:"";position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(to right,#fff0,#d4af374d,#fff0);transform:skew(-25deg);transition:all .75s ease}.upload-btn:hover{background:#d4af371a;border-color:var(--accent-gold-light);color:var(--accent-gold-light);transform:translateY(-2px);box-shadow:0 0 20px #d4af3766}.upload-btn:hover:after{animation:shimmerSweep 1s ease-in-out}@keyframes glowPulse{0%{box-shadow:0 0 10px #d4af3733}50%{box-shadow:0 0 25px #d4af3780}to{box-shadow:0 0 10px #d4af3733}}@keyframes shimmerSweep{0%{left:-100%}to{left:200%}}.upload-section{display:flex;flex-direction:column;align-items:center;gap:1.5rem;margin-bottom:2rem}.upload-subtitle{color:var(--text-secondary);font-size:.95rem}.error-message{background:var(--error-bg);color:var(--error-text);padding:1.2rem;border-radius:var(--radius-sm);text-align:center;margin-bottom:2rem;border:1px solid rgba(220,38,38,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.prominent-disclaimer{background:#d4af370d;border:1px solid rgba(212,175,55,.2);border-radius:var(--radius-md);padding:1.5rem;max-width:800px;margin:0 auto 2rem;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.prominent-disclaimer h4{color:var(--accent-gold);font-size:1.1rem;font-weight:500;margin-bottom:.5rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.prominent-disclaimer p{color:var(--text-secondary);font-size:.95rem;line-height:1.5}.content-grid{display:grid;grid-template-columns:1fr;gap:3rem;align-items:start}@media (min-width: 900px){.content-grid{grid-template-columns:1fr 1fr}}.image-preview-container{position:relative;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--radius-lg);padding:1rem;display:flex;justify-content:center;overflow:hidden;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 10px 40px #00000080}.uploaded-image{max-width:100%;max-height:600px;border-radius:var(--radius-md);object-fit:contain;transition:opacity .5s ease}.loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0a0a0ae6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;z-index:10}.scan-line{position:absolute;top:0;left:0;width:100%;height:4px;background:var(--accent-gold);box-shadow:0 0 20px 5px #d4af3780;animation:scanMotion 2s ease-in-out infinite alternate;z-index:11}@keyframes scanMotion{0%{top:0;opacity:0}10%{opacity:1}90%{opacity:1}to{top:100%;opacity:0}}.loading-text-container{text-align:left;display:flex;flex-direction:column;gap:1rem;z-index:12}.loading-step{color:var(--text-secondary);font-size:1.1rem;display:flex;align-items:center;gap:.8rem;opacity:.5;transition:opacity .3s ease,color .3s ease}.loading-step.active{opacity:1;color:var(--accent-gold)}.loading-step svg{width:1.2rem;height:1.2rem}.loading-text{color:var(--accent-gold);font-size:1.1rem;font-weight:300;letter-spacing:1.5px;text-align:center;padding:2rem}.report-container{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--radius-lg);padding:2.5rem;box-shadow:0 10px 40px #00000080;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.report-header{border-bottom:1px solid var(--panel-border);padding-bottom:2rem;margin-bottom:2rem}.report-header h2{font-size:1.5rem;font-weight:400;letter-spacing:2px;color:var(--text-primary);margin-bottom:1.5rem}.overall-score-container{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;padding:2rem;margin-bottom:2rem}.score-circle-wrapper{position:relative;width:180px;height:180px;display:flex;align-items:center;justify-content:center}.score-circle-bg{fill:none;stroke:#d4af371a;stroke-width:8}.score-circle-progress{fill:none;stroke:var(--accent-gold);stroke-width:8;stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset 1.5s cubic-bezier(.4,0,.2,1)}.score-value{position:absolute;font-size:3rem;font-weight:300;color:var(--accent-gold);text-shadow:0 0 20px rgba(212,175,55,.4);display:flex;align-items:baseline}.score-value span{font-size:1.5rem;margin-left:2px}.overall-label{margin-top:1rem;font-size:1.2rem;font-weight:300;color:var(--text-secondary);text-transform:uppercase;letter-spacing:2px}.report-metrics{display:flex;flex-direction:column;gap:1.5rem}.metric-row{background:#ffffff05;padding:1.5rem;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.05);transition:transform .3s ease,background .3s ease,border-color .3s ease}.metric-row:hover{background:#ffffff0a;border-color:#d4af374d;transform:translate(5px)}.metric-row h3{font-size:1.1rem;font-weight:400;color:var(--text-primary);margin-bottom:1rem}.metric-details{display:flex;justify-content:space-between;gap:1rem}.metric-col{display:flex;flex-direction:column;gap:.4rem}.metric-value-label{font-size:.8rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px}.metric-value{font-size:1.2rem;font-weight:500;color:#e4e4e7}.metric-score .metric-value{color:var(--accent-gold)}.thirds-desc{font-size:.9rem;color:var(--text-secondary);margin-bottom:1rem;line-height:1.6}.download-section{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--panel-border);display:flex;justify-content:center}.download-btn{background:transparent;border:1px solid var(--accent-gold);color:var(--accent-gold);padding:1rem 2.5rem;font-size:1rem;text-transform:uppercase;letter-spacing:2px;border-radius:50px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.8rem}.download-btn:hover:not(:disabled){background:#d4af371a;box-shadow:0 0 20px #d4af3733;transform:translateY(-2px)}.download-btn:disabled{opacity:.5;cursor:not-allowed;border-color:var(--text-secondary);color:var(--text-secondary);box-shadow:none;transform:none}.documentation-section{margin-top:6rem;max-width:800px;margin-inline:auto;padding:0 1.5rem;color:var(--text-primary)}.doc-heading{font-size:2.5rem;font-weight:300;margin-bottom:.5rem;text-align:center}.doc-subheading{font-size:1.25rem;font-weight:500;color:var(--accent-gold);margin-bottom:1rem;margin-top:0;text-align:center}.doc-text{color:var(--text-secondary);line-height:1.7;font-size:.95rem;margin-bottom:3rem;font-weight:300;text-align:center;max-width:650px;margin-inline:auto}.ratio-explanations{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.5rem;margin-bottom:4rem}.ratio-card{background:#ffffff08;border:1px solid rgba(255,255,255,.08);padding:1.5rem;border-radius:var(--radius-md);transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;display:flex;flex-direction:column}.ratio-card:hover{border-color:#d4af3766;transform:translateY(-5px);box-shadow:0 10px 30px #00000080}.ratio-card h4{font-size:1.15rem;color:var(--text-primary);margin-bottom:.8rem;font-weight:600;line-height:1.3}.ratio-card p{color:var(--text-secondary);line-height:1.5;font-size:.95rem;font-weight:300;margin:0}.phi-highlight{color:var(--accent-gold);font-family:serif;font-style:normal;font-weight:700;font-size:1rem;display:inline-block;transition:transform .3s ease,text-shadow .3s ease;margin-right:.5rem}.phi-highlight:hover{transform:scale(1.1);text-shadow:0 0 10px rgba(212,175,55,.6)}.faq-container{display:flex;flex-direction:column;gap:1rem;margin-bottom:4rem}.faq-item{background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:var(--radius-sm);overflow:hidden;transition:background .3s ease,border-color .3s ease,box-shadow .3s ease}.faq-item:hover{background:#ffffff0a}.faq-item.active{border-color:#d4af3766;box-shadow:0 5px 20px #0000004d}.faq-question{width:100%;text-align:left;padding:1.5rem;background:transparent;border:none;color:var(--text-primary);font-size:.95rem;font-weight:400;font-family:var(--font-main);cursor:pointer;display:flex;justify-content:space-between;align-items:center}.faq-icon{color:var(--accent-gold);transition:transform .3s cubic-bezier(.4,0,.2,1)}.faq-icon.rotated{transform:rotate(180deg)}.faq-answer{padding:0 1.5rem 1.5rem;color:var(--text-secondary);line-height:1.7;font-weight:300}.app-footer{margin-top:6rem;padding:4rem 1.5rem 2rem;border-top:1px dashed rgba(255,255,255,.1);text-align:center}.footer-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1.5rem}.footer-brand{font-weight:400;color:var(--accent-gold);font-size:1.2rem;letter-spacing:2px;text-transform:uppercase}.footer-links{display:flex;gap:3rem}@media (max-width: 768px){.footer-top{justify-content:center}}.footer-links a{color:var(--text-secondary);text-decoration:none;font-weight:300;transition:color .3s ease;letter-spacing:1px}.footer-links a:hover{color:var(--text-primary)}.copyright{font-size:.9rem;color:#ffffff4d;font-weight:300}.bg-particles{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:hidden}.particle{position:absolute;background:var(--accent-gold);border-radius:50%;opacity:.1;animation:floatUp 20s infinite linear}@keyframes floatUp{0%{transform:translateY(100vh) scale(0);opacity:0}50%{opacity:.15;transform:scale(1)}to{transform:translateY(-100px) scale(0);opacity:0}}.bg-spiral{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:150vw;height:150vw;pointer-events:none;z-index:1;opacity:.05;animation:rotateVerySlow 90s linear infinite;mix-blend-mode:screen}@keyframes rotateVerySlow{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}@media (max-width: 768px){.app-header h1{font-size:2.2rem!important;letter-spacing:2px!important}.app-header p{font-size:.95rem}.app-container{padding:4rem 1rem 1.5rem;gap:2rem}.report-container{padding:1.5rem}.score-circle-wrapper{width:140px;height:140px}.score-circle-wrapper svg{width:140px;height:140px}.score-value{font-size:2.2rem}.doc-heading{font-size:1.8rem}.metric-details{flex-direction:column;gap:.5rem}.download-section{flex-direction:column}.share-btn,.download-btn{width:100%;justify-content:center}}
