:root{color:#f7fff9;background:#030d0a;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input{font:inherit}button{border:0}.app-shell{min-height:100vh;padding:24px 34px 34px;background:radial-gradient(circle at 18% 6%,rgba(36,229,129,.14),transparent 28%),radial-gradient(circle at 82% 16%,rgba(36,229,129,.08),transparent 34%),linear-gradient(135deg,#04100d,#071512 48%,#020705)}.topbar,.workspace{margin:0 auto;max-width:1180px}.topbar{display:flex;justify-content:flex-start;margin-bottom:22px}.brand{align-items:center;display:flex}.brand-logo{display:block;height:auto;max-height:82px;object-fit:contain;object-position:left center;width:min(430px,76vw)}.workspace{display:grid;gap:14px;grid-template-columns:465px minmax(0,1fr)}.upload-card,.result-card{background:linear-gradient(145deg,#11453294,#051611eb),#071a14db;border:1px solid rgba(46,238,142,.17);border-radius:14px;box-shadow:inset 0 1px #ffffff0d,0 24px 80px #00000047}.upload-card{background:#04140f61;box-shadow:none;padding:20px}.dropzone{align-items:center;border:1.4px dashed rgba(49,238,142,.33);border-radius:12px;color:#fff;cursor:pointer;display:flex;flex-direction:column;gap:11px;justify-content:center;min-height:128px;overflow:hidden;padding:20px;text-align:center;transition:background .16s ease,border-color .16s ease,transform .16s ease}.upload-card-compact .dropzone{border:0;min-height:0;padding:0}.dropzone input{height:1px;opacity:0;position:absolute;width:1px}.dropzone svg{color:#31ee8e}.dropzone strong{font-size:1.02rem;max-width:100%;overflow-wrap:anywhere}.dropzone-active,.dropzone:hover{background:#31ee8e12;border-color:#31ee8ebf;transform:translateY(-1px)}.preview-button{display:block;position:relative;width:100%}.preview-button img{background:transparent;border:1px solid rgba(49,238,142,.24);border-radius:12px;display:block;max-height:245px;object-fit:contain;width:100%}.preview-button span{background:#03120bc7;border:1px solid rgba(49,238,142,.34);border-radius:999px;bottom:10px;color:#fff;font-size:.82rem;font-weight:850;left:50%;padding:7px 11px;position:absolute;transform:translate(-50%);white-space:nowrap}.cta-button{align-items:center;background:linear-gradient(135deg,#31ee8e,#20d675);border-radius:10px;color:#03120b;cursor:pointer;display:flex;font-weight:950;gap:12px;justify-content:center;margin-top:16px;min-height:52px;width:100%}.cta-button:disabled{background:#31ee8e3d;color:#ffffff6b;cursor:not-allowed}.error{background:#ff4f4f1f;border:1px solid rgba(255,79,79,.32);border-radius:10px;color:#ffbdbd;margin:14px 0 0;padding:12px}.issue-list{display:grid;gap:10px;margin:0 0 14px}.issue-list article{background:#ffcd4f1a;border:1px solid rgba(255,205,79,.3);border-radius:12px;padding:13px 14px}.issue-list-blocking article{background:#ff4f4f1f;border-color:#ff4f4f57}.issue-list span{color:#31ee8e;display:block;font-size:.72rem;font-weight:950;margin-bottom:5px;text-transform:uppercase}.issue-list strong{color:#fff;display:block;font-size:1rem;font-weight:900}.issue-list p{color:#ffffffbf;margin:6px 0 0}.result-card{min-height:300px;padding:30px}.loader-dots{align-items:center;display:flex;gap:10px;justify-content:center;min-height:180px}.loader-dots span{animation:pulse-dot .9s ease-in-out infinite;background:#31ee8e;border-radius:999px;height:12px;width:12px}.loader-dots span:nth-child(2){animation-delay:.12s}.loader-dots span:nth-child(3){animation-delay:.24s}.football-context{align-items:center;color:#ffffffc7;display:flex;flex-wrap:wrap;font-size:.82rem;gap:8px;margin:0 0 12px}.football-context span{background:#31ee8e1f;border:1px solid rgba(49,238,142,.34);border-radius:999px;color:#31ee8e;font-weight:950;padding:5px 9px;text-transform:uppercase}.football-context strong{color:#fff;font-weight:900}.football-context em{color:#ffffff9e;font-style:normal}@keyframes pulse-dot{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-6px)}}.scenario-block{background:#ffffff09;border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:20px;touch-action:pan-y;-webkit-user-select:none;user-select:none}.scenario-head{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:16px}.scenario-kicker{color:#31ee8e;display:block;font-size:.82rem;font-weight:950;letter-spacing:0;text-transform:uppercase}.scenario-head strong{background:#31ee8e1a;border:1px solid rgba(49,238,142,.25);border-radius:999px;color:#fff;flex:0 0 auto;font-size:.84rem;font-weight:950;padding:6px 10px}.scenario-block p{color:#fff;font-size:clamp(1.45rem,2.8vw,2.55rem);font-weight:950;letter-spacing:0;line-height:1.2;margin:0;max-width:820px;text-shadow:0 4px 26px rgba(0,0,0,.38)}.scenario-controls{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-top:22px}.scenario-controls button{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:999px;color:#fff;cursor:pointer;font-size:.84rem;font-weight:900;padding:9px 12px}.scenario-dots{align-items:center;display:flex;gap:7px;justify-content:center}.dot{background:#ffffff47;border-radius:999px;height:8px;transition:background .16s ease,width .16s ease;width:8px}.dot-active{background:#31ee8e;width:26px}.scenario-details{display:grid;gap:12px;margin-top:14px}.detail-section{background:#ffffff07;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:15px}.detail-section h2{color:#ffffffb3;font-size:.82rem;font-weight:950;margin:0 0 12px;text-transform:uppercase}.score-strip{align-items:center;background:#31ee8e14;border:1px solid rgba(49,238,142,.2);border-radius:12px;display:flex;justify-content:space-between;margin:0 0 12px;padding:14px 16px}.score-strip span,.key-action>span,.constraint-card>span{color:#31ee8e;font-size:.78rem;font-weight:950;text-transform:uppercase}.score-strip strong{color:#fff;font-size:1.22rem;font-weight:950;text-align:right}.timeline{display:grid;gap:12px;list-style:none;margin:0;padding:0}.timeline li{align-items:flex-start;display:grid;gap:12px;grid-template-columns:28px 1fr}.timeline li>span{align-items:center;background:#31ee8e;border-radius:999px;color:#03120b;display:flex;font-size:.86rem;font-weight:950;height:28px;justify-content:center;width:28px}.timeline strong,.condition-list strong,.key-action strong,.constraint-card strong{color:#fff;display:block;font-weight:900}.timeline p,.key-action p,.constraint-card p{color:#ffffffad;margin:4px 0 0}.key-action div{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.key-action em{background:#31ee8e1a;border:1px solid rgba(49,238,142,.22);border-radius:999px;color:#dffff0;font-size:.8rem;font-style:normal;font-weight:800;padding:6px 9px}.condition-list{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.condition-list article{background:#04140f73;border:1px solid rgba(49,238,142,.14);border-radius:10px;padding:10px 11px}.condition-list span{color:#ffffffa8;display:block;margin-top:3px}.share-card{margin-top:2px}.share-card button{align-items:center;background:#31ee8e1f;border:1px solid rgba(49,238,142,.3);border-radius:10px;color:#fff;cursor:pointer;display:flex;font-weight:900;gap:9px;justify-content:center;min-height:44px}@media(max-width:980px){.app-shell{padding:18px}.workspace{grid-template-columns:1fr}.result-card{min-height:0}.preview-button img{max-height:210px}}@media(max-width:700px){.app-shell{padding:14px}.brand-logo{max-height:68px;width:min(360px,82vw)}.upload-card,.result-card{padding:16px}.upload-card{border-radius:12px}.dropzone{min-height:108px}.scenario-block p{font-size:clamp(1.35rem,7vw,2rem)}.condition-list{grid-template-columns:1fr}}@media(max-width:430px){.app-shell{padding:12px}.topbar{margin-bottom:18px}.brand-logo{max-height:60px;width:min(330px,90vw)}.preview-button img{max-height:138px}.preview-button span{bottom:8px;font-size:.75rem;padding:6px 9px}.cta-button{font-size:.92rem;min-height:48px}.result-card{padding:14px}.scenario-block{padding:16px}.scenario-head{align-items:flex-start;flex-direction:column}.football-context{font-size:.76rem;gap:6px}.scenario-block p{font-size:1.42rem;line-height:1.22}.scenario-controls button{padding:8px 10px}}
