:root{
    --urso-top:#07100f;
    --urso-card:#0a0f0f;
    --urso-card-2:#0b1212;
}

html,body{
    background:
      radial-gradient(circle at top right, rgba(var(--urso-neon-rgb),.14), transparent 30%),
      linear-gradient(180deg, color-mix(in srgb, var(--urso-bg) 72%, #000 28%) 0%, color-mix(in srgb, var(--urso-bg-2) 74%, #000 26%) 100%);
    color:var(--urso-text);
}

.urso-page-shell{min-height:100vh;}
.urso-topbar{
    position:sticky;
    top:0;
    z-index:1040;
    background:rgba(var(--urso-bg-rgb),.82);
    backdrop-filter: blur(14px);
    border-bottom:1px solid var(--urso-border);
}
.urso-topbar-inner{
    width:100%;
    margin:0;
    padding:16px 28px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    box-sizing:border-box;
}
.urso-brand{
    color:var(--urso-accent);
    text-decoration:none;
    font-weight:800;
    font-size:clamp(1.6rem, 1.4rem + .45vw, 2rem);
    letter-spacing:-.03em;
}
.urso-brand:hover{color:var(--urso-accent-2);}
.urso-main-shell{
    width:100%;
    margin:0;
    padding:24px 28px 48px;
    box-sizing:border-box;
}
.urso-settings-btn{
    width:48px;
    height:48px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:16px;
    border:1px solid rgba(255,255,255,.14);
    background:rgba(255,255,255,.02);
    color:#fff;
    transition:all .22s ease;
    box-shadow:0 0 0 1px rgba(255,255,255,.03) inset;
}
.urso-settings-btn svg{width:22px;height:22px;display:block;}
.urso-settings-btn:hover{
    color:var(--urso-accent);
    border-color:var(--urso-border-strong);
    background:var(--urso-neon-soft);
    box-shadow:0 0 24px rgba(var(--urso-neon-rgb),.14);
}
.urso-settings-btn:focus-visible{
    outline:none;
    border-color:rgba(var(--urso-neon-rgb),.58);
    box-shadow:0 0 0 3px rgba(var(--urso-neon-rgb),.16), 0 0 24px rgba(var(--urso-neon-rgb),.16);
}

.urso-login-backdrop{
    position:fixed;
    inset:0;
    background:rgba(3,6,6,.55);
    backdrop-filter: blur(3px);
    z-index:1045;
}
.urso-login-modal .modal-dialog{max-width:520px;}
.urso-login-card{
    background:linear-gradient(180deg, rgba(var(--urso-bg-rgb),.98) 0%, rgba(var(--urso-bg-2-rgb),.99) 100%);
    border:1px solid var(--urso-border);
    border-radius:28px;
    box-shadow:0 24px 80px rgba(0,0,0,.45), 0 0 0 1px rgba(var(--urso-neon-rgb),.05) inset;
    color:var(--urso-text);
}
.urso-login-kicker{
    color:var(--urso-accent);
    font-size:.9rem;
    font-weight:700;
    margin-bottom:6px;
}
.urso-login-title{
    font-size:1.85rem;
    font-weight:800;
    letter-spacing:-.03em;
    margin:0;
}
.urso-login-subtitle{
    color:var(--urso-text-soft);
    margin:10px 0 0;
    line-height:1.55;
}
.urso-close-btn{opacity:.9;filter:none;}
.urso-form-label{color:#d9e4df;font-weight:600;}
.urso-input{
    background:rgba(255,255,255,.03);
    border:1px solid rgba(255,255,255,.1);
    color:#fff;
    border-radius:16px;
    padding:14px 16px;
}
.urso-input:focus{
    background:rgba(255,255,255,.05);
    border-color:rgba(var(--urso-neon-rgb),.5);
    box-shadow:0 0 0 4px rgba(var(--urso-neon-rgb),.1);
    color:#fff;
}
.urso-input::placeholder{color:#86948f;}
.urso-btn-primary{
    border:none;
    background:linear-gradient(180deg, var(--urso-accent-2) 0%, var(--urso-accent) 100%);
    color:#03110b;
    font-weight:800;
    border-radius:16px;
    padding:12px 18px;
    box-shadow:0 12px 28px rgba(var(--urso-neon-rgb),.16);
}
.urso-btn-primary:hover{
    background:linear-gradient(180deg, color-mix(in srgb, var(--urso-accent-2) 88%, #fff 12%) 0%, color-mix(in srgb, var(--urso-accent) 88%, #fff 12%) 100%);
    color:#02100a;
}
.urso-btn-secondary{
    border:1px solid rgba(255,255,255,.12);
    color:#d9e4df;
    background:rgba(255,255,255,.03);
    border-radius:16px;
    padding:12px 18px;
}
.urso-btn-secondary:hover{
    color:#fff;
    border-color:rgba(255,255,255,.2);
    background:rgba(255,255,255,.06);
}

@media (max-width: 720px){
    .urso-topbar-inner{padding:14px 16px;}
    .urso-main-shell{padding:18px 16px 32px;}
    .urso-settings-btn{width:44px;height:44px;border-radius:14px;}
    .urso-login-title{font-size:1.55rem;}
}

/* Theme modal */
.urso-theme-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
}
.urso-theme-option{
    width:100%;
    display:flex;
    align-items:center;
    gap:14px;
    text-align:left;
    border:1px solid rgba(255,255,255,.10);
    background:rgba(255,255,255,.03);
    color:#eef6f3;
    border-radius:18px;
    padding:14px 16px;
    transition:all .2s ease;
}
.urso-theme-option:hover{
    border-color:var(--urso-border-strong);
    background:rgba(255,255,255,.05);
    box-shadow:0 0 20px rgba(var(--urso-neon-rgb),.12);
}
.urso-theme-option.is-active{
    border-color:var(--urso-border-strong);
    background:var(--urso-neon-soft);
}
.urso-theme-swatch{
    width:44px;
    height:44px;
    border-radius:14px;
    flex:0 0 44px;
    border:1px solid rgba(255,255,255,.18);
    box-shadow:0 8px 18px rgba(0,0,0,.18);
}
.urso-theme-option.is-green .urso-theme-swatch{
    background:linear-gradient(135deg,#19ff9c 0%, #39ff88 55%, #0f3e2b 100%);
}
.urso-theme-option.is-pink .urso-theme-swatch{
    background:linear-gradient(135deg,#ff63d5 0%, #ff47c8 55%, #511339 100%);
}
.urso-theme-option.is-orange .urso-theme-swatch{
    background:linear-gradient(135deg,#ffb157 0%, #ff8b1f 55%, #4f2c0f 100%);
}
.urso-theme-copy{
    display:flex;
    flex-direction:column;
    gap:3px;
}
.urso-theme-copy strong{
    font-size:1rem;
    line-height:1.2;
}
.urso-theme-copy small{
    color:var(--urso-text-soft);
}
