:root{
  --bg:#0e0f13;
  --panel:#161820;
  --panel-2:#131620;
  --border:#24283a;
  --text:#e8eef2;
  --muted:#9aa4ad;
  --accent:#5fd7ff;      /* neona zilais */
  --accent2:#8aff80;     /* neona zaļais */
  --warn:#ffd166;
  --danger:#ff6b6b;
  --shadow:0 8px 24px rgba(0,0,0,.35);
}


*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,'Noto Sans','Helvetica Neue',Arial,sans-serif}

.app{min-height:100svh;display:flex;flex-direction:column}

/* Top / Bottom bars */
.topbar,.bottombar{
  background:linear-gradient(180deg,#141721,#0f1118);
  border-bottom:1px solid #1f2330;
  padding:14px 18px;
  display:flex;align-items:center;justify-content:space-between;
}
.bottombar{border-top:1px solid #1f2330;border-bottom:none;margin-top:auto}
h1{margin:0;font-weight:800;letter-spacing:.3px;font-size:40px}
.status{display:flex;gap:12px;align-items:center;color:var(--muted)}

.view{padding:18px;max-width:1100px;width:100%;margin:0 auto}

/* Panels / Cards */
.panel{
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:16px;
  padding:20px;
  box-shadow:var(--shadow);
}
.grid{display:grid;gap:16px}
.grid.cards{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.card{
  background:var(--panel-2);
  border:1px solid #22283a;
  border-radius:16px;
  padding:16px;
  display:flex;flex-direction:column;gap:10px;
  transition:transform .12s ease,border-color .12s ease;
}
.card:hover{border-color:#2d3550;transform:translateY(-1px)}
.card h3{margin:4px 0 2px;font-size:22px}
.card .desc{color:var(--muted);font-size:14.5px;line-height:1.4}

/* Buttons */
.btnbar{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
button{
  border:1px solid #3a4260;background:#1a2040;color:var(--text);
  border-radius:12px;padding:12px 16px;cursor:pointer;font-size:16px;
  box-shadow:0 4px 12px rgba(0,0,0,.25);transition:transform .12s ease
}
button:hover{transform:translateY(-1px)}
button.primary{background:linear-gradient(180deg,#263169,#1b2146);border-color:#4a5aa0}
button.ghost{background:transparent}
button.small{padding:6px 10px;font-size:14px}
button.success{border-color:#355a3d;background:#142315}
button.warn{border-color:#6b5a2a;background:#231c14}
button.danger{border-color:#754040;background:#2b1313}

/* Badges, misc */
.badge{display:inline-flex;align-items:center;gap:6px;background:#111520;border:1px solid #27304a;
  padding:6px 8px;border-radius:999px;font-size:12px;color:var(--muted)}
.badge.ok{border-color:#345a3c;color:var(--accent2)}
.badge.warn{border-color:#6b5a2a;color:var(--warn)}
.muted{color:var(--muted)}
.center{text-align:center}
.big{font-size:20px}
.success-text{color:var(--accent2)}
.warn-text{color:var(--warn)}
.danger-text{color:var(--danger)}
.hidden{display:none!important}

/* Inputs */
.fake-input{
  background:#0b0e14;border:1px solid #2b344a;border-radius:10px;
  padding:10px;display:flex;gap:8px;align-items:center
}
.fake-input input,.fake-input textarea,input,textarea,select{
  width:100%;background:transparent;border:none;outline:none;color:var(--text);font-family:inherit;font-size:16px
}

/* Progress bar */
.progress{height:10px;background:#0b0e14;border:1px solid #2b344a;border-radius:999px;overflow:hidden}
.progress>span{display:block;height:100%;background:linear-gradient(90deg,#40c9ff,#e81cff);width:0%;transition:width .4s ease}

/* Code areas */
kbd{background:#0b0e14;border:1px solid #2b344a;border-radius:6px;padding:2px 6px;font-family:ui-monospace,Menlo,Consolas,monospace}
pre.code{background:#0b0e14;border:1px solid #2b344a;border-radius:10px;padding:12px;overflow:auto}

/* Dividers / notes */
hr.sep{border:none;border-top:1px dashed #2a2f43;margin:14px 0}
.note{font-size:14px;color:var(--muted)}
ul.checklist{list-style:none;padding-left:0}
ul.checklist li::before{content:"✔ ";color:var(--accent2)}

/* Toast */
.toast{
  position:fixed;bottom:18px;right:18px;background:#0b0e14;color:var(--text);
  border:1px solid #2b344a;padding:10px 14px;border-radius:10px;opacity:0;
  transform:translateY(8px);transition:200ms ease
}
.toast.show{opacity:1;transform:translateY(0)}

/* Table (Rekordu tabula) */
table{width:100%;border-collapse:collapse}
th,td{padding:10px;border-bottom:1px solid #23293b;text-align:left}
thead th{background:#10131c;color:#b8c2cc;font-weight:600}

/* PRINTABLE CERTIFICATE — styled like site */
@media print{
  body{background:#fff}
}
.certificate{
  max-width:900px;margin:0 auto;background:linear-gradient(180deg,#141721,#0f1118);
  color:var(--text);border:2px solid #293047;border-radius:24px;padding:40px;
  box-shadow:var(--shadow)
}
.certificate .brand{
  display:flex;align-items:center;gap:12px;margin-bottom:10px;color:#cfe8ff
}
.certificate h1{
  margin:0 0 6px 0;font-size:32px;letter-spacing:.3px
}
.certificate .line{height:2px;background:linear-gradient(90deg,var(--accent),#e81cff);border-radius:999px;margin:14px 0}
.certificate .holder{
  background:#0b0e14;border:1px solid #2b344a;border-radius:16px;padding:18px;margin:14px 0
}
.certificate .field{display:flex;gap:10px;margin:6px 0}
.certificate .label{width:130px;color:var(--muted)}
.certificate .value{font-weight:700}
.certificate .footer{
  display:flex;justify-content:space-between;align-items:center;margin-top:18px
}
.certificate .stamp{
  border:2px dashed #37415e;border-radius:12px;padding:10px 14px;color:#b9c6d3
}
.certificate .qr{width:128px;height:128px;background:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center}

/* Symbioverse application shell; original game class vocabulary retained. */
.role-page{max-width:950px;margin:0 auto;padding:70px 24px;text-align:center}.role-page>.brand{justify-content:center;margin-bottom:55px}.role-options{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:35px 0}.role-option{text-align:left;cursor:pointer;color:var(--text)}.role-option>span{font-size:40px;color:var(--accent)}.role-option p{color:var(--muted);font-size:14px;line-height:1.7}.role-option:hover{border-color:var(--accent);background:#12302e}.registration-role{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.auth-box label small{margin:0 0 20px;font-size:12px;color:var(--muted)}@media(max-width:600px){.role-options{grid-template-columns:1fr}.role-page{padding-top:35px}.role-page>.brand{margin-bottom:32px}}
:root{--bg:#080e14;--panel:#101a23;--panel-2:#0c151e;--border:#20313e;--text:#e5eff5;--muted:#8598a7;--accent:#48e4cf;--accent2:#48e4cf;--shadow:0 12px 35px #0002}
body{font-family:Segoe UI,Arial,sans-serif;font-size:15px;line-height:1.55}a{color:var(--accent);text-decoration:none}button,.button{font:inherit;border:1px solid #2c404b;background:#13232d;border-radius:9px;padding:10px 16px;display:inline-block;color:var(--text);box-shadow:none}button.primary,.button.primary{color:#07221f;background:#48e4cf;border-color:#48e4cf;font-weight:700}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible{outline:2px solid #48e4cf;outline-offset:4px}.cyan{color:var(--accent)}.gold{color:#f2d182}h1{font-size:34px;letter-spacing:-1.1px;line-height:1.2}h2{font-size:21px;letter-spacing:-.4px}h3{font-size:19px}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.between{justify-content:space-between}.card{background:linear-gradient(140deg,#111e28,#0d1720);border-color:#23333f;border-radius:14px;padding:24px;box-shadow:none}.card:hover{transform:none}.grid.cards{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.sidebar{position:fixed;inset:0 auto 0 0;width:245px;background:#0c141c;border-right:1px solid #20303c;padding:32px 22px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;color:#4ce4d2;font-size:30px;font-weight:700;letter-spacing:-1.2px}.brand>span{font-size:23px;color:#edf6fa}.brand>span>span{color:#54decf}.space-label{color:#587181;font-size:10px;letter-spacing:1.5px;margin:42px 12px 14px}.sidebar nav{display:grid;gap:6px}.sidebar nav a{color:#90a5b3;padding:11px 14px;border-radius:8px;display:flex;gap:14px;align-items:center}.sidebar nav a span{font-size:21px;width:23px}.sidebar nav a.active{background:#10322f;color:#62efdd;border:1px solid #22504b}.future-link{font-size:12px;color:#8ba1b0;padding:10px}.sidebar-bottom{margin-top:auto;padding:20px 10px 0}.online{color:#4adeaf;font-size:12px}.sidebar small{color:#526b7c}.workspace{margin-left:245px}.topbar{height:84px;padding:0 42px;background:#0b131b;border-bottom:1px solid #1c2c38;color:#758c9d;font-size:13px}.topbar b{font-weight:400;color:#c0d2df}.top-right{display:flex;align-items:center;gap:22px}.coin{border:1px solid #51462b;background:#29261966;color:#f2d182;border-radius:9px;padding:6px 12px}.avatar{display:flex;justify-content:center;align-items:center;width:36px;height:36px;border:1px solid #37615d;background:#153530;border-radius:11px;color:#71efdb;font-weight:700}.avatar.large{width:80px;height:80px;font-size:32px}.text-button{background:none;border:none;padding:8px 0;color:#91a7b7;box-shadow:none;font-size:13px}#content{padding:35px 42px 64px;max-width:1440px;margin:auto}.page-title{margin-bottom:28px}.page-title h1{margin:9px 0}.page-title p{margin:8px 0}.eyebrow{font-size:10px;letter-spacing:2px;color:#6cb7b0;font-weight:700}.tag{display:inline-block;border:1px solid #2d4652;border-radius:5px;color:#8caebb;padding:3px 8px;font-size:10px;letter-spacing:.8px}.tag.done{color:#58e9c8;border-color:#286a5d}.hero{display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden;background:radial-gradient(ellipse at 90% 60%,#0b4b4940,transparent 60%),linear-gradient(110deg,#122831,#101d27);border:1px solid #29434d;border-radius:16px;padding:36px 40px;margin-bottom:24px}.hero h2{font-size:36px;line-height:1.25;margin:20px 0 14px}.hero p{color:#91a8b4;margin-bottom:25px}.hero-symbol{width:240px;height:220px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#54e2ce;position:relative}.hero-symbol div{font-size:110px;text-shadow:0 0 40px #4ce4cf55;transform:rotate(-10deg);border:1px solid #34766e;border-radius:40px;padding:0 35px;background:#16413c44;box-shadow:0 0 0 20px #2adfc508,0 0 0 40px #2adfc505}.hero-symbol span{font-size:9px;letter-spacing:3px;margin-top:30px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.stats .card{gap:8px}.stats small{color:#8ea5b5}.stats strong{font-size:32px;font-weight:600}.stats strong span{font-size:22px}.stats .card>span{font-size:12px;color:#7f9aaa}.stats a{font-size:12px}.progress{height:5px;border:none;background:#1c303b;margin-top:12px}.progress>span{background:linear-gradient(90deg,#279a95,#59e5d5)}.section-heading{margin:24px 0 12px}.section-heading a{font-size:13px}.mission-no{font-size:10px;color:#6d9aab;letter-spacing:2px}.mission h3{font-size:20px;margin:12px 0 4px}.mission p{font-size:13px;line-height:1.7;flex:1}.mission-bottom{border-top:1px solid #223440;padding-top:18px;margin-top:12px}.mission small{color:#6f9f9c}.journey{justify-content:center}.journey h3{font-size:25px}.filters{display:flex;gap:15px;margin:20px 0}.filters input{flex:1}.filters select{width:180px}input,textarea,select{border:1px solid #2b404c;border-radius:8px;background:#0a141c;color:#dae8ee;padding:11px 12px;width:100%;outline:none;font-size:14px}input:focus,textarea:focus,select:focus{border-color:#4ce3ce}input[type=checkbox],input[type=radio]{width:auto;accent-color:#4ce3ce}label{display:block;font-size:13px;color:#99aebb}label input,label textarea,label select{display:block;margin:7px 0 18px}label input[type=radio],label input[type=checkbox]{display:inline-block;margin:4px}form{max-width:650px}textarea{min-height:95px}.inline-form{display:flex;align-items:end;gap:15px;max-width:none;flex-wrap:wrap}.inline-form label{flex:1}.inline-form input{margin-bottom:0}.user-form{padding:18px 0;border-bottom:1px solid #24343e;align-items:center}.user-form>span{flex:1;min-width:160px}.user-form small{display:block;color:#728c9c}.user-form select{width:170px}.table-wrap{overflow:auto;margin:22px 0}table{font-size:13px}th{font-size:11px;letter-spacing:1px;color:#7797aa}td,th{padding:15px}.auth{min-height:100vh;display:grid;grid-template-columns:1.15fr 1fr}.auth-story{background:radial-gradient(ellipse at 80% 60%,#10433c88,transparent 60%),#0c1921;padding:60px 12%;position:relative}.auth-story>.eyebrow{display:block;margin-top:80px}.auth-story h1{font-size:68px;line-height:1.1;margin:22px 0}.auth-story em{font-style:normal;color:#51e6d0}.auth-story p{color:#859fab}.orbit{font-size:90px;color:#2d7f75;position:absolute;right:50px;bottom:40px}.orbit span{display:block;font-size:10px;letter-spacing:3px}.auth-box{padding:80px 15%;align-self:center}.auth-box h2{font-size:30px}.auth-box form{margin-top:30px}.wide{width:100%}.auth-box small{display:block;color:#566f7e;margin-top:40px;font-size:11px}#toast{position:fixed;bottom:25px;right:25px;max-width:450px;background:#14352f;border:1px solid #377a6c;border-radius:10px;padding:14px 20px;opacity:0;pointer-events:none;z-index:100;transition:opacity .2s}#toast.show{opacity:1}.game-view .panel{background:#0e1922;padding:24px}.game-view h2{font-size:23px}.game-view .card h3{font-size:18px}.game-view .grid{gap:14px}.game-view input{margin:0}.game-view .fake-input input{background:transparent}.game-status{padding:20px;color:#65cdbb}.game-view .phone{max-height:650px}.game-view .badge{white-space:normal}.game-view .code{overflow:auto;word-break:break-word}.game-view svg{max-width:140px;max-height:140px}.game-view .list label{margin:10px 0}.game-view .success{background:#123b2b;border-color:#2c8061}.game-view .danger{background:#44252a;border-color:#9c4b59}
@media(max-width:1100px){.sidebar{width:210px;padding:25px 14px}.workspace{margin-left:210px}#content{padding:28px}.topbar{padding:0 28px}.hero{padding:28px}.hero-symbol{width:170px}.hero-symbol div{font-size:80px}.hero h2{font-size:30px}}
@media(max-width:760px){.sidebar{position:static;width:auto;padding:14px}.sidebar .brand{justify-content:center}.sidebar nav{display:flex;overflow:auto;margin-top:12px}.sidebar nav a{white-space:nowrap;font-size:12px;padding:7px}.sidebar nav a span{display:none}.space-label,.sidebar-bottom,.future-link{display:none}.workspace{margin:0}.topbar{height:65px;padding:0 18px}.top-right{gap:10px}#content{padding:24px 16px}.hero-symbol{display:none}.hero{padding:25px}.hero h2{font-size:29px}.stats{grid-template-columns:1fr}.grid.cards{grid-template-columns:1fr}.auth{grid-template-columns:1fr}.auth-story{padding:24px}.auth-story>.eyebrow,.auth-story p,.orbit{display:none}.auth-story h1{font-size:32px;margin:24px 0}.auth-story br{display:none}.auth-box{padding:30px 24px}.game-view .grid,.game-view .cfg-grid{grid-template-columns:1fr!important}.game-view [style*="grid-column"]{grid-column:auto!important}.game-view .card{padding:16px}.topbar>span{font-size:11px}.user-form select{width:100%}}
.task-list{display:grid;gap:20px;margin-top:24px}.task-body{white-space:pre-wrap;overflow-wrap:anywhere}.submission{border-top:1px solid var(--line,#254047);padding:20px 0}#invite-result{overflow-wrap:anywhere}form+button{margin-top:12px}
.market-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin-bottom:24px}#item-preview{overflow-wrap:anywhere}#market-items .card{min-width:0}#market-items h2{overflow-wrap:anywhere}@media(max-width:760px){.market-editor-layout{grid-template-columns:1fr}}

/* Community: scoped cards, conversation and persistent group games. */
.community-body{border:0;padding:0;margin:0;min-width:0;max-width:100%;width:100%}
.sidebar{overflow-y:auto}.community-tabs{display:flex;gap:8px;overflow-x:auto;padding:3px 0 18px;margin-bottom:12px}.community-tabs a{white-space:nowrap;border:1px solid #253c47;border-radius:8px;color:#9eb3c2;padding:9px 13px;font-size:13px}.community-tabs a.active{color:#61eedb;border-color:#32756a;background:#153a34}#community-body>.card{margin-bottom:22px}.community-hub a{transition:border-color .15s}.community-hub a:hover{border-color:#4bdcca}.community-symbol{font-size:44px;color:#48e4cf}.community-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:22px}.community-person{display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:15px 0;border-bottom:1px solid #243944}.community-person small{display:block;color:var(--muted)}.community-person button{font-size:12px;padding:7px 10px}.empty-state{padding:18px 0}.prewrap{white-space:pre-wrap;overflow-wrap:anywhere}.community-dialog{max-width:550px;width:calc(100% - 32px);background:#10212b;color:var(--text);border:1px solid #2d605a;border-radius:16px;padding:30px}.community-dialog::backdrop{background:#000a}.dialog-close{float:right}.achievement{text-align:center;position:relative}.achievement.owned{border-color:#2e7e6c;background:radial-gradient(ellipse at 50% 35%,#135e4c55,transparent 70%),#101d26}.achievement-art{font-size:84px;line-height:1.8;color:#5bd7cb;text-shadow:0 0 34px #4bd3bc55}.achievement .progress{margin:15px 0 22px}
.album-card-art{width:min(100%,240px);height:286px;margin:14px auto 20px;position:relative;display:grid;place-items:center}
.album-card-art .album-card-frame{position:relative;width:100%;height:100%;overflow:hidden;border-radius:20px;border:3px solid #698599;background:radial-gradient(circle at 50% 22%,#264f72 0,#101b31 58%,#09101d 100%);box-shadow:0 18px 38px #0007,inset 0 1px #ffffff17}
.album-card-art.has-artwork .album-card-frame::before{content:'';position:absolute;inset:0;background-image:var(--album-card-image);background-position:center;background-size:cover;filter:blur(22px) brightness(.42);transform:scale(1.08);opacity:.95}
.album-card-art.has-artwork .album-card-frame img{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.album-card-art .album-card-frame>span{position:relative;z-index:1;font-size:96px;color:#c0eff2;text-shadow:0 0 34px #78ece266;display:grid;place-items:center;width:100%;height:100%}
.album-card-art.rarity-common .album-card-frame{border-color:#7e98a8}
.album-card-art.rarity-rare .album-card-frame{border-color:#4eaeff;box-shadow:0 18px 38px #0007,0 0 24px #4eaeff24}
.album-card-art.rarity-epic .album-card-frame{border-color:#b47dff;box-shadow:0 18px 38px #0007,0 0 26px #a56cff2b}
.album-card-art.rarity-legendary .album-card-frame{border-color:#f2c56a;box-shadow:0 18px 38px #0007,0 0 28px #f2c56a30}
.blog-feed{display:grid;gap:20px}.blog-feed h2{overflow-wrap:anywhere}.blog-feed blockquote{margin:16px 0;border-left:3px solid #48e4cf;padding:12px 18px;background:#12312c}.chat-layout{display:grid;grid-template-columns:minmax(200px,1fr) minmax(0,2.7fr);gap:20px}.chat-link{display:block;padding:12px;border-radius:8px;overflow-wrap:anywhere}.chat-link.active{background:#174139}.chat-panel{min-width:0}.chat-messages{height:360px;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:5px 10px 14px 0}.chat-bubble{max-width:88%;align-self:flex-start;padding:12px 16px;border:1px solid #2b4555;background:#122734;border-radius:12px}.chat-bubble.mine{align-self:flex-end;background:#153930;border-color:#285e50}.chat-bubble small{font-size:10px;color:var(--muted)}.chat-bubble p{margin:7px 0}.chat-panel form{max-width:none}.chat-panel textarea{min-height:70px}.pixel-panel{max-width:800px;margin-top:20px}.pixel-palette{display:flex;gap:8px;flex-wrap:wrap}.pixel-palette button{width:32px;height:32px;padding:0;background:var(--swatch);border:2px solid transparent}.pixel-palette button[aria-pressed=true]{border-color:white;box-shadow:0 0 0 2px #48e4cf}.pixel-grid{display:grid;grid-template-columns:repeat(24,1fr);aspect-ratio:1;border:1px solid #506575;max-width:650px}.pixel-grid button{border:none;border-radius:0;padding:0;min-width:0;min-height:0;background:#14232b;box-shadow:inset 0 0 0 .35px #64748b40}.pixel-grid button:focus-visible{position:relative;outline:2px solid white;outline-offset:-2px;z-index:1}.game-players{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.player-stat{padding:12px;border:1px solid #273f4b;border-left:4px solid var(--player);border-radius:8px}.player-stat.active{background:#174034}.player-stat b,.player-stat span{display:block;overflow-wrap:anywhere}.player-stat span{font-size:12px;color:#a6c2ce}.mini-board{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(5,minmax(92px,auto));gap:6px;background:#07151b;border:1px solid #29424f;border-radius:16px;padding:12px;margin:20px 0}.board-cell{padding:9px;border:1px solid #2b4652;border-top:4px solid var(--owner);border-radius:8px;background:#13232c;min-width:0;font-size:12px;overflow-wrap:anywhere}.board-cell small{display:block;color:#95adba}.board-cell .owner-name{color:#6cdec9}.board-center{grid-area:2/2/5/5;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:12px}.board-center h3{margin:8px 0}.board-center p{font-size:13px}.dice{font-size:58px;font-weight:600;color:#58e7d0}.tokens{display:flex;flex-wrap:wrap;gap:3px;margin-top:7px}.tokens span{font-size:10px;border-radius:50%;width:19px;height:19px;color:#0a1c24;text-align:center;font-weight:bold}.game-actions{min-height:45px}details.card summary{cursor:pointer;color:#65ddcb}details.card[open] summary{margin-bottom:20px}
@media(max-width:760px){.future-link{display:block;text-align:center}.community-columns,.chat-layout{grid-template-columns:1fr}.community-tabs{margin-bottom:4px}.mini-board{padding:5px;gap:3px;grid-template-rows:repeat(5,minmax(76px,auto))}.board-cell{padding:4px;font-size:9px}.board-cell small{font-size:8px}.board-center{padding:6px}.board-center h3{font-size:14px}.board-center p{font-size:11px}.board-center .eyebrow{font-size:8px;letter-spacing:1px}.dice{font-size:36px}.tokens span{width:15px;height:15px;font-size:8px}.game-players{grid-template-columns:1fr 1fr}.chat-messages{height:320px}.pixel-panel{padding:14px}.community-person .row{gap:5px}}

/* v0.3 marketplace / profile cosmetics */
.market-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin-bottom:24px}
.market-art{display:grid;place-items:center;width:82px;height:82px;margin:12px 0;border-radius:20px;background:linear-gradient(145deg,#1b3556,#111827);color:#86e9f3;font-size:45px;font-weight:600;border:1px solid #405b72}
.market-art.avatar-art{border-radius:50%;background:linear-gradient(135deg,#284e65,#23406d)}
.product-card{min-width:0;overflow-wrap:anywhere}
.product-preview{padding-top:18px;overflow-wrap:anywhere}
.frame-art{border-width:5px}
.frame-cyan{border-color:#2ce4ed!important;box-shadow:0 0 0 2px rgba(44,228,237,.22)}
.frame-gold{border-color:#f7ba4b!important;box-shadow:0 0 0 2px rgba(247,186,75,.22)}
.frame-violet{border-color:#b08cff!important;box-shadow:0 0 0 2px rgba(176,140,255,.2)}
.frame-emerald{border-color:#2adcaa!important;box-shadow:0 0 0 2px rgba(42,220,170,.2)}
.frame-sunset{border-color:#ff8f76!important;box-shadow:0 0 0 2px rgba(255,143,118,.2)}
.frame-frost{border-color:#f0fcff!important;box-shadow:0 0 0 2px rgba(240,252,255,.25)}
.avatar-cosmetic{display:inline-grid;place-items:center;vertical-align:middle;border:3px solid transparent;border-radius:50%;font-size:23px;font-weight:700;background:linear-gradient(150deg,#254260,#101d39);width:44px;height:44px;color:#e2f5ff;text-decoration:none;flex-shrink:0}
.avatar-cosmetic.large{width:92px;height:92px;font-size:46px;border-width:5px}
.avatar-cosmetic.frame-cyan,.avatar-cosmetic.frame-gold,.avatar-cosmetic.frame-violet,.avatar-cosmetic.frame-emerald,.avatar-cosmetic.frame-sunset,.avatar-cosmetic.frame-frost{border-style:solid}
@media(max-width:760px){.market-editor-layout{grid-template-columns:1fr}}

/* v0.5: uploads, friends presence, mailbox, and rarity styles. */
.avatar-cosmetic img,.person-photo img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}
.person-photo{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;min-width:46px;border-radius:50%;background:#26455b;color:#dff5fc;font-size:22px;font-weight:700;overflow:hidden}
.person-photo.large{width:84px;height:84px;min-width:84px;font-size:38px}
.community-person-details{flex:1;min-width:135px}.community-person-details small{display:block;font-size:12px;line-height:1.5}
.presence-online{color:#5ae1b8}.presence-away{color:#97a9ba}
.blog-image{width:100%;max-height:520px;object-fit:contain;border-radius:14px;border:1px solid #304856;background:#0d1820;margin:10px 0 16px}
.product-card,.product-preview,.achievement{border-width:1px;border-style:solid}
.rarity-common{border-color:#647383!important;background-image:linear-gradient(145deg,#192630,#121c24)!important}
.rarity-common .rarity-tag{color:#c5d0da;border:1px solid #647383}
.rarity-rare{border-color:#348bdb!important;background-image:linear-gradient(145deg,#112e4c,#101d2c)!important}
.rarity-rare .rarity-tag{color:#86c8ff;border:1px solid #348bdb}
.rarity-epic{border-color:#a26bec!important;background-image:linear-gradient(145deg,#302043,#1c1634)!important}
.rarity-epic .rarity-tag{color:#e2c2ff;border:1px solid #a26bec}
.rarity-legendary{border-color:#ffc259!important;background-image:linear-gradient(145deg,#473213,#282011)!important}
.rarity-legendary .rarity-tag{color:#ffe69c;border:1px solid #ffc259}
.mail-layout{display:grid;grid-template-columns:minmax(240px,1fr) minmax(0,2fr);gap:18px;align-items:start}
.mail-layout>.card{min-width:0}.mail-threads{display:grid;gap:8px;max-height:500px;overflow-y:auto;margin-top:12px}
.mail-thread{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid #2a4553;border-radius:12px;color:var(--text)}
.mail-thread.active{border-color:#48e4cf;background:#143a33}.mail-thread>.mail-thread-content{flex:1;min-width:0}.mail-thread .mail-thread-content strong,.mail-thread .mail-thread-content small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-thread small{font-size:12px;color:var(--muted)}.mail-unread{border-radius:40px;background:#48e4cf;color:#09251f;padding:2px 8px}
#mail-messages{height:410px;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:10px;margin-bottom:15px;border:1px solid #294250;border-radius:12px}
.mail-message{max-width:90%;align-self:flex-start;background:#172b36;border:1px solid #305061;border-radius:12px;padding:12px 16px}
.mail-message.own{align-self:flex-end;background:#173c35;border-color:#36806d}.mail-message p{margin:7px 0;overflow-wrap:anywhere}.mail-message small{font-size:11px;color:var(--muted)}
@media(max-width:760px){.mail-layout{grid-template-columns:1fr}#mail-messages{height:340px}}

/* v0.5.1: independent, color-coded sidebar links for all sections. */
.sidebar{scrollbar-width:thin;scrollbar-color:#294250 transparent}
.sidebar .space-label{margin-top:23px;margin-bottom:9px}
.sidebar nav{flex-shrink:0;gap:3px}
.sidebar nav a{
  border:1px solid transparent;
  padding:8px 11px;
  gap:11px;
  min-height:41px;
  color:#a4b5c0;
  font-size:13px;
  line-height:1.3;
  transition:background .15s,border-color .15s,color .15s;
}
.sidebar nav a>span{flex:0 0 22px;width:22px;font-size:19px;line-height:1;color:var(--nav-accent,#48e4cf)}
.sidebar nav a:hover{background:color-mix(in srgb,var(--nav-accent,#48e4cf) 9%,transparent);color:#f3f9fb}
.sidebar nav a.active{background:color-mix(in srgb,var(--nav-accent,#48e4cf) 15%,transparent);border-color:color-mix(in srgb,var(--nav-accent,#48e4cf) 45%,transparent);color:#f5fcff;font-weight:600}
.sidebar nav a.active>span{color:var(--nav-accent,#48e4cf)}
.sidebar nav a[data-nav="blog"]{--nav-accent:#ffc86b}
.sidebar nav a[data-nav="dashboard"]{--nav-accent:#51d7d3}
.sidebar nav a[data-nav="games"]{--nav-accent:#b99cff}
.sidebar nav a[data-nav="assignments"]{--nav-accent:#ffaf88}
.sidebar nav a[data-nav="results"]{--nav-accent:#7bc4ff}
.sidebar nav a[data-nav="wallet"]{--nav-accent:#ecca74}
.sidebar nav a[data-nav="market"]{--nav-accent:#85dca5}
.sidebar nav a[data-nav="collection"]{--nav-accent:#d9a3ff}
.sidebar nav a[data-nav="groups"]{--nav-accent:#5accc1}
.sidebar nav a[data-nav="mail"]{--nav-accent:#7cadff}
.sidebar nav a[data-nav="profile"]{--nav-accent:#8ab8e4}
.sidebar nav a[data-nav="teacher"]{--nav-accent:#e6b383}
.sidebar nav a[data-nav="admin"]{--nav-accent:#ff8dba}
.sidebar nav a[data-nav="invitations"]{--nav-accent:#b59afa}
.sidebar nav a[data-nav="friends"]{--nav-accent:#ffb47d}
.sidebar nav a[data-nav="chats"]{--nav-accent:#85b9ff}
.sidebar nav a[data-nav="cards"]{--nav-accent:#d3a1ff}
.sidebar nav a[data-nav="pixel"]{--nav-accent:#92e4a2}
.sidebar nav a[data-nav="monopoly"]{--nav-accent:#ff9399}
.sidebar .sidebar-bottom{flex-shrink:0;padding-top:17px}
/* Mail: the photo is always circular; only the name/preview column grows. */
.mail-thread{min-width:0;width:100%;gap:12px;min-height:68px;padding:11px;text-decoration:none}
.mail-thread>.person-photo{flex:0 0 46px;width:46px;height:46px;min-width:46px;max-width:46px;aspect-ratio:1;border-radius:50%;overflow:hidden}
.mail-thread>.mail-thread-content{display:flex;flex:1 1 0;flex-direction:column;min-width:0;gap:2px}
.mail-thread .mail-thread-content strong{font-size:14px;line-height:1.35}
.mail-thread .mail-thread-content small{font-size:12px;line-height:1.35;color:#98aebd}
.mail-thread>.mail-unread{flex:0 0 auto;min-width:26px;min-height:26px;display:grid;place-items:center;padding:3px 7px;font-size:12px}
.mail-thread:hover{background:#1a3036;border-color:#426779}
.mail-thread.active:hover{background:#16443b}
@media(max-width:760px){
  .sidebar{padding-bottom:14px}
  .sidebar nav{display:flex;overflow-x:auto;scrollbar-width:thin;flex-wrap:nowrap;margin-top:6px;gap:5px}
  .sidebar nav a{white-space:nowrap;font-size:12px;padding:8px 10px;min-height:36px;flex:0 0 auto}
  .sidebar nav a>span{display:none}
  .sidebar .community-nav-label{display:block;margin:10px 0 3px 2px;font-size:9px}
  .mail-layout{grid-template-columns:minmax(0,1fr)}
}

/* v0.5.2: formatted news editor and read-only article layout. */
.rich-editor-shell{border:1px solid #375463;border-radius:13px;overflow:hidden;background:#101c26;min-width:0}
.rich-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:9px;background:#172b36;border-bottom:1px solid #344f60}
.rich-toolbar button{font-size:13px;padding:7px 10px;border-radius:7px;min-height:34px;box-shadow:none;white-space:nowrap}
.rich-toolbar .bold{font-weight:900}.rich-toolbar .italic{font-style:italic}.rich-toolbar .underline{text-decoration:underline}
.rich-tool-label{display:inline-flex;flex-direction:row;align-items:center;gap:6px;font-size:12px;color:#bed3dd;margin:0}
.rich-tool-label select{padding:7px;border:1px solid #496475;border-radius:7px;min-height:34px;background:#10232e;color:var(--text);font-size:12px;max-width:130px}
.rich-palette{padding:2px 6px;border:1px solid #405966;border-radius:7px;white-space:nowrap}
.rich-palette input[type=color]{width:28px;height:29px;border:0;padding:0;cursor:pointer;background:transparent}
.rich-edit-area{min-height:230px;padding:16px 18px;line-height:1.7;overflow-wrap:anywhere;outline:none;white-space:pre-wrap;max-height:650px;overflow-y:auto}
.rich-edit-area:focus{box-shadow:inset 0 0 0 2px #39bcb0}
.rich-edit-area:empty:before{content:attr(data-placeholder);color:#8ea5b2;pointer-events:none}
.rich-editor-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:7px;padding:8px 12px;background:#172b36;color:#91abba;font-size:12px}
.rich-editor-footer .over-limit{color:#ff9090;font-weight:800}
.blog-rich{font-size:15px;line-height:1.75;overflow-wrap:anywhere;min-width:0}
.blog-rich p,.rich-edit-area p{margin:.4em 0 .85em}
.blog-rich h2,.rich-edit-area h2{font-size:1.45em;margin:1.15em 0 .4em}
.blog-rich h3,.rich-edit-area h3{font-size:1.2em;margin:1.1em 0 .4em}
.blog-rich ul,.blog-rich ol,.rich-edit-area ul,.rich-edit-area ol{padding-left:1.75em;margin:8px 0}
.blog-rich li,.rich-edit-area li{margin:4px 0}
.blog-rich table,.rich-edit-area table{border-collapse:collapse;border:1px solid #517280;width:100%;max-width:100%;margin:12px 0;table-layout:fixed;white-space:normal}
.blog-rich th,.blog-rich td,.rich-edit-area th,.rich-edit-area td{border:1px solid #4b6b7a;padding:8px 10px;min-width:48px;vertical-align:top;word-break:break-word}
.blog-rich th,.rich-edit-area th{background:#22404c;font-weight:bold}
.blog-rich blockquote,.rich-edit-area blockquote{border-left:3px solid #48e4cf;padding:8px 14px;margin:12px 0;background:#17332f}
.blog-rich .prewrap{white-space:pre-wrap}
@media(max-width:680px){.rich-toolbar{gap:4px}.rich-toolbar button{padding:7px 8px}.rich-edit-area{padding:12px}.rich-tool-label{flex-wrap:wrap}.blog-rich{overflow-x:auto}}

.rich-toolbar button[aria-pressed="true"]{color:#6af0d5;background:#164940;border-color:#3eab98}

/* v0.6: artwork, premium frames, player marketplace, profile banners */
.editor-extra{display:grid;gap:12px;padding:12px;border:1px solid #31536a;border-radius:12px;background:#10202b}
.editor-extra[hidden]{display:none!important}
input[type=color]{height:48px;width:100%;padding:4px;cursor:pointer;background:#10202b}
.collectible-visual{width:min(100%,230px);height:270px;display:grid;place-items:center;margin:12px auto;border:4px double #77a7be;border-radius:17px;overflow:hidden;position:relative;background:radial-gradient(circle at 50% 35%,#317bab55,#0b1429 70%);box-shadow:0 14px 22px #0005}
.collectible-visual img{width:100%;height:100%;object-fit:contain;display:block}
.collectible-visual>span{font-size:94px;color:#a9edec;text-shadow:0 0 35px #5df7ef88}
.collectible-visual.rarity-rare{border-color:#348bdb!important}
.collectible-visual.rarity-epic{border-color:#a26bec!important}
.collectible-visual.rarity-legendary{border-color:#ffc259!important;box-shadow:0 0 25px #d8a83c44}
.market-banner-art,.profile-banner{position:relative;display:grid;place-items:center;width:100%;min-height:130px;border-radius:14px;overflow:hidden;background:#233b6b;color:#fff}
.market-banner-art img,.profile-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.market-banner-art span{position:relative;z-index:1;font-size:22px;font-weight:800;text-shadow:0 2px 14px #000}
.banner-aurora{background:linear-gradient(115deg,#074f59,#573980,#1b9f78)}
.banner-nebula{background:radial-gradient(circle at 36% 24%,#b459b8 0,transparent 45%),linear-gradient(125deg,#121b40,#173a78,#0d1326)}
.banner-grid{background:repeating-linear-gradient(90deg,#172948 0 2px,transparent 2px 24px),linear-gradient(125deg,#093c3a,#272257)}
.banner-sunrise{background:linear-gradient(110deg,#6c266a,#d26555,#ffb44a)}
.banner-midnight{background:linear-gradient(115deg,#101e30,#21466a,#13243e)}
.profile-banner{height:195px;margin-bottom:18px;flex:none}
.profile-card{overflow:hidden}
.profile-card>.row{align-items:center}
.avatar-cosmetic.cosmetic-colored-frame{border-color:var(--frame-color)!important}
.frame-art{border-color:var(--frame-color)!important}
.effect-glow{box-shadow:0 0 16px 3px var(--frame-color),inset 0 0 7px var(--frame-color)!important}
@keyframes sv-pulse{0%,100%{box-shadow:0 0 0 1px var(--frame-color)}50%{box-shadow:0 0 22px 5px var(--frame-color)}}
.effect-pulse{animation:sv-pulse 2.2s ease-in-out infinite}
@keyframes sv-rainbow{0%{filter:hue-rotate(0deg)}100%{filter:hue-rotate(360deg)}}
.effect-rainbow{animation:sv-rainbow 5s linear infinite}
@keyframes sv-shimmer{0%,100%{box-shadow:0 0 3px var(--frame-color)}50%{box-shadow:0 0 18px 7px var(--frame-color)}}
.effect-shimmer{animation:sv-shimmer 1.4s ease-in-out infinite}
.trade-row{padding:12px;border-bottom:1px solid #315061;gap:12px}
@media(prefers-reduced-motion:reduce){.effect-pulse,.effect-rainbow,.effect-shimmer{animation:none}}
@media(max-width:650px){.profile-banner{height:125px}.collectible-visual{height:220px}.trade-row{flex-wrap:wrap}}
.color-wheel-row{display:flex;align-items:center;flex-wrap:wrap;gap:16px}
.color-wheel-row canvas{width:224px;height:224px;max-width:100%;border-radius:50%;touch-action:none;cursor:crosshair;flex-shrink:0;box-shadow:0 0 0 2px #42627a}
.color-wheel-row>div{flex:1;min-width:120px}
.color-wheel-row output{font-family:monospace;font-size:14px;display:block;margin:8px 0}

/* v0.6.1 — redesigned public profile and account settings */
.profile-showcase{position:relative;background:linear-gradient(145deg,#111f2a,#0c1821);border:1px solid #2b4351;border-radius:20px;overflow:hidden;box-shadow:0 18px 48px #0003;margin-bottom:22px}
.profile-showcase .profile-cover{position:relative;padding:13px 13px 0}
.profile-showcase .profile-banner{height:225px;min-height:0;margin:0;border-radius:13px 13px 10px 10px}
.profile-cover-label{position:absolute;right:34px;top:32px;font-size:10px;letter-spacing:2.2px;font-weight:800;color:#fff;text-shadow:0 1px 12px #071821b3;z-index:1}
.profile-identity{display:flex;align-items:flex-end;gap:22px;min-width:0;padding:0 33px 29px;margin-top:-47px;position:relative;z-index:2}
.profile-photo-holder{position:relative;flex:none;width:134px;height:134px;border:6px solid #101d28;border-radius:50%;background:#10212b;box-shadow:0 10px 26px #0009}
.profile-photo-holder .avatar-cosmetic.large{width:100%;height:100%;border-width:5px;font-size:54px;display:grid;box-sizing:border-box}
.profile-identity-main{min-width:0;flex:1;padding-bottom:5px}
.profile-identity-main h2{font-size:clamp(23px,2.5vw,33px);letter-spacing:-.9px;line-height:1.12;margin:7px 0 14px;overflow-wrap:anywhere;color:#f2f9fc}
.profile-role{color:#91aaba;font-size:13px;overflow-wrap:anywhere}
.role-dot{color:#4fe6cf;padding:0 5px}
.profile-identity-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.profile-level-pill{display:inline-flex;align-items:center;gap:7px;background:#163a35;color:#8df1dd;border:1px solid #285f57;border-radius:100px;padding:6px 12px;font-size:12px;font-weight:750}
.profile-level-icon{font-size:15px}
.profile-badge{display:inline-flex;gap:9px;align-items:center;min-width:0;border:1px solid #846a36;background:linear-gradient(115deg,#47371e,#2e281f);border-radius:100px;color:#ffe1a4;padding:7px 13px;font-size:12px;font-weight:700;box-shadow:inset 0 1px #ffe3a31c;overflow-wrap:anywhere}
.profile-badge-star{font-size:15px;color:#ffca64;text-shadow:0 0 14px #ffbc4d77}
.profile-style-action{align-self:flex-end;white-space:nowrap;margin-bottom:6px;border:1px solid #34535b;background:#152d34;color:#bdf8ed;border-radius:11px;font-size:13px;font-weight:700}
.profile-style-action:hover{background:#1b3e43;border-color:#4ae4cf}
.profile-showcase-bottom{border-top:1px solid #263e4a;display:grid;grid-template-columns:minmax(0,1.8fr) minmax(125px,.75fr) minmax(145px,.9fr);gap:0;background:#0e1b25}
.profile-xp{padding:27px 32px;border-right:1px solid #263e4a;min-width:0}
.profile-xp-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-end}
.profile-overline{color:#799eae;letter-spacing:1.9px;font-size:10px;font-weight:800}
.profile-xp h3{display:flex;align-items:baseline;gap:11px;margin:7px 0 18px}
.profile-level-numeral{font-size:38px;font-weight:800;line-height:1;color:#78efdb;letter-spacing:-1.4px}
.profile-level-description{font-size:14px;font-weight:600;color:#c1d8df}
.profile-xp-next{color:#95aebc;font-size:12px;padding-bottom:20px;text-align:right}
.profile-xp-track{height:9px;border-radius:999px;background:#253843;overflow:hidden}
.profile-xp-track>span{display:block;height:100%;background:linear-gradient(90deg,#2daea3,#64f1d7);border-radius:inherit;box-shadow:0 0 14px #4ee7d988}
.profile-xp-footer{display:flex;justify-content:space-between;gap:8px;margin-top:10px;color:#88a5b4;font-size:11px}
.profile-snapshot{display:flex;align-items:center;gap:14px;padding:24px 20px;min-width:0;border-right:1px solid #263e4a}
.profile-snapshot:last-child{border-right:0}
.profile-snapshot-icon{color:#e2c47c;background:#393123;border:1px solid #605035;border-radius:13px;width:41px;height:41px;display:grid;place-items:center;flex:none;font-size:22px}
.profile-snapshot:last-child .profile-snapshot-icon{color:#a5bff2;background:#262c42;border-color:#374863}
.profile-snapshot>div:last-child{min-width:0}
.profile-snapshot span{color:#7895a4;font-size:10px;letter-spacing:1.1px;font-weight:800;display:block}
.profile-snapshot strong{display:block;font-size:25px;color:#f8d58c;line-height:1.5;white-space:nowrap}
.profile-snapshot strong small{font-size:13px}
.profile-snapshot strong.profile-snapshot-text{color:#d1e3ed;font-size:15px;text-overflow:ellipsis;overflow:hidden;max-width:180px}
.profile-snapshot small{display:block;font-size:11px;color:#829faa;overflow-wrap:anywhere}
.profile-edit-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:20px;align-items:start}
.profile-edit-card{padding:26px 28px;margin:0;min-width:0}
.profile-edit-heading{display:flex;gap:16px;align-items:flex-start;margin-bottom:23px}
.profile-edit-heading h2{font-size:19px;color:#e1eff2;margin:4px 0}
.profile-edit-heading p{font-size:12px;color:#88a4b3;margin:0}
.profile-edit-icon{width:43px;height:43px;flex:none;display:grid;place-items:center;background:#183b3a;color:#69e4d1;border:1px solid #30685d;border-radius:12px;font-size:21px}
.profile-edit-card form{max-width:none}
.profile-edit-card label{font-size:12px;color:#a2bac7}
.profile-edit-card input,.profile-edit-card textarea{width:100%;box-sizing:border-box}
.profile-edit-card input[type=file]{padding:12px;background:#0c1922;border:1px dashed #3a606c;cursor:pointer}
.profile-edit-card textarea{min-height:106px}
.profile-form-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}
.profile-edit-card .button-subtle{background:#14252e;border:1px solid #355160;color:#b5cbd6}
@media(max-width:1100px){.profile-showcase-bottom{grid-template-columns:1fr 1fr}.profile-xp{grid-column:1/-1;border-right:0;border-bottom:1px solid #263e4a}.profile-snapshot:nth-child(2){border-right:1px solid #263e4a}.profile-edit-grid{grid-template-columns:1fr}}
@media(max-width:650px){.profile-showcase .profile-cover{padding:8px 8px 0}.profile-showcase .profile-banner{height:150px}.profile-cover-label{top:22px;right:18px;font-size:9px}.profile-identity{margin-top:-43px;gap:12px;padding:0 19px 22px;flex-wrap:wrap;align-items:center}.profile-photo-holder{width:100px;height:100px;border-width:5px}.profile-photo-holder .avatar-cosmetic.large{font-size:40px}.profile-identity-main{flex-basis:calc(100% - 115px);padding-top:41px}.profile-role{font-size:11px}.profile-identity-main h2{font-size:22px;margin:5px 0 10px}.profile-style-action{margin:0;width:100%;text-align:center}.profile-xp{padding:20px}.profile-xp-next{font-size:11px}.profile-snapshot{padding:16px 13px;gap:9px}.profile-snapshot-icon{width:32px;height:32px;font-size:17px}.profile-snapshot strong{font-size:19px}.profile-snapshot strong.profile-snapshot-text{font-size:12px}.profile-edit-card{padding:20px 18px}}
@media(max-width:390px){.profile-showcase-bottom{grid-template-columns:1fr}.profile-snapshot{border-right:0!important;border-bottom:1px solid #263e4a}.profile-snapshot:last-child{border-bottom:0}}

/* Improved collectible badge emblem, focus/overflow safeguards */
.profile-badge-star{display:inline-grid;place-items:center;min-width:28px;width:28px;height:28px;border-radius:50%;border:1px solid #bb9148;background:radial-gradient(circle at 35% 25%,#84642f,#382914);box-shadow:0 2px 10px #0a0b0e55,0 0 13px #f1b95133;font-size:18px}
.profile-badge-name{display:block;overflow-wrap:anywhere;min-width:0}
.profile-identity-main,.profile-snapshot{overflow-wrap:anywhere}
.profile-style-action:focus-visible,.profile-edit-card button:focus-visible,.profile-edit-card input:focus-visible,.profile-edit-card textarea:focus-visible{outline:2px solid #80ffe5;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.profile-showcase .effect-pulse,.profile-showcase .effect-rainbow,.profile-showcase .effect-shimmer{animation:none}}

/* Accessible, integrated file picker; native upload remains unchanged. */
.profile-edit-card .profile-file-picker{position:relative;display:flex;gap:14px;align-items:center;border:1px dashed #396375;border-radius:12px;background:#0b1d28;padding:14px;cursor:pointer;min-width:0;margin:3px 0 0;transition:border-color .18s,background .18s}
.profile-edit-card .profile-file-picker:hover,.profile-edit-card .profile-file-picker:focus-within{border-color:#55dec9;background:#102d34}
.profile-file-symbol{width:41px;height:41px;flex-shrink:0;display:grid;place-items:center;border:1px solid #326878;border-radius:11px;background:#123540;color:#6ce9df;font-size:24px}
.profile-file-copy{min-width:0;flex:1;display:grid;gap:4px}
.profile-file-copy strong{color:#d9f1f6;font-size:13px;font-weight:700}
.profile-file-copy small{color:#88aabb;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.profile-file-select{padding:8px 10px;flex:none;background:#193942;border:1px solid #3d6d76;border-radius:8px;color:#c8f7ef;font-size:12px;font-weight:700}
.profile-edit-card .profile-file-native{position:absolute!important;left:14px;top:14px;width:1px;height:1px;opacity:0;padding:0;border:0;margin:0;pointer-events:none}
@media(max-width:430px){.profile-file-picker{gap:9px}.profile-file-select{display:none}}

/* v0.6.2 - dedicated friend profiles, sharing the owner's profile design. */
.friend-profile-nav{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:24px}
.friend-profile-back{display:inline-flex;align-items:center;min-height:38px;color:#a8eade;font-weight:650;text-decoration:none;gap:8px}
.friend-profile-back:hover{color:#eefffb;text-decoration:underline}
.friend-presence{display:inline-flex;align-items:center;padding:8px 12px;border:1px solid #2e4b53;border-radius:100px;background:#10252d;font-size:12px}
.friend-profile-showcase .profile-identity{align-items:flex-end}
.friend-profile-showcase .friend-message-action{white-space:nowrap;align-self:flex-end;margin-bottom:6px}
.friend-profile-showcase .profile-role{font-size:14px}
.friend-profile-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}
.friend-profile-card{padding:25px 27px;min-width:0;gap:14px}
.friend-profile-card h2{font-size:20px;margin:4px 0}
.friend-profile-bio{margin:0 0 20px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;min-height:50px;color:#d2e2e8}
.friend-cosmetics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.friend-cosmetics>div{border:1px solid #29434d;border-radius:11px;padding:11px;background:#0e2028;min-width:0}
.friend-cosmetics span{display:block;font-size:11px;color:#89aab8;margin-bottom:5px}
.friend-cosmetics strong{font-size:13px;color:#dcecf2;overflow-wrap:anywhere}
.friend-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:9px}
.friend-card{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid #344250;border-radius:12px;background:#13242d;min-width:0}
.friend-card>span{display:grid;place-items:center;flex:none;width:31px;height:31px;border-radius:9px;background:#33344b;color:#eed29d}
.friend-card>div{min-width:0}
.friend-card strong,.friend-card small{display:block;overflow-wrap:anywhere}
.friend-card strong{font-size:12px}.friend-card small{font-size:11px;color:#95aeb8;margin-top:2px}
.community-person-photo-link{flex:none;display:inline-flex;border-radius:50%;outline-offset:3px}
.community-person-name{display:inline-block;color:#dfeefa;font-weight:700;text-decoration:none;overflow-wrap:anywhere}
.community-person-name:hover{color:#84ebd5;text-decoration:underline}
.community-person-name:focus-visible,.community-person-photo-link:focus-visible,.friend-profile-back:focus-visible{outline:2px solid #86ffe0}
@media(max-width:960px){.friend-profile-grid{grid-template-columns:1fr}}
@media(max-width:650px){.friend-profile-showcase .friend-message-action{width:100%;margin:0}.friend-profile-card{padding:19px 17px}.friend-profile-nav{margin-bottom:14px}.friend-cosmetics{grid-template-columns:1fr 1fr}}
@media(max-width:360px){.friend-cosmetics{grid-template-columns:1fr}}

/* Symbioverse v0.6.3 · Premium DT Coins store / Marketplace / item studio */
.sv-market{--sv-mint:#60e8d4;--sv-gold:#f3cf87;--sv-soft:#9bb6c4;--sv-line:#2a4553;min-width:0;display:grid;gap:22px;isolation:isolate}
.sv-market h1,.sv-market h2,.sv-market h3,.sv-market p{margin-top:0}
.sv-shop-hero{min-height:215px;display:flex;align-items:center;justify-content:space-between;gap:28px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 80% 28%,#276b91a0,transparent 42%),radial-gradient(ellipse at 90% 130%,#603d94bb,transparent 60%),linear-gradient(125deg,#112631 0%,#101c31 58%,#111830 100%);border:1px solid #416679;border-radius:23px;padding:32px 38px;box-shadow:0 18px 65px #020b1680,inset 0 1px #8ac7d327}
.sv-shop-hero:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.3;background:repeating-linear-gradient(115deg,transparent 0 70px,#ffffff06 71px 72px);mask-image:linear-gradient(90deg,transparent,#000)}
.sv-hero-aura{position:absolute;width:260px;height:260px;right:14%;top:-185px;background:#6fead8;border-radius:50%;filter:blur(100px);opacity:.15;pointer-events:none}
.sv-shop-hero-main{position:relative;z-index:1;min-width:0;max-width:660px}
.sv-overline{display:inline-flex;gap:9px;align-items:center;font-size:11px;letter-spacing:2px;font-weight:800;color:#74ead9;text-transform:uppercase}
.sv-shop-hero h1{font-size:clamp(30px,3vw,44px);letter-spacing:-1.3px;line-height:1.12;color:#f4fcff;margin:14px 0 12px}
.sv-shop-hero p{max-width:510px;line-height:1.65;color:#acc2d2;font-size:14px;margin:0}
.sv-shop-summary{flex:none;position:relative;z-index:1;min-width:205px;display:grid;gap:8px;background:#071a2bc9;border:1px solid #467087a6;border-radius:16px;padding:22px 24px;box-shadow:inset 0 1px #a9e7ff17}
.sv-summary-label{font-size:11px;color:#9db6c8;letter-spacing:.8px}
.sv-shop-summary strong{font-size:42px;color:#f2dcaa;font-weight:800;line-height:1.05;letter-spacing:-1px;font-variant-numeric:tabular-nums}
.sv-summary-extra{font-size:11px;color:#65dfce;font-weight:700}
.sv-shop-nav{display:flex;gap:8px;flex-wrap:wrap;padding:7px;background:#0c1b27;border:1px solid #293f4e;border-radius:15px;width:fit-content;max-width:100%;box-shadow:0 8px 30px #0002}
.sv-shop-nav a{display:inline-flex;gap:10px;align-items:center;padding:10px 17px;border:1px solid transparent;border-radius:10px;color:#a7c1ce;font-size:13px;font-weight:700;text-decoration:none;transition:.18s ease}
.sv-shop-nav a span{font-size:18px;line-height:1}
.sv-shop-nav a:hover{color:#f3ffff;background:#193545}
.sv-shop-nav a.current{color:#91fff0;border-color:#347565;background:linear-gradient(135deg,#17483f,#143334);box-shadow:0 0 0 1px #72fbe90c,inset 0 1px #b6ffe31c}
.sv-shop-nav a:focus-visible,.sv-category:focus-visible,.sv-product-card a:focus-visible,.sv-product-card button:focus-visible{outline:2px solid #79f5df;outline-offset:3px}
.sv-catalog-toolbar{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(155px,1fr) minmax(145px,1fr) minmax(150px,1fr);gap:12px;background:linear-gradient(135deg,#111f2a,#0c1720);border:1px solid #2d4655;border-radius:16px;padding:16px;min-width:0}
.sv-catalog-toolbar>*{min-width:0}
.sv-catalog-toolbar select,.sv-catalog-toolbar input{width:100%;max-width:100%;margin:0;height:44px;border-radius:10px;background:#0a1924;border:1px solid #304957;color:#d7e9f4;font-size:12px}
.sv-catalog-toolbar .sv-search-field{margin:0;position:relative;display:flex;align-items:center}
.sv-search-field span{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#84bebf;font-size:25px;line-height:1;pointer-events:none}
.sv-catalog-toolbar .sv-search-field input{padding-left:39px}
.sv-catalog-toolbar input:focus,.sv-catalog-toolbar select:focus{border-color:#65e5d2;box-shadow:0 0 0 2px #49dfb719}
.sv-catalog-categories{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:-5px}
.sv-market .sv-category{border:1px solid #2b4351;border-radius:50px;background:#102330;color:#a5bac7;display:inline-flex;gap:11px;align-items:center;padding:9px 15px;font-size:12px;font-weight:650;box-shadow:none}
.sv-market .sv-category:hover{border-color:#5bd5c4;color:#effdfa}
.sv-market .sv-category.active{border-color:#49b9a6;background:#17463f;color:#92fff0}
.sv-category small{background:#253b47;border-radius:30px;padding:2px 7px;color:#c3d9e1;font-size:10px}
.sv-market .sv-category.active small{background:#235f52;color:#e0fff8}
.sv-catalog-count{display:flex;justify-content:flex-end;color:#83a5b3;font-size:11px;min-height:17px;letter-spacing:.3px;margin-top:-12px}
.sv-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch;min-width:0}
.sv-market .sv-product-card{--tier:#5d7b8d;position:relative;display:flex;flex-direction:column;gap:0;min-width:0;padding:12px;overflow:hidden;border:1px solid #304d5d;border-radius:19px;background:linear-gradient(170deg,#132737,#0b1927 85%)!important;box-shadow:0 10px 40px #0002,inset 0 1px #ffffff09;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}
.sv-market .sv-product-card:hover{transform:translateY(-3px);border-color:var(--tier);box-shadow:0 22px 50px #0005,0 0 24px color-mix(in srgb,var(--tier) 17%,transparent)}
.sv-market .sv-product-card.rarity-common{--tier:#8aa2b3}
.sv-market .sv-product-card.rarity-rare{--tier:#57b8ff}
.sv-market .sv-product-card.rarity-epic{--tier:#c293ff}
.sv-market .sv-product-card.rarity-legendary{--tier:#efc576}
.sv-product-art{position:relative;height:242px;border:1px solid #33566b85;background:radial-gradient(ellipse at 48% 20%,color-mix(in srgb,var(--tier) 30%,transparent),transparent 65%),linear-gradient(145deg,#122d41,#0a1425);border-radius:13px;display:flex;align-items:center;justify-content:center;padding:14px;overflow:hidden;min-width:0}
.sv-product-art:before{content:"";position:absolute;width:160px;height:160px;border-radius:50%;background:var(--tier);filter:blur(70px);opacity:.17;pointer-events:none}
.sv-product-art .market-art{width:110px;height:110px;margin:0;font-size:58px;box-shadow:0 18px 38px #040a1499,0 0 40px #59ddca18;border-radius:28px;position:relative;z-index:1}
.sv-product-art .avatar-art{border-radius:50%;width:124px;height:124px}
.sv-product-art .frame-art{border:6px solid var(--frame-color)!important}
.sv-product-art.sv-kind-banner{padding:18px}
.sv-product-art .market-banner-art{height:158px;min-height:158px;align-self:center;border:1px solid #769cc480;box-shadow:0 14px 30px #050c1880;position:relative;z-index:1}
.sv-product-art .market-banner-art span{font-size:17px;padding:0 12px;text-align:center;overflow-wrap:anywhere}
.sv-product-art .collectible-visual{width:min(100%,171px);height:216px;flex:none;margin:0;border-width:3px;border-style:solid;border-color:var(--tier)!important;box-shadow:0 12px 30px #0009,0 0 19px color-mix(in srgb,var(--tier) 28%,transparent);border-radius:13px;z-index:1}
/* Preserve the full original artwork in albums; catalog tiles use a dedicated full-bleed crop. */
.collectible-visual.has-artwork:before{content:"";position:absolute;inset:-12px;background-image:var(--card-backdrop);background-position:center;background-size:cover;filter:blur(14px) brightness(.5);opacity:.9;pointer-events:none}
.collectible-visual.has-artwork img{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:contain;object-position:center}
/* v0.6.4: Full-bleed collectible artwork in shop, collection, trading and editor tiles.
   Keep the original aspect ratio while filling the complete product image area.
   Only catalog tiles crop; the card album still shows the uncropped original. */
.sv-product-art.sv-kind-card{padding:0;border-color:var(--tier)}
.sv-product-art.sv-kind-card .collectible-visual{
 width:100%;height:100%;margin:0;min-width:0;min-height:0;display:block;
 border:0!important;border-radius:inherit;box-shadow:none;
}
.sv-product-art.sv-kind-card .collectible-visual.has-artwork::before{display:none}
.sv-product-art.sv-kind-card .collectible-visual.has-artwork img{
 position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;
}
.sv-product-info{padding:17px 7px 12px;display:grid;gap:10px;min-height:142px;min-width:0}
.sv-product-meta{display:flex;gap:8px;justify-content:space-between;align-items:center;min-width:0}
.sv-product-meta>span:first-child{font-size:10px;letter-spacing:1.1px;text-transform:uppercase;color:#84aebc;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sv-rarity{display:inline-flex;align-items:center;gap:5px;flex:none;border:1px solid var(--tier);border-radius:30px;padding:4px 8px;color:var(--tier);background:color-mix(in srgb,var(--tier) 9%,#071827);font-size:10px;font-weight:800;letter-spacing:.1px}
.sv-rarity span{font-size:9px}
.sv-market .sv-product-card h3{font-size:18px;line-height:1.22;letter-spacing:-.4px;font-weight:750;color:#f0fafc;margin:0;overflow-wrap:anywhere}
.sv-product-description{font-size:12px;color:#97adbc;line-height:1.5;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:36px;margin:0}
.sv-product-bottom{margin-top:auto;padding:14px 8px 7px;border-top:1px solid #294452;display:grid;gap:9px;min-width:0}
.sv-product-price{display:flex;gap:8px;justify-content:space-between;align-items:center;min-width:0}
.sv-product-price>div{display:grid;gap:2px;min-width:0}
.sv-product-price>div>span{font-size:10px;color:#8caaba;text-transform:uppercase;letter-spacing:1px}
.sv-product-price strong{font-size:23px;letter-spacing:-.5px;color:#f3ce82;white-space:nowrap}
.sv-product-price strong small{font-size:12px;color:#c5a86a;letter-spacing:0}
.sv-equipped{font-size:9px;color:#77e9d1;font-weight:800;letter-spacing:1px;background:#16483d;border:1px solid #236e57;border-radius:5px;padding:5px 7px}
.sv-product-note{font-size:11px;color:#8ba9b9;line-height:1.5}
.sv-product-actions{display:flex;flex-direction:column;gap:8px;min-height:43px;margin-top:5px}
.sv-market .sv-product-actions button,.sv-market .sv-product-actions a{min-height:42px;padding:9px 12px;font-size:12px;border-radius:9px;font-weight:700;width:100%;text-align:center;white-space:normal}
.sv-market .sv-buy{background:#53dbc5;border:1px solid #53dbc5;color:#072621;box-shadow:0 6px 22px #39a89729}
.sv-market .sv-buy:not(:disabled):hover{background:#78ffdf}
.sv-market .sv-secondary-action{border:1px solid #365769;background:#152d3b;color:#afdae8}
.sv-market .sv-inline-link{border:0;color:#78dfd0;padding:7px!important;min-height:0!important;background:none}
.sv-owned-badge{position:absolute;z-index:3;top:24px;left:23px;background:#123f39ec;color:#93ffe6;border:1px solid #4ba68e;border-radius:8px;padding:5px 8px;font-size:10px;font-weight:750;box-shadow:0 5px 14px #0006}
.sv-status{display:inline-flex;align-items:center;gap:6px;border-radius:8px;padding:6px 9px;font-size:10px;font-weight:800;white-space:nowrap}
.sv-status-published{color:#71e9cf;background:#16463b;border:1px solid #2c7865}
.sv-status-draft{color:#b2c3d3;background:#1e303d;border:1px solid #405265}
.sv-status-archived{color:#e7b5a1;background:#483026;border:1px solid #695046}
.sv-status-sold{color:#e3d19c;background:#3b3521;border:1px solid #6c6034}
.sv-empty{grid-column:1/-1;padding:65px 24px;text-align:center;border:1px dashed #355365;border-radius:17px;background:#0e202b;display:grid;justify-items:center;gap:8px}
.sv-empty>span{display:grid;place-items:center;width:68px;height:68px;border-radius:50%;border:1px solid #345e6a;background:#173c46;color:#79e7cf;font-size:32px}
.sv-empty h3{color:#e8f6fb;margin:10px 0 0}.sv-empty p{max-width:420px;color:#96afbc;margin:0;font-size:13px}
/* Trading cards */
.sv-market .sv-trade-toolbar{grid-template-columns:minmax(220px,1.7fr) minmax(140px,1fr) minmax(160px,1fr)}
.sv-seller{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline;font-size:11px;color:#98b9c6}
.sv-seller strong{font-size:12px;color:#dceaf0;overflow-wrap:anywhere}
.sv-trade-mine,.sv-catalog-panel{background:linear-gradient(135deg,#111f2a,#0b1722);border:1px solid #2a4251;border-radius:19px;padding:25px;min-width:0;margin-top:12px}
.sv-section-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:18px}
.sv-section-heading h2{font-size:25px;color:#eef7fb;margin:6px 0 3px}.sv-section-heading p{color:#93aebb;font-size:12px;margin:0}
.sv-section-count{padding:8px 11px;border:1px solid #3a5969;border-radius:8px;color:#a5c6d4;font-size:12px}
.sv-text-link{font-size:12px;font-weight:700;color:#6be6d5}
.sv-my-listings{display:grid;gap:10px}
.sv-listing-row{display:flex;gap:14px;align-items:center;background:#0e2230;border:1px solid #294655;padding:13px 16px;border-radius:12px;min-width:0}
.sv-listing-symbol{flex:none;width:42px;height:42px;display:grid;place-items:center;background:#1a3948;border:1px solid #34596a;color:#c3eaf2;font-size:22px;border-radius:10px}
.sv-listing-text{display:grid;gap:4px;min-width:0;flex:1}.sv-listing-text strong{font-size:13px;overflow-wrap:anywhere}.sv-listing-text small{color:#91acb9;font-size:11px}
.sv-listing-row button{font-size:12px;padding:8px 13px;flex:none}
/* Professional item studio */
.sv-editor-layout{display:grid;grid-template-columns:minmax(0,1.17fr) minmax(290px,.83fr);gap:22px;align-items:start;min-width:0}
.sv-editor-panel,.sv-preview-panel{background:linear-gradient(145deg,#122330,#0b1823);border:1px solid #345364;border-radius:19px;box-shadow:0 18px 50px #0003;min-width:0}
.sv-editor-panel{padding:24px}.sv-preview-panel{padding:20px}
.sv-editor-title,.sv-preview-title{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-bottom:18px;border-bottom:1px solid #2a4554}
.sv-editor-title h2{font-size:26px;margin:8px 0 0;color:#f1fafc}
.sv-market .sv-small-action{font-size:12px;font-weight:750;background:#164039;border:1px solid #367a69;color:#8df2df;padding:9px 13px}
.sv-editor-panel form{max-width:none;margin:0}
.sv-form-section{margin:22px 0 0;padding-bottom:20px;border-bottom:1px solid #2b4451;min-width:0}
.sv-form-section:last-of-type{border-bottom:0;padding-bottom:0}
.sv-form-heading{display:flex;gap:12px;align-items:center;margin-bottom:16px}
.sv-form-heading>span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#1c4846;border:1px solid #3d776c;color:#82e9d4;font-size:11px;font-weight:800}
.sv-form-heading h3{font-size:16px;font-weight:800;color:#dfeef4;letter-spacing:-.2px;margin:0}
.sv-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-width:0}
.sv-editor-panel label{font-size:12px;color:#a2becc;font-weight:650;min-width:0;margin:0}
.sv-editor-panel label>input,.sv-editor-panel label>select,.sv-editor-panel label>textarea{display:block;width:100%;box-sizing:border-box;margin:7px 0 13px;border-radius:10px;background:#091924;border-color:#325366;font-size:13px;color:#e5f5fa;min-width:0}
.sv-editor-panel textarea{min-height:94px;resize:vertical}
.sv-editor-panel .editor-extra{background:#0e2533;border:1px solid #315364;padding:16px;border-radius:13px;display:grid;gap:10px}
.sv-editor-panel .editor-extra[hidden],.sv-market [hidden]{display:none!important}
.sv-editor-panel .editor-extra label input{margin:7px 0 10px}
.sv-editor-panel input[type=file]{border:1px dashed #4b7884;min-height:56px;padding:11px;background:#102c3b;cursor:pointer}
.sv-editor-panel input[type=file]::file-selector-button{background:#23524d;color:#d6fff6;border:1px solid #3f9081;border-radius:7px;padding:8px 12px;margin-right:12px;cursor:pointer;font-weight:700}
.sv-editor-panel .sv-checkbox{display:flex;gap:8px;align-items:center;font-size:12px}
.sv-editor-panel .sv-checkbox input{width:auto;margin:0}
.sv-editor-panel .editor-extra small,.sv-editor-hint{font-size:11px;color:#93aebb;line-height:1.6}
.sv-editor-hint{padding:13px;border:1px solid #2a4655;border-radius:11px;background:#112836;margin:14px 0 0}
.sv-color-controls{min-width:110px;flex:1}.sv-color-controls input[type=color]{height:50px;max-width:150px}
.sv-color-controls output{display:block;color:#cbefe9;font-size:12px;letter-spacing:2px;font-weight:800;margin-bottom:14px}
.sv-color-controls input[type=range]{cursor:pointer}
.sv-editor-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap;padding:20px 0 0}
.sv-editor-actions button{min-height:46px;font-weight:750;padding:11px 20px}
.sv-editor-actions span{font-size:11px;color:#84a5b5}
.sv-preview-column{display:grid;gap:16px;position:sticky;top:22px;min-width:0}
.sv-preview-title span{color:#80e8d8;font-size:10px;font-weight:800;letter-spacing:1.4px}
.sv-preview-title small{font-size:10px;color:#819dab}
#item-preview{padding-top:18px;max-width:350px;margin:0 auto}
.sv-product-preview{width:100%;max-width:100%}
.sv-product-preview .sv-product-art{height:255px}
.sv-preview-tip{border:1px solid #2c4e55;background:#112d35;border-radius:12px;padding:14px 16px;display:flex;gap:10px;align-items:start;font-size:12px;line-height:1.6;color:#9ec5c9}
.sv-preview-tip>span{min-width:0}
.sv-catalog-panel .sv-catalog-toolbar{margin-bottom:20px}
.sv-catalog-panel .sv-product-grid{margin-top:0}
.sv-edit-product{background:#173845!important;border-color:#3f7880!important;color:#9ce7e4!important}
.sv-market-dialog{background:#0e202c;color:#e8f6fb;border:1px solid #397383;border-radius:20px;box-shadow:0 25px 100px #000b;width:min(440px,calc(100% - 30px));max-height:calc(100vh - 40px);padding:30px;overflow:auto}
.sv-market-dialog::backdrop{background:#01070dcc;backdrop-filter:blur(6px)}
.sv-market-dialog form{max-width:none}.sv-market-dialog h2{font-size:23px;color:#f0faff;margin:14px 0 8px}.sv-market-dialog p{font-size:13px;line-height:1.6}
.sv-dialog-mark{display:grid;place-items:center;background:#154a40;border:1px solid #368778;border-radius:12px;width:46px;height:46px;color:#a6ffe6;font-size:25px}
.sv-market-dialog label{font-size:12px;margin:16px 0;color:#adcbd7}.sv-market-dialog input{margin-top:7px}
.sv-dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.sv-dialog-actions button{font-size:13px}
@media(max-width:1200px){.sv-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sv-editor-layout{grid-template-columns:minmax(0,1fr) minmax(265px,.82fr)}.sv-catalog-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1020px){.sv-editor-layout{grid-template-columns:1fr}.sv-preview-column{position:static;max-width:440px;width:100%;margin:auto}.sv-market .sv-preview-panel{width:100%}.sv-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.sv-market{gap:16px}.sv-shop-hero{flex-direction:column;align-items:stretch;padding:26px 22px;gap:22px;min-height:unset}.sv-shop-hero h1{font-size:30px}.sv-shop-summary{width:100%;min-width:0;padding:15px 18px}.sv-shop-summary strong{font-size:30px}.sv-shop-nav{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.sv-shop-nav a{padding:10px 7px;font-size:11px;justify-content:center;gap:7px;white-space:nowrap}.sv-shop-nav a span{font-size:15px}.sv-catalog-toolbar,.sv-market .sv-trade-toolbar{grid-template-columns:1fr;padding:13px;gap:9px}.sv-catalog-toolbar select,.sv-catalog-toolbar input{height:43px}.sv-catalog-categories{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.sv-market .sv-category{white-space:nowrap}.sv-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.sv-market .sv-product-card{padding:7px;border-radius:13px}.sv-product-art{height:177px;padding:8px;border-radius:9px}.sv-product-art .collectible-visual{width:min(100%,116px);height:150px}.sv-product-art .collectible-visual>span{font-size:52px}.sv-product-art .market-art{width:72px;height:72px;font-size:36px}.sv-product-art .avatar-art{width:82px;height:82px}.sv-product-art .market-banner-art{height:92px;min-height:92px}.sv-product-art .market-banner-art span{font-size:12px}.sv-product-info{padding:10px 5px;gap:7px;min-height:124px}.sv-product-meta{flex-wrap:wrap}.sv-rarity{font-size:9px;padding:3px 6px}.sv-product-meta>span:first-child{font-size:9px}.sv-market .sv-product-card h3{font-size:14px}.sv-product-description{font-size:11px;min-height:31px}.sv-product-bottom{padding:10px 4px 4px}.sv-product-price strong{font-size:18px}.sv-market .sv-product-actions button,.sv-market .sv-product-actions a{padding:8px;font-size:11px}.sv-owned-badge{top:13px;left:12px;font-size:9px;padding:4px 5px}.sv-form-grid{grid-template-columns:1fr}.sv-editor-panel,.sv-preview-panel,.sv-catalog-panel,.sv-trade-mine{padding:16px}.sv-listing-row{gap:8px;flex-wrap:wrap}.sv-listing-row .sv-status{margin-left:auto}.sv-listing-row button{margin-left:50px}.sv-editor-title h2{font-size:22px}}
@media(max-width:420px){.sv-product-grid{grid-template-columns:1fr}.sv-product-art{height:232px}.sv-product-art .collectible-visual{width:min(100%,164px);height:210px}.sv-product-art .market-art{width:105px;height:105px;font-size:52px}.sv-product-art .avatar-art{width:118px;height:118px}.sv-product-art .market-banner-art{height:135px;min-height:135px}.sv-product-info{min-height:0}.sv-market .sv-product-card h3{font-size:17px}.sv-product-price strong{font-size:23px}.sv-shop-nav{gap:4px}}
@media(prefers-reduced-motion:reduce){.sv-market .sv-product-card,.sv-shop-nav a{transition:none}.sv-market .sv-product-card:hover{transform:none}}

.sv-unavailable{display:block;border:1px solid #43545d;border-radius:8px;padding:10px;background:#142734;color:#b8c6d1;font-size:11px;text-align:center}


/* v0.7.2: administrator-uploaded product artwork for badges and profile avatars. */
.sv-product-art .market-art.has-artwork{padding:0;overflow:hidden;isolation:isolate;background:#112a3c}
.sv-product-art .market-art.has-artwork img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;min-height:0}
.sv-product-art .avatar-art.has-artwork img{object-fit:cover;border-radius:50%}
.sv-product-art .badge-art.has-artwork img{border-radius:inherit}
.profile-badge-star{overflow:hidden;flex-shrink:0}
.profile-badge-star img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;border-radius:inherit}
.avatar-cosmetic img{min-width:0;min-height:0;object-fit:cover;object-position:center}

/* v0.8.2 Teacher institution code assistance */
.sv-teacher-help{margin:4px 0 18px;padding:15px 17px;border:1px solid #3c7267;border-radius:12px;background:linear-gradient(125deg,#153c36,#102834);color:#d9f8ee;font-size:13px;line-height:1.6}
.sv-teacher-help strong{color:#8cf3dc}.sv-teacher-help p{margin:7px 0 0;color:#c5dce0}.sv-teacher-help a{color:#94e8ff;text-decoration:underline;overflow-wrap:anywhere}

/* 0.8.6 full product descriptions and movable banner positioning */
.sv-product-description{display:block!important;-webkit-line-clamp:unset!important;overflow:visible!important;min-height:0!important;white-space:pre-wrap!important;overflow-wrap:anywhere}
.profile-banner img{object-position:var(--banner-x,50%) var(--banner-y,50%)}
.sv-banner-position{grid-column:1/-1;border:1px solid #315667;background:#112b37;border-radius:17px;padding:17px;display:grid;gap:12px}
/* Share the exact visible geometry with the profile banner (both containers span the same grid width).
   The edit panel has 17px padding/border on each side, while .profile-cover has 13px.
   Thus expanding the preview by 8px aligns its content width with the real profile banner. */
.profile-showcase .profile-banner,.sv-banner-position-preview{height:225px;min-height:0;border-radius:13px 13px 10px 10px}
.sv-banner-position-preview{box-sizing:border-box;width:calc(100% + 8px);margin-inline:-4px;overflow:hidden;background:#17364c;position:relative}
.sv-banner-position-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--banner-x,50%) var(--banner-y,50%)}
.sv-banner-position-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.sv-banner-position-controls label{display:grid;gap:7px;color:#b7d6de;font-size:12px}
.sv-banner-position-controls input{width:100%}
@media(max-width:650px){.profile-showcase .profile-banner,.sv-banner-position-preview{height:150px}.sv-banner-position-preview{width:calc(100% + 18px);margin-inline:-9px}}
@media(max-width:520px){.sv-banner-position-controls{grid-template-columns:1fr}}

/* v0.9.0.1 — compact, independent profile settings columns and inline avatar edit */
.sv-profile-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start;margin-top:18px}
.sv-profile-settings-column{display:flex;flex-direction:column;gap:16px;min-width:0}
.sv-profile-settings .profile-edit-card{padding:23px 24px}
.sv-profile-settings .profile-edit-heading{margin-bottom:16px}
.sv-profile-settings .profile-edit-card textarea{min-height:90px}
.profile-photo-holder{isolation:isolate}
.sv-avatar-pencil{position:absolute;z-index:7;right:-3px;bottom:3px;width:36px;height:36px;display:grid;place-items:center;cursor:pointer;background:#34dcc7;color:#06212b;border:3px solid #10212b;border-radius:50%;font-size:19px;font-weight:900;box-shadow:0 4px 15px #0009,0 0 15px #23ddbd44;transition:transform .17s ease,background .17s ease}
.sv-avatar-pencil:hover{transform:scale(1.09);background:#8cfae9}
.sv-avatar-pencil:focus-visible,.sv-avatar-dialog-close:focus-visible,.sv-avatar-choose-cosmetic:focus-visible{outline:2px solid #8cfae9;outline-offset:4px}
.sv-avatar-dialog{width:min(440px,calc(100% - 28px));max-height:min(85vh,700px);box-sizing:border-box;overflow-y:auto;padding:25px;background:#101f2a;color:#e7f4f6;border:1px solid #376575;border-radius:18px;box-shadow:0 25px 85px #000a}
.sv-avatar-dialog::backdrop{background:#030d15b9;backdrop-filter:blur(5px)}
.sv-avatar-dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px}
.sv-avatar-dialog-head h2{font-size:22px;margin:7px 0}
.sv-avatar-dialog-head p{color:#a8c0ca;font-size:13px;margin:0}
.sv-avatar-dialog-close{background:#1c3542;color:#e5f8f7;border:1px solid #3b6070;border-radius:10px;width:34px;height:34px;font-size:23px;cursor:pointer;flex:none}
.sv-avatar-dialog-panel .profile-file-picker{position:relative;display:flex;gap:14px;align-items:center;border:1px dashed #396375;border-radius:12px;background:#0b1d28;padding:14px;cursor:pointer;min-width:0;margin:3px 0 0}
.sv-avatar-dialog-panel .profile-file-picker:hover,.sv-avatar-dialog-panel .profile-file-picker:focus-within{border-color:#55dec9;background:#102d34}
.sv-avatar-dialog-panel .profile-file-native{position:absolute!important;left:14px;top:14px;width:1px;height:1px;opacity:0;padding:0;border:0;margin:0;pointer-events:none}
.sv-avatar-dialog-panel .profile-file-symbol{flex:none}
.sv-avatar-dialog-panel .profile-file-copy{min-width:0;flex:1}
.sv-avatar-dialog-panel .profile-file-copy strong,.sv-avatar-dialog-panel .profile-file-copy small{display:block;overflow-wrap:anywhere}
.sv-avatar-dialog-panel .profile-file-copy small{color:#88a4b3;font-size:11px;margin-top:3px}
.sv-avatar-dialog-panel .profile-file-select{flex:none;color:#78e5d4;font-size:12px}
.sv-avatar-dialog-panel .profile-form-actions{margin-top:16px}
.sv-avatar-dialog-divider{display:flex;align-items:center;gap:12px;color:#7f9eaa;font-size:11px;margin:23px 0 16px}
.sv-avatar-dialog-divider:before,.sv-avatar-dialog-divider:after{content:'';flex:1;border-top:1px solid #2f4b59}
.sv-avatar-choose-cosmetic{display:block;text-align:center;box-sizing:border-box;width:100%;padding:12px 14px}
@media(max-width:850px){.sv-profile-settings{grid-template-columns:minmax(0,1fr);gap:14px}.sv-profile-settings-column{gap:14px}}
@media(max-width:650px){.sv-profile-settings .profile-edit-card{padding:20px 18px}.sv-avatar-pencil{width:32px;height:32px;right:-4px;bottom:-2px;font-size:17px}.sv-avatar-dialog{padding:20px}}

.sv-avatar-catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-height:260px;overflow:auto;padding:3px}
.sv-avatar-option{background:#122a36;border:1px solid #315769;border-radius:13px;color:#d8edf3;padding:11px 8px;display:flex;align-items:center;flex-direction:column;gap:7px;cursor:pointer;text-align:center;min-width:0;transition:background .17s,border-color .17s}
.sv-avatar-option:hover:not(:disabled){background:#1b3e46;border-color:#69e6d4}
.sv-avatar-option.is-active{border-color:#38ddc6;background:#18413f;opacity:.8;cursor:default}
.sv-avatar-option-art{width:56px;height:56px;display:grid;place-items:center;font-size:36px;color:#73e9d9}
.sv-avatar-option-art .market-art{max-width:100%;max-height:100%}
.sv-avatar-option-art .market-art img{width:56px;height:56px;border-radius:50%;object-fit:cover}
.sv-avatar-option>span:nth-child(2){font-size:12px;max-width:100%;overflow-wrap:anywhere}
.sv-avatar-option small{color:#6ce3ca;font-size:10px}
.sv-avatar-use-photo{display:block;width:100%;border:1px solid #3b887b;border-radius:9px;background:#123e3d;color:#8ff4dc;padding:10px;cursor:pointer;margin-bottom:12px}
.sv-avatar-option:focus-visible,.sv-avatar-use-photo:focus-visible{outline:2px solid #82f1dc;outline-offset:2px}

/* v0.9.0.2: compact, single-purpose avatar editor */
.sv-avatar-dialog{width:min(520px,calc(100% - 24px));max-height:min(90dvh,780px);padding:24px;overflow-y:auto;scrollbar-width:thin}
.sv-avatar-dialog-head{margin-bottom:18px;padding-right:0}
.sv-avatar-dialog-head h2{font-size:23px;line-height:1.25}
.sv-avatar-dialog-close{width:36px;height:36px;display:grid;place-items:center;padding:0;font-size:25px;line-height:1;position:relative;z-index:1}
.sv-avatar-dialog-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:5px;background:#0b1a23;border:1px solid #294857;border-radius:13px;margin-bottom:18px}
.sv-avatar-dialog-tabs button{border:0;background:transparent;color:#9ebdcb;font-weight:700;font-size:14px;line-height:1.3;font-family:inherit;border-radius:9px;padding:11px;cursor:pointer}
.sv-avatar-dialog-tabs button.is-active{background:#264c50;color:#a6fff0;box-shadow:inset 0 0 0 1px #4baca1}
.sv-avatar-dialog [hidden]{display:none!important}
.sv-avatar-panel-note{color:#a9c2cc;font-size:13px;line-height:1.5;margin:0 0 14px}
.sv-avatar-dialog-panel .profile-file-picker{margin:0}
.sv-avatar-dialog-panel .profile-form-actions{display:flex;flex-wrap:wrap;gap:9px}
.sv-avatar-dialog-panel .profile-form-actions button{flex:1;min-width:130px}
.sv-avatar-catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-height:330px;padding:3px;overflow:auto}
.sv-avatar-option{width:100%;min-width:0;min-height:137px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;padding:13px 8px;text-align:center}
.sv-avatar-option-art{flex:none;display:grid;place-items:center;width:68px;height:68px;overflow:hidden}
.sv-avatar-option-art .market-art,.sv-avatar-option-art img{max-width:64px;max-height:64px}
.sv-avatar-option>span:nth-child(2){position:static!important;display:block!important;max-width:100%;font:600 12px/1.35 system-ui,sans-serif!important;color:#e7f4f6!important;text-align:center;overflow-wrap:anywhere;white-space:normal}
.sv-avatar-option small{position:static!important;display:block;font-size:11px}
.sv-avatar-choose-cosmetic{margin-top:15px}
.sv-password-change strong{overflow-wrap:anywhere;color:#eaf5f8}
.sv-password-change form[hidden]{display:none!important}
.sv-password-change form+form{border-top:1px solid #294856;margin-top:17px;padding-top:15px}
.sv-password-change form{max-width:560px}
@media(max-width:480px){.sv-avatar-dialog{padding:18px}.sv-avatar-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sv-avatar-dialog-head h2{font-size:21px}.sv-avatar-option{min-height:126px}}

/* Symbioverse v0.9.0.3 — unified profile spacing and branded banner position sliders */
.sv-profile-settings + .sv-banner-position {
  margin-top:24px;
}
.sv-banner-position {
  gap:20px;
  padding:17px;
}
.sv-banner-position > div:first-child h2 { margin:8px 0 10px; }
.sv-banner-position > div:first-child .muted { margin:0; line-height:1.55; }
.sv-banner-position #banner-position-form { display:grid; gap:20px; }
.sv-banner-position-controls { gap:18px 28px; }
.sv-banner-position-controls label {
  display:flex;
  flex-direction:column;
  min-width:0;
  gap:14px;
  color:#eafcff;
  font-size:16px;
  font-weight:750;
  line-height:1.4;
  letter-spacing:.01em;
}
.sv-banner-position-controls input[type="range"] {
  --sv-fill:50%;
  -webkit-appearance:none;
  appearance:none;
  display:block;
  box-sizing:border-box;
  width:100%;
  height:10px;
  padding:0;
  margin:5px 0 10px;
  border:1px solid #356675;
  border-radius:999px;
  outline:none;
  cursor:pointer;
  background:linear-gradient(to right,#39ddca 0%,#39ddca var(--sv-fill),#102b38 var(--sv-fill),#102b38 100%);
  box-shadow:inset 0 2px 3px #0007,0 0 0 1px #071b2455;
}
.sv-banner-position-controls input[type="range"]::-webkit-slider-runnable-track {
  -webkit-appearance:none;
  height:8px;
  border-radius:999px;
  background:transparent;
}
.sv-banner-position-controls input[type="range"]::-moz-range-track {
  height:8px;
  border:0;
  border-radius:999px;
  background:transparent;
}
.sv-banner-position-controls input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance:none;
  appearance:none;
  width:23px;
  height:23px;
  margin-top:-8px;
  border:2px solid #092532;
  border-radius:50%;
  background:radial-gradient(circle at 30% 28%,#b6fff5 0%,#52e7d5 52%,#19b9ad 100%);
  box-shadow:0 0 0 2px #58e5d533,0 0 17px #42e8d988,0 4px 10px #0009;
}
.sv-banner-position-controls input[type="range"]::-moz-range-thumb {
  width:19px;
  height:19px;
  border:2px solid #092532;
  border-radius:50%;
  background:radial-gradient(circle at 30% 28%,#b6fff5 0%,#52e7d5 52%,#19b9ad 100%);
  box-shadow:0 0 0 2px #58e5d533,0 0 17px #42e8d988,0 4px 10px #0009;
}
.sv-banner-position-controls input[type="range"]:focus-visible {
  outline:2px solid #9bffed;
  outline-offset:6px;
}
.sv-banner-position #banner-position-form > button { justify-self:start; }
@media(max-width:650px) {
  .sv-profile-settings + .sv-banner-position { margin-top:18px; }
  .sv-banner-position { padding:17px; gap:16px; }
  .sv-banner-position-controls { gap:20px; }
  .sv-banner-position-controls label { font-size:15px; }
}
@media(prefers-reduced-motion:reduce) {
  .sv-banner-position-controls input[type="range"] { transition:none; }
}

/* v0.9.0.4 — the equipped profile frame also decorates the banner.
   The overlay keeps the image's original colors and crop intact. */
.profile-banner.sv-banner-has-frame,
.sv-banner-position-preview.sv-banner-has-frame{isolation:isolate}
.profile-banner.sv-banner-has-frame::after,
.sv-banner-position-preview.sv-banner-has-frame::after{
 content:"";
 position:absolute;
 inset:0;
 z-index:2;
 border:5px solid var(--banner-frame-color,#5fd7ff);
 border-radius:inherit;
 box-sizing:border-box;
 pointer-events:none;
 box-shadow:inset 0 0 0 1px #ffffff22, inset 0 0 10px #0005;
}
.sv-banner-frame-glow::after{box-shadow:inset 0 0 20px 2px var(--banner-frame-color),0 0 15px 1px var(--banner-frame-color)!important}
@keyframes sv-banner-frame-pulse{0%,100%{opacity:.74;box-shadow:inset 0 0 5px var(--banner-frame-color)}50%{opacity:1;box-shadow:inset 0 0 22px var(--banner-frame-color)}}
.sv-banner-frame-pulse::after{animation:sv-banner-frame-pulse 2.2s ease-in-out infinite}
@keyframes sv-banner-frame-rainbow{to{filter:hue-rotate(360deg)}}
.sv-banner-frame-rainbow::after{animation:sv-banner-frame-rainbow 5s linear infinite}
@keyframes sv-banner-frame-shimmer{0%,100%{opacity:.65;box-shadow:inset 0 0 3px var(--banner-frame-color)}50%{opacity:1;box-shadow:inset 0 0 19px 2px var(--banner-frame-color)}}
.sv-banner-frame-shimmer::after{animation:sv-banner-frame-shimmer 1.4s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.sv-banner-frame-pulse::after,.sv-banner-frame-rainbow::after,.sv-banner-frame-shimmer::after{animation:none}}


/* v0.9.0.5 — readable profile identity and true outward cosmetic banner frames */
/* Keep the avatar overlap, but let only the avatar enter the banner area. */
.profile-showcase .profile-identity {
  align-items:flex-start;
}
.profile-showcase .profile-identity-main {
  padding-top:62px;
  padding-bottom:5px;
}
.profile-showcase .profile-style-action,
.profile-showcase .friend-message-action {
  align-self:flex-end;
  margin-bottom:6px;
}
/* The image is clipped, but the frame's OUTER shadow is not. */
.profile-showcase .profile-banner.sv-banner-has-frame,
.sv-banner-position-preview.sv-banner-has-frame {
  overflow:visible;
  isolation:isolate;
}
.profile-banner.sv-banner-has-frame > img,
.sv-banner-position-preview.sv-banner-has-frame > img {
  border-radius:inherit;
}
/* Mirror avatar frame styles (thickness and outer glow). */
.profile-banner.sv-banner-has-frame::after,
.sv-banner-position-preview.sv-banner-has-frame::after {
  inset:0;
  border:5px solid var(--banner-frame-color,#5fd7ff);
  border-radius:inherit;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--banner-frame-color) 22%,transparent);
  filter:none;
  opacity:1;
}
.sv-banner-frame-glow::after {
  box-shadow:0 0 16px 3px var(--banner-frame-color),inset 0 0 7px var(--banner-frame-color)!important;
}
@keyframes sv-banner-frame-pulse-out {
  0%,100% {box-shadow:0 0 0 1px var(--banner-frame-color)}
  50% {box-shadow:0 0 22px 5px var(--banner-frame-color)}
}
.sv-banner-frame-pulse::after {animation:sv-banner-frame-pulse-out 2.2s ease-in-out infinite}
.sv-banner-frame-rainbow::after {animation:sv-banner-frame-rainbow 5s linear infinite}
@keyframes sv-banner-frame-shimmer-out {
  0%,100% {box-shadow:0 0 3px var(--banner-frame-color)}
  50% {box-shadow:0 0 18px 7px var(--banner-frame-color)}
}
.sv-banner-frame-shimmer::after {animation:sv-banner-frame-shimmer-out 1.4s ease-in-out infinite}
@media(max-width:650px) {
  .profile-showcase .profile-identity-main {padding-top:55px;}
}
@media(prefers-reduced-motion:reduce) {
 .sv-banner-frame-pulse::after,.sv-banner-frame-rainbow::after,.sv-banner-frame-shimmer::after {animation:none}
}


/* v0.9.0.6 — Rainbow Dash must hue-shift the full banner, like the avatar.
   Applying the filter to the complete banner includes the photograph, frame
   and its outward glow. Do not animate the overlay independently, or the
   border rotates twice relative to the image. */
.profile-banner.sv-banner-frame-rainbow,
.sv-banner-position-preview.sv-banner-frame-rainbow {
  animation:sv-rainbow 5s linear infinite;
}
.profile-banner.sv-banner-frame-rainbow::after,
.sv-banner-position-preview.sv-banner-frame-rainbow::after {
  animation:none;
}
@media(prefers-reduced-motion:reduce) {
  .profile-banner.sv-banner-frame-rainbow,
  .sv-banner-position-preview.sv-banner-frame-rainbow {animation:none;}
}

/* 0.9.5.8 decorative frames */
.avatar-cosmetic{position:relative}
.sv-avatar-emoji{position:absolute;inset:-9px;z-index:3;display:flex;align-items:flex-start;justify-content:center;pointer-events:none;font-size:19px;text-shadow:0 2px 6px #111;animation:sv-emoji-float 3s ease-in-out infinite}
.frame-emoji{border:3px dotted var(--frame-color,#5fd7ff)!important}
.frame-steam-neon{border:4px double #c471ff!important;box-shadow:0 0 9px #aa62ff,0 0 20px #8448ff88!important}
.frame-steam-fire{border:4px ridge #ff9233!important;box-shadow:0 0 12px #ff5e19,0 0 24px #f9414488!important}
.frame-steam-cosmic{border:4px double #65e5ff!important;box-shadow:0 0 9px #65e5ff,0 0 24px #8068ff!important}
@keyframes sv-emoji-float{50%{transform:translateY(-4px)}}
@media(prefers-reduced-motion:reduce){.sv-avatar-emoji{animation:none}}

/* 0.9.5.9 — layered downloadable frames and perimeter emoji rings */
.avatar-cosmetic,.market-art.frame-art{position:relative;overflow:visible!important;isolation:isolate}
.avatar-cosmetic>.sv-frame-overlay,.market-art.frame-art>.sv-frame-overlay{position:absolute!important;inset:-14%!important;width:128%!important;height:128%!important;max-width:none!important;max-height:none!important;object-fit:fill!important;border:0!important;border-radius:0!important;pointer-events:none;z-index:5;animation:none!important}
.avatar-cosmetic>.sv-emoji-ring,.market-art.frame-art>.sv-emoji-ring{position:absolute;inset:0;z-index:6;pointer-events:none}
.sv-emoji-ring>i{position:absolute;left:50%;top:50%;font-style:normal;font-size:clamp(11px,30%,21px);line-height:1;transform:translate(-50%,-50%) rotate(calc(var(--i)*30deg)) translateY(calc(var(--sv-emoji-radius, 26px)*-1)) rotate(calc(var(--i)*-30deg));text-shadow:0 2px 4px #0009}
.avatar-cosmetic.large{--sv-emoji-radius:53px}.avatar-cosmetic:not(.large){--sv-emoji-radius:25px}
.market-art.frame-art{--sv-emoji-radius:48px}.market-art.frame-art .sv-frame-demo-avatar{display:grid;place-items:center;width:65%;height:65%;border-radius:50%;background:#26394e;color:#a9c8dc}
@media(max-width:700px){.market-art.frame-art{--sv-emoji-radius:33px}}
@media(prefers-reduced-motion:reduce){.sv-emoji-ring,.sv-frame-overlay{animation:none!important}}

.sv-help-link{display:inline-block;padding:9px 12px;border-radius:9px;border:1px solid #4d8dbe;color:#81d5ff;text-decoration:none}

/* v0.9.8.1: card image positioning */
.sv-kind-card .collectible-visual.has-artwork img,.album-card-art.has-artwork .album-card-frame img{object-fit:cover}

/* 0.9.8.1: preserve a 4:5 portrait artwork tile in the card store, including GIFs. */
.sv-market .sv-product-art.sv-kind-card{aspect-ratio:4/5;height:auto;min-height:0;overflow:hidden}
.sv-market .sv-product-art.sv-kind-card .collectible-visual{aspect-ratio:4/5}
.sv-market .sv-product-art.sv-kind-card .collectible-visual img{object-fit:cover}


/* 0.9.8.1 visual hotfix 2: original product column widths, smaller portrait artwork. */
.sv-market .sv-product-card:has(.sv-product-art.sv-kind-card){max-width:none;width:auto;justify-self:stretch}
.sv-market .sv-product-card .sv-product-art.sv-kind-card{height:242px;aspect-ratio:auto;padding:10px;border-color:#33566b85;background:linear-gradient(145deg,#122d41,#0a1425)}
.sv-market .sv-product-card .sv-product-art.sv-kind-card .collectible-visual{width:auto;height:auto;aspect-ratio:4/5;max-width:150px;max-height:190px;border-radius:12px!important;overflow:hidden}
.sv-market .sv-product-card .sv-product-art.sv-kind-card .collectible-visual img{object-fit:cover}
@media(max-width:700px){.sv-market .sv-product-card .sv-product-art.sv-kind-card{height:177px}.sv-market .sv-product-card .sv-product-art.sv-kind-card .collectible-visual{max-width:110px;max-height:138px}}
@media(max-width:420px){.sv-market .sv-product-card .sv-product-art.sv-kind-card{height:210px}.sv-market .sv-product-card .sv-product-art.sv-kind-card .collectible-visual{max-width:128px;max-height:160px}}
.sv-lab-progress{display:flex;gap:5px;flex-wrap:wrap;margin:14px 0}.sv-lab-progress span{height:7px;flex:1;min-width:13px;border-radius:9px;background:#304858}.sv-lab-progress .done{background:#54d5b4}.sv-lab-progress .current{background:#efc576}.sv-lab-task{border:1px solid #35566b;border-radius:13px;padding:18px;margin:14px 0;background:#102432}.sv-lab-task label{display:block;margin:9px 0}.sv-lab-task input[type=text],.sv-lab-task select{width:100%;max-width:520px;padding:11px;background:#0b1c2a;color:#e6f3f7;border:1px solid #4b7787;border-radius:8px}.sv-lab-task button{margin:5px}.sv-lab-feedback{min-height:25px;margin:12px 0;color:#e5cf96}.sv-lab-step-title{font-size:1.2rem;font-weight:750}

/* Symbioverse 0.9.8.1 repair 3: keep product-card column width unchanged.
   Previous hotfix used width:auto on a flex item whose only child image is
   absolutely positioned. Such an element has zero intrinsic width, so the
   uploaded picture disappeared. Give the preview a real 4:5 box. */
.sv-market .sv-product-card .sv-product-art.sv-kind-card {
  height:242px;aspect-ratio:auto;display:flex;align-items:center;justify-content:center;
  padding:10px;
}
.sv-market .sv-product-card .sv-product-art.sv-kind-card .collectible-visual {
  position:relative;display:block;box-sizing:border-box;
  flex:0 0 140px;width:140px;height:175px;
  min-width:140px;min-height:175px;max-width:140px;max-height:175px;
  aspect-ratio:4 / 5;margin:0;overflow:hidden;border-radius:12px!important;
}
.sv-market .sv-product-card .sv-product-art.sv-kind-card .collectible-visual.has-artwork img {
  position:absolute;inset:0;z-index:2;display:block;width:100%;height:100%;
  max-width:none;max-height:none;object-fit:cover;
  /* object-position is applied per-card inline by marketArt() */
}
@media(max-width:700px) {
  .sv-market .sv-product-card .sv-product-art.sv-kind-card{height:177px}
  .sv-market .sv-product-card .sv-product-art.sv-kind-card .collectible-visual{
    flex-basis:108px;width:108px;height:135px;min-width:108px;min-height:135px;
    max-width:108px;max-height:135px;
  }
}
@media(max-width:420px) {
  .sv-market .sv-product-card .sv-product-art.sv-kind-card{height:210px}
  .sv-market .sv-product-card .sv-product-art.sv-kind-card .collectible-visual{
    flex-basis:128px;width:128px;height:160px;min-width:128px;min-height:160px;
    max-width:128px;max-height:160px;
  }
}
