
.crystal-section{padding:38px 0 55px}
.liga-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;padding-top:22px;color:var(--muted);font-size:.8rem}
.liga-breadcrumb a{color:var(--cyan);text-decoration:none}
.liga-support{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;padding-bottom:50px}
.liga-guide{padding:24px;border:1px solid var(--line);border-radius:20px;background:var(--panel)}
.liga-guide h2{font-size:1.4rem;margin:10px 0 18px}
.liga-guide p,.liga-guide li{color:var(--muted);font-size:.9rem;line-height:1.8}
.liga-guide ol{padding-left:22px}.liga-guide li{margin:10px 0}
.liga-faq details{padding:14px 0;border-top:1px solid var(--line)}
.liga-faq summary{font-size:.9rem;font-weight:750;cursor:pointer}
.liga-faq summary:focus-visible{outline:3px solid var(--yellow);outline-offset:4px}
.liga-faq details p{margin-bottom:0}
.liga-related{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:14px}
.liga-related h2{margin-right:auto;font-size:1.3rem}
.liga-related .button{width:auto;text-decoration:none}
@media(max-width:700px){.liga-support{grid-template-columns:1fr;gap:16px}.liga-guide{padding:18px}.liga-related{flex-direction:column;align-items:stretch}.liga-related h2{margin:0 0 5px}.liga-related .button{text-align:center}}
.crystal-section .quick-rule{max-width:660px}
.crystal-layout{display:grid;grid-template-columns:220px minmax(0,470px) 230px;gap:22px;justify-content:center;align-items:start}
.crystal-game .left-panel,.crystal-game .right-panel{padding:20px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,var(--panel),#0a1728)}
.crystal-game h2{font-size:1.18rem;line-height:1.3;text-align:left}
.crystal-game h3{font-size:.9rem;margin:0;color:var(--text)}
.objective-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0 18px}
.objective-heading>span{color:var(--cyan);font-size:.8rem;white-space:nowrap}
.crystal-game .goal{display:grid;grid-template-columns:29px minmax(0,1fr);gap:9px;align-items:center;padding:12px 10px;margin:9px 0;border:1px solid var(--line);border-radius:12px;background:var(--panel-2)}
.crystal-game .goal.done{border-color:#3ddc9770;background:#3ddc9715}
.goal-icon{font-size:27px;text-align:center;line-height:1.1}
.goal-label{display:flex;flex-direction:column;gap:3px;font-size:.8rem;font-weight:750}
.goal-count{font-size:.75rem;color:var(--muted);font-weight:400}
.crystal-game .progress{position:relative;inset:auto;width:100%;height:4px;background:#ffffff15;border-radius:5px;margin-top:7px;overflow:hidden}
.crystal-game .progress i{display:block;height:100%;background:var(--cyan);border-radius:5px;transition:width .2s}
.tip{border-top:1px solid var(--line);margin-top:20px;padding-top:17px;font-size:.78rem;color:var(--muted)}
.tip strong{color:var(--text)}
.tip p{margin:7px 0 18px}
.left-panel>.text-link{font-size:.77rem}
.crystal-game .play-area{padding:16px;min-width:0}
.board-toolbar{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:14px}
.board-title{font-size:.65rem;font-weight:900;letter-spacing:.1em;color:var(--cyan)}
.moves{border:1px solid #ffd16666;background:linear-gradient(145deg,#ffd166,#ffac4b);color:#06111d;border-radius:12px;padding:5px 12px;text-align:center;display:grid;min-width:95px}
.moves>span{font-size:.59rem;font-weight:900;text-transform:uppercase}
.moves strong{font-size:1.8rem;line-height:1.2;font-variant-numeric:tabular-nums}
.board-frame{position:relative;padding:7px;border:1px solid var(--line);border-radius:17px;background:#06111e}
.crystal-game #board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;padding:2px}
.crystal-game .tile{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:auto;aspect-ratio:1;border:1px solid #c8dcff26;background:linear-gradient(145deg,#1c3551,#102139);border-radius:7px;padding:0;margin:0;min-width:0;box-shadow:inset 0 1px 0 #ffffff14,0 2px 3px #0004;transition:background .14s,transform .14s,box-shadow .14s;touch-action:manipulation;cursor:pointer;overflow:visible}
.crystal-game .tile::before{display:none}
.crystal-game .tile::after{display:none}
.gem{width:67%;height:70%;position:relative;background:linear-gradient(135deg,var(--light),var(--mid) 48%,var(--dark));clip-path:polygon(25% 4%,75% 4%,98% 40%,73% 95%,27% 95%,2% 40%);filter:drop-shadow(0 3px 1px #0002);transform:rotate(-4deg);pointer-events:none}.gem:before{content:'';position:absolute;inset:0;clip-path:polygon(25% 4%,50% 45%,2% 40%);background:#ffffff77}.gem:after{content:'';position:absolute;inset:0;clip-path:polygon(75% 4%,50% 45%,73% 95%,98% 40%);background:#ffffff33}.purple{--light:#dcaff6;--mid:#ae75d0;--dark:#8053af;color:#ad7ccc}.green{--light:#b0e2ad;--mid:#75b68f;--dark:#448774;color:#7aaa8c}.blue{--light:#abd8f4;--mid:#75afd6;--dark:#5c83b5;color:#7caacc}.gold{--light:#f8e6a1;--mid:#e3c76c;--dark:#b69a4c;color:#cfb568}.pink{--light:#f5bfd3;--mid:#db8fb2;--dark:#b76b94;color:#d493af}.green .gem{clip-path:polygon(23% 5%,77% 5%,98% 50%,77% 95%,23% 95%,2% 50%);transform:rotate(0)}.blue .gem{clip-path:polygon(50% 0,95% 49%,50% 100%,5% 49%);transform:rotate(0)}.gold .gem{clip-path:polygon(20% 8%,80% 8%,94% 25%,94% 75%,80% 92%,20% 92%,6% 75%,6% 25%);transform:rotate(0)}.pink .gem{clip-path:polygon(32% 2%,68% 2%,94% 28%,98% 62%,72% 94%,34% 98%,5% 72%,2% 35%);transform:rotate(12deg)}.block{color:#ad9b84}.block .gem{clip-path:none;background:linear-gradient(135deg,#c4b6a7,#b2a08e);border:3px solid #d3c5b5;border-radius:5px;transform:rotate(0);width:72%;height:72%;box-shadow:inset 0 0 0 3px #978873}.block .gem:after{content:'⌑';clip-path:none;background:none;color:#efe5cb;font-size:27px;display:grid;place-items:center;inset:-5px}.block .gem:before{display:none}.magic{color:#b696cf}.magic .gem{clip-path:polygon(50% 0,63% 34%,100% 50%,65% 62%,50% 100%,36% 65%,0 50%,36% 36%);background:conic-gradient(#b8cfee,#e1b5e9,#fff5ce,#b8cfee);width:82%;height:82%;animation:twinkle 3s ease-in-out infinite}.iced{background:linear-gradient(135deg,#d6e7f4,#b8d3e7)!important;border:1px solid #f4fdff}.iced .gem{opacity:.47;filter:saturate(.6)}.iced:after{content:'❄';position:absolute;color:#f6fcff;text-shadow:0 1px 2px #7dabc7;font-size:26px;inset:0;display:grid;place-items:center}.tile.empty{background:#d9d0e2;border-color:transparent;box-shadow:none}
.crystal-game .tile.iced{background:linear-gradient(135deg,#365e7a,#24415e)!important;border:1px solid #b6e7ff99}
.crystal-game .tile.iced::after{content:'❄';position:absolute;color:#e4f8ff;text-shadow:0 1px 3px #386d92;font-size:25px;inset:0;display:grid;place-items:center;pointer-events:none}
.crystal-game .tile.empty{background:#06111e;border-color:#ffffff05;box-shadow:none;cursor:default}
.crystal-game .tile.preview,.crystal-game .tile.hinted{background:#264361!important;transform:scale(1.03);box-shadow:0 0 0 2px var(--yellow),0 0 15px #ffd16633;z-index:2}
.crystal-game .tile.popping .gem{animation:crystal-pop .22s forwards}
.crystal-game .tile.appear .gem{animation:crystal-arrive .26s ease-out}
.crystal-game .tile:active{transform:scale(.9)}
.crystal-game .tile.iced:active,.crystal-game .tile.block:active{transform:none}
.board-bottom{display:flex;justify-content:space-between;gap:10px;min-height:57px;align-items:center;font-size:.77rem;color:var(--muted);padding:8px 2px}
#time{font-variant-numeric:tabular-nums;white-space:nowrap}
.actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.crystal-game .actions .button{display:inline-flex;align-items:center;justify-content:center;font-size:.76rem;padding:10px 5px;min-width:0}
.legend{margin-top:20px}
.legend>div{display:flex;gap:11px;margin-bottom:22px}
.legend>div>span{font-size:26px;min-width:25px;line-height:1.2}
.legend p,.practice{font-size:.79rem;color:var(--muted);margin:6px 0 0}
.legend-ice{color:#93d6f5}.legend-block{color:var(--yellow)}.legend-magic{color:#cba5ff}
.practice{border-top:1px solid var(--line);padding-top:17px}
.crystal-page dialog{max-width:470px;width:calc(100% - 32px);padding:30px;border:1px solid var(--line);border-radius:22px;background:var(--panel);color:var(--text);box-shadow:var(--shadow)}
.crystal-page dialog::backdrop{background:#020811bb;backdrop-filter:blur(5px)}
.crystal-page dialog h2{font-size:1.5rem;margin:12px 0 18px}
.crystal-page dialog p,.crystal-page dialog li{font-size:.88rem;color:var(--muted)}
.crystal-page dialog ol{padding-left:22px}.crystal-page dialog li{margin:10px 0}
.close{position:absolute;right:12px;top:7px;background:none;border:0;font-size:28px;color:var(--muted);cursor:pointer}
#end-screen{position:absolute;inset:0;z-index:5;border-radius:17px;display:grid;place-items:center;background:#081729ed;backdrop-filter:blur(5px);text-align:center;padding:22px}
#end-screen[hidden]{display:none}.end-card>span{font-size:56px;color:var(--yellow)}.crystal-game .end-card h2{text-align:center;font-size:1.5rem}.end-card p{color:var(--muted);font-size:.9rem}.loading{color:var(--muted);font-size:.9rem}
@keyframes crystal-pop{to{transform:scale(.1) rotate(25deg);opacity:0}}
@keyframes crystal-arrive{from{transform:translateY(-14px) scale(.7);opacity:.2}}
@keyframes twinkle{50%{filter:brightness(1.15);transform:rotate(15deg) scale(.9)}}
@media(max-width:1100px){.crystal-layout{grid-template-columns:200px minmax(0,470px)}.crystal-game .right-panel{grid-column:1/-1}.legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.legend>div{margin:0}.practice{margin-top:18px}}
@media(max-width:650px){.crystal-section{padding:26px 0 35px}.crystal-layout{display:flex;flex-direction:column;gap:15px;max-width:470px;margin:auto}.crystal-game .left-panel{width:100%;padding:13px}.crystal-game .left-panel>.eyebrow,.objective-heading,.tip,.left-panel>.text-link{display:none}#goals{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.crystal-game .goal{display:flex;flex-direction:column;gap:5px;margin:0;padding:8px 2px}.goal-icon{font-size:23px}.goal-info{width:100%;padding:0 3px}.goal-label{text-align:center;font-size:.63rem;line-height:1.2;min-height:35px;justify-content:space-between}.goal-count{font-size:.64rem}.crystal-game .progress{margin-top:5px}.crystal-game .play-area{padding:10px;width:100%}.board-title{font-size:.62rem}.moves{min-width:87px}.board-frame{padding:5px}.crystal-game #board{gap:3px}.crystal-game .tile{border-radius:5px}.crystal-game .tile.iced::after{font-size:21px}.board-bottom{font-size:.73rem}.actions .button{font-size:.73rem}.crystal-game .right-panel{width:100%;padding:17px}.legend{display:block}.legend>div{margin-bottom:18px}.crystal-page .top-actions{gap:5px}.crystal-page .top-actions .button,.crystal-page .icon-button{padding:8px 9px;font-size:.8rem}.crystal-page .brand{gap:6px;font-size:.86rem}}
@media(prefers-reduced-motion:reduce){.crystal-game *,.crystal-game *:before,.crystal-game *:after{animation:none!important;transition:none!important}}
