@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600&family=Noto+Sans+JP:wght@400;500;600;700&display=swap";:root{--bg:#06060d;--panel:#10101d;--line:#2a293d;--violet:#9b73ff;--gold:#d9b66d;--text:#f4f2fa;--muted:#9692aa}*{box-sizing:border-box}html,body{color:var(--text);background:#020207;margin:0;font-family:Noto Sans JP,sans-serif}button,input{font:inherit}button{color:inherit}.app-shell{background:radial-gradient(circle at 50% 16%,#1f163d 0,#0000 32%),linear-gradient(#080814,#05050b);width:100%;max-width:520px;min-height:100dvh;margin:auto;padding-bottom:88px;position:relative;overflow:hidden}header{height:68px;padding:calc(10px + env(safe-area-inset-top)) 18px 8px;z-index:5;border-bottom:1px solid #1e1d2c;justify-content:space-between;align-items:center;display:flex;position:relative}.brand{background:0 0;border:0;align-items:center;gap:10px;padding:0;display:flex}.brand-mark{border:1px solid var(--gold);width:34px;height:34px;color:var(--gold);place-items:center;font-family:serif;display:grid;transform:rotate(45deg)}.brand-mark:first-letter{transform:rotate(-45deg)}.brand>span:last-child{flex-direction:column;align-items:flex-start;display:flex}.brand b{letter-spacing:2px;font-family:Cormorant Garamond,serif;font-size:17px}.brand small{letter-spacing:3px;color:#8b879b;font-size:8px}.header-actions{align-items:center;gap:10px;display:flex}.header-actions button{color:#aca7bd;background:0 0;border:0;font-size:17px}.counter{letter-spacing:1px;color:#d3b9ff;background:#141221;border:1px solid #343047;border-radius:20px;padding:7px 10px;font-size:10px}.content{min-height:calc(100dvh - 156px)}.summon-page{text-align:center;padding:22px 20px 18px}.season-line{letter-spacing:2px;color:#8e88a5;justify-content:center;align-items:center;gap:10px;font-size:8px;display:flex}.season-line span{background:#4e466c;width:40px;height:1px}.hero-copy{margin-top:18px}.hero-copy p,.eyebrow{color:var(--gold);letter-spacing:4px;margin:0 0 6px;font-family:Cormorant Garamond,serif;font-size:11px}.hero-copy h1{letter-spacing:2px;text-shadow:0 4px 25px #8e5eff44;margin:0;font-family:Cormorant Garamond,Noto Sans JP,serif;font-size:36px;font-weight:500;line-height:1.25}.hero-copy h1 i{color:#d8bfff;font-style:normal}.hero-copy small{color:var(--muted);margin-top:8px;font-size:10px;display:block}.summon-orb{place-items:center;height:148px;margin:4px auto;display:grid;position:relative}.orbit{border:1px solid #8d66e255;border-radius:50%;position:absolute}.o1{width:124px;height:124px;animation:12s linear infinite spin;box-shadow:0 0 35px #9a68ff40}.o1:before,.o1:after{content:"";background:#c69dff;border-radius:50%;width:6px;height:6px;position:absolute;box-shadow:0 0 12px #fff}.o1:before{top:9px;left:23px}.o1:after{bottom:6px;right:30px}.o2{border-style:dashed;width:93px;height:93px;animation:8s linear infinite reverse spin}.core{background:radial-gradient(circle,#b785ff 0,#59308d 18%,#0e0c1b 70%);border:1px solid #bc9cff;border-radius:50%;place-items:center;width:64px;height:64px;font-family:serif;font-size:25px;display:grid;box-shadow:0 0 20px #a6f,0 0 50px #7d3bf766}@keyframes spin{to{transform:rotate(360deg)}}.summon-panel{text-align:left;background:linear-gradient(145deg,#171526dd,#0b0b14dd);border:1px solid #39324e;border-radius:4px;padding:15px;box-shadow:0 18px 40px #0008}.summon-panel>label:first-child{color:#ba9ce8;letter-spacing:2px;font-family:Cormorant Garamond,serif;font-size:9px}.summon-panel>input,.settings-modal input{color:#fff;background:#070711;border:1px solid #4b4264;border-radius:2px;outline:none;width:100%;height:48px;margin-top:7px;padding:0 14px;box-shadow:inset 0 0 18px #000}.summon-panel>input:focus,.settings-modal input:focus{border-color:#a984f4;box-shadow:0 0 0 2px #8a5ed122}.summon-panel>p{color:#777388;margin:7px 0 12px;font-size:8px}.summon-button{color:#fff;letter-spacing:2px;background:linear-gradient(90deg,#5c2caa,#9568e7,#5c2caa);border:1px solid #d6c1ff;width:100%;height:50px;font-weight:600;position:relative;box-shadow:0 0 20px #7942c54d}.summon-button:disabled{opacity:.4}.summon-button small{letter-spacing:3px;margin-left:12px;font-size:8px}.publish{color:#8f8a9f;align-items:center;gap:6px;margin-top:10px;font-size:8px;display:flex}.publish input{accent-color:#9f78e9}.world-status{letter-spacing:1px;color:#868197;border-top:1px solid #272535;justify-content:space-between;align-items:center;margin-top:16px;padding:13px 4px 0;font-size:8px;display:flex}.world-status b{color:#ddd5f0;font-size:16px}.world-status b small{color:#777285;font-size:8px}.live-dot{background:#8f6cff;border-radius:50%;width:5px;height:5px;margin-right:6px;display:inline-block;box-shadow:0 0 8px #b18fff}nav{z-index:20;width:100%;max-width:520px;height:74px;padding-bottom:env(safe-area-inset-bottom);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#090910ee;border-top:1px solid #282536;justify-content:space-around;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}nav button{color:#625e70;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;display:flex}nav i{font-size:18px;font-style:normal}nav span{letter-spacing:1px;font-family:Cormorant Garamond,serif;font-size:8px}nav button.active{color:#d2b5ff;text-shadow:0 0 12px #9f5fff}nav button.active:before{content:"";background:#c5a2ff;width:34px;height:1px;position:absolute;top:0;box-shadow:0 0 8px #b784ff}.list-page,.profile-page{padding:34px 17px 24px}.list-page h2,.profile-page h2,.detail-modal h2,.settings-modal h2{letter-spacing:2px;margin:3px 0;font-family:Cormorant Garamond,Noto Sans JP,serif;font-size:30px;font-weight:500}.list-page>p{color:#8c879c;margin:5px 0 18px;font-size:10px}.filters{scrollbar-width:none;gap:6px;padding-bottom:12px;display:flex;overflow-x:auto}.filters button{white-space:nowrap;color:#7c7789;background:#10101b;border:1px solid #282638;border-radius:20px;padding:7px 10px;font-size:8px}.filters button.active{color:#e9dbff;background:#291c42;border-color:#a981ef}.card-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.card-tile{text-align:left;background:#0d0d17;border:1px solid #302d40;border-radius:3px;padding:0;overflow:hidden}.card-art{background:radial-gradient(circle at 50% 52%,#7d5cb1 0,#1d1932 35%,#080810 70%);height:158px;position:relative;overflow:hidden}.card-art.large{height:340px}.moon{border:1px solid #bd9fff55;border-radius:50%;width:100px;height:100px;position:absolute;top:28%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 40px #8e56d466}.portrait{background:linear-gradient(160deg,#1f1935,#020204);border-radius:48% 48% 20% 20%;width:96px;height:128px;position:absolute;top:55%;left:50%;transform:translate(-50%,-50%);box-shadow:0 -12px 34px #c399ff55}.portrait:before,.portrait:after{content:"";background:#09070f;width:34px;height:48px;position:absolute;top:-12px}.portrait:before{clip-path:polygon(0 0,100% 100%,0 100%);left:1px;transform:rotate(-32deg)}.portrait:after{clip-path:polygon(100% 0,100% 100%,0 100%);right:1px;transform:rotate(32deg)}.portrait span{color:#e5d6ff;text-shadow:0 0 12px #b58cff;font-family:serif;font-size:27px;position:absolute;top:30%;left:50%;transform:translate(-50%,-50%)}.spark{background:#fff;border-radius:50%;width:3px;height:3px;position:absolute;box-shadow:0 0 9px #d2b7ff}.s1{top:30%;left:20%}.s2{top:47%;right:16%}.e-fire{background:radial-gradient(circle at 50% 52%,#a43b31,#241222 42%,#080810 72%)}.e-water{background:radial-gradient(circle at 50% 52%,#276b9b,#111d35 42%,#080810 72%)}.e-wind{background:radial-gradient(circle at 50% 52%,#3d8878,#122326 42%,#080810 72%)}.e-earth{background:radial-gradient(circle at 50% 52%,#79633d,#251e18 42%,#080810 72%)}.e-light{background:radial-gradient(circle at 50% 52%,#bda76a,#39311f 42%,#080810 72%)}.e-dark,.e-void{background:radial-gradient(circle at 50% 52%,#6f3e9f,#1c102e 42%,#050508 72%)}.e-machine{background:radial-gradient(circle at 50% 52%,#3e7280,#102026 42%,#07090b 72%)}.rarity-ur,.rarity-mythic,.rarity-world-unique{border-color:#8e6abf;box-shadow:0 0 16px #7444ab22}.rarity-world-unique{border-color:#d7bd75}.tile-copy{padding:10px}.tile-copy b{font-family:Cormorant Garamond,Noto Sans JP,serif;font-size:13px;display:block}.tile-copy span{color:#817a90;letter-spacing:1px;margin-top:4px;font-size:7px;display:block}.tile-copy em{color:var(--gold);margin-top:5px;font-size:8px;font-style:normal;display:block}.unknown{color:#444151;background:#090910;border:1px solid #22212e;flex-direction:column;justify-content:center;align-items:center;height:205px;display:flex}.unknown div{border:1px dashed #282633;place-items:center;width:75px;height:100px;margin-bottom:8px;font-family:serif;font-size:30px;display:grid}.unknown b{font-size:10px}.unknown span{margin-top:5px;font-size:7px}.empty{text-align:center;color:#777286;padding:70px 20px;font-size:11px;line-height:2}.world-meter{background:#1e1c2a;height:3px;margin:-8px 0 18px}.world-meter span{background:linear-gradient(90deg,#7245b4,#d2b4ff);height:100%;display:block;box-shadow:0 0 9px #af7eff}.feed{flex-direction:column;gap:10px;display:flex}.feed article{background:#0e0d18;border:1px solid #292638;gap:12px;padding:14px;display:flex}.feed-glyph{background:radial-gradient(circle,#563e70,#16111f);border:1px solid #544466;place-items:center;width:48px;height:62px;font-family:serif;font-size:20px;display:grid}.feed article>div:last-child>span{color:#716d7d;font-size:7px}.feed p{margin:3px 0;font-size:10px;line-height:1.7}.feed em{color:#cdaeff;font-style:normal}.feed small{color:#8c849a;font-size:8px;display:block}.profile-page{text-align:center}.profile-sigil{background:radial-gradient(circle,#593d7b,#0c0b14);border:1px solid #b08de2;border-radius:50%;place-items:center;width:82px;height:82px;margin:20px auto;font-family:serif;font-size:32px;display:grid;box-shadow:0 0 30px #814ec655}.rank{letter-spacing:2px;color:var(--gold);font-size:8px}.stats{border:1px solid #292638;grid-template-columns:repeat(3,1fr);margin:30px 0;display:grid}.stats div{border-bottom:1px solid #292638;border-right:1px solid #292638;padding:16px 4px}.stats div:nth-child(3n){border-right:0}.stats div:nth-child(n+4){border-bottom:0}.stats b,.stats span{display:block}.stats b{color:#e4d6ff;font-family:Cormorant Garamond,serif;font-size:24px}.stats span{color:#817c8d;margin-top:4px;font-size:7px}.secondary,.admin-link{color:#c8bfdb;background:#12101d;border:1px solid #373249;width:100%;padding:13px;font-size:10px}.admin-link{color:var(--gold);margin-top:10px;display:block}.summon-overlay,.result-overlay,.modal-backdrop{z-index:50;text-align:center;background:radial-gradient(circle,#271747,#030307 65%);flex-direction:column;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.summon-rays{background:repeating-conic-gradient(#a980f011 0 4deg,transparent 4deg 16deg);width:420px;height:420px;animation:10s linear infinite spin;position:absolute}.summon-glyph{z-index:1;background:#0c0816;border:1px solid #d5baff;border-radius:50%;place-items:center;width:110px;height:110px;font-family:serif;font-size:42px;display:grid;box-shadow:0 0 40px #a96cff,0 0 100px #6c29ce}.summon-overlay p{z-index:1;color:#c8a8fa;letter-spacing:4px;margin:34px 0 5px;font-size:9px}.summon-overlay h3{z-index:1;letter-spacing:2px;font-size:12px;font-weight:400}.loading-line{z-index:1;background:#322740;width:180px;height:1px;margin-top:16px;overflow:hidden}.loading-line span{background:#d7bcff;width:40%;height:100%;animation:1.3s ease-in-out infinite load;display:block}@keyframes load{0%{transform:translate(-100%)}to{transform:translate(350%)}}.result-overlay{background:radial-gradient(circle at 50% 35%,#382050,#030307 65%);padding-top:42px;display:block;overflow-y:auto}.result-world-unique{background:radial-gradient(circle at 50% 35%,#735f28,#08060a 65%)}.close{color:#bbb;z-index:2;background:#0b0a12;border:1px solid #4b455b;border-radius:50%;width:34px;height:34px;font-size:20px;position:absolute;top:18px;right:18px}.result-label{color:var(--gold);letter-spacing:4px;margin-bottom:12px;font-family:Cormorant Garamond,serif;font-size:10px}.result-card{background:#0b0a13;border:1px solid #8d6eb2;width:min(100%,360px);margin:auto;padding:7px 7px 18px;box-shadow:0 0 40px #8951c744}.result-card .card-art{border:1px solid #393044}.result-rarity{color:#c49dff;letter-spacing:5px;margin-top:14px;font-family:Cormorant Garamond,serif;font-size:12px}.result-card h2{margin:4px 0;font-family:Cormorant Garamond,Noto Sans JP,serif;font-size:24px}.result-card p{color:#8f899e;margin:6px 20px 12px;font-size:9px}.badges{justify-content:center;gap:8px;display:flex}.badges span,.badges b{color:#aaa4b6;border:1px solid #3e394b;padding:5px 8px;font-size:8px}.badges b{color:var(--gold);border-color:#6e5b36}.result-card strong{color:#e0c477;letter-spacing:3px;margin-top:14px;font-family:Cormorant Garamond,serif;font-size:10px;display:block}.first-message{color:#cbb4e8;font-size:10px}.result-actions{gap:10px;width:min(100%,360px);margin:15px auto 20px;display:flex}.result-actions button{letter-spacing:2px;background:#191326;border:1px solid #8f73b8;flex:1;padding:13px;font-size:9px}.modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#020207dd;padding:20px}.detail-modal,.settings-modal{text-align:left;background:#0d0c16;border:1px solid #3a3549;width:min(100%,380px);max-height:90dvh;padding:10px 20px 24px;position:relative;overflow-y:auto}.detail-modal .card-art{margin:-1px -11px 20px}.detail-modal p,.policy p{color:#9690a2;font-size:10px;line-height:1.8}.detail-modal>small{color:#777182;font-size:8px}.serial{color:var(--gold);border:1px solid #6c5734;margin:14px 0;padding:8px;font-size:10px}.settings-modal{padding:26px 20px}.settings-modal label{color:#aaa4b6;margin:22px 0;font-size:9px;display:block}.policy{border-top:1px solid #292635;padding:14px 0}.policy b{font-size:10px}.settings-modal .summon-button{margin-top:8px}.toast{z-index:90;background:#1b1528;border:1px solid #6d5392;width:max-content;max-width:90%;padding:11px 16px;font-size:10px;animation:3s forwards toast;position:fixed;bottom:92px;left:50%;transform:translate(-50%)}@keyframes toast{0%{opacity:0;transform:translate(-50%,10px)}10%,80%{opacity:1;transform:translate(-50%)}to{opacity:0}}@media (width>=700px){body{background:radial-gradient(circle at 50% 30%,#161026,#020204)}.app-shell{border-left:1px solid #242033;border-right:1px solid #242033;box-shadow:0 0 80px #000}}.account-box{background:#151021;border:1px solid #4b3b62;justify-content:space-between;align-items:center;margin:16px 0;padding:12px;display:flex}.account-box b,.account-box span{display:block}.account-box b{font-size:11px}.account-box span{color:#8f899d;margin-top:3px;font-size:8px}.account-box i{color:#a8e6b2;font-size:8px;font-style:normal}.recovery-code{color:#e4c780;letter-spacing:2px;background:#18130d;border:1px solid #8d7040;width:100%;padding:13px;font-family:monospace}.recovery-code small{color:#8f8065;letter-spacing:0;margin-top:4px;font-family:inherit;font-size:7px;display:block}.restore-row{gap:6px;margin-top:9px;display:flex}.restore-row input{color:#fff;background:#08070e;border:1px solid #3b3548;flex:1;min-width:0;padding:10px;font-family:monospace;font-size:10px}.restore-row button{background:#251a34;border:1px solid #5f4c75;padding:0 15px;font-size:9px}.account-message{color:#cbb5ec!important}.card-art>img{object-fit:cover;object-position:center 24%;backface-visibility:hidden;width:100%;height:100%;transition:transform .35s;display:block;transform:translateZ(0)}.card-tile:active .card-art>img{transform:scale(1.035)}.art-vignette{pointer-events:none;background:linear-gradient(#0000 52%,#07060ccc 100%),radial-gradient(circle at 50% 40%,#0000 45%,#05040a55 100%);position:absolute;inset:0;box-shadow:inset 0 0 22px #0008}.card-art.large>img{object-position:center 20%}.r-ur .art-vignette,.r-mythic .art-vignette{box-shadow:inset 0 0 24px #7f55b866,0 0 22px #9f72e855}.r-world-unique .art-vignette{box-shadow:inset 0 0 28px #d8b45788,0 0 30px #e5c16366}.legal-page{color:#eee9f7;background:radial-gradient(circle at 50% 0,#211638,#06060d 38%);min-height:100dvh;padding:36px max(20px,50vw - 380px) 70px;line-height:1.9}.legal-page>a{color:#c5a4f3;font-size:12px;text-decoration:none}.legal-page h1{letter-spacing:2px;margin:28px 0 4px;font:500 clamp(30px,6vw,48px) Cormorant Garamond,Noto Sans JP,serif}.legal-page .updated{color:#817b8e;font-size:10px}.legal-page section{border-top:1px solid #2d2939;margin-top:28px;padding-top:20px}.legal-page h2{color:#d7bcff;font-size:16px}.legal-page p,.legal-page li{color:#aaa3b6;font-size:12px}.legal-page nav{background:0 0;border:0;flex-wrap:wrap;justify-content:flex-start;gap:10px;max-width:none;height:auto;padding:30px 0;display:flex;position:static;transform:none}.legal-page nav a{color:#cbb1ee;border:1px solid #3a3348;padding:7px 10px;font-size:10px;text-decoration:none}.legal-page label{color:#b8adc7;margin:18px 0;font-size:11px;display:block}.legal-page select,.legal-page textarea{color:#fff;background:#0b0912;border:1px solid #443b55;width:100%;margin-top:8px;padding:12px;display:block}.legal-page button{color:#fff;background:#2b1c42;border:1px solid #a987d6;padding:12px 22px}.legal-page button:disabled{opacity:.4}.turnstile-wrap{width:100%;min-height:65px;margin:14px 0}
