*{box-sizing:border-box}html,body{margin:0;width:100%;min-height:100%;font-family:Arial,Helvetica,sans-serif;background:#0f172a;color:white}.gameBody{height:100%;overflow:hidden;text-align:center;touch-action:manipulation}.adminBody{overflow:auto}.hidden{display:none!important}.panel{background:#0f172a;border:1px solid #334155;border-radius:20px;padding:14px}.primaryBtn,.secondaryBtn,.dangerBtn,.primaryLink,.tinyBtn{border:none;border-radius:16px;color:white;padding:12px 16px;font-size:16px;font-weight:bold;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.primaryBtn,.primaryLink{background:linear-gradient(145deg,#3b82f6,#1d4ed8);box-shadow:0 8px 18px rgba(37,99,235,.35)}.secondaryBtn,.tinyBtn{background:#334155}.tinyBtn{font-size:12px;padding:7px 10px;border-radius:10px}.dangerBtn{background:linear-gradient(145deg,#ef4444,#991b1b)}.note{color:#94a3b8;font-size:12px;line-height:1.4}.popupIcon{font-size:38px;flex:0 0 auto}h1{margin:0}h2{margin:0 0 10px}#hud{height:64px;display:flex;justify-content:center;align-items:center;gap:12px;background:#0f172a;border-bottom:2px solid #334155}.badge{min-width:120px;padding:10px 16px;border-radius:14px;font-size:17px;font-weight:bold;box-shadow:0 4px 10px rgba(0,0,0,.25)}.score{background:#2563eb}.time{background:#ea580c}.level{background:#7c3aed}#game{position:relative;width:100%;height:calc(100vh - 64px);background:radial-gradient(circle at top left,rgba(37,99,235,.25),transparent 35%),radial-gradient(circle at bottom right,rgba(34,197,94,.16),transparent 35%),#111827;overflow:hidden}.card{position:absolute;width:120px;height:120px;border:none;border-radius:20px;color:white;cursor:pointer;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:15px;font-weight:bold;box-shadow:0 8px 18px rgba(0,0,0,.45);user-select:none}.card:active{transform:scale(.9)}.icon{font-size:42px;margin-bottom:8px}.bad{background:linear-gradient(145deg,#dc2626,#991b1b)}.good{background:linear-gradient(145deg,#22c55e,#15803d)}.popupOverlay{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;padding:10px;background:rgba(15,23,42,.72);backdrop-filter:blur(6px);z-index:1000}.popupBox{width:min(96vw,1040px);max-height:94%;overflow:auto;background:#1e293b;border:2px solid #475569;border-radius:24px;padding:16px;box-shadow:0 20px 60px rgba(0,0,0,.55)}.endBox{width:min(92vw,610px)}.popupHeader{display:flex;justify-content:center;align-items:center;gap:14px;margin-bottom:12px}.introText{margin:3px 0 0;color:#cbd5e1;font-size:15px}.startLayout{display:grid;grid-template-columns:1.12fr .88fr;gap:14px;align-items:stretch}.compactGuide{background:#111827;border:1px solid #334155;border-radius:18px;padding:12px;margin-bottom:12px}.guideLine{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:8px 0;padding:9px;border-radius:14px;font-size:15px;font-weight:bold}.guideLine span{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:5px 9px;border-radius:10px;background:rgba(255,255,255,.08);white-space:nowrap}.removeLine{color:#fecaca;background:rgba(185,28,28,.28)}.keepLine{color:#bbf7d0;background:rgba(21,128,61,.28)}.quickPoints{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:10px;color:#e2e8f0;font-size:14px}.quickPoints span{padding:6px 9px;background:#0f172a;border:1px solid #334155;border-radius:999px;white-space:nowrap}.difficultyBox{margin:0 auto 12px;padding:12px;background:#111827;border:1px solid #334155;border-radius:18px}.difficultyButtons{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.difficultyBtn,.rankingFilterBtn{border:none;border-radius:14px;color:white;background:#334155;font-size:15px;font-weight:bold;cursor:pointer;box-shadow:0 5px 12px rgba(0,0,0,.28)}.difficultyBtn{min-height:44px}.difficultyBtn.selected{outline:3px solid #facc15}.easyMode,.easyFilter{background:linear-gradient(145deg,#22c55e,#15803d)}.mediumMode,.mediumFilter{background:linear-gradient(145deg,#3b82f6,#1d4ed8)}.hardMode,.hardFilter{background:linear-gradient(145deg,#ef4444,#991b1b)}.godMode,.godFilter{background:linear-gradient(145deg,#facc15,#ea580c);color:#111827}.difficultyDescription{margin-top:10px;color:#cbd5e1;font-size:13px;line-height:1.35}#startBtn{width:min(100%,360px);min-height:56px;font-size:22px}.rankingHeader{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.rankingFilters{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:10px}.rankingFilterBtn{min-height:34px;padding:6px 7px;font-size:12px;opacity:.72}.rankingFilterBtn.active{opacity:1;outline:3px solid #facc15}.rankingList{text-align:left;max-height:350px;overflow:auto;display:flex;flex-direction:column;gap:8px}.rankRow{display:grid;grid-template-columns:38px 1fr 73px;gap:8px;align-items:center;padding:10px;border-radius:14px;background:#111827;border:1px solid #334155;border-left-width:7px}.rankRow.rank-easy{border-left-color:#22c55e}.rankRow.rank-medium{border-left-color:#3b82f6}.rankRow.rank-hard{border-left-color:#ef4444}.rankRow.rank-god{border-left-color:#facc15}.rankRow.current{border-color:#facc15;background:#422006}.rankPosition{font-weight:bold;color:#facc15}.rankName{font-weight:bold}.rankCompany{color:#cbd5e1;font-size:12px;margin-top:2px}.rankDifficulty,.pill{display:inline-block;margin-top:4px;padding:2px 8px;border-radius:999px;color:white;font-size:11px;font-weight:bold}.rankDifficulty.easy,.pill.easy{background:#15803d}.rankDifficulty.medium,.pill.medium{background:#1d4ed8}.rankDifficulty.hard,.pill.hard{background:#991b1b}.rankDifficulty.god,.pill.god{background:#facc15;color:#111827}.rankScore{text-align:right;font-weight:bold;color:#93c5fd}.emptyRanking,.emptyState{padding:18px;color:#cbd5e1;background:#111827;border-radius:14px;border:1px dashed #475569;text-align:center}.finalScore{margin:8px auto 10px;width:150px;padding:14px;border-radius:20px;background:#2563eb;font-size:42px;font-weight:bold}.finalDifficulty{margin-bottom:18px;color:#e2e8f0}.playerForm{display:flex;flex-direction:column;gap:12px;text-align:left}.playerForm label{color:#e2e8f0;font-weight:bold}.playerForm input{width:100%;margin-top:6px;padding:14px;border-radius:14px;border:2px solid #475569;background:#0f172a;color:white;font-size:18px}.savedResult{margin-top:16px;padding:14px;border-radius:16px;background:#064e3b;color:#dcfce7;font-weight:bold;line-height:1.6}.afterSaveActions{display:flex;flex-direction:column;gap:10px;margin-top:14px}.adminTop{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px;background:#111827;border-bottom:2px solid #334155}.adminTitleBlock{display:flex;align-items:center;gap:14px}.adminTitleBlock p{margin:3px 0 0;color:#cbd5e1}.adminContainer{padding:16px;max-width:1360px;margin:0 auto}.filePanel{margin-bottom:14px}.fileActions{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.fileLabel input{display:none}.fileStatus{background:#111827;border:1px solid #334155;border-radius:14px;color:#cbd5e1;padding:10px;text-align:left}.statsGrid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:14px}.statCard{background:#1e293b;border:1px solid #334155;border-radius:18px;padding:16px;box-shadow:0 8px 18px rgba(0,0,0,.25)}.statCard span{display:block;color:#cbd5e1;font-size:13px}.statCard strong{display:block;font-size:26px;margin-top:8px}.controlPanel{display:grid;grid-template-columns:1.5fr 1.4fr .8fr 1fr;gap:12px;margin-bottom:14px}.fieldGroup{text-align:left}.fieldGroup label{display:block;font-weight:bold;margin-bottom:6px;color:#e2e8f0}.fieldGroup input,.fieldGroup select{width:100%;padding:12px;border-radius:12px;border:1px solid #475569;background:#111827;color:#fff;font-size:16px}.companyToolbar{display:flex;gap:8px;margin-bottom:8px}.companyMultiFilter{height:112px;overflow:auto;background:#111827;border:1px solid #475569;border-radius:14px;padding:8px;display:flex;flex-direction:column;gap:6px}.companyOption{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:10px;background:#0f172a;color:#e2e8f0;cursor:pointer}.companyOption input{width:auto;margin:0}.filterInfo{margin-top:6px;color:#94a3b8;font-size:12px}.analysisGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}.companyModeSection{grid-template-columns:1fr}.summaryRow{display:grid;grid-template-columns:1fr auto;gap:10px;padding:9px;border-bottom:1px solid #334155}.companyModeBreakdown{overflow:auto}.breakdownTable{width:100%;border-collapse:collapse;min-width:620px}.breakdownTable th,.breakdownTable td{padding:9px;border-bottom:1px solid #334155;text-align:left}.breakdownTable th{color:#cbd5e1;background:#111827}.tableHeader{display:flex;justify-content:space-between;align-items:center}.tableWrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:860px}th,td{padding:11px;border-bottom:1px solid #334155;text-align:left}th{color:#cbd5e1;background:#111827}tr:hover{background:#111827}.deleteBtn{border:none;background:#b91c1c;color:#fff;border-radius:10px;padding:8px 10px;font-weight:bold;cursor:pointer}.record-easy{border-left:6px solid #22c55e}.record-medium{border-left:6px solid #3b82f6}.record-hard{border-left:6px solid #ef4444}.record-god{border-left:6px solid #facc15}.dangerZone{margin-top:14px;text-align:right}@media(max-width:1000px){.controlPanel{grid-template-columns:1fr 1fr}.statsGrid{grid-template-columns:repeat(2,1fr)}.analysisGrid{grid-template-columns:1fr}.adminTop{align-items:flex-start;flex-direction:column}}@media(max-width:900px){.startLayout{grid-template-columns:1fr}.rankingList{max-height:185px}}@media(max-width:560px){#hud{gap:6px}.badge{min-width:auto;font-size:13px;padding:8px 8px}.popupBox{padding:12px}.popupBox h1{font-size:23px}.popupBox h2{font-size:19px}.popupIcon{font-size:32px}.card{width:108px;height:108px;font-size:13px}.difficultyButtons{grid-template-columns:repeat(2,1fr)}.rankingFilters{grid-template-columns:repeat(3,1fr)}#startBtn{min-height:52px;font-size:20px}.guideLine{font-size:13px;gap:5px;padding:7px}.guideLine span{padding:4px 7px}.quickPoints{font-size:12px;gap:5px}.controlPanel{grid-template-columns:1fr}}