@import "https://fonts.googleapis.com/css2?family=Archivo+Black&family=IBM+Plex+Mono:wght@400;500;600&family=Manrope:wght@400;500;700;800&display=swap";:root{--bg-0:#060a12;--bg-1:#0d1624;--panel:#0c1523d1;--panel-strong:#0a111cf5;--line:#223551;--text:#e8edf7;--muted:#90a4c2;--accent-cyan:#5ce1e6;--accent-gold:#f6be4b;--danger:#ff8a8a;--shadow-soft:0 16px 30px #040b148c;--shadow-hard:0 26px 60px #0009}*{box-sizing:border-box}html,body,#root{min-height:100%}body{color:var(--text);background:radial-gradient(circle at 10% 8%, #5ce1e626, transparent 35%), radial-gradient(circle at 88% 12%, #f6be4b1f, transparent 40%), linear-gradient(155deg, var(--bg-0), var(--bg-1));background-attachment:fixed;margin:0;font-family:Manrope,sans-serif}::view-transition-group(*){animation-duration:.25s;animation-timing-function:cubic-bezier(.19,1,.22,1)}::view-transition-old(*){animation-duration:.25s;animation-timing-function:cubic-bezier(.19,1,.22,1)}::view-transition-new(*){animation-duration:.25s;animation-timing-function:cubic-bezier(.19,1,.22,1)}.app-shell{isolation:isolate;gap:1rem;width:min(1040px,100% - 2rem);margin:2.2rem auto 4rem;display:grid;position:relative}.ambient{pointer-events:none;filter:blur(8px);z-index:-1;border-radius:999px;position:absolute}.ambient--one{background:radial-gradient(circle,#5ce1e680,#0000 67%);width:260px;height:260px;animation:8s ease-in-out infinite float-cloud;top:-35px;left:-70px}.ambient--two{background:radial-gradient(circle,#f6be4b57,#0000 68%);width:280px;height:280px;animation:9s ease-in-out infinite reverse float-cloud;top:180px;right:-90px}.hero-block{border:1px solid var(--line);background:linear-gradient(120deg, #5ce1e624, transparent 24%), linear-gradient(320deg, #f6be4b29, transparent 35%), var(--panel);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);border-radius:24px;gap:.55rem;padding:1.6rem;display:grid}.hero-kicker{text-transform:uppercase;letter-spacing:.14em;color:var(--accent-cyan);margin:0;font-family:IBM Plex Mono,monospace;font-size:.74rem}.hero-block h1{text-transform:uppercase;letter-spacing:.03em;margin:0;font-family:Archivo Black,sans-serif;font-size:clamp(2.2rem,7.2vw,4.8rem);font-weight:400;line-height:.95}.hero-block p{max-width:78ch;color:var(--muted);margin:0}.username-form{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow-soft);border-radius:20px;gap:.62rem;padding:1.15rem;display:grid}.field-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-family:IBM Plex Mono,monospace;font-size:.86rem}.field-row{grid-template-columns:minmax(0,1fr) auto auto;gap:.68rem;display:grid}input:not([type=checkbox]),select,button{border:1px solid var(--line);font:inherit;color:var(--text);border-radius:13px;padding:.72rem .85rem;transition:border-color .2s,transform .2s,box-shadow .2s}input:not([type=checkbox]),select{background:#080e18e6}input:not([type=checkbox])::placeholder{color:#6881a6}button{cursor:pointer;background:linear-gradient(130deg,#5ce1e659,#5ce1e614),#0a111bfa;border-color:#5ce1e66b;font-weight:700}button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 24px #5ce1e633}button:disabled{opacity:.6;cursor:not-allowed}input:not([type=checkbox]):focus-visible,select:focus-visible,button:focus-visible{border-color:var(--accent-cyan);outline:none;box-shadow:0 0 0 2px #5ce1e62e}.hint-line{color:#82a0c8;margin:0;font-size:.92rem}.hint-line--subtle{color:#6f88ab;margin-top:-.4rem;font-size:.85rem}.mode-badge{color:#cbe4ff;background:#1d2d47a8;border:1px solid #35537e;border-radius:999px;width:fit-content;margin:0;padding:.3rem .7rem;font-family:IBM Plex Mono,monospace;font-size:.78rem}.option-row{margin-top:.2rem}.switch-label{color:#c2d8f5;align-items:center;gap:.55rem;font-size:.92rem;display:inline-flex}.switch-label input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--accent-cyan);margin:0}.field-caption{color:#7f99bc;margin:0;font-size:.8rem}.error-banner{color:var(--danger);background:#ff8a8a17;border:1px solid #ff8a8a6b;border-radius:14px;margin:0;padding:.84rem 1rem;font-size:.95rem}.profile-panel{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow-soft);border-radius:21px;gap:1rem;padding:1.2rem;display:grid}.profile-head{align-items:center;gap:.95rem;display:flex}.profile-head img{border:1px solid #2f466c;border-radius:18px;width:72px;height:72px}.profile-kicker{text-transform:uppercase;letter-spacing:.14em;color:var(--accent-gold);margin:0;font-family:IBM Plex Mono,monospace;font-size:.75rem}.profile-head h2{margin:.15rem 0 .25rem;font-size:1.35rem}.profile-head p{color:var(--muted);margin:0}.profile-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;display:grid}.profile-stats-grid article{border:1px solid var(--line);background:#070d17d1;border-radius:13px;gap:.24rem;padding:.78rem;display:grid}.profile-stats-grid p{color:var(--muted);margin:0;font-size:.84rem}.profile-stats-grid strong{font-size:1.08rem}.languages-line,.sample-note{color:var(--muted);margin:0;font-size:.94rem}.languages-line span{color:var(--accent-cyan);font-family:IBM Plex Mono,monospace}.roast-card{border:1px solid var(--line);background:linear-gradient(145deg, #f6be4b14, transparent 45%), var(--panel-strong);box-shadow:var(--shadow-soft);border-radius:21px;padding:1.2rem}.roast-card__head{border-bottom:1px dashed #2a3e5f;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.9rem;padding-bottom:.7rem;display:flex}.roast-card__head p{letter-spacing:.12em;text-transform:uppercase;color:var(--accent-gold);margin:0;font-family:IBM Plex Mono,monospace;font-size:.76rem}.roast-card__head span{color:var(--muted);font-size:.9rem}.roast-loading,.roast-body p{color:#dae6f8;margin:0 0 .9rem;line-height:1.72}.typing-cursor{color:var(--accent-cyan);font-family:IBM Plex Mono,monospace;animation:.8s step-end infinite blink}.share-section{gap:.9rem;display:grid}.share-head{justify-content:space-between;align-items:center;gap:.8rem;display:flex}.share-head h2{margin:0;font-size:1.28rem}.share-preview{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow-hard);border-radius:22px;padding:1rem;overflow-x:auto}.share-card{isolation:isolate;background:radial-gradient(circle at 96% -8%,#5ce1e633,#0000 38%),radial-gradient(circle at 3% 105%,#f6be4b38,#0000 35%),#0d1117;border:1px solid #274064;border-radius:22px;width:min(700px,100%);padding:1.15rem;position:relative;box-shadow:inset 0 0 0 1px #ffffff08}.share-card__noise{border-radius:inherit;z-index:-1;opacity:.25;background-image:radial-gradient(#ffffff0d .7px,#0000 0);background-size:3px 3px;position:absolute;inset:0}.share-card__header{align-items:center;gap:.78rem;display:flex}.share-card__header img{border:1px solid #395782;border-radius:14px;width:58px;height:58px}.share-card__kicker{color:#9bb2d6;letter-spacing:.08em;text-transform:uppercase;margin:0;font-family:IBM Plex Mono,monospace;font-size:.73rem}.share-card__header h3{margin:.12rem 0 0;font-size:1.24rem}.share-card__header p{color:#94a8c6;margin:.15rem 0 0;font-size:.92rem}.share-card__quote{background:#080d17a8;border:1px dashed #35537e;border-radius:14px;margin:1rem 0;padding:.95rem;line-height:1.56}.share-card__metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:.58rem;display:grid}.share-card__metrics div{background:#080c16b3;border:1px solid #2c4368;border-radius:12px;padding:.72rem}.share-card__metrics p{color:#8ca4c9;margin:0;font-size:.78rem}.share-card__metrics strong{margin-top:.24rem;font-size:.94rem;display:block}.share-card__languages{flex-wrap:wrap;gap:.48rem;margin-top:.75rem;display:flex}.share-card__languages span{color:#bfddff;background:#1d2d479e;border:1px solid #35537e;border-radius:999px;padding:.25rem .58rem;font-size:.76rem}.share-card__footer{color:#8ca4c9;border-top:1px dashed #29466e;flex-wrap:wrap;justify-content:space-between;gap:.6rem;margin-top:.9rem;padding-top:.58rem;font-family:IBM Plex Mono,monospace;font-size:.77rem;display:flex}@keyframes blink{50%{opacity:0}}@keyframes float-cloud{50%{transform:translateY(-10px)}}@media (width<=900px){.profile-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.app-shell{width:min(100%,100% - 1rem);margin:1.1rem auto 2.4rem}.hero-block{border-radius:20px;padding:1.1rem}.field-row{grid-template-columns:1fr}.profile-head{align-items:flex-start}.share-head{flex-direction:column;align-items:stretch}.share-card__metrics{grid-template-columns:1fr}}
