@import url('/static/fonts/index.css');
:root{color-scheme:dark;--bg:#0d1020;--panel:#15182b;--line:#30344f;--muted:#a4a9c4;--purple:#b18af9;--green:#6edac0}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#eeeefa;font:14px 'Noto Sans KR Variable','Malgun Gothic','Segoe UI',sans-serif}button,input,textarea,select{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid #66518e;background:linear-gradient(135deg,#b590f4,#7652c8);color:white;border-radius:9px;padding:10px 17px;font-weight:600}button:hover{filter:brightness(1.13)}button:disabled{opacity:.5;cursor:default}.quiet{background:#1c2034;border-color:var(--line);color:#c8cbe0}.danger{background:#452337;border-color:#93536a}.ghost{padding:5px 9px;background:transparent;border:0;color:var(--muted)}a{color:#cab0ff;text-decoration:none}input,textarea,select{background:#101425;color:#eeedfb;border:1px solid #3a3e59;border-radius:8px;padding:12px;width:100%;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--purple);box-shadow:0 0 0 3px #b18af918}textarea{resize:vertical;min-height:95px}label{display:block;color:#bfc2d9;font-size:12px;margin:16px 0 7px}h1,h2,h3,p{margin-top:0}h1{font-size:27px;letter-spacing:-1px}h2{font-size:19px;margin-bottom:18px}h3{font-size:16px;margin-bottom:10px}p{line-height:1.8}small,.muted{color:var(--muted)}.logo{display:flex;align-items:center;gap:10px;letter-spacing:2px;font-size:21px;font-weight:800;color:#ccafff}.mark{font-size:47px;line-height:1;text-shadow:0 0 22px #ac7bff77}.tagline{font-size:11px;letter-spacing:3px;color:#8f79b6}.shell{display:grid;grid-template-columns:210px minmax(580px,1fr) 278px;min-height:100vh}.sidebar{background:linear-gradient(165deg,#17182c,#101322 70%,#292041);padding:24px 17px;border-right:1px solid var(--line);position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.sidebar .logo{font-size:17px;margin-bottom:34px}.sidebar .mark{font-size:38px}.nav{display:flex;flex-direction:column;gap:6px}.nav button{background:transparent;color:#aeb3d0;text-align:left;border:1px solid transparent;padding:13px 15px;font-weight:500}.nav button.active{color:#e2d1ff;background:linear-gradient(110deg,#7546be55,#674a9d15);border-color:#7851b960}.nav span{display:inline-block;width:28px;font-size:18px}.sidebarFoot{margin-top:auto;padding:20px 10px 0;font-size:12px;line-height:1.8;color:#9992b5}.main{min-width:0}.topbar{height:75px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 26px;gap:16px;background:#101322cc}.search{max-width:470px;background:#15182b;border:1px solid #49405e;padding:11px 15px;border-radius:12px;color:#a6a6bf;flex:1}.page{padding:25px 27px 45px}.rail{border-left:1px solid var(--line);padding:20px 16px;background:#101321;position:sticky;top:0;height:100vh;overflow:auto}.avatar{width:38px;height:38px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;font-size:16px;font-weight:700;background:linear-gradient(140deg,#8d6dc4,#353d6e);border:1px solid #b3a1de70;color:white}.avatar.big{width:55px;height:55px;font-size:24px}.row{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.flex{flex:1;min-width:0}.gap{display:grid;gap:16px}.section{margin-top:28px}.sectionHead{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.sectionHead h2{margin:0}.panel{background:linear-gradient(135deg,#1b1e33bb,#121627);border:1px solid var(--line);border-radius:13px;padding:20px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.hero{position:relative;overflow:hidden;border:1px solid #70569477;border-radius:16px;padding:38px 30px;min-height:250px;background:radial-gradient(ellipse at 88% 20%,#aa88dd5c,transparent 28%),linear-gradient(120deg,#232041,#212343 55%,#50416a)}.hero:before{content:'';position:absolute;width:130px;height:130px;border-radius:50%;right:70px;top:20px;background:radial-gradient(circle at 35% 25%,#f5eaff,#c0a5e5 60%,#9781c6);box-shadow:0 0 70px #dec2ff66;opacity:.65}.hero:after{content:'';position:absolute;right:0;bottom:0;width:55%;height:160px;background:linear-gradient(145deg,transparent,#11162a);clip-path:polygon(0 100%,20% 45%,31% 69%,50% 10%,65% 49%,78% 20%,100% 65%,100% 100%)}.hero>*{position:relative;z-index:1}.hero .eyebrow{letter-spacing:3px;font-size:11px;color:#d0b1f4}.hero h1{font-size:34px;margin:18px 0 10px;max-width:75%}.hero p{color:#c8c3df;max-width:65%;font-size:13px}.purple{color:#c39cfe}.buttons{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}.pill{display:inline-block;border:1px solid #70549977;background:#6d48932a;color:#cdb0f7;padding:4px 8px;border-radius:6px;font-size:11px}.pill.green{color:var(--green);background:#3d8d7025;border-color:#4b806560}.pill.gold{color:#eed5a2;border-color:#8c704d}.post{padding:0;overflow:hidden}.postArt{height:70px;background:radial-gradient(ellipse at 75% 15%,#bda1e877,transparent 35%),linear-gradient(140deg,#3a355e,#212945);padding:16px}.postBody{padding:17px}.postBody p{font-size:12px;color:var(--muted);min-height:42px;overflow-wrap:anywhere}.miniAvatars{display:flex;gap:0}.miniAvatars .avatar{width:26px;height:26px;font-size:10px;margin-right:-6px}.empty{padding:40px 22px;text-align:center;color:#969dbd;border:1px dashed #3d405a;border-radius:12px;line-height:1.9}.rankbox{background:#191c32;border:1px solid var(--line);border-radius:10px;padding:12px;flex:1;font-size:12px}.rankbox strong{display:block;color:#c7adff;margin-top:9px}.profileTop{padding-bottom:22px;border-bottom:1px solid var(--line)}.friend{padding:12px 0;display:flex;align-items:center;gap:9px}.dot{width:7px;height:7px;background:#6edac0;border-radius:50%;display:inline-block;margin-right:5px}.offline{background:#777b94}.rail h3{margin-top:22px}.voiceBox{margin-top:18px;padding:13px;background:#1a1b30;border:1px solid #4f426c;border-radius:12px;font-size:12px}.voiceControls{margin-top:13px;display:flex;gap:7px}.voiceControls button{font-size:11px;padding:7px}.notice{border-left:3px solid #a77deb;padding:14px 18px;background:#24203c66;border-radius:7px;margin:14px 0}.notice p{white-space:pre-wrap;font-size:13px;margin-bottom:8px;overflow-wrap:anywhere}.listRow{padding:17px 0;border-bottom:1px solid #2c3047}.listRow:last-child{border:0}.auth{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;background:radial-gradient(circle at 15% 20%,#50347055,transparent 50%),#0c1020}.authStory{padding:65px;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;background:linear-gradient(150deg,transparent,#211d3b)}.authStory h1{font-size:54px;line-height:1.3}.authStory p{max-width:420px;color:#b4aecb}.authForm{max-width:430px;width:100%;margin:auto;padding:50px 25px}.authForm h1{margin:25px 0 12px}.full{width:100%}.divider{display:flex;gap:12px;align-items:center;color:#777e9e;font-size:11px;margin:24px 0}.divider:before,.divider:after{content:'';height:1px;background:var(--line);flex:1}.demoBanner{font-size:12px;background:#59403466;color:#e9c8a4;padding:9px 20px;text-align:center}.status{margin-top:15px;padding:10px 13px;background:#28213b;border-radius:7px;color:#b6afce;font-size:12px}.error{color:#f4aeb8;margin-top:12px;min-height:18px;font-size:12px}.code{font-size:34px;letter-spacing:5px;font-weight:800;text-align:center;padding:25px;color:#d4b1ff;background:#29213c;border:1px solid #7c59b1;border-radius:10px;margin:18px 0}.steps{counter-reset:step}.step{display:flex;gap:15px;align-items:flex-start;padding:16px 0}.step:before{counter-increment:step;content:counter(step);border-radius:50%;background:#6c4caa;width:30px;height:30px;display:grid;place-items:center;flex-shrink:0}.step p{margin:0;font-size:13px;color:var(--muted)}.columns{display:grid;grid-template-columns:280px 1fr;gap:18px}.conversation{height:calc(100vh - 240px);min-height:350px;display:flex;flex-direction:column}.bubbles{flex:1;overflow:auto;padding:15px 3px}.bubble{padding:11px 14px;background:#292c47;border-radius:13px;max-width:80%;margin:10px 0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;font-size:13px;width:fit-content}.bubble.mine{background:linear-gradient(140deg,#8b65c8,#6243a1);margin-left:auto}.bubble small{display:block;color:#d1c7dfaa;font-size:10px}.dmForm{display:flex;gap:8px;margin-top:12px}.dmForm input{flex:1}.check{display:flex;gap:10px;align-items:center;margin:16px 0;font-size:13px}.check input{width:auto}.checkboxes{padding:10px 0}.tabs{display:flex;gap:8px;margin-bottom:20px}.rankTable{width:100%;border-collapse:collapse}.rankTable th,.rankTable td{text-align:left;padding:15px 10px;border-bottom:1px solid #30344e}.rankTable th{color:var(--muted);font-weight:400;font-size:12px}.review{margin:15px 0}.review details summary{cursor:pointer;font-weight:600}.review details[open] summary{margin-bottom:18px}.stat{font-size:30px;color:#ceafff}dialog{border:1px solid #61507e;background:#171a2e;color:#efedf8;border-radius:16px;padding:30px;width:min(620px,90vw);max-height:90vh;overflow:auto}dialog::backdrop{background:#050713bb;backdrop-filter:blur(4px)}.close{position:absolute;right:13px;top:12px;padding:5px 9px}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);padding:13px 24px;background:#3a2c55;border:1px solid #9c77ce;border-radius:10px;z-index:100;display:none;max-width:90vw}.small{font-size:12px}.stack{display:flex;flex-direction:column;gap:10px}.badge{font-size:11px;color:#b997ee}.viewTitle{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.viewTitle h1{margin:0}audio{display:none}.adminResult label{margin-top:10px}button:focus-visible,a:focus-visible{outline:2px solid #dfc8ff;outline-offset:3px}@media(max-width:1250px){.shell{grid-template-columns:180px minmax(530px,1fr)}.rail{display:none}.sidebar{padding:20px 12px}.hero h1{font-size:29px}}@media(max-width:800px){.shell{grid-template-columns:70px minmax(0,1fr)}.sidebar{padding:15px 6px}.sidebar .logo>div,.sidebar .logo>b,.nav .label,.sidebarFoot{display:none}.sidebar .logo{justify-content:center}.nav button{padding:12px;text-align:center}.nav span{width:auto}.page{padding:20px 16px}.topbar{padding:0 16px}.columns{grid-template-columns:1fr}.conversation{height:500px}.auth{grid-template-columns:1fr}.authStory{display:none}.authForm{padding:40px 25px}.hero{padding:25px 20px}.hero h1{font-size:25px}.hero p{max-width:75%}.rankTable td,.rankTable th{padding:10px 5px;font-size:12px}}
.discordButton{display:block;text-align:center;background:#5865f2;padding:13px;border-radius:9px;color:white;font-weight:600}.discordButton:hover{background:#6874ff}
/* v0.2 — fantasy MOBA community and user-uploaded artwork */
:root{--gold:#d2b37e;--teal:#77c8ce}.eyebrow{color:var(--gold);font-size:10px;letter-spacing:3px;display:block;margin-bottom:10px}.avatar{overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.hero{background:linear-gradient(90deg,#0b1226f5 0%,#10183199 45%,#19274144),url('/static/rift-banner.png') center 45%/cover,#1a253e;border-color:#7c6b5477}.hero:before,.hero:after{display:none}.hero h1{max-width:90%;text-shadow:0 2px 12px #000}.hero p{color:#d2d4e2}.postArt{background:radial-gradient(ellipse at 80% 20%,#9277ba55,transparent 50%),linear-gradient(110deg,#203446,#302c4b);height:76px;gap:6px}.postBody h3{color:#f0e6d4}.postControls{gap:7px}.postControls button{padding:9px 12px}.micBadge{display:inline-flex;align-items:center;gap:5px;font-size:10px;white-space:nowrap}.micBadge.required{color:#e5c68b}.micBadge.optional{color:#94b7ba}.voiceRoster{display:flex;align-items:center;gap:10px;margin-top:18px;min-height:47px;border-top:1px solid #3a3a4d;padding-top:13px}.rosterIcons{display:flex;align-items:center;gap:5px;flex:1;flex-wrap:wrap}.avatarButton{padding:0;background:none;border:0;border-radius:50%;position:relative}.avatarButton .avatar{height:31px;width:31px;font-size:12px;border-color:#7ed0c0}.avatarButton.isMuted .avatar{border-color:#95627c}.mutedSlash{position:absolute;bottom:-2px;right:0;background:#39293b;border-radius:50%;color:#f2c8d9;font-size:15px;line-height:16px}.penalty{border-left-color:#d4a474;color:#d9ba9e;font-size:12px;line-height:1.8;background:#362a262e}.imageField{display:flex;gap:16px;align-items:center}.imageField input[type=file]{font-size:12px;padding:9px;min-width:0}.uploadPreview{height:76px;width:76px;flex-shrink:0;border:1px dashed #7d6a9b;border-radius:12px;display:grid;place-items:center;font-size:11px;color:var(--muted);overflow:hidden;background:#252138}.uploadPreview img{width:100%;height:100%;object-fit:cover}.laneGrid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.fixedValue{padding:12px;background:#202337;border:1px solid #44435e;border-radius:8px;color:#ccb3ff}.clanCard{padding:0;overflow:hidden}.clanCover{width:100%;height:160px;object-fit:cover;border-radius:9px}.clanDefault{background:linear-gradient(145deg,#263440bb,#2e2544bb),url('/static/rift-banner.png') center/cover;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#dcc18f;border-bottom:1px solid #80735166}.clanDefault span{font-size:40px}.clanDefault small{font-size:9px;letter-spacing:3px;color:#cbbca4}.clanIntro{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;color:#b5b8ce;line-height:1.9}.clanCard .clanIntro{min-height:74px;max-height:150px;overflow:auto}.clanChatLayout{display:grid;grid-template-columns:minmax(280px,1fr) 230px;gap:18px}.clanChatLayout .conversation{height:calc(100vh - 235px);min-height:420px}.clanMessage{display:flex;gap:10px;margin:18px 0}.clanMessage .avatar{height:31px;width:31px;font-size:12px}.clanMessage .bubble{margin:6px 0;max-width:95%}.clanMessage.own{flex-direction:row-reverse}.clanMessage.own .small{text-align:right}.clanMessage.own .bubble{margin-left:auto}.profileSettings .buttons button{min-width:160px}summary{cursor:pointer}.miniAvatars{min-height:26px;margin-bottom:18px}.miniAvatars .avatar{height:29px;width:29px}.clanGrid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.hero .eyebrow{color:#e3cb9f}.rankbox strong{color:#dec795}.rankTable td:nth-child(3){color:#dec795}.postArt .pill{font-size:10px}dialog .clanCover{max-height:200px}@media(max-width:900px){.clanChatLayout{grid-template-columns:1fr}.clanChatLayout aside{order:-1}.clanChatLayout aside .friend{display:inline-flex;margin-right:15px}.micBadge span{display:none}}
/* v0.3: compact guild directory, scrollable member management and live presence */
.compactClanGrid{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));align-items:start}.clanCompact{padding:17px}.clanCompactHead .clanCover{width:58px;height:58px;flex-shrink:0;border:1px solid #7e6e5266;border-radius:10px}.clanCompactHead .clanDefault span{font-size:26px}.clanCompactHead .clanDefault small{display:none}.clanCompactHead h3{margin:0 0 7px}.clanCompact .buttons{margin-top:12px;gap:6px}.clanCompact .buttons button{font-size:12px;padding:8px 10px}.compactIntro{font-size:12px;color:var(--muted);line-height:1.8;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:43px;margin:14px 0 10px;white-space:pre-wrap;overflow-wrap:anywhere}.clanDetailHead .clanCover{width:75px;height:75px;flex-shrink:0}.clanDetailHead .clanDefault small{display:none}.clanDetailHead h2{margin-bottom:8px}.memberScroller{overflow-y:auto;max-height:min(46vh,390px);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#79628e #15182a;user-select:none;touch-action:pan-y;padding-right:8px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);cursor:grab}.memberScroller:active{cursor:grabbing}.memberScroller::-webkit-scrollbar{width:8px}.memberScroller::-webkit-scrollbar-thumb{border-radius:8px;background:#79628e}.memberScroller::-webkit-scrollbar-track{background:#15182a}.manageMemberScroller{max-height:330px}.chatMemberScroller{max-height:calc(100vh - 345px);border:0}.requestScroller{max-height:200px;overflow-y:auto}.presenceLabel{display:inline-flex;align-items:center;font-size:10px;color:#8f95af;white-space:nowrap}.presenceLabel.isOnline{color:#6edac0}.presenceLabel .dot{width:6px;height:6px;flex-shrink:0}.memberInfo>.ghost{padding:0;margin-bottom:6px;color:#e3ddee}.memberInfo>.presenceLabel{margin-top:6px}.memberRow{gap:9px;align-items:center;padding:14px 2px}.memberTools{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.rankChangeForm{display:flex;gap:6px;align-items:center}.rankChangeForm select{width:77px;font-size:12px;padding:8px 6px}.memberTools button{font-size:11px;padding:8px 9px}.roleBadge{color:#bba5dc}.role-leader{color:#e2be77}.role-deputy{color:#b69bf3}.role-honor{color:#79c2ca}.role-recruit{color:#a0a8ba}.capacityWarning{color:#e9be8e}.capacitySteps{display:flex;gap:9px;flex-wrap:wrap;margin-top:25px}.capacitySteps>span{background:#2a2440;padding:14px;border:1px solid #5d4a80;border-radius:8px}.capacitySteps b{color:#d9be8a}.hero .buttons{gap:9px}@media(max-width:700px){.memberRow{flex-wrap:wrap}.memberTools{width:100%;flex-direction:row;justify-content:flex-end}.compactClanGrid{grid-template-columns:1fr}}
.emptyCountdown{margin-top:12px;padding:8px 11px;border:1px solid #6a503c;border-radius:7px;background:#37271f66;color:#d5ac80;font-size:11px}.emptyCountdown span{font-variant-numeric:tabular-nums;font-weight:700;color:#f0c58b}
