@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;700&family=Noto+Sans+KR:wght@400;500;700&display=swap";:root{--bg:#eef2f8;--text:#172033;--muted:#66748f;--panel:#fff;--line:#d8e0ee;--line-strong:#b2bfd8;--accent:#4d63dd;--accent-soft:#e9edff;--shadow:0 18px 40px #1f2e5314;--shadow-soft:0 8px 24px #1f2e530d;--radius-lg:24px;--radius-md:16px}*{box-sizing:border-box}html{scrollbar-gutter:stable;overflow-y:scroll}body{color:var(--text);background:radial-gradient(circle at 0 0,#7687ff2e,#0000 32%),radial-gradient(circle at 100% 0,#64d2ff29,#0000 28%),linear-gradient(#f7f9fd 0%,#edf2f8 52%,#eef3fb 100%);margin:0;font-family:Space Grotesk,Noto Sans KR,sans-serif;line-height:1.5}button,input,select{font:inherit}.app-bg{min-height:100vh;padding:0 14px 32px}.app-shell{width:100%;max-width:none;margin:0}.app-header{z-index:40;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;border-bottom:1px solid #dfe5f0;margin:0 -14px 18px;position:sticky;top:0;box-shadow:0 1px #0f172a08}.app-header-inner{justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:0 14px;display:flex}.app-header-brand{align-items:center;gap:12px;min-width:0;display:flex}.app-mobile-nav-trigger,.app-mobile-nav-close{width:36px;height:36px;color:var(--text);background:#fff;border:1px solid #d8e0ec;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:none}.app-header-badge{color:#2e56d6;background:#4d63dd1a;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex;box-shadow:inset 0 0 0 1px #4d63dd2e}.app-header-copy{min-width:0}.app-header-copy h1{letter-spacing:-.03em;margin:0;font-size:1.12rem;line-height:1.15}.app-header-copy p{color:var(--muted);margin:3px 0 0;font-size:.82rem}.app-header-action{flex-shrink:0}.app-header-login{align-items:center;gap:8px;display:inline-flex}.app-header-login .ui-icon{width:18px;height:18px}.app-body{grid-template-columns:236px minmax(0,1fr);align-items:start;gap:28px;display:grid}.side-dock{background:0 0;border-right:1px solid #dfe5f0;align-self:start;min-height:calc(100vh - 84px);padding:12px 20px 0 0;position:sticky;top:84px}.side-nav{gap:24px;padding:0;display:grid}.side-section{gap:6px;display:grid}.side-section-title{color:#6b7588;letter-spacing:.08em;text-transform:uppercase;margin:0;padding:0 12px;font-size:.74rem;font-weight:700}.side-button{text-align:left;color:#6b7588;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;grid-template-columns:18px 1fr 14px;align-items:center;gap:12px;width:100%;padding:10px 12px;font-weight:600;transition:all .2s;display:grid}.side-button:hover{color:var(--text);background:#d8e0ee6b}.side-button.active{color:#2e56d6;background:#4d63dd1a;border-color:#4d63dd2e;box-shadow:inset 0 0 0 1px #4d63dd1a}.side-button-label{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:8px;min-width:0;font-size:.92rem;font-weight:600;display:inline-flex;overflow:hidden}.side-button-icon{justify-content:center;align-items:center;display:inline-flex}.side-button-tail{opacity:0;justify-content:flex-end;align-items:center;transition:opacity .2s;display:inline-flex}.side-button.active .side-button-tail{opacity:1}.mobile-nav-overlay,.mobile-nav-drawer{display:none}.main-stage{min-width:0}.auth-panel{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.ui-icon{flex-shrink:0;width:16px;height:16px}.ui-icon-xs{width:13px;height:13px}.auth-user{color:var(--text);background:#f1f4fb;border:1px solid #d7deeb;border-radius:999px;padding:8px 12px;font-weight:700}.auth-hint{border:1px solid var(--line);color:var(--muted);background:#f8f9fc;border-radius:999px;padding:8px 12px;font-weight:600}.auth-error{color:#b42318;margin:0 0 12px;font-weight:600}.panel-wide{grid-column:1/-1}.admin-view{gap:22px;width:min(100%,980px);margin:36px auto 0;display:grid}.admin-auth-card,.admin-panel{box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffe0;border:1px solid #d8e0eeeb;border-radius:28px;padding:28px}.admin-header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.admin-eyebrow{color:#1b6ccf;letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-size:.78rem;font-weight:800}.admin-header h1,.admin-auth-card h1,.admin-panel h2{letter-spacing:-.03em;margin:0}.admin-copy{color:var(--muted);margin:8px 0 0}.admin-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.admin-panel{gap:10px;display:grid}.admin-panel p{color:#41506a;margin:0;line-height:1.65}.admin-metric{color:#172033;letter-spacing:-.04em;font-size:2rem;font-weight:800;line-height:1.05}.admin-field{gap:8px;margin-top:18px;display:grid}.admin-field span{color:#445674;font-weight:700}.admin-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.ranking-view{flex-direction:column;gap:20px;width:100%;max-width:1120px;margin:0 auto;display:flex}.ranking-page-head{gap:6px;display:grid}.ranking-page-title{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ranking-page-badge{color:#1464c0;letter-spacing:.06em;background:#1464c01a;border-radius:999px;justify-content:center;align-items:center;padding:4px 10px;font-size:.74rem;font-weight:800;display:inline-flex}.ranking-page-kicker{color:#1b6ccf;letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:700}.ranking-page-head h1{letter-spacing:-.04em;margin:0;font-size:2rem;line-height:1.08}.ranking-page-head p{color:var(--muted);margin:0}.ranking-season-card{z-index:2;position:sticky;top:24px}.ranking-section-head{align-items:center;gap:12px;margin-bottom:18px;display:flex}.ranking-section-head h2{letter-spacing:-.03em;margin:0;font-size:1.16rem}.ranking-section-head p{color:var(--muted);margin:4px 0 0;font-size:.92rem}.ranking-section-icon{color:#5168e8;background:#eef2ff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.92rem;font-weight:700;display:inline-flex}.ranking-section-icon .ui-icon{width:18px;height:18px}.ranking-section-icon-warm{color:#d97706;background:#fff1e7}.ranking-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.ranking-card{box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffd6;border:1px solid #d8e0eeeb;border-radius:28px;padding:22px}.ranking-alert-card{background:#eff6ffeb;border-color:#cddcf4;padding:16px 18px}.ranking-alert-copy{color:#1e3a5f;margin:0;font-weight:600;line-height:1.6}.ranking-guide-card{margin-bottom:22px}.ranking-guide-list{gap:10px;display:grid}.ranking-guide-list p{color:#41506a;margin:0;line-height:1.6}.ranking-season-meta,.ranking-entry-box,.ranking-join-box,.ranking-login-box,.ranking-roll-box,.ranking-compare-box{gap:12px;display:grid}.ranking-toggle-row{gap:10px;margin-bottom:16px;display:flex}.ranking-toggle-btn{min-height:46px;color:var(--text);cursor:pointer;background:#fff;border:1px solid #d2dbeb;border-radius:14px;flex:1;font-weight:700;transition:border-color .18s,background-color .18s,color .18s}.ranking-toggle-btn:hover,.ranking-toggle-btn.active{color:#fff;background:#1464c0;border-color:#1464c0}.ranking-toggle-btn:disabled{cursor:default;opacity:1}.ranking-support-copy{color:#41506a;margin:0;font-size:.98rem}.ranking-support-copy-strong{color:#172033;font-weight:700}.ranking-cta-card,.ranking-status-card{border-radius:16px;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:15px 18px;display:flex}.ranking-cta-card{color:var(--text);background:#fff;border:1px solid #d2dbeb;font-weight:700}.ranking-cta-button{cursor:pointer}.ranking-cta-arrow{color:#1f2f4b;font-size:1.5rem;line-height:1}.ranking-status-card{color:var(--muted);background:#f1f5fbe6;justify-content:flex-start}.ranking-status-icon{color:#445674;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.9rem;display:inline-flex}.ranking-status-card strong{color:var(--text)}.ranking-action-bar,.ranking-info-strip{border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.ranking-action-bar{color:var(--text);background:#fff;border:1px solid #d9e1ee;font-weight:700}.ranking-action-arrow{color:#1f2f4b;font-size:1.35rem;line-height:1}.ranking-info-strip{color:var(--muted);background:#f1f5fbe6;justify-content:flex-start}.ranking-info-icon{color:#445674;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.9rem;display:inline-flex}.ranking-info-strip strong{color:var(--text)}.ranking-compare-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.ranking-compare-card{background:linear-gradient(#f7f9ff 0%,#f1f5fb 100%);border:1px solid #dfe6f1;border-radius:18px;gap:10px;padding:16px;display:grid}.ranking-compare-card span{color:#52607a;font-weight:600}.ranking-compare-card p{color:#24324a;word-break:break-word;margin:0}.ranking-season-meta-item,.ranking-entry-row,.ranking-my-card{justify-content:space-between;gap:12px;display:flex}.ranking-season-meta-horizontal{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.ranking-season-meta-item{flex-direction:column;align-items:flex-start;min-width:0}.ranking-entry-row,.ranking-my-card{background:0 0;border:0;border-bottom:1px solid #e2e8f2;border-radius:0;padding:12px 0}.ranking-entry-row-skill{border-bottom:0;justify-content:stretch;padding-top:16px;display:grid}.ranking-entry-row-skill>span{margin-bottom:10px}.ranking-season-meta-horizontal div{min-width:0}.ranking-season-meta-horizontal strong{text-align:left;line-height:1.45}.ranking-season-meta span,.ranking-entry-row span,.ranking-my-card span{color:#52607a;font-weight:600}.ranking-season-meta span{font-size:.9rem}.ranking-table-wrap{padding-bottom:88px;overflow:auto visible}.ranking-table{table-layout:fixed;border-collapse:collapse;background:#f8faffbd;border-radius:18px;width:100%;margin-top:16px;overflow:visible}.ranking-table th,.ranking-table td{text-align:left;vertical-align:top;border-bottom:1px solid #dde3ef;padding:13px 12px}.ranking-table th:first-child,.ranking-table td:first-child{width:56px;padding-right:8px}.ranking-table th{color:#52607a;text-transform:uppercase;letter-spacing:.06em;background:#e9eef9c7;font-size:13px}.ranking-skill-cell{color:#41506a;word-break:keep-all;min-width:170px;line-height:1.5}.ranking-nickname-cell{white-space:nowrap;text-overflow:ellipsis;min-width:96px;max-width:132px;overflow:hidden}.ranking-row-highlight td{background:#1464c014}.ranking-row-highlight td:first-child{border-left:3px solid #1464c0}.ranking-skill-disclosure{display:block;position:relative}.ranking-skill-summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:2px 0;list-style:none;display:flex}.ranking-skill-summary::-webkit-details-marker{display:none}.ranking-skill-summary-main{min-width:0;display:block}.ranking-skill-summary-main strong{word-break:keep-all;white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;line-height:1.3;display:block;overflow:hidden}.ranking-skill-summary-main span{color:#66748f;font-size:.78rem;font-weight:700}.ranking-skill-summary-tail{color:#52607a;flex-shrink:0;padding-left:8px;font-size:.76rem;font-weight:700}.ranking-skill-preview{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%;display:grid}.ranking-skill-preview .rolled-skill-card{background:#fcfdff;min-height:96px;padding:12px}.ranking-skill-preview .rolled-skill-card strong{word-break:keep-all;margin-top:6px;font-size:.98rem;line-height:1.32}.ranking-skill-preview .rolled-skill-score{margin-top:4px;font-size:.82rem}.ranking-skill-list{z-index:5;opacity:0;pointer-events:none;background:#fffffffa;border:1px solid #d9e1ee;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;width:240px;padding:12px;transition:opacity .14s,transform .14s;display:grid;position:absolute;top:calc(100% + 8px);left:0;transform:translateY(-4px);box-shadow:0 16px 30px #16213a29}.ranking-skill-disclosure[open] .ranking-skill-list,.ranking-skill-disclosure:hover .ranking-skill-list{opacity:1;pointer-events:auto;transform:translateY(0)}.ranking-skill-list-item{align-content:start;gap:1px;display:grid}.ranking-skill-list-item strong{word-break:keep-all;font-size:.92rem;line-height:1.28}.ranking-skill-list-item span{color:#66748f;font-size:.78rem;font-weight:700}.ranking-empty{color:#6b7280}.tool-tabs-bar{background:#fffffff5;border:1px solid #dfe5f0;border-radius:0;margin-bottom:28px;box-shadow:0 4px 14px #0f172a0d}.tool-tabs{gap:4px;margin:0;padding:10px 12px;display:flex;overflow-x:auto}.tool-tab{color:var(--muted);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:8px;padding:10px 14px;font-weight:600;transition:all .2s;display:inline-flex}.tool-tab:hover,.tool-tab.active{color:#fff;background:#1464c0}.hero-chip{background:var(--accent-soft);color:var(--accent);border:1px solid #b9e2d7;border-radius:999px;padding:8px 14px;font-size:.85rem;font-weight:700}.feature-tabs{gap:8px;margin:16px 0 20px;padding-bottom:4px;display:flex;overflow-x:auto}.feature-tab{border:1px solid var(--line);color:var(--muted);white-space:nowrap;background:#f7f8fb;border-radius:999px;padding:10px 14px;font-weight:700}.feature-tab.active{color:#fff;background:#1f2f4b;border-color:#1f2f4b}.layout-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:24px;display:grid}.calculator-shell{flex-direction:column;gap:26px;display:flex}.panel{box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffd6;border:1px solid #d8e0eeeb;border-radius:22px;width:100%;min-width:0}.panel-main{padding:24px}.panel-result{border-width:1px;padding:18px;position:sticky;top:20px}.panel-head h2{letter-spacing:-.03em;margin:0 0 22px;font-size:1.22rem}.input-config-card{background:#fff;border:1px solid #dfe5f0;border-radius:20px;padding:30px 32px;box-shadow:0 4px 16px #0f172a0d}.input-config-card-compact{margin-bottom:18px}.control-row{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:40px;margin-bottom:26px;display:grid}.control-section{align-content:start;gap:14px;display:grid}.control-section label,.toggle-label{color:#5d6d87;margin:0;font-size:1rem;font-weight:700;display:block}.control-section-mode .toggle-root{margin:0}.control-block{background:linear-gradient(#fff 0%,#fafcff 100%);border:1px solid #dfe5f0;border-radius:16px;padding:16px;box-shadow:inset 0 1px #fffffff2}.control-block-mode{align-self:start;padding:16px}.control-block label{color:var(--muted);margin-bottom:12px;font-size:.92rem;font-weight:700;display:block}.control-reset-row{margin-bottom:0}.control-reset-btn{border-radius:14px;justify-content:center;gap:8px;width:100%;min-height:42px;padding-top:8px;padding-bottom:8px;font-size:.98rem}.control-reset-icon{flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.inline-actions{gap:8px;display:flex}.inline-actions-card{flex-direction:column}select,input{background:#fffffff2;border:1px solid #d2dbeb;border-radius:14px;width:100%;padding:12px 14px;box-shadow:inset 0 1px #ffffffe6}.ghost-btn{white-space:nowrap;word-break:keep-all;cursor:pointer;min-width:92px;box-shadow:none;background:#fff;border:1px solid #d2dbeb;border-radius:14px;padding:11px 15px;font-weight:700;line-height:1;transition:border-color .18s,background-color .18s,color .18s}.ghost-btn:hover{background:#f8fbff;border-color:#c0d0ea}.skill-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;display:grid}.skill-col{flex-direction:column;gap:16px;min-width:0;display:flex}.skill-select{background:#fff;border:1px solid #dfe5f0;border-radius:18px;padding:18px;box-shadow:0 4px 16px #0f172a0d}.skill-select.disabled{opacity:.7}.skill-select-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.skill-select-head-main{align-items:center;gap:10px;min-width:0;display:flex}.skill-slot-badge{color:#1c73d8;background:#4d63dd1a;border:1px solid #4d63dd33;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:.95rem;font-weight:700;display:inline-flex}.skill-select h3{color:#4e5d78;margin:0;font-size:1.02rem;font-weight:700}.skill-score-pill{color:#1c73d8;white-space:nowrap;background:#4d63dd14;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:6px 10px;font-size:.9rem;font-weight:700;display:inline-flex}.skill-search-wrap{margin-bottom:14px;position:relative}.skill-search-wrap input{background:#f1f5fbb8;padding-left:40px}.skill-search-icon{color:#6f7d94;pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.selected-skill-row{background:#f0f6fff5;border:1px solid #cfe0fb;border-radius:16px;margin:0 0 14px;padding:14px}.selected-skill-row p{color:#5f6f88;margin:0;font-size:.84rem}.selected-skill-row span{margin-top:6px;font-size:1rem;font-weight:700;display:block}.selected-skill-row small{color:#5f6f88;margin-top:6px;font-size:.84rem;font-weight:500;display:block}.skill-result-list{background:#f7f9fce0;border:1px solid #e5eaf3;border-radius:18px;min-height:260px;max-height:260px;padding:8px;overflow-y:auto}.skill-option{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:14px;width:100%;margin-bottom:4px;padding:12px 14px;font-weight:600;transition:all .18s}.skill-option:hover{color:#fff;background:#1464c0}.skill-option.selected{background:#1464c0;color:#fff!important}.skill-empty{color:var(--muted);padding:8px;font-size:.9rem}.toggle-root{width:100%;margin-top:0}.toggle-label{margin-bottom:0}.toggle-row{flex-wrap:wrap;align-items:flex-start;gap:12px;display:flex}.toggle-row-modes,.toggle-row-cards{align-items:center;width:auto}.toggle-btn{min-height:46px;color:var(--text);white-space:nowrap;word-break:keep-all;cursor:pointer;background:#fff;border:1px solid #d2dbeb;border-radius:14px;flex:none;justify-content:center;align-items:center;padding:11px 16px;font-size:.96rem;font-weight:700;transition:border-color .18s,color .18s,background-color .18s;display:flex}.toggle-btn:hover,.toggle-btn.active{color:#fff;background:#1464c0;border-color:#1464c0}.primary-btn,.roll-btn{color:#fff;box-shadow:none;background:#4458d2;border:0;border-radius:14px;padding:12px 16px;font-weight:700;transition:background-color .18s,filter .18s}.primary-btn:hover,.roll-btn:hover{filter:brightness(1.02)}.result-stat{background:linear-gradient(#f8faff 0%,#f1f5fb 100%);border:1px solid #e0e5ef;border-radius:16px;justify-content:space-between;align-items:center;margin-bottom:10px;padding:14px 16px;display:flex}.result-stat span{color:var(--muted);font-size:.9rem}.result-stat strong{font-size:1.05rem}.result-badge{color:#3950d4;text-align:center;background:#edf2ff;border:1px solid #d8dfff;border-radius:14px;margin-top:8px;padding:10px 12px;font-weight:700}.result-summary{color:var(--text);background:linear-gradient(#f8faff 0%,#f1f5fb 100%);border:1px solid #e0e5ef;border-radius:16px;margin:12px 0 0;padding:14px 16px;font-size:.94rem;line-height:1.55}.result-grade-guide{background:#f7f9fd;border:1px solid #e0e5ef;border-radius:18px;margin-top:12px;padding:14px 16px}.result-grade-guide-title{color:var(--muted);margin-bottom:10px;font-size:.88rem;font-weight:700}.result-grade-guide-list{flex-direction:column;gap:8px;display:flex}.result-grade-guide-item{justify-content:space-between;align-items:flex-start;gap:12px;font-size:.9rem;display:flex}.result-grade-guide-item strong{min-width:42px}.result-grade-guide-item span{color:var(--muted);text-align:right}.mobile-live-summary{border:1px solid var(--line);background:linear-gradient(135deg,#fbfcff,#f3f8f6);border-radius:14px;margin-bottom:14px;padding:14px;display:none}.mobile-live-summary-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.mobile-live-summary-head strong{font-size:.94rem}.mobile-live-summary-head span{font-size:.95rem;font-weight:700}.mobile-live-summary-stats{color:var(--muted);gap:12px;margin-bottom:10px;font-size:.9rem;display:flex}.mobile-current-skill-list{gap:8px;display:grid}.mobile-current-skill-empty{border:1px dashed var(--line);color:var(--muted);background:#ffffffb8;border-radius:12px;padding:10px 12px;font-size:.88rem}.mobile-current-skill-item{border:1px solid var(--line);background:#ffffffeb;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.mobile-current-skill-copy{gap:4px;min-width:0;display:grid}.mobile-current-skill-copy strong,.mobile-current-skill-copy span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.mobile-current-skill-copy span{color:var(--muted);font-size:.84rem}.mobile-current-skill-remove{border:1px solid var(--line);color:#64748b;background:#fff;border-radius:999px;flex-shrink:0;width:28px;height:28px;font-size:1.1rem;line-height:1}.mobile-calc-builder{display:none}.mobile-calc-search{gap:10px;display:grid}.mobile-calc-search-results{gap:8px;max-height:260px;padding-right:2px;display:grid;overflow-y:auto}.mobile-skill-search-option{border:1px solid var(--line);text-align:left;background:#fff;border-radius:14px;padding:12px 14px;font-weight:700}.mobile-skill-search-option.selected{background:#eff6ff;border-color:#8bbcff}.mobile-pending-skill-card{border:1px solid var(--line);background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.mobile-pending-skill-copy{gap:4px;min-width:0;display:grid}.mobile-pending-skill-copy span{color:var(--muted);font-size:.82rem}.mobile-pending-skill-reset{border:1px solid var(--line);color:#475569;background:#fff;border-radius:999px;flex-shrink:0;padding:8px 12px;font-size:.82rem;font-weight:700}.mobile-calc-add-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.mobile-calc-add-btn{justify-content:center;min-width:82px}.mobile-calc-add-meta{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;font-size:.88rem;display:flex}.mobile-calc-add-meta strong{color:#1d4ed8;flex-shrink:0;font-weight:700}.mobile-skill-chip-list{flex-wrap:wrap;gap:8px;padding-bottom:0;display:flex;overflow-x:visible}.mobile-skill-chip{border:1px solid var(--line);white-space:normal;background:#fff;border-radius:12px;flex:100%;padding:8px 10px;font-size:.84rem;font-weight:700}.simulation-stack{flex-direction:column;gap:14px;display:flex}.simulation-actions{border-radius:var(--radius-md);border:1px solid var(--line);background:linear-gradient(135deg,#f8fbff,#eef6f3);flex-direction:column;gap:10px;padding:14px 16px;display:flex}.simulation-action-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.simulation-summary{border:1px solid var(--line);color:var(--muted);background:#fbfcff;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;font-size:.92rem;font-weight:600;display:flex}.simulation-summary span{align-items:center;gap:6px;display:flex}.simulation-summary strong{color:var(--text);font-size:1rem}.auto-roll-compact{grid-template-columns:auto minmax(0,220px);align-items:center;gap:10px;display:grid}.auto-roll-controls{min-width:0}.auto-roll-compact label{color:var(--muted);white-space:nowrap;font-size:.88rem;font-weight:700}.auto-roll-btn{min-width:0}.roll-btn{color:#fff;white-space:nowrap;cursor:pointer;background:#1b7f6f;border:0;border-radius:12px;padding:14px 18px;font-weight:700}.tool-note{color:var(--muted);margin:0;font-size:.92rem;line-height:1.5}.tool-note-strong{border:1px solid var(--line);color:var(--text);background:#f6f8fc;border-radius:12px;padding:12px 14px}.impact-fixed-skill{max-width:420px}.impact-fixed-skill-full{max-width:none}.impact-card-lock{flex-direction:column;gap:10px;display:flex}.impact-card-pill{min-height:46px;color:var(--text);background:#fff;border:1px solid #d2dbeb;border-radius:14px;justify-content:center;align-items:center;padding:11px 14px;font-weight:700;display:inline-flex}.simulation-action-buttons-single{grid-template-columns:1fr}.rolled-skill-card{border-radius:var(--radius-md);border:1px solid var(--line);background:#fcfdff;min-height:104px;padding:14px}.rolled-skill-card strong{margin-top:8px;font-size:1.05rem;display:block}.rolled-skill-card-reveal{animation:.62s rolled-skill-reveal-pop;position:relative;overflow:hidden}.rolled-skill-card-reveal:after{content:"";pointer-events:none;background:linear-gradient(115deg,#fff0 18%,#ffffffe0 40%,#9fd2ffa6 52%,#fff0 72%);animation:.62s rolled-skill-reveal-shine;position:absolute;inset:-20%;transform:translate(-130%)skew(-18deg)}.rolled-skill-card-hidden{color:#50617d;background:linear-gradient(#f9fbff 0%,#eef4ff 100%);border-style:dashed;border-color:#c9d6eb;flex-direction:column;justify-content:center;align-items:flex-start;display:flex}.rolled-skill-card-hidden strong{color:#2a4d88;font-size:1.45rem}.rolled-skill-card-hidden.interactive{cursor:pointer;transition:border-color .18s,background-color .18s,transform .18s}.rolled-skill-card-hidden.interactive:hover{background:linear-gradient(#f4f8ff 0%,#e8f0ff 100%);border-color:#1464c0;transform:translateY(-1px)}.rolled-skill-card-hidden:disabled{cursor:default}@keyframes rolled-skill-reveal-pop{0%{filter:brightness();transform:scale(.97);box-shadow:0 0 #1464c000}35%{filter:brightness(1.06);transform:scale(1.02);box-shadow:0 0 0 6px #7cb9ff2e}to{filter:brightness();transform:scale(1);box-shadow:0 0 #1464c000}}@keyframes rolled-skill-reveal-shine{0%{opacity:0;transform:translate(-130%)skew(-18deg)}18%{opacity:1}to{opacity:0;transform:translate(130%)skew(-18deg)}}.rolled-skill-score{color:var(--muted);margin-top:6px;font-size:.88rem;font-weight:700}.rolled-skill-label{color:var(--muted);font-size:.86rem;font-weight:700}.impact-note{color:#b42318;margin:10px 0 0;font-size:.92rem;font-weight:600}.empty-box{border:1px dashed var(--line-strong);color:var(--muted);background:#f8fafc;border-radius:12px;padding:16px;font-weight:600}.app-footer{text-align:center;color:#8190ab;margin-top:4px;font-size:.86rem}.support-contact-banner{z-index:40;color:#4c5f83;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffeb;border:1px solid #b9c6e0e6;border-radius:14px;padding:10px 14px;font-size:.88rem;line-height:1.45;position:fixed;bottom:18px;left:20px;box-shadow:0 10px 24px #1d2c4d14}.support-contact-banner a{color:#1769c7;font-weight:700;text-decoration:none}.support-contact-banner a:hover{text-decoration:underline}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#141c2c61;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{background:#fffffff5;border:1px solid #dde4f0eb;border-radius:24px;gap:12px;width:min(100%,420px);padding:24px;display:grid;box-shadow:0 26px 60px #16213a38}.modal-eyebrow{color:#5b6980;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.8rem;font-weight:700}.modal-card h2{margin:0;font-size:1.5rem;line-height:1.2}.modal-copy{color:var(--muted);margin:0;font-size:.95rem}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.modal-google-btn{min-width:132px}.ranking-roll-modal{gap:18px;width:min(100%,840px)}.ranking-roll-modal-stack{gap:16px;display:grid}.ranking-roll-modal-section{background:linear-gradient(#f8faff 0%,#f1f5fb 100%);border:1px solid #dfe6f1;border-radius:20px;gap:14px;padding:16px;display:grid}.ranking-roll-modal-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.ranking-roll-modal-head span{color:#52607a;font-size:.92rem;font-weight:700}.ranking-roll-modal-head strong{letter-spacing:-.02em;font-size:1.08rem}.ranking-roll-modal-score-wrap{align-items:center;gap:8px;display:flex}.ranking-roll-modal-note{color:#445674;background:#f5f8fe;border:1px solid #d8e3f5;border-radius:14px;padding:10px 12px;font-weight:600}.ranking-roll-delta{letter-spacing:.01em;border-radius:999px;justify-content:center;align-items:center;min-width:58px;padding:4px 10px;font-size:.82rem;font-weight:800;display:inline-flex}.ranking-roll-delta.better{color:#15803d;background:#16a34a1f}.ranking-roll-delta.worse{color:#b91c1c;background:#dc26261a}.ranking-roll-delta.same{color:#52607a;background:#52607a1f}.ranking-roll-modal-action{justify-self:end;min-width:148px}.modal-choice-btn{color:var(--text);box-shadow:none;background:#fff;border:1px solid #d2dbeb;transition:border-color .18s,background-color .18s,color .18s}.ghost-btn.modal-choice-btn,.primary-btn.modal-choice-btn{color:var(--text);box-shadow:none;background:#fff;border:1px solid #d2dbeb}.modal-choice-btn:hover{filter:none}.ghost-btn.modal-choice-btn:hover,.primary-btn.modal-choice-btn:hover{color:#fff;background:#1464c0;border-color:#1464c0}.modal-error{color:#b42318;margin:0;font-size:.92rem;font-weight:600}@media (width<=1100px){.app-body,.admin-grid{grid-template-columns:1fr}.admin-header{flex-direction:column}.side-dock{background:0 0;border-right:0;min-height:auto;padding:0;position:static}.layout-grid{grid-template-columns:1fr}.panel-result{position:static}.ranking-grid{grid-template-columns:1fr}.ranking-season-card{position:static}}@media (width<=900px){.app-bg{padding:0 10px 20px}.app-header{margin:0 -10px 14px}.app-header-inner{min-height:58px;padding:0 10px}.app-header-badge{border-radius:12px;width:34px;height:34px}.app-mobile-nav-trigger,.app-mobile-nav-close{display:inline-flex}.app-header-copy h1{font-size:.98rem}.app-header-copy p{display:none}.modal-card{border-radius:20px;padding:18px}.mobile-nav-overlay{z-index:55;background:#0f172a73;border:0;display:block;position:fixed;inset:0}.mobile-nav-drawer{z-index:60;background:#fff;border-right:1px solid #dfe5f0;width:min(288px,100vw - 44px);padding:14px;transition:transform .22s;display:block;position:fixed;inset:0 auto 0 0;transform:translate(-100%);box-shadow:0 20px 48px #0f172a2e}.mobile-nav-drawer.open{transform:translate(0)}.mobile-nav-head{border-bottom:1px solid #e3e8f2;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding:0 2px 14px;display:flex}.mobile-nav-content{gap:18px;display:grid}.panel-main,.panel-result{padding:14px}.panel-head h2{margin-bottom:10px;font-size:1.05rem}.control-row,.skill-grid{grid-template-columns:1fr}.control-row{gap:10px;margin-bottom:12px}.input-config-card{margin-bottom:16px;padding:12px}.control-section{gap:10px}.control-block{padding:10px}.control-block-mode{padding:9px}.control-reset-row{margin-bottom:12px}.toggle-row-modes{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;width:100%;display:grid}.toggle-row-modes .toggle-btn{width:100%;min-width:0;padding-left:0;padding-right:0}.toggle-row-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;width:100%;display:grid}.toggle-row-cards .toggle-btn{width:100%;min-width:0;padding-left:0;padding-right:0}.tool-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%;padding:8px 10px;display:grid;overflow-x:visible}.tool-tab{justify-content:center;gap:5px;min-width:0;padding:9px 6px;font-size:.82rem}.simulation-action-buttons{grid-template-columns:1fr}.side-nav{gap:12px;padding-top:0}.side-dock{display:none}.side-section{gap:6px}.side-section-title{padding:0 6px;font-size:.7rem}.side-button{grid-template-columns:16px 1fr 12px;gap:10px;padding:11px 12px}.side-button-label{font-size:.92rem}.inline-actions{flex-direction:column}.tool-tabs-bar{margin-bottom:18px}.tool-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%;margin-bottom:0;padding:8px;display:grid;overflow-x:visible}.tool-tab{flex:initial;justify-content:center;gap:5px;min-width:0;padding:9px 6px;font-size:.82rem}.tool-tab .ui-icon{width:14px;height:14px}.mobile-live-summary{margin-bottom:10px;padding:12px;display:block}.mobile-calc-builder{background:#fff;border:1px solid #dfe5f0;border-radius:16px;gap:12px;margin-bottom:14px;padding:12px;display:grid}.mobile-live-summary-stats{gap:10px;margin-bottom:8px;font-size:.84rem}.skill-grid{display:none}.result-grade-guide-item{flex-direction:column;gap:4px}.result-grade-guide-item span{text-align:left}.simulation-stack{gap:10px}.simulation-summary{flex-direction:column;align-items:flex-start;gap:6px;padding:10px 12px;font-size:.88rem}.simulation-summary span{justify-content:space-between;width:100%}.simulation-actions{padding:12px}.auto-roll-compact{grid-template-columns:1fr;gap:6px}.simulation-stats{gap:8px}.roll-btn,.ghost-btn,.toggle-btn,select,input{min-height:40px}.toggle-btn{min-height:38px;padding:8px 6px;font-size:.84rem}.ghost-btn{min-width:0;padding:9px 12px;font-size:.92rem}.impact-card-pill{min-height:40px;padding:9px 12px;font-size:.92rem}.skill-select{padding:12px}.skill-select-head{margin-bottom:10px}.skill-slot-badge{width:30px;height:30px;font-size:.86rem}.skill-select h3{font-size:.94rem}.selected-skill-row{margin:0 0 10px;padding:12px}.skill-result-list{min-height:220px;max-height:220px}.skill-option{margin-bottom:5px;padding:9px 10px;font-size:.92rem}.ranking-card{border-radius:20px;padding:16px}.ranking-season-meta-item,.ranking-entry-row,.ranking-my-card{flex-direction:column;align-items:flex-start}.ranking-season-meta-horizontal{grid-template-columns:1fr}.ranking-season-meta-horizontal strong{text-align:left}.ranking-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.ranking-table{min-width:620px}.service-nav,.ranking-compare-grid{grid-template-columns:1fr}.rolled-skill-card{min-height:90px;padding:12px}.rolled-skill-card strong{margin-top:6px;font-size:.98rem}.rolled-skill-score{margin-top:4px;font-size:.8rem}.support-contact-banner{text-align:center;font-size:.82rem;bottom:12px;left:12px;right:12px}}
