DistractIQ / static /style.css
Muskan10sharma's picture
Update static/style.css
3474dac verified
Raw
History Blame Contribute Delete
19.1 kB
/* ═══════════════════════════════════════════
DistractIQ Β· Galaxy CSS
═══════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600&family=Plus+Jakarta+Sans:ital,wght@0,700;0,800;1,800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500&family=Plus+Jakarta+Sans:ital,wght@0,400;0,700;0,800;1,800&display=swap');
:root{
--bg:#06060f;
--sf:rgba(255,255,255,.055);
--sfh:rgba(255,255,255,.09);
--bd:rgba(255,255,255,.10);
--bdb:rgba(139,92,246,.55);
--tx:#f0eeff;
--txm:rgba(240,238,255,.48);
--pu:#8b5cf6;
--bl:#3b82f6;
--pk:#ec4899;
--cy:#06b6d4;
--gn:#10b981;
--or:#f59e0b;
--rd:#ef4444;
--gm:linear-gradient(135deg,#8b5cf6,#3b82f6,#ec4899);
--gf:linear-gradient(135deg,#f59e0b,#ef4444,#ec4899);
--glp:0 0 24px rgba(139,92,246,.35),0 0 48px rgba(139,92,246,.15);
--r: 32px; /* Super rounded corners for better look */
--rs: 18px;
--fd: 'Plus Jakarta Sans', sans-serif;
--fb: 'Inter', sans-serif;
}
/* ... root waala code yahan khatam hota hai ... */
}
/* ── Animation Logic (Yahan Paste Karein) ── */
@keyframes borderGlow {
0% { border-color: rgba(139, 92, 246, 0.2); }
50% { border-color: rgba(236, 72, 153, 0.5); box-shadow: 0 0 15px rgba(236, 72, 153, 0.1); }
100% { border-color: rgba(139, 92, 246, 0.2); }
}
.light{
--bg:#eef2ff;--sf:rgba(255,255,255,.65);--sfh:rgba(255,255,255,.85);
--bd:rgba(139,92,246,.15);--tx:#1e1b4b;--txm:rgba(30,27,75,.5);
--glp:0 0 20px rgba(139,92,246,.15);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--tx);font-family:var(--fb);min-height:100vh;overflow-x:hidden;transition:background .4s,color .4s}
/* ── Galaxy ── */
#galaxy{position:fixed;inset:0;z-index:0;pointer-events:none}
/* ── Screens ── */
.screen{display:none;position:relative;z-index:1;min-height:100vh;animation:fadeUp .45s ease}
.screen.active{display:flex}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
/* ── Glass ── */
.glass {
background: var(--sf);
backdrop-filter: blur(20px) saturate(180%);
border: 1px solid var(--bd);
border-radius: var(--r);
transition: all 0.3s ease-in-out; /* Update this */
animation: borderGlow 4s infinite alternate; /* Add this */
}
.glass:hover{border-color:var(--bdb);box-shadow:var(--glp)}
/* ════════════ LOGIN ════════════ */
#s-login{justify-content:center;align-items:center}
.login-wrap{display:flex;flex-direction:column;align-items:center;gap:28px;padding:24px;width:100%;max-width:440px}
.logo-block{text-align:center;animation:floaty 3s ease-in-out infinite}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.logo-icon{font-size:60px;filter:drop-shadow(0 0 22px rgba(139,92,246,.9))}
.logo-text{font-family:var(--fd);font-size:2.5rem;font-weight:900;background:var(--gm);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:3px;margin-top:6px}
.logo-sub{color:var(--txm);font-size:.83rem;letter-spacing:1px;margin-top:4px}
.login-card{width:100%;padding:36px 32px;display:flex;flex-direction:column;gap:18px;text-align:center}
.login-card h2{font-family:var(--fd);font-size:1.4rem}
.muted{color:var(--txm)}
.tiny{font-size:.72rem}
.neon-input{width:100%;padding:14px 18px;background:rgba(255,255,255,.06);border:1px solid var(--bd);border-radius:var(--rs);color:var(--tx);font-family:var(--fb);font-size:1rem;outline:none;transition:border .3s,box-shadow .3s}
.neon-input:focus{border-color:var(--pu);box-shadow:0 0 0 3px rgba(139,92,246,.22)}
.neon-input::placeholder{color:var(--txm)}
.btn-neon{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 22px;background:var(--gm);border:none;border-radius:var(--rs);color:#fff;font-family:var(--fd);font-size:.82rem;font-weight:700;letter-spacing:1px;cursor:pointer;transition:transform .2s,box-shadow .3s;box-shadow:0 4px 22px rgba(139,92,246,.4)}
.btn-neon:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(139,92,246,.65)}
.btn-neon:active{transform:translateY(0)}
.btn-neon.btn-full{width:100%;margin-top:6px}
.arr{font-size:1.1rem}
.btn-sec{padding:12px 18px;background:transparent;border:1px solid var(--bd);border-radius:var(--rs);color:var(--txm);font-family:var(--fb);font-size:.88rem;cursor:pointer;width:100%;margin-top:10px;transition:border .3s,color .3s}
.btn-sec:hover{border-color:var(--pk);color:var(--pk)}
.ver{color:var(--txm);font-size:.72rem;letter-spacing:2px}
/* ════════════ QUIZ ════════════ */
#s-quiz{justify-content:center;align-items:center}
.quiz-wrap{width:100%;max-width:480px;padding:24px;display:flex;flex-direction:column;gap:24px}
.quiz-top{display:flex;flex-direction:column;gap:8px}
.qprog-bar{height:6px;background:rgba(255,255,255,.1);border-radius:999px;overflow:hidden}
.qprog-fill{height:100%;background:var(--gm);border-radius:999px;transition:width .5s ease;width:25%}
.qlabel{font-size:.78rem;color:var(--txm);letter-spacing:1px}
.quiz-card{padding:36px 28px;display:flex;flex-direction:column;align-items:center;gap:24px;text-align:center}
.qemoji{font-size:50px;animation:floaty 3s ease-in-out infinite}
.quiz-card h2{font-size:1.25rem;line-height:1.55}
.qopts{display:flex;flex-direction:column;gap:12px;width:100%}
.qopt{padding:13px 18px;background:rgba(255,255,255,.05);border:1px solid var(--bd);border-radius:var(--rs);color:var(--tx);font-family:var(--fb);font-size:.93rem;cursor:pointer;text-align:left;transition:all .3s}
.qopt:hover{border-color:var(--pu);transform:translateX(6px)}
.qopt.sel{border-color:var(--pu);background:rgba(139,92,246,.2);box-shadow:var(--glp)}
/* ════════════ INPUT ════════════ */
#s-input{justify-content:center;align-items:center}
.inp-wrap{width:100%;max-width:480px;padding:24px;display:flex;flex-direction:column;align-items:center;gap:22px}
.inp-card{width:100%;padding:40px 32px;display:flex;flex-direction:column;align-items:center;gap:24px;text-align:center;animation:popIn .4s cubic-bezier(.34,1.56,.64,1)}
@keyframes popIn{from{opacity:0;transform:scale(.82) translateY(30px)}to{opacity:1;transform:scale(1) translateY(0)}}
.inp-icon{font-size:54px}
.inp-card h2{font-family:var(--fd);font-size:1.25rem;background:var(--gm);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.slider-block{width:100%;display:flex;flex-direction:column;gap:14px}
input[type=range]{width:100%;-webkit-appearance:none;height:6px;background:rgba(255,255,255,.1);border-radius:999px;outline:none;cursor:pointer}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;background:var(--gm);border-radius:50%;box-shadow:0 0 14px rgba(139,92,246,.7);transition:transform .2s;cursor:grab}
input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.25)}
.slider-display{display:flex;justify-content:center;align-items:baseline;gap:6px}
.slid-val{font-family:var(--fd);font-size:3.2rem;font-weight:900;background:var(--gm);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.slid-unit{color:var(--txm);font-size:1rem}
.inp-dots{display:flex;gap:8px}
.dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.18);transition:all .35s}
.dot.active{background:var(--pu);box-shadow:0 0 10px var(--pu);width:24px;border-radius:4px}
.dot.done{background:var(--gn)}
/* ════════════ DASHBOARD ════════════ */
#s-dash{flex-direction:column;padding-bottom:80px}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;position:sticky;top:0;z-index:10;background:rgba(6,6,15,.75);backdrop-filter:blur(12px);border-bottom:1px solid var(--bd)}
.greeting{font-family:var(--fd);font-size:.82rem;background:var(--gm);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.topbar-r{display:flex;align-items:center;gap:10px}
.ico-btn{background:none;border:none;font-size:1.2rem;cursor:pointer;transition:transform .3s;padding:4px}
.ico-btn:hover{transform:rotate(30deg)}
.streak-chip,.xp-chip{display:flex;align-items:center;gap:4px;background:rgba(255,255,255,.07);border:1px solid var(--bd);border-radius:999px;padding:5px 12px;font-size:.78rem;font-weight:700;cursor:pointer;transition:all .3s;white-space:nowrap}
.streak-chip:hover{border-color:var(--or);box-shadow:0 0 14px rgba(245,158,11,.3)}
.xp-chip{border-color:rgba(59,130,246,.3)}
.sarcasm-bar{margin:12px 16px;padding:13px 18px;font-size:.93rem;font-weight:600;text-align:center;border-radius:var(--rs);min-height:46px;animation:slideD .4s ease}
@keyframes slideD{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}
/* Score Row */
.score-row{display:flex;gap:12px;padding:12px 16px;overflow-x:auto;scrollbar-width:none}
.score-row::-webkit-scrollbar{display:none}
.scard {
flex: 1;
min-width: 95px;
padding: 16px 10px;
display: flex;
flex-direction: column;
align-items: center;
gap: 10px;
text-align: center;
/* YEH DO LINES ADD KAREIN */
animation: borderGlow 4s infinite alternate;
transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.3s;
}
.scard:hover {
transform: translateY(-10px);
box-shadow: 0 20px 40px rgba(0,0,0,0.4);
background: var(--sfh);
}
.sc-lbl{font-size:.65rem;letter-spacing:1px;color:var(--txm);text-transform:uppercase}
.cring{position:relative;width:78px;height:78px}
.cring svg{width:100%;height:100%;transform:rotate(-90deg)}
.cr-bg{fill:none;stroke:rgba(255,255,255,.07);stroke-width:8}
.cr-fg{fill:none;stroke-width:8;stroke-linecap:round;stroke-dasharray:264;stroke-dashoffset:264;transition:stroke-dashoffset 1.2s cubic-bezier(.4,0,.2,1),stroke .5s}
#rg-dist{stroke:#ef4444}
#rg-risk{stroke:#f59e0b}
#rg-prod{stroke:#10b981}
.cr-num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-size:1.05rem;font-weight:900}
/* Tabs */
.tab{display:none;padding:4px 16px 16px;flex-direction:column;gap:14px;animation:fadeUp .35s ease}
.tab.active{display:flex}
.sec{padding:18px;display:flex;flex-direction:column;gap:12px}
.sec-ttl{font-family:var(--fd);font-size:.72rem;letter-spacing:1.5px;color:var(--txm);text-transform:uppercase}
/* Persona */
.persona-row{display:flex;align-items:center;gap:14px}
.p-icon{font-size:44px}
.p-name{font-family:var(--fd);font-size:1.05rem;font-weight:700;background:var(--gm);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.p-desc{font-size:.82rem;margin-top:4px}
.lvl-block{display:flex;flex-direction:column;gap:6px}
.lvl-top{font-size:.8rem;color:var(--txm)}
.lvl-name{color:var(--pu);font-weight:700}
.lvl-bar{height:8px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden}
.lvl-fill{height:100%;background:var(--gm);border-radius:999px;width:0%;transition:width 1.3s cubic-bezier(.4,0,.2,1);box-shadow:0 0 10px rgba(139,92,246,.5)}
/* Drivers */
.drivers{display:flex;flex-direction:column;gap:10px}
.drv{display:flex;justify-content:space-between;align-items:center;gap:10px}
.drv-lft{display:flex;align-items:center;gap:8px;font-size:.88rem;flex:1}
.drv-bw{flex:1;height:6px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden}
.drv-bf{height:100%;border-radius:999px;transition:width 1s ease}
.drv-pct{font-size:.72rem;color:var(--txm);min-width:32px;text-align:right}
/* Optimizer */
.optimizer{display:flex;flex-direction:column;gap:10px}
.tip{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;background:rgba(255,255,255,.04);border:1px solid var(--bd);border-left:3px solid var(--pu);border-radius:var(--rs);font-size:.86rem;line-height:1.55;transition:all .3s}
.tip:hover{background:rgba(139,92,246,.08);transform:translateX(4px)}
.tip-ic{font-size:1rem;flex-shrink:0;margin-top:2px}
/* Quote */
.quote-sec{}
.quote-txt{font-size:.97rem;font-style:italic;line-height:1.7;text-align:center;padding:6px 4px}
/* ── Streaks ── */
.streak-hero{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 0}
.s-fire{font-size:54px;animation:pulse 1.5s ease-in-out infinite}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}
.s-big{font-family:var(--fd);font-size:4rem;font-weight:900;background:var(--gf);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.s-cal {
display: grid;
grid-template-columns: repeat(7, 1fr);
gap: 8px; /* Increase this (e.g., from 5px to 8px) to shrink the boxes */
margin-top: 12px;
padding: 0 10px; /* Adds space on the sides, making the grid (and boxes) narrower */
}
.cday {
aspect-ratio: 1;
border-radius: 7px;
background: rgba(255,255,255,.05);
border: 1px solid var(--bd);
display: flex;
align-items: center;
justify-content: center;
/* CHANGE THESE TWO VALUES */
font-size: 1.1rem; /* Increased from .6rem to make numbers bigger */
font-weight: 700; /* Added weight to make numbers stand out */
transition: all .3s;
}
.cday.done{background:rgba(16,185,129,.2);border-color:var(--gn);color:var(--gn)}
.cday.today{border-color:var(--pu);color:var(--pu);box-shadow:0 0 8px rgba(139,92,246,.4)}
.ach-list{display:flex;flex-direction:column;gap:10px}
.ach{display:flex;align-items:center;gap:12px;padding:12px;background:rgba(255,255,255,.04);border:1px solid var(--bd);border-radius:var(--rs);transition:all .3s}
.ach.on{border-color:rgba(245,158,11,.45);background:rgba(245,158,11,.07)}
.ach.off{opacity:.35}
.ach-ic{font-size:1.8rem}
.ach-nm{font-weight:700;font-size:.88rem}
.ach-ds{font-size:.75rem;color:var(--txm);margin-top:2px}
/* ── Board ── */
.hist-list{display:flex;flex-direction:column;gap:10px}
.hitem{display:flex;align-items:center;gap:12px;padding:13px;background:rgba(255,255,255,.04);border:1px solid var(--bd);border-radius:var(--rs)}
.hdot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.hdot.hi{background:var(--rd);box-shadow:0 0 8px var(--rd)}
.hdot.md{background:var(--or);box-shadow:0 0 8px var(--or)}
.hdot.lo{background:var(--gn);box-shadow:0 0 8px var(--gn)}
.hinfo{flex:1}
.hdate{font-size:.72rem;color:var(--txm)}
.hscore{font-family:var(--fd);font-size:1.05rem;font-weight:700}
.hpers{font-size:.75rem;color:var(--txm);margin-top:2px}
.breakdown{display:flex;flex-direction:column;gap:12px}
.bki{}
.bkh{display:flex;justify-content:space-between;font-size:.8rem;color:var(--txm);margin-bottom:5px}
.bkbg{height:10px;background:rgba(255,255,255,.07);border-radius:999px;overflow:hidden}
.bkf{height:100%;border-radius:999px;transition:width 1.2s ease}
/* ── Profile ── */
.prof-hero{align-items:center;text-align:center;padding:30px 20px}
.prof-av{font-size:64px;margin-bottom:8px;filter:drop-shadow(0 0 22px rgba(139,92,246,.6))}
.prof-name{font-family:var(--fd);font-size:1.5rem;font-weight:900;background:var(--gm);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.prof-stats{display:flex;flex-direction:column;gap:0}
.st-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--bd);font-size:.88rem}
.st-row:last-child{border-bottom:none}
.st-v{font-family:var(--fd);font-size:.88rem;font-weight:700;color:var(--pu)}
.srow{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid var(--bd);font-size:.88rem}
.srow:last-of-type{border-bottom:none}
.tog{position:relative;display:inline-block;width:44px;height:24px}
.tog input{opacity:0;width:0;height:0}
.tog-sl{position:absolute;inset:0;background:rgba(255,255,255,.1);border-radius:999px;cursor:pointer;transition:background .3s}
.tog-sl::before{content:'';position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .3s}
.tog input:checked+.tog-sl{background:var(--gm)}
.tog input:checked+.tog-sl::before{transform:translateX(20px)}
/* ── Bottom Nav ── */
.bnav{position:fixed;bottom:0;left:0;right:0;height:68px;background:rgba(6,6,15,.88);backdrop-filter:blur(22px);border-top:1px solid var(--bd);display:flex;align-items:center;justify-content:space-around;z-index:20}
.nb{display:flex;flex-direction:column;align-items:center;gap:3px;background:none;border:none;color:var(--txm);cursor:pointer;padding:8px 14px;border-radius:var(--rs);transition:all .3s;position:relative}
.nb::after{content:'';position:absolute;bottom:-2px;left:50%;transform:translateX(-50%);width:0;height:3px;border-radius:2px;background:var(--gm);transition:width .3s}
.nb.active{color:var(--pu)}
.nb.active::after{width:24px}
.nb span:first-child{font-size:1.25rem}
.nb span:last-child{font-size:.62rem;letter-spacing:.5px}
/* ── Toast ── */
/* Notification ka design */
.toast {
position: fixed;
top: 30px;
right: 25px;
z-index: 1000;
opacity: 0;
transform: translateX(100px) scale(0.7); /* Bahar se andar aayega */
transition: all 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55); /* Bounce effect */
background: rgba(10, 10, 20, 0.95);
padding: 18px 28px;
border-radius: var(--rs);
font-weight: 600;
}
.toast.show {
opacity: 1;
transform: translateX(0) scale(1);
}
/* Jab JS ".show" class add karega tab ye pop hoga */
/* ── Scrollbar ── */
/* ... scrollbar ke upar ya niche kahin bhi ... */
/* ── Interactive Trap Button ── */
#trap-btn {
border: 1px solid var(--rd) !important;
color: var(--rd) !important;
background: rgba(239, 68, 68, 0.05);
box-shadow: 0 0 10px rgba(239, 68, 68, 0.1);
font-weight: 800;
letter-spacing: 1px;
cursor: pointer;
transition: all 0.3s ease;
}
#trap-btn:hover {
background: var(--rd);
color: #fff !important;
box-shadow: 0 0 20px rgba(239, 68, 68, 0.4);
transform: scale(0.96); /* Dabne wala effect */
}
/* Screen Flash Effect (Jab AI gussa ho) */
.trap-flash {
animation: flashRed 0.5s ease;
}
@keyframes flashRed {
0% { background: var(--bg); }
50% { background: rgba(239, 68, 68, 0.15); }
100% { background: var(--bg); }
}
/* Haptic feel for all buttons */
.btn-neon:active, .nb:active, .scard:active {
transform: scale(0.92);
transition: transform 0.1s;
}
/* ── Scrollbar (Aapka pehle wala code) ── */
::-webkit-scrollbar{width:4px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(139,92,246,.4);border-radius:2px}
#focus-optimizer {
opacity: 0;
transform: translateY(20px);
pointer-events: none;
transition: all 0.4s ease;
}
#focus-optimizer.show {
opacity: 1;
transform: translateY(0);
pointer-events: auto;
}