.jm-ranking-app{max-width:1280px;margin:30px auto;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#111827}.jm-card{background:#fff;border:1px solid #e5e7eb;border-radius:22px;padding:24px;box-shadow:0 12px 35px rgba(15,23,42,.08)}.jm-card h2{margin:0 0 10px;font-size:30px}.jm-card p{color:#6b7280;margin:5px 0 18px}.jm-name{display:block;width:100%;max-width:460px;padding:14px 16px;border:1px solid #d1d5db;border-radius:12px;font-size:16px;margin:8px 0 16px}.jm-button{border:0;border-radius:999px;background:#111827;color:#fff;padding:13px 22px;font-weight:800;cursor:pointer}.jm-button:hover{opacity:.9}.jm-link{border:0;background:transparent;color:#111827;text-decoration:underline;margin-left:12px;cursor:pointer}.jm-topbar{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}.jm-progress{background:#f3f4f6;border-radius:999px;padding:9px 13px;font-size:13px;color:#374151;white-space:nowrap}.jm-sort-list{list-style:none;margin:20px 0 24px;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.jm-sort-list li{position:relative;display:flex;min-height:310px;flex-direction:column;align-items:stretch;background:#f9fafb;border:1px solid #e5e7eb;border-radius:22px;padding:12px;cursor:grab;box-shadow:0 6px 20px rgba(15,23,42,.06);transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.jm-sort-list li:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(15,23,42,.12);border-color:#d1d5db}.jm-sort-list li.dragging{opacity:.55;transform:scale(.98)}.jm-sort-list li.jm-just-moved{transform:scale(1.025);border-color:#a65a44;box-shadow:0 16px 38px rgba(166,90,68,.18)}.jm-rank-number{position:absolute;z-index:2;top:10px;left:10px;background:#111827;color:#fff;border-radius:999px;padding:7px 10px;font-size:13px;font-weight:900;box-shadow:0 6px 16px rgba(0,0,0,.18)}.jm-image-wrap{height:220px;border-radius:18px;background:#fff;border:1px solid #eef0f3;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:zoom-in}.jm-sort-list img{width:100%;height:100%;object-fit:contain;padding:8px}.jm-item-text{padding:12px 4px 2px;min-height:62px}.jm-item-text strong{display:block;font-size:15px;line-height:1.25;color:#111827}.jm-item-text p{font-size:12px;line-height:1.35;margin:5px 0 0;color:#6b7280}.jm-mobile-controls{display:none}.jm-tabs{display:flex;gap:8px;margin:18px 0}.jm-tab{border:1px solid #d1d5db;background:#fff;border-radius:999px;padding:10px 14px;cursor:pointer}.jm-tab.active{background:#111827;color:#fff;border-color:#111827}.jm-result-list{display:grid;gap:10px}.jm-result-row{display:grid;grid-template-columns:58px 74px 1fr;gap:12px;align-items:center;border:1px solid #e5e7eb;border-radius:16px;padding:10px;background:#fff}.jm-result-row img{width:74px;height:74px;object-fit:contain;background:#f9fafb;border-radius:12px}.jm-place{font-weight:900;color:#111827}.jm-result-main span{display:block;color:#6b7280;font-size:13px;margin-top:3px}.jm-lightbox{position:fixed;z-index:999999;inset:0;display:none;align-items:center;justify-content:center;padding:24px}.jm-lightbox.active{display:flex}.jm-lightbox-backdrop{position:absolute;inset:0;background:rgba(2,6,23,.78);backdrop-filter:blur(6px)}.jm-lightbox-panel{position:relative;z-index:2;width:min(920px,96vw);max-height:94vh;background:#fff;border-radius:26px;padding:22px;box-shadow:0 30px 90px rgba(0,0,0,.35);text-align:center}.jm-lightbox-panel img{width:100%;max-height:72vh;object-fit:contain;background:#f8fafc;border-radius:18px}.jm-lightbox-close{position:absolute;top:12px;right:14px;width:42px;height:42px;border:0;border-radius:999px;background:#111827;color:#fff;font-size:28px;line-height:1;cursor:pointer}.jm-lightbox-title{font-size:22px;font-weight:900;margin-top:14px;color:#111827}.jm-lightbox-desc{font-size:14px;color:#6b7280;margin-top:4px}.jm-lightbox-open{overflow:hidden}@media(max-width:1100px){.jm-sort-list{grid-template-columns:repeat(4,minmax(0,1fr))}.jm-image-wrap{height:205px}}@media(max-width:860px){.jm-sort-list{grid-template-columns:repeat(3,minmax(0,1fr))}.jm-image-wrap{height:190px}}@media(max-width:700px){.jm-ranking-app{max-width:100%;margin:18px auto}.jm-card{padding:14px;border-radius:16px}.jm-topbar{display:block}.jm-card h2{font-size:24px}.jm-sort-list{display:flex;flex-direction:column;gap:16px;margin-top:16px}.jm-sort-list li{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:16px;border-radius:22px;cursor:default;touch-action:manipulation}.jm-sort-list li:hover{transform:none;box-shadow:0 6px 20px rgba(15,23,42,.06)}.jm-rank-number{top:12px;left:12px;font-size:16px;padding:9px 12px}.jm-item-text{order:1;padding:0 0 12px 64px;min-height:0}.jm-item-text strong{font-size:24px;line-height:1.08}.jm-item-text p{font-size:15px;line-height:1.25;margin:8px 0 0}.jm-image-wrap{order:2;width:100%;height:235px;border-radius:18px}.jm-sort-list img{padding:10px}.jm-mobile-controls{order:3;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;width:100%;max-width:100%;overflow:hidden}.jm-mobile-controls button{height:48px;border:0;border-radius:16px;background:#111827;color:#fff;font-size:22px;font-weight:900;line-height:1;min-width:0}.jm-mobile-controls .jm-jump-rank{grid-column:1/-1;grid-row:2;background:#a65a44;font-size:15px;padding:0 12px;white-space:nowrap}.jm-progress{display:inline-block;margin-top:10px}.jm-link{display:block;margin:12px 0 0}.jm-lightbox{padding:12px}.jm-lightbox-panel{padding:14px;border-radius:20px}.jm-lightbox-panel img{max-height:70vh}.jm-lightbox-title{font-size:18px}}@media(max-width:380px){.jm-item-text strong{font-size:21px}.jm-item-text p{font-size:14px}.jm-image-wrap{height:205px}.jm-mobile-controls button{height:46px}}

.jm-login-grid{display:grid;gap:8px;margin:14px 0 16px;max-width:420px}.jm-login-grid label{font-weight:800;color:#111827}.jm-login-grid input{width:100%;box-sizing:border-box;border:1px solid #d8dde6;border-radius:14px;padding:13px 14px;font-size:16px;background:#fff}.jm-login-help{margin:0 0 4px;color:#6b7280;font-size:14px}.jm-pin{max-width:160px;letter-spacing:8px;font-weight:800;text-align:center}
@media(max-width:700px){.jm-login-grid{max-width:none}.jm-pin{max-width:100%;letter-spacing:10px}}

.jm-mode-panel{display:flex;justify-content:space-between;gap:14px;align-items:center;margin:14px 0 8px;padding:12px;border:1px solid #e5e7eb;background:#f9fafb;border-radius:18px}.jm-mode-buttons{display:flex;gap:8px;flex-wrap:wrap}.jm-mode-button{border:1px solid #d1d5db;background:#fff;color:#111827;border-radius:999px;padding:10px 14px;font-weight:900;cursor:pointer}.jm-mode-button.active{background:#111827;color:#fff;border-color:#111827}.jm-per-page-wrap{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:900;color:#374151}.jm-per-page-select{border:1px solid #d1d5db;border-radius:12px;padding:9px 12px;background:#fff;font-weight:900}.jm-per-page-select:disabled{opacity:.45}.jm-battle-mode .jm-sort-list{grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px;margin-left:auto;margin-right:auto}.jm-battle-mode .jm-sort-list li{cursor:pointer;min-height:420px;border-width:2px}.jm-battle-mode .jm-sort-list li:hover{border-color:#111827;transform:translateY(-3px)}.jm-battle-mode .jm-rank-number{display:none}.jm-battle-mode .jm-image-wrap{height:300px;cursor:zoom-in}.jm-battle-pick{margin-top:14px;width:100%;border:0;border-radius:16px;background:#111827;color:#fff;padding:14px 16px;font-weight:950;font-size:16px;cursor:pointer}.jm-battle-pick:hover{opacity:.9}.jm-battle-mode .jm-item-text{min-height:80px;text-align:center;padding:8px 4px 12px}.jm-battle-mode .jm-item-text strong{font-size:20px}.jm-battle-mode .jm-item-text p{font-size:13px}.jm-battle-mode .jm-submit-button{display:none!important}
@media(max-width:700px){.jm-mode-panel{display:block}.jm-mode-buttons{display:grid;grid-template-columns:1fr 1fr}.jm-mode-button{width:100%;padding:12px 8px}.jm-per-page-wrap{margin-top:10px;justify-content:space-between}.jm-per-page-select{min-width:90px}.jm-battle-mode .jm-sort-list{display:grid;grid-template-columns:1fr;gap:18px}.jm-battle-mode .jm-sort-list li{min-height:0}.jm-battle-mode .jm-item-text{order:1;padding:0 0 12px;text-align:left}.jm-battle-mode .jm-image-wrap{order:2;height:250px}.jm-battle-pick{order:3}.jm-battle-mode .jm-mobile-controls{display:none}.jm-battle-mode .jm-sort-list li:hover{transform:none}}
