:root{
  --bg:#fff9da;
  --bg-soft:#fffdf1;
  --bg-deep:#fff2a8;
  --panel:#ffffff;
  --panel-2:#fff8d6;
  --line:#ebe3be;
  --line-strong:#d8cf9d;
  --text:#221f1a;
  --muted:#6b6656;
  --primary:#fae100;
  --primary-strong:#f5d900;
  --primary-dark:#3b2f00;
  --secondary:#ffffff;
  --danger:#f76560;
  --info:#6f7cff;
  --admin-sidebar:#121826;
  --admin-bg:#f4f5f8;
  --admin-panel:#ffffff;
  --radius:24px;
  --radius-sm:16px;
  --shadow:0 10px 30px rgba(57,48,15,.10);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;min-height:100%;background:linear-gradient(180deg,#fff9da 0%,#fffbee 45%,#fffefb 100%);color:var(--text);font-family:"Apple SD Gothic Neo","Pretendard Variable","Pretendard","Noto Sans KR",-apple-system,BlinkMacSystemFont,sans-serif;font-size:15px}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
input,select,textarea{width:100%;background:#fff;border:1px solid var(--line);border-radius:16px;color:var(--text);padding:13px 14px;outline:none;transition:.18s ease}
input:focus,select:focus,textarea:focus{border-color:#d6ca71;box-shadow:0 0 0 4px rgba(250,225,0,.22)}
textarea{min-height:120px;resize:vertical}
.hidden{display:none!important}
.app-shell{width:min(1120px,100% - 20px);margin:0 auto;padding:14px 0 30px}
.has-bottom-nav .app-shell{padding-bottom:94px}
.glass-card,.panel,.admin-card,.admin-preview-card,.quick-link-card,.admin-stat,.feature-list article,.player-card,.answer-result-item,.event-item,.info-list li,.setting-card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:var(--radius)}
.mobile-appbar,.play-topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 2px 14px;font-weight:800}
.mobile-appbar{justify-content:center;font-size:15px}
.home-appbar{justify-content:flex-start;gap:10px}
.brand-mark{width:32px;height:32px;border-radius:12px;background:var(--primary);display:flex;align-items:center;justify-content:center;font-weight:900}
.hero-card{padding:24px 18px;margin-bottom:14px}
.hero-kakao{background:linear-gradient(180deg,#fff8c8,#fffef6)}
.hero-badge,.room-chip,.preview-chip,.countdown-chip{display:inline-flex;align-items:center;gap:8px;background:#fff3a4;border:1px solid #e7d879;border-radius:999px;padding:8px 13px;color:#6b5900;font-size:12px;font-weight:800}
.hero-card h1{margin:14px 0 10px;font-size:31px;line-height:1.23;letter-spacing:-.04em}
.hero-card p,.section-head p,.feature-list span,.info-list li,.setting-card p,.toggle-row span,.admin-page-title p,.admin-toolbar-note{margin:0;color:var(--muted);line-height:1.58;font-size:13px}
.hero-actions,.hero-cta-row,.action-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.btn{border:none;border-radius:18px;padding:14px 18px;font-size:14px;font-weight:800;transition:transform .14s ease,filter .14s ease,opacity .14s ease;box-shadow:0 6px 18px rgba(77,64,13,.12)}
.btn:active{transform:scale(.985)}
.btn:hover{filter:brightness(1.02)}
.btn:disabled{opacity:.45;cursor:not-allowed;filter:none}
.btn-primary{background:var(--primary);color:#1f1a00}
.btn-secondary,.admin-btn.light{background:#fff;color:var(--text);border:1px solid var(--line-strong)}
.btn-danger{background:#fff2f1;color:#9e2c28;border:1px solid #f4c3c1}
.btn-small{padding:11px 14px;font-size:13px}
.btn-block{width:100%}
.home-stack,.play-layout{display:grid;gap:14px}
.tabbed-home{position:relative}
.home-screen{display:none}
.home-screen.is-active{display:block;animation:fadeUp .22s ease}
.section-card{padding:18px}
.section-compact{min-height:calc(100vh - 190px)}
.section-head h2{margin:0 0 6px;font-size:21px;letter-spacing:-.03em}
.stack-form{display:grid;gap:12px;margin-top:14px}
.stack-form label{display:grid;gap:7px}
.stack-form span{font-size:12px;color:#5d5747;font-weight:800}
.inline-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.feature-list article{padding:16px;display:grid;gap:8px}
.feature-list strong{font-size:15px}
.info-list{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:10px}
.info-list li{padding:14px 16px}
.settings-stack{display:grid;gap:14px;margin-top:14px}
.toggle-row{display:flex;justify-content:space-between;gap:14px;padding:16px;border:1px solid var(--line);border-radius:20px;background:#fffdf4}
.toggle-row strong{display:block;font-size:14px;margin-bottom:4px}
.toggle-row input{width:auto;transform:scale(1.15)}
.setting-card{padding:16px 16px 15px}
.setting-card--rich{display:grid;gap:10px;background:linear-gradient(180deg,#fffef9,#fffdfa)}
.setting-card__head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.setting-card__head strong{font-size:15px;letter-spacing:-.02em}
.setting-card__sub{margin:0;color:#667085;line-height:1.58;font-size:13px}
.setting-card__value{margin:0;font-size:20px;line-height:1.2;font-weight:900;letter-spacing:-.03em;color:#1f2b3d}
.setting-card__actions{display:flex;flex-wrap:wrap;gap:8px}
.setting-chip{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:6px 10px;border-radius:999px;background:#eef4ff;border:1px solid #d5e3ff;color:#2a5fd7;font-size:11px;font-weight:900;white-space:nowrap}
.setting-chip--accent{background:#f1f7ff;border-color:#cfe0ff;color:#2768e5}
.install-guide-list{margin:0;padding:0 0 0 18px;display:grid;gap:6px;color:#5f6b7a;font-size:12px;line-height:1.58}
.install-guide-list li::marker{color:#3182f6;font-weight:900}
.mobile-install-card .btn{min-width:132px}
.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(255,251,235,.95);backdrop-filter:blur(18px);border-top:1px solid var(--line)}
.bottom-nav__item{border:none;background:#fff;border-radius:18px;padding:12px 6px;color:#746c55;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center}
.bottom-nav__item.is-active{background:var(--primary);color:#201900;box-shadow:0 8px 18px rgba(250,225,0,.30)}
.play-shell{padding-bottom:18px}
.play-layout{grid-template-columns:1.05fr .95fr}
.play-layout > section{min-width:0}
.room-status-panel,.players-panel,.card-panel,.answer-panel{padding:18px}
.room-title-line h1{margin:14px 0 8px;font-size:24px;line-height:1.28;letter-spacing:-.03em}
.room-status-panel p{margin:0;color:var(--muted)}
.countdown-chip{margin-top:12px;background:#fff9d8}
.player-list,.event-feed,.answer-result-list{display:grid;gap:10px}
.player-card{padding:14px 15px;display:flex;justify-content:space-between;gap:10px;align-items:center;background:#fffdf4}
.player-main{display:grid;gap:5px}
.player-main strong{font-size:15px}
.player-main span{font-size:12px;color:var(--muted)}
.player-side{display:grid;gap:8px;justify-items:end}
.score-pill,.badge-pill,.exact-badge{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border-radius:999px;font-size:12px;font-weight:800;border:1px solid var(--line-strong);background:#fff}
.badge-pill.off{background:#f6f7fb;color:#6b7389}
.report-badge{font-size:11px;color:#9c5b00}
.mini-actions{display:flex;gap:6px;flex-wrap:wrap}
.mini-btn,.small-btn,.admin-btn{border:none;border-radius:12px;padding:9px 12px;font-size:12px;font-weight:800}
.mini-report,.small-btn.edit{background:#eef2ff;color:#4455b8}
.mini-kick,.small-btn.delete{background:#fff2f1;color:#b5413d}
.card-panel{grid-column:1/2}
.answer-panel{grid-column:2/3;grid-row:2/3}
.round-bar{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}
.round-bar > div{background:#fffdf4;border:1px solid var(--line);border-radius:22px;padding:14px 18px;min-width:110px;display:grid;gap:4px}
.round-bar strong{font-size:26px;line-height:1;font-weight:900}
.round-bar span{font-size:12px;color:var(--muted)}
.card-stage{background:linear-gradient(180deg,#fffef8,#fff7d5);border:1px solid #eadf9e;border-radius:28px;padding:20px;min-height:470px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;position:relative;overflow:hidden}
.card-stage::after{content:"";position:absolute;inset:auto -20% -40% -20%;height:180px;background:radial-gradient(circle,rgba(250,225,0,.18),transparent 65%);pointer-events:none}
.card-visual-shell{width:100%;max-width:460px;border-radius:26px;overflow:hidden;position:relative;background:#fff;box-shadow:0 18px 30px rgba(75,64,17,.12);margin-bottom:16px;border:1px solid #e9dfa9}
.card-image{width:100%;aspect-ratio:16/9;object-fit:cover;background:#f3f0df}
.card-image-glow{position:absolute;inset:auto 0 0 0;height:50%;background:linear-gradient(180deg,transparent,rgba(0,0,0,.12));pointer-events:none}
.default-thumb-shell{display:flex;align-items:center;justify-content:center;min-height:200px;background:linear-gradient(135deg,#fff0a0,#fffbe5)}
.default-thumb-art{width:100%;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.75),transparent 30%),linear-gradient(135deg,#fff7ca,#fff1a8);color:#6f5a00;font-size:66px}
.card-emoji{font-size:42px;position:relative;z-index:1}
.card-category{margin-top:8px;font-size:12px;font-weight:900;letter-spacing:.12em;color:#7a6800;text-transform:uppercase}
.card-title{margin:10px 0 8px;font-size:31px;line-height:1.22;letter-spacing:-.04em;position:relative;z-index:1}
.card-subtitle,.card-description{margin:0 0 10px;color:var(--muted);line-height:1.62;position:relative;z-index:1}
.card-subtitle{font-size:14px}
.card-description{font-size:13px;max-width:620px}
.hint-box{margin-top:auto;background:#fff;border:1px dashed #d7ca7b;border-radius:18px;padding:14px 16px;font-size:13px;color:#6b6656;width:100%;max-width:540px;position:relative;z-index:1}
.my-answer-box,.reveal-box{margin-top:12px;padding:16px;border-radius:20px;border:1px solid var(--line)}
.my-answer-box{background:#fffce9;display:grid;gap:6px}
.reveal-box{background:linear-gradient(180deg,#fffdf3,#fff4c4)}
.reveal-answer-card{padding:18px;border-radius:22px;background:#fff;border:1px solid #eadf98;display:grid;gap:6px;justify-items:center;margin-bottom:12px}
.reveal-answer-caption{font-size:12px;color:#7c6800;font-weight:900;letter-spacing:.12em}
.reveal-answer-card strong{font-size:36px;color:#2a2200}
.answer-result-item{padding:13px 15px;display:flex;justify-content:space-between;gap:12px;align-items:center;background:#fffdf4}
.answer-result-item strong{display:block;font-size:14px;margin-bottom:4px}
.answer-result-item span{font-size:12px;color:var(--muted)}
.exact-badge{background:var(--primary);border:none;color:#211b00;padding:5px 8px}
.event-item{padding:9px 11px;display:flex;justify-content:space-between;gap:8px;background:#fffdf8}
.event-item span{font-size:12px}
.event-item small{font-size:10px;color:var(--muted)}
.topbar-link{font-size:13px;font-weight:800;padding:10px 12px;border-radius:999px;background:#fff;border:1px solid var(--line)}
.topbar-title{font-size:15px;font-weight:900}
.reveal-animate{animation:fadeUp .35s ease}
.reveal-stagger{opacity:0;transform:translateY(8px);animation:fadeItem .35s ease forwards}
.stage-enter{animation:stageIn .35s ease}
.full-overlay-countdown{position:fixed;inset:0;background:rgba(41,35,13,.35);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:99}
.full-overlay-countdown__number{width:140px;height:140px;border-radius:50%;background:var(--primary);display:flex;align-items:center;justify-content:center;font-size:42px;font-weight:900;color:#2b2300;box-shadow:0 20px 40px rgba(0,0,0,.12)}
.full-overlay-countdown__number.pop{animation:popIn .36s ease}
.result-panel{padding:20px}
.leaderboard{display:grid;gap:10px;margin-top:14px}
.leaderboard .player-card.is-winner{background:linear-gradient(180deg,#fff6ba,#fffdf0);border-color:#e4d77b}
/* admin */
body:has(.admin-layout){background:var(--admin-bg)}
.admin-layout{display:grid;grid-template-columns:240px 1fr;min-height:100vh;background:var(--admin-bg)}
.admin-sidebar{background:var(--admin-sidebar);color:#fff;padding:14px 16px;display:flex;flex-direction:column}
.admin-brand{font-size:22px;font-weight:900;padding:8px 0 18px}
.admin-menu{display:grid;gap:8px}
.admin-menu a{padding:14px 16px;border-radius:18px;color:#d9deee;font-weight:800}
.admin-menu a.is-active,.admin-menu a:hover{background:rgba(255,255,255,.12);color:#fff}
.admin-main{padding:22px 28px}
.admin-page-title{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px}
.admin-page-title h1{margin:0 0 6px;font-size:22px;letter-spacing:-.03em}
.admin-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.admin-stat{padding:18px}
.admin-stat strong{display:block;font-size:13px;color:#6e7791;margin-bottom:12px}
.admin-stat span{font-size:34px;font-weight:900;color:#131823}
.quick-links{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}
.quick-link-card{padding:18px}
.quick-link-card strong{display:block;margin-bottom:6px;font-size:16px}
.admin-card{padding:18px;background:var(--admin-panel)}
.admin-search-row{display:grid;grid-template-columns:1.7fr 180px 180px auto;gap:12px}
.admin-input,.admin-select{background:#fff;border-color:#dfe3ea;color:#1a2234}
.admin-btn.primary{background:#5347e8;color:#fff;padding:12px 18px}
.admin-table{width:100%;border-collapse:collapse}
.admin-table th,.admin-table td{padding:14px 10px;border-bottom:1px solid #eef1f6;text-align:left;font-size:13px;color:#23304d;vertical-align:middle}
.admin-table th{color:#707b92;font-size:12px;font-weight:800}
.admin-thumb{width:56px;height:56px;border-radius:14px;background:#f2f4f8;border:1px solid #e8ebf1;overflow:hidden;display:flex;align-items:center;justify-content:center}
.admin-thumb img{width:100%;height:100%;object-fit:cover}
.drag-handle{display:inline-flex;width:32px;height:32px;border-radius:12px;background:#f6f7fb;align-items:center;justify-content:center;color:#6f7990}
.table-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.small-btn{padding:8px 12px}
.admin-form-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:16px;align-items:start}
.admin-form-stack{display:grid;gap:12px}
.admin-preview-card{padding:20px;display:grid;gap:12px;background:linear-gradient(180deg,#1f2431,#121826);color:#fff;position:sticky;top:20px}
.preview-image{border-radius:18px;overflow:hidden;background:rgba(255,255,255,.08);min-height:180px;display:flex;align-items:center;justify-content:center}
.preview-image img{width:100%;height:100%;object-fit:cover}
.spacer{flex:1}
.error-text{color:#b5413d;font-size:13px}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeItem{to{opacity:1;transform:translateY(0)}}
@keyframes stageIn{from{opacity:.4;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@keyframes popIn{0%{transform:scale(.7);opacity:0}70%{transform:scale(1.08);opacity:1}100%{transform:scale(1)}}
@media (max-width: 920px){
  .play-layout{grid-template-columns:1fr}
  .card-panel,.answer-panel{grid-column:auto;grid-row:auto}
  .admin-layout{grid-template-columns:1fr}
  .admin-sidebar{position:sticky;top:0;z-index:20;overflow:auto}
  .admin-stat-grid,.quick-links,.admin-form-grid,.admin-search-row{grid-template-columns:1fr}
}
@media (max-width: 640px){
  html,body{font-size:14px}
  .app-shell{width:min(100% - 14px, 740px)}
  .hero-card h1{font-size:27px}
  .card-title{font-size:26px}
  .section-card,.room-status-panel,.players-panel,.card-panel,.answer-panel,.admin-card,.admin-preview-card{padding:15px}
  .feature-list{grid-template-columns:1fr}
  .inline-fields{grid-template-columns:1fr 1fr}
  .bottom-nav{gap:6px;padding:8px 10px calc(8px + env(safe-area-inset-bottom))}
  .bottom-nav__item{padding:11px 5px;font-size:11px}
  .round-bar strong{font-size:22px}
  .card-stage{min-height:430px;padding:18px 14px}
  .player-card,.answer-result-item{padding:12px}
  .admin-main{padding:18px 14px}
}

.compact-home-appbar{padding-bottom:10px}
.banner-card{padding:16px 18px;margin-bottom:12px}
.banner-text{margin-top:12px;font-size:15px;line-height:1.6;color:#423d30;font-weight:700}
.site-footer{padding:10px 4px 2px;text-align:center;color:#8b836d;font-size:12px}
.with-fixed-log{padding-bottom:18vh}
.room-log-dock{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:min(1120px,calc(100% - 20px));height:15vh;min-height:96px;max-height:132px;z-index:25;padding:10px 12px 8px;border-bottom-left-radius:0;border-bottom-right-radius:0;overflow:hidden;background:rgba(255,253,244,.97);backdrop-filter:blur(10px)}
.room-log-dock__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:12px;font-weight:800}
.room-log-dock .event-feed{height:calc(100% - 20px);overflow:auto;padding-right:2px}
.compact-room-layout{padding-bottom:0}
.admin-modal{position:fixed;inset:0;z-index:80}
.admin-modal__backdrop{position:absolute;inset:0;background:rgba(14,18,30,.42)}
.admin-modal__dialog{position:relative;z-index:1;width:min(720px,calc(100% - 24px));max-height:calc(100vh - 40px);overflow:auto;margin:20px auto;background:#fff;border-radius:24px;padding:18px;box-shadow:0 20px 60px rgba(15,20,30,.18)}
.admin-modal__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.admin-modal__close{border:none;background:#f2f4f8;width:38px;height:38px;border-radius:12px;font-size:24px;line-height:1}
.pagination-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.page-chip{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 12px;border-radius:12px;background:#f4f6fb;color:#33415f;font-weight:800}
.page-chip.is-active{background:#5347e8;color:#fff}
.admin-inline-check{padding-top:4px}
.is-dimmed{opacity:.55}
.reveal-answer-desc{margin:0;font-size:13px;line-height:1.6;color:#6b6656;text-align:center}
@media (max-width: 640px){
  .banner-text{font-size:14px}
  .room-log-dock{width:100%;left:0;transform:none;border-radius:18px 18px 0 0;height:14vh;min-height:92px;max-height:120px}
  .with-fixed-log{padding-bottom:17vh}
}


/* v1.6 game board refresh */
.game-feel-shell{width:min(100% - 14px, 1180px)}
.topbar-title--room{font-size:16px;letter-spacing:-.03em}
.round-bar--game{grid-template-columns:140px 1fr 140px;align-items:center;gap:12px}
.round-pill{display:grid;gap:4px;padding:14px 16px;border-radius:22px;border:1px solid #eadf98;background:linear-gradient(180deg,#fffdf5,#fff5c9);text-align:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.round-status-copy{font-size:13px;line-height:1.5;color:#6c634b;text-align:center;font-weight:700;padding:0 6px}
.game-board-wrap{position:relative;padding-top:26px}
.timeline-track{position:absolute;left:50%;top:0;transform:translateX(-50%);width:min(88%,860px);height:44px;pointer-events:none}
.timeline-track__line{position:absolute;left:0;right:0;top:21px;height:6px;border-radius:999px;background:linear-gradient(90deg,#f0d96c,#f5e8a2,#f0d96c);box-shadow:0 10px 20px rgba(168,138,30,.12)}
.timeline-track__dot{position:absolute;top:12px;width:24px;height:24px;border-radius:50%;background:#fff;border:4px solid #e6cb55;box-shadow:0 6px 14px rgba(121,100,22,.12)}
.timeline-track__dot--left{left:12%}
.timeline-track__dot--center{left:calc(50% - 12px)}
.timeline-track__dot--right{right:12%}
.game-card-stage{position:relative;overflow:hidden;border:1px solid #ecd98c;background:linear-gradient(180deg,#fffef6 0%,#fff8dd 46%,#fffdf2 100%);box-shadow:0 18px 40px rgba(157,130,22,.10), inset 0 1px 0 rgba(255,255,255,.9);padding-top:26px}
.card-stage__shine{position:absolute;inset:0;background:radial-gradient(circle at 20% 15%,rgba(255,255,255,.85),transparent 25%),radial-gradient(circle at 80% 18%,rgba(255,255,255,.55),transparent 20%);pointer-events:none}
.card-stage__badge{display:none}
.card-emoji--floating{width:68px;height:68px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#fff6c7,#ffe985);box-shadow:0 10px 24px rgba(150,127,27,.16);margin:8px auto 6px;border:1px solid #ead470}
.card-category--chip{display:inline-flex;align-items:center;justify-content:center;padding:7px 14px;border-radius:999px;background:#fff;border:1px solid #ecd98c;box-shadow:0 6px 18px rgba(150,127,27,.08);margin-top:4px}
.card-title--game{font-size:34px;max-width:720px;text-align:center;color:#2c2413}
.card-description--game{font-size:14px;line-height:1.7;color:#5f5848;max-width:680px;text-align:center}
.hint-box--soft{background:rgba(255,255,255,.88);border-style:solid;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.default-thumb-art{position:relative;gap:10px;flex-direction:column;font-size:72px;color:#7a5e06}
.default-thumb-art:before,.default-thumb-art:after{content:'';position:absolute;border-radius:18px;background:rgba(255,255,255,.46)}
.default-thumb-art:before{width:70px;height:70px;top:18px;right:22px}
.default-thumb-art:after{width:110px;height:110px;bottom:16px;left:26px}
.default-thumb-text{position:relative;z-index:1;font-size:14px;font-weight:900;letter-spacing:.08em;color:#715600;text-transform:uppercase}
.answer-panel{background:linear-gradient(180deg,#fffef8,#fffbee)}
.section-head--answer{margin-bottom:10px}
.answer-stage-copy{margin:-4px 0 14px;font-size:13px;color:#746c58;font-weight:700}
.stack-form{gap:12px}
.stack-form label span{font-size:12px;color:#746c58;font-weight:800;margin-bottom:6px;display:block}
.stack-form input{height:56px;border-radius:18px;font-size:22px;font-weight:900;text-align:center;letter-spacing:.02em;background:#fffdf5}
.stack-form .btn{height:52px;font-size:16px}
.my-answer-box{background:linear-gradient(180deg,#fffdf3,#fff6cd);border-color:#eddc84;box-shadow:0 8px 18px rgba(150,127,27,.08)}
.my-answer-box__head{font-size:12px;font-weight:900;letter-spacing:.12em;color:#8d7100}
.my-answer-box__year{font-size:34px;font-weight:900;color:#2c2413;letter-spacing:-.04em}
.reveal-box{background:linear-gradient(180deg,#fffef7,#fff6cf);border-color:#ecd97b;box-shadow:0 16px 30px rgba(150,127,27,.08)}
.reveal-answer-card--hero{position:relative;padding:24px 22px 20px;border-radius:26px;background:linear-gradient(180deg,#fffefb,#fff7da 58%,#fff1b5);box-shadow:0 18px 36px rgba(150,127,27,.10);overflow:hidden}
.reveal-answer-card--hero:after{content:'';position:absolute;right:-18px;top:-24px;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,rgba(250,225,0,.30),transparent 68%)}
.reveal-answer-card--hero strong{font-size:48px;line-height:1;color:#2a2200;letter-spacing:-.05em}
.reveal-answer-highlight{padding:11px 14px;border-radius:16px;background:rgba(255,255,255,.72);border:1px solid rgba(236,217,123,.85);font-size:12px;color:#6d6348;font-weight:800}
.answer-result-list--lux{display:grid;gap:10px;margin-top:12px}
.answer-result-item--lux{padding:15px 16px;border-radius:18px;border:1px solid #ede1a4;background:rgba(255,255,255,.84);box-shadow:0 10px 20px rgba(150,127,27,.05)}
.answer-result-item--lux.is-exact{background:linear-gradient(180deg,#fff9ca,#fffef1);border-color:#e4cb63}
.answer-result-item--lux.is-close{background:linear-gradient(180deg,#fffdf0,#ffffff)}
.answer-result-item__main{min-width:0}
.answer-result-item__main strong{font-size:15px}
.answer-result-item__main span{font-size:12px;line-height:1.5;color:#736b57}
.answer-result-item__score{display:flex;align-items:center;gap:8px;flex-shrink:0}
.near-badge,.exact-badge{display:inline-flex;align-items:center;justify-content:center;height:28px;padding:0 10px;border-radius:999px;font-size:11px;font-weight:900}
.near-badge{background:#fff;border:1px solid #dbc87c;color:#6f5a00}
.event-item{border-radius:14px}
@media (max-width: 920px){
  .round-bar--game{grid-template-columns:1fr;}
  .round-status-copy{order:3}
}
@media (max-width: 640px){
  .game-feel-shell{width:min(100% - 10px, 100%)}
  .round-pill{padding:12px 14px}
  .game-board-wrap{padding-top:20px}
  .timeline-track{width:94%}
  .card-stage__badge{display:none}
  .card-title--game{font-size:28px}
  .card-description--game{font-size:13px}
  .card-emoji--floating{width:58px;height:58px;font-size:34px}
  .reveal-answer-card--hero strong{font-size:40px}
  .answer-result-item--lux{padding:14px 13px;align-items:flex-start}
  .answer-result-item__score{width:100%;justify-content:space-between}
}


/* v1.7 immersive play refresh */
.in-game-view .app-shell{padding-top:10px}
.game-hud{position:sticky;top:0;z-index:35;display:grid;grid-template-columns:120px 1fr 120px;gap:10px;align-items:center;padding:10px 0 12px;background:linear-gradient(180deg,rgba(247,242,218,.96),rgba(247,242,218,.82),rgba(247,242,218,0));backdrop-filter:blur(8px)}
.game-hud__pill{display:grid;gap:2px;padding:10px 8px;border-radius:18px;border:1px solid #eadf98;background:rgba(255,253,244,.98);text-align:center;box-shadow:0 8px 20px rgba(157,130,22,.08)}
.game-hud__pill strong{font-size:20px;font-weight:900;color:#2b2414;line-height:1.1}
.game-hud__pill span{font-size:11px;font-weight:800;color:#766c50}
.game-hud__center{min-height:42px;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 10px;font-size:13px;font-weight:800;color:#5f5848}
.in-game-view .compact-room-layout{grid-template-columns:1fr;gap:10px;padding-top:4px}
.in-game-view .card-panel,.in-game-view .answer-panel{grid-column:auto;margin:0}
.in-game-view .play-layout{padding-bottom:4px}
.in-game-view .card-panel{padding:12px 12px 10px}
.in-game-view .answer-panel{padding:12px 12px 14px}
.in-game-view .game-board-wrap{padding-top:12px}
.in-game-view .timeline-track{top:0;height:24px;width:min(92%,760px)}
.in-game-view .timeline-track__line{top:10px;height:4px}
.in-game-view .timeline-track__dot{top:3px;width:18px;height:18px;border-width:3px}
.in-game-view .game-card-stage{min-height:270px;padding:18px 12px 14px;border-radius:26px}
.in-game-view .card-stage__badge{top:12px;padding:6px 12px;font-size:10px}
.in-game-view .card-emoji--floating{width:48px;height:48px;font-size:22px;margin:8px auto 6px}
.in-game-view .card-visual-shell,.in-game-view .default-thumb-shell{max-width:260px;height:108px;border-radius:18px;margin:4px auto 10px}
.in-game-view .card-category--chip{padding:6px 12px;font-size:11px;margin-top:0}
.in-game-view .card-title--game{font-size:24px;line-height:1.25;max-width:100%;margin-top:8px}
.in-game-view .card-description--game{font-size:13px;line-height:1.55;max-width:100%;margin-top:8px}
.in-game-view .hint-box--soft{margin-top:10px;font-size:12px;padding:11px 12px}
.slider-answer-form{gap:12px}
.year-slider-box{display:grid;gap:10px;padding:14px;border:1px solid #eadf98;border-radius:22px;background:linear-gradient(180deg,#fffef6,#fff7d9)}
.year-slider-box__top{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;font-weight:800;color:#6b624b}
.year-slider-box__top strong{font-size:24px;color:#2f2715;letter-spacing:-.03em}
.year-slider-box input[type=range]{width:100%;accent-color:#e0b400}
.year-slider-box__ticks{display:flex;justify-content:space-between;font-size:11px;color:#8a8169;font-weight:700}
.floating-next-wrap{position:fixed;right:max(12px,env(safe-area-inset-right));bottom:calc(24vh + 14px);z-index:40}
.btn-next-round{padding:14px 18px;border-radius:18px;box-shadow:0 18px 32px rgba(68,56,8,.18)}
.event-item.is-strong{background:linear-gradient(180deg,#fff9cb,#fff2ad);border-color:#e8d06a}
.event-item.is-strong span{font-weight:900;color:#2b2414}
.stage-flip-enter{animation:stageFlipIn .6s cubic-bezier(.2,.8,.2,1)}
@keyframes stageFlipIn{0%{opacity:.1;transform:perspective(900px) rotateY(-85deg) scale(.94)}55%{opacity:1;transform:perspective(900px) rotateY(10deg) scale(1.01)}100%{opacity:1;transform:perspective(900px) rotateY(0) scale(1)}}
@media (max-width:640px){
  .game-feel-shell{width:min(100% - 10px,760px)}
  .game-hud{grid-template-columns:88px 1fr 88px;gap:8px;padding-top:6px}
  .game-hud__pill{padding:8px 6px;border-radius:16px}
  .game-hud__pill strong{font-size:17px}
  .game-hud__pill span{font-size:10px}
  .game-hud__center{font-size:12px;min-height:38px}
  .in-game-view .game-card-stage{min-height:246px;padding:16px 10px 12px}
  .in-game-view .card-visual-shell,.in-game-view .default-thumb-shell{height:92px;max-width:220px}
  .in-game-view .card-title--game{font-size:21px}
  .in-game-view .card-description--game{font-size:12px}
  .year-slider-box{padding:12px 12px 10px;border-radius:20px}
  .year-slider-box__top strong{font-size:22px}
  .floating-next-wrap{left:10px;right:10px;bottom:calc(23vh + 10px)}
  .btn-next-round{width:100%;justify-content:center}
}


/* v1.8 안정화 + UX 개선 */
.topbar-link--button{border:none;background:transparent;padding:0;cursor:pointer}
.room-utility-row{display:flex;justify-content:flex-end;align-items:center;padding:4px 2px 0}
.room-connection-status{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;background:#fff8d2;border:1px solid #ecd889;font-size:12px;font-weight:800;color:#65572f}
.room-connection-status.is-online{background:#eefbf2;border-color:#8cd2a4;color:#1f6b39}
.room-connection-status.is-warning{background:#fff6df;border-color:#f1c45d;color:#8b6110}
.room-connection-status.is-error{background:#fff0f1;border-color:#f0a4b4;color:#b03f57}
.year-step-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.year-step-btn{border:none;border-radius:14px;padding:10px 8px;background:#fff3b7;color:#5d4e1e;font-weight:900;cursor:pointer;transition:transform .14s ease, box-shadow .14s ease}
.year-step-btn:active{transform:scale(.97)}
.ui-toast-stack{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translateX(-50%);display:grid;gap:8px;z-index:120;width:min(92vw,420px)}
.ui-toast{opacity:0;transform:translateY(8px);padding:13px 16px;border-radius:18px;background:rgba(31,28,22,.94);color:#fff;font-size:14px;font-weight:700;box-shadow:0 18px 36px rgba(0,0,0,.22);transition:opacity .18s ease, transform .18s ease}
.ui-toast.is-success{background:rgba(25,112,64,.96)}
.ui-toast.is-error{background:rgba(176,63,87,.96)}
.ui-toast.is-visible{opacity:1;transform:translateY(0)}
.ui-sheet{position:fixed;inset:0;z-index:110}
.ui-sheet__backdrop{position:absolute;inset:0;background:rgba(15,18,31,.42)}
.ui-sheet__dialog{position:absolute;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(520px,calc(100% - 18px));background:#fff;border-radius:24px;padding:18px;box-shadow:0 28px 60px rgba(8,10,18,.22)}
.ui-sheet__head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}
.ui-sheet__close{border:none;background:#f2f4f8;width:38px;height:38px;border-radius:12px;font-size:24px;line-height:1;cursor:pointer}
.ui-sheet__message{margin:0 0 12px;color:#625a45;line-height:1.6}
.ui-sheet__textarea{width:100%;resize:none;border:1px solid #e8dd9c;border-radius:16px;padding:12px;font:inherit;background:#fffdf3;box-sizing:border-box}
.ui-sheet__actions{display:flex;gap:10px;justify-content:flex-end;margin-top:14px}
.hero-quick-row{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.notice-inline-card{margin-top:14px;padding:14px;border-radius:20px;background:#fff8d8;border:1px solid #edd98d}
.notice-inline-card strong{display:block;margin-bottom:8px;color:#3b321e}
.result-winner-card{display:grid;gap:6px;padding:18px;border-radius:24px;background:linear-gradient(180deg,#fff9cf,#fff1ad);border:1px solid #e8d06c;margin:14px 0 16px;text-align:center;box-shadow:0 20px 40px rgba(124,96,4,.12)}
.result-winner-card__badge{display:inline-flex;justify-content:center;align-items:center;padding:6px 12px;border-radius:999px;background:#fff7dc;font-size:12px;font-weight:900;color:#856511;margin:0 auto}
.result-winner-card strong{font-size:28px;color:#2b2414}
.result-winner-card span{color:#5f5537;font-weight:700}
.result-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}
.result-summary-grid article{padding:14px;border-radius:18px;background:#fffdf2;border:1px solid #ece0a8;text-align:center}
.result-summary-grid strong{display:block;font-size:20px;color:#2b2414;word-break:break-word}
.result-summary-grid span{display:block;margin-top:4px;font-size:12px;color:#796f52;font-weight:800}
@media (max-width:640px){
  .hero-quick-row{display:grid;grid-template-columns:1fr 1fr}
  .year-step-row{grid-template-columns:repeat(2,1fr)}
  .ui-sheet__actions{flex-direction:column-reverse}
  .result-summary-grid{grid-template-columns:1fr}
}


/* v1.8 reveal modal refresh */
body.has-result-modal{overflow:hidden}
.in-game-view .play-topbar{display:none!important}
.round-result-modal{position:fixed;inset:0;z-index:120}
.round-result-modal__backdrop{position:absolute;inset:0;background:rgba(12,15,24,.5);backdrop-filter:blur(4px)}
.round-result-modal__dialog{position:relative;z-index:1;width:min(620px,calc(100% - 18px));max-height:min(78vh,760px);overflow:auto;margin:calc(env(safe-area-inset-top) + 14px) auto calc(max(15vh + 14px, env(safe-area-inset-bottom) + 14px));padding:18px;border-radius:28px;border:1px solid #e7d67b;background:linear-gradient(180deg,#fffef8 0%,#fff7d8 100%);box-shadow:0 30px 70px rgba(10,14,22,.28)}
.round-result-modal__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.round-result-modal__headcopy{display:grid;gap:4px}
.round-result-modal__eyebrow{font-size:11px;font-weight:900;letter-spacing:.16em;color:#8c6f00}
.round-result-modal__head strong{font-size:22px;line-height:1.2;color:#2d2412}
.round-result-modal__close{border:none;background:#fff;width:42px;height:42px;border-radius:14px;font-size:26px;line-height:1;color:#5b5138;box-shadow:0 8px 18px rgba(120,98,16,.1);cursor:pointer}
.round-result-modal__hero{padding:18px 16px;border-radius:24px;background:linear-gradient(180deg,#fffefc,#fff1b2);border:1px solid #ebd56e;box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 14px 28px rgba(135,105,6,.08);text-align:center}
.round-result-modal__year{font-size:46px;line-height:1;font-weight:900;letter-spacing:-.05em;color:#241d0f}
.round-result-modal__desc{margin:10px 0 0;font-size:14px;line-height:1.6;color:#675e49}
.round-result-modal__list{display:grid;gap:10px;margin-top:14px}
.round-result-row{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;padding:14px 14px 14px 12px;border-radius:20px;border:1px solid #ece2b5;background:rgba(255,255,255,.82);box-shadow:0 8px 18px rgba(120,98,16,.06)}
.round-result-row.is-exact{background:linear-gradient(180deg,#fff9cf,#fffef3);border-color:#dfc55a}
.round-result-row.is-close{background:linear-gradient(180deg,#fffdf1,#ffffff)}
.round-result-row__rank{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:16px;background:#fff7cc;color:#6d5700;font-size:18px;font-weight:900}
.round-result-row__name{font-size:16px;font-weight:900;color:#2d2412}
.round-result-row__meta{margin-top:4px;font-size:12px;line-height:1.5;color:#6b6454}
.round-result-row__side{display:grid;justify-items:end;gap:6px}
.round-result-row__gain{display:inline-flex;align-items:center;justify-content:center;min-width:74px;height:32px;padding:0 12px;border-radius:999px;background:#2c2920;color:#fff3a4;font-size:13px;font-weight:900}
.round-result-row__badge{display:inline-flex;align-items:center;justify-content:center;min-width:58px;height:28px;padding:0 10px;border-radius:999px;background:#fff;border:1px solid #e3cf7f;color:#6f5c16;font-size:11px;font-weight:900}
.round-result-empty{padding:18px 14px;border-radius:18px;border:1px dashed #dbc980;background:rgba(255,255,255,.76);text-align:center;font-size:13px;color:#6f6755}
.round-result-modal__actions{display:grid;gap:10px;margin-top:14px}
@media (max-width: 640px){
  .round-result-modal__dialog{width:calc(100% - 12px);margin:8px auto calc(max(14vh + 10px, env(safe-area-inset-bottom) + 10px));padding:14px;border-radius:24px;max-height:min(82vh,920px)}
  .round-result-modal__head strong{font-size:18px}
  .round-result-modal__year{font-size:38px}
  .round-result-row{grid-template-columns:38px 1fr;gap:10px;align-items:flex-start}
  .round-result-row__rank{width:38px;height:38px;border-radius:14px;font-size:16px}
  .round-result-row__side{grid-column:2;justify-items:start;grid-auto-flow:column;gap:8px}
}


.round-result-modal__meta{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:14px}
.result-meta-chip{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.86);border:1px solid #ead77e;color:#705a12;font-size:12px;font-weight:900}
.round-result-modal__explain-card{margin-top:14px;padding:14px 14px 13px;border-radius:18px;background:rgba(255,255,255,.72);border:1px solid #eadca0;text-align:left}
.round-result-modal__explain-card strong{display:block;margin-bottom:6px;font-size:12px;letter-spacing:.12em;color:#80660a}
.round-result-modal__section-title{margin:16px 0 10px;font-size:13px;font-weight:900;color:#5e5131}
.round-result-row.is-mine{border-color:#d8bd4d;box-shadow:0 12px 22px rgba(143,112,8,.12)}
.round-result-row.is-missed{background:linear-gradient(180deg,#fffaf0,#fff);border-style:dashed}
.round-result-row__name-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.round-result-row__me-tag{display:inline-flex;align-items:center;justify-content:center;height:24px;padding:0 8px;border-radius:999px;background:#2f2a1c;color:#fff2a4;font-size:10px;font-weight:900;letter-spacing:.08em}
.round-result-row__answer-pill{display:inline-flex;align-items:center;justify-content:center;min-width:58px;height:28px;padding:0 10px;border-radius:999px;background:#fff9de;border:1px solid #e6cf72;color:#6c580e;font-size:11px;font-weight:900}
.round-result-row__gain.is-zero{background:#d7d2c0;color:#554c35}
.round-result-row__badge.is-missed{background:#fff2f0;border-color:#efb0a8;color:#b24a3e}
.round-result-row__badge.is-wait{background:#fffdf1;border-color:#dfcf97;color:#735e13}
@media (max-width: 640px){
  .round-result-modal__meta{justify-content:flex-start}
  .result-meta-chip{font-size:11px;padding:0 10px}
  .round-result-modal__explain-card{padding:12px 12px 11px}
}

/* v1.8.4 compact table refresh */
:root{
  --bg:#f6f8fb;
  --bg-soft:#fbfcfe;
  --bg-deep:#eef3ff;
  --panel:#ffffff;
  --panel-2:#f9fbff;
  --line:#e6ebf2;
  --line-strong:#d7dee8;
  --text:#191f28;
  --muted:#6b7684;
  --primary:#3182f6;
  --primary-strong:#1b6ff1;
  --primary-dark:#ffffff;
  --secondary:#ffffff;
  --danger:#ef5350;
  --info:#3182f6;
  --radius:20px;
  --radius-sm:14px;
  --shadow:0 10px 24px rgba(15,23,42,.06);
}
html,body{background:linear-gradient(180deg,#f6f8fb 0%,#f8fafd 38%,#eef3fb 100%);color:var(--text)}
input,select,textarea{border-radius:14px;border-color:var(--line);padding:12px 13px;background:#fff}
input:focus,select:focus,textarea:focus{border-color:#8cb9ff;box-shadow:0 0 0 4px rgba(49,130,246,.14)}
.glass-card,.panel,.admin-card,.admin-preview-card,.quick-link-card,.admin-stat,.feature-list article,.player-card,.answer-result-item,.event-item,.info-list li,.setting-card{border-radius:20px;border-color:var(--line);box-shadow:var(--shadow);background:#fff}
.hero-kakao,.hero-toss{background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)}
.hero-badge,.room-chip,.preview-chip,.countdown-chip{background:#f3f7ff;border-color:#d7e6ff;color:#2d6cdf;padding:7px 11px;font-size:11px}
.mobile-appbar,.play-topbar{padding:8px 2px 10px}
.brand-mark{background:linear-gradient(180deg,#5aa0ff,#3182f6);color:#fff;border-radius:10px;box-shadow:0 8px 18px rgba(49,130,246,.2)}
.hero-card{padding:18px 16px;margin-bottom:12px}
.hero-card h1,.room-title-line h1,.section-head h2{letter-spacing:-.04em}
.hero-card h1{font-size:28px;margin:10px 0 8px}
.hero-card p,.section-head p,.feature-list span,.info-list li,.setting-card p,.toggle-row span,.admin-page-title p,.admin-toolbar-note{font-size:12px;line-height:1.5;color:var(--muted)}
.section-card,.room-status-panel,.players-panel,.card-panel,.answer-panel,.admin-card,.admin-preview-card{padding:14px}
.section-head h2{margin:0 0 4px;font-size:18px}
.room-title-line h1{margin:12px 0 6px;font-size:17px;line-height:1.3}
.room-status-panel p{font-size:12px;line-height:1.5;color:var(--muted)}
.action-row,.hero-actions,.hero-cta-row{gap:8px;margin-top:14px}
.btn{border-radius:14px;padding:11px 15px;font-size:13px;box-shadow:none}
.btn-primary{background:linear-gradient(180deg,#3f8cff,#2a7df6);color:#fff}
.btn-secondary,.admin-btn.light{background:#fff;color:var(--text);border:1px solid var(--line)}
.btn-danger{background:#fff5f5;border:1px solid #ffd9d9;color:#d54845}
.btn-small{padding:9px 12px;font-size:12px}
.bottom-nav{background:rgba(250,252,255,.96);border-top:1px solid #dde6f2;padding:8px 10px calc(8px + env(safe-area-inset-bottom))}
.bottom-nav__item{background:transparent;border-radius:14px;padding:10px 4px;color:#7d8794}
.bottom-nav__item.is-active{background:#eaf3ff;color:#1f6fe8;box-shadow:none}
.topbar-link{background:transparent;border:none;padding:4px 2px;border-radius:0;font-size:14px;color:#191f28}
.topbar-title,.topbar-title--room{font-size:17px;font-weight:800}
.room-status-panel,.players-panel{background:#fff}
.player-list,.event-feed,.answer-result-list{gap:8px}
.player-card{padding:10px 12px;align-items:center;background:#fff}
.player-card--compact{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.player-main{gap:2px}
.player-main strong{font-size:14px}
.player-main span,.player-meta-inline{font-size:11px;color:var(--muted);line-height:1.35}
.player-name-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.player-side{gap:6px}
.player-side--compact{display:flex;align-items:center;gap:6px;justify-content:flex-end}
.score-pill,.badge-pill,.exact-badge{height:30px;padding:0 10px;border-radius:999px;font-size:11px;border-color:#dbe5f1;background:#f8fbff;color:#305a96}
.mini-actions{gap:5px}
.mini-actions--compact{display:flex;align-items:center;gap:5px}
.mini-btn,.small-btn,.admin-btn{border-radius:10px;padding:7px 10px;font-size:11px}
.mini-report,.small-btn.edit{background:#eef5ff;color:#2c6fe5}
.mini-kick,.small-btn.delete{background:#fff4f4;color:#d64b48}
.report-badge{font-size:10px;color:#916c00}
.round-bar>div,.round-pill,.game-hud__pill,.year-slider-box,.hint-box,.my-answer-box,.reveal-box,.reveal-answer-card,.answer-result-item,.event-item,.result-summary-grid article,.round-result-modal__explain-card{border-radius:16px}
.round-pill{padding:10px 12px;border-color:#d9e6fb;background:#f7fbff;box-shadow:none}
.round-status-copy,.answer-stage-copy{font-size:12px;color:var(--muted);font-weight:700}
.game-hud{padding:6px 0 10px;background:linear-gradient(180deg,rgba(246,248,251,.96),rgba(246,248,251,.84),rgba(246,248,251,0))}
.game-hud__pill{padding:8px 6px;border-color:#dfe8f5;background:rgba(255,255,255,.95);box-shadow:none}
.game-hud__pill strong{font-size:17px;color:#191f28}
.game-hud__pill span,.game-hud__center{font-size:11px;color:var(--muted)}
.card-panel{background:transparent;border:none;box-shadow:none;padding:0}
.answer-panel{background:#fff;border-color:var(--line)}
.timeline-track__line{background:linear-gradient(90deg,#9ec6ff,#dbeafe,#9ec6ff);box-shadow:none}
.timeline-track__dot{background:#fff;border-color:#7eb4ff;box-shadow:0 6px 14px rgba(49,130,246,.12)}
.game-card-stage{border:1px solid #dbe6f6;background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);box-shadow:0 18px 36px rgba(15,23,42,.05), inset 0 1px 0 rgba(255,255,255,.96)}
.card-stage__shine{background:radial-gradient(circle at 18% 12%,rgba(255,255,255,.94),transparent 24%),radial-gradient(circle at 82% 14%,rgba(210,230,255,.42),transparent 18%)}
.card-stage__badge{display:none}
.in-game-view .card-stage__badge{display:none}
.card-visual-shell,.in-game-view .card-visual-shell,.default-thumb-shell,.in-game-view .default-thumb-shell{border-radius:16px;border-color:#e2ebf6;box-shadow:0 10px 24px rgba(15,23,42,.05)}
.default-thumb-shell{background:#f8fbff}
.default-thumb-art{background:linear-gradient(135deg,#f5f9ff,#eef5ff);color:#4b84dc;font-size:52px}
.default-thumb-text{font-size:12px;color:#3f73c0}
.card-emoji--floating{width:52px;height:52px;background:#eff6ff;border:1px solid #d4e4fb;box-shadow:none;margin:4px auto 4px}
.card-category--chip{background:#f3f7ff;border-color:#d7e4fb;box-shadow:none;color:#2f67bf;padding:6px 11px;font-size:10px;letter-spacing:.08em}
.card-title--game{font-size:28px;line-height:1.24;color:#1a2230;margin:8px 0 6px}
.card-description--game{font-size:13px;line-height:1.55;color:var(--muted);max-width:620px;margin:0 auto}
.hint-box--soft{background:#f8fbff;border:1px solid #dce7f5;box-shadow:none;color:#647180;padding:10px 12px}
.in-game-view .game-card-stage{min-height:226px;padding:16px 10px 12px;border-radius:20px}
.in-game-view .card-visual-shell,.in-game-view .default-thumb-shell{max-width:190px;height:74px;margin:2px auto 8px}
.in-game-view .card-title--game{font-size:20px;margin-top:6px}
.in-game-view .card-description--game{font-size:11px;line-height:1.48;max-width:100%}
.in-game-view .card-emoji--floating{width:40px;height:40px;font-size:19px}
.in-game-view .card-category--chip{padding:5px 10px}
.year-slider-box{padding:11px 12px;border-color:#dce8f6;background:#f8fbff}
.year-slider-box__top{font-size:12px;color:var(--muted)}
.year-slider-box__top strong{font-size:21px;color:#191f28}
.year-slider-box input[type=range]{accent-color:#3182f6}
.year-slider-box__ticks{font-size:10px}
.year-step-row{gap:6px}
.year-step-btn{padding:8px 6px;border-radius:10px;background:#eef5ff;color:#275ec3;box-shadow:none}
.stack-form .btn{height:46px;font-size:14px}
.my-answer-box{padding:13px 14px;border-color:#dbe6f8;background:#f8fbff;box-shadow:none}
.my-answer-box__head{font-size:11px;letter-spacing:.1em;color:#2968d8}
.my-answer-box__year{font-size:28px;color:#191f28}
.room-log-dock{width:min(960px,calc(100% - 16px));height:11vh;min-height:74px;max-height:92px;padding:8px 10px 6px;background:rgba(255,255,255,.94);border:1px solid var(--line);border-bottom-left-radius:0;border-bottom-right-radius:0;box-shadow:0 -10px 28px rgba(15,23,42,.06)}
.room-log-dock__head{margin-bottom:4px;font-size:11px}
.room-log-dock .event-feed{height:calc(100% - 16px)}
.event-item{padding:7px 9px;background:#f9fbff;border:1px solid #e5eef8;box-shadow:none}
.event-item span{font-size:11px;line-height:1.35;color:#566373}
.event-item small{font-size:10px;color:#8c97a6}
.event-item.is-strong{background:#eef5ff;border-color:#d8e6fb}
.event-item.is-strong span{color:#215ec7}
.with-fixed-log{padding-bottom:14vh}
.ui-toast{border-radius:14px;font-size:13px}
.ui-sheet__dialog{border-radius:20px;padding:16px}
.ui-sheet__close{background:#f2f4f8;border-radius:12px}
.notice-inline-card{background:#f8fbff;border-color:#dde7f6}
.result-winner-card{background:linear-gradient(180deg,#ffffff,#f3f8ff);border-color:#dce8fb;box-shadow:0 16px 34px rgba(15,23,42,.06)}
.result-winner-card__badge{background:#eef5ff;color:#2a67d6}
.result-summary-grid article{background:#fff;border-color:#e6edf7}
.room-connection-status{display:none!important}
.round-result-modal__dialog{width:min(560px,calc(100% - 16px));max-height:min(76vh,720px);margin:10px auto calc(max(11vh + 12px, env(safe-area-inset-bottom) + 12px));padding:14px;border-radius:22px;border-color:#dce7f8;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);box-shadow:0 28px 70px rgba(15,23,42,.16)}
.round-result-modal__head{margin-bottom:10px}
.round-result-modal__head strong{font-size:18px;color:#191f28}
.round-result-modal__eyebrow{font-size:10px;color:#4880e8}
.round-result-modal__close{width:36px;height:36px;border-radius:12px;box-shadow:none;color:#66707c}
.round-result-modal__hero{padding:12px 12px 11px;border-radius:18px;background:#f8fbff;border:1px solid #dbe7f8;box-shadow:none}
.round-result-modal__meta{gap:6px;margin-bottom:10px}
.result-meta-chip{min-height:28px;padding:0 10px;background:#fff;border-color:#d7e4f8;color:#3d6dbd;font-size:11px}
.round-result-modal__year{font-size:34px;color:#191f28}
.round-result-modal__desc{margin:8px 0 0;font-size:12px;line-height:1.55;color:#5f6b79}
.round-result-modal__explain-card{margin-top:10px;padding:11px 12px;background:#fff;border-color:#e2ebf6}
.round-result-modal__explain-card strong{margin-bottom:4px;font-size:11px;color:#3b72cf}
.round-result-modal__section-title{margin:12px 0 8px;font-size:12px;color:#526171}
.round-result-modal__list{gap:8px;margin-top:0}
.round-result-row{grid-template-columns:34px 1fr auto;gap:10px;padding:10px 11px;border-radius:16px;border-color:#e3eaf4;background:#fff;box-shadow:none}
.round-result-row__rank{width:34px;height:34px;border-radius:12px;background:#f3f7ff;color:#2e67d0;font-size:14px}
.round-result-row__name{font-size:14px;color:#191f28}
.round-result-row__meta{margin-top:2px;font-size:11px;line-height:1.4;color:#6a7582}
.round-result-row__name-line{gap:6px}
.round-result-row__me-tag{height:20px;padding:0 7px;font-size:9px;background:#edf5ff;color:#2d67cf}
.round-result-row__answer-pill{min-width:auto;height:24px;padding:0 8px;font-size:10px;background:#f6f9fe;border-color:#dce8f8;color:#4b6d9d}
.round-result-row__side{display:flex;align-items:center;gap:6px;justify-items:unset}
.round-result-row__gain{min-width:auto;height:28px;padding:0 10px;border-radius:999px;background:#1f2937;color:#fff;font-size:11px}
.round-result-row__gain.is-zero{background:#edf1f6;color:#556171}
.round-result-row__badge{min-width:auto;height:24px;padding:0 8px;font-size:10px;background:#f7fbff;border-color:#dce8f8;color:#4f6f9a}
.round-result-row.is-exact{background:linear-gradient(180deg,#f2f8ff,#ffffff);border-color:#bdd7ff}
.round-result-row.is-close{background:#fafcff}
.round-result-row.is-mine{border-color:#b9d5ff;background:#f7fbff}
.round-result-row.is-missed{background:#fcfdff;border-style:dashed}
.round-result-row__badge.is-missed{background:#fff4f4;border-color:#ffd3d1;color:#d85652}
.round-result-row__badge.is-wait{background:#f5f8fc;border-color:#dbe4ef;color:#6a7381}
.round-result-modal__actions{gap:8px;margin-top:12px}
.page-result .result-panel h1{margin:0 0 10px;font-size:24px;letter-spacing:-.04em}
.page-result .hero-actions{gap:8px}
@media (max-width:920px){
  .section-card,.room-status-panel,.players-panel,.card-panel,.answer-panel,.admin-card,.admin-preview-card{padding:13px}
}
@media (max-width:640px){
  html,body{font-size:13px}
  .app-shell{width:min(100% - 12px,740px)}
  .mobile-appbar,.play-topbar{padding-bottom:8px}
  .hero-card{padding:15px 14px}
  .section-head h2{font-size:17px}
  .room-title-line h1{font-size:15px}
  .btn{padding:10px 13px;font-size:12px}
  .bottom-nav__item{padding:9px 4px;font-size:10px}
  .player-card{padding:9px 10px}
  .player-card--compact{grid-template-columns:minmax(0,1fr) auto}
  .player-side--compact{align-items:flex-end;flex-direction:column}
  .score-pill,.badge-pill,.exact-badge{height:28px;padding:0 9px;font-size:10px}
  .mini-btn,.small-btn,.admin-btn{padding:6px 8px;font-size:10px}
  .game-hud{grid-template-columns:78px 1fr 78px;gap:6px;padding-top:4px}
  .game-hud__pill strong{font-size:15px}
  .in-game-view .game-card-stage{min-height:204px;padding:14px 9px 11px}
  .in-game-view .card-visual-shell,.in-game-view .default-thumb-shell{max-width:160px;height:62px}
  .in-game-view .card-title--game{font-size:18px}
  .in-game-view .card-description--game{font-size:10px;line-height:1.42}
  .card-emoji--floating,.in-game-view .card-emoji--floating{width:34px;height:34px;font-size:16px}
  .year-slider-box{padding:10px}
  .year-slider-box__top strong{font-size:19px}
  .year-step-row{grid-template-columns:repeat(4,1fr);gap:5px}
  .year-step-btn{padding:7px 4px;font-size:10px}
  .stack-form .btn{height:42px}
  .room-log-dock{width:100%;left:0;transform:none;height:10vh;min-height:68px;max-height:84px;border-radius:14px 14px 0 0;padding:7px 8px 5px}
  .room-log-dock__head{font-size:10px}
  .with-fixed-log{padding-bottom:12vh}
  .event-item{padding:6px 8px}
  .event-item span{font-size:10px}
  .round-result-modal__dialog{width:calc(100% - 10px);padding:12px;border-radius:20px;max-height:min(80vh,920px);margin:6px auto calc(max(10vh + 8px, env(safe-area-inset-bottom) + 8px))}
  .round-result-modal__year{font-size:30px}
  .round-result-row{grid-template-columns:30px 1fr;gap:8px;padding:9px 10px}
  .round-result-row__rank{width:30px;height:30px;border-radius:10px;font-size:13px}
  .round-result-row__side{grid-column:2;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
  .round-result-row__gain{height:24px;padding:0 8px;font-size:10px}
  .round-result-row__badge,.round-result-row__answer-pill{height:22px;padding:0 7px;font-size:9px}
  .page-result .result-panel h1{font-size:21px}
}


/* v1.8.4 compact table refresh */
.play-layout.compact-room-layout{gap:12px}
.players-panel .section-head p{font-size:12px}
.player-list{gap:7px}
.player-card--row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border-radius:16px;background:#fff;box-shadow:none}
.player-row-main{min-width:0;display:flex;align-items:center;gap:8px;white-space:nowrap;overflow:hidden}
.player-row-main strong{font-size:14px;line-height:1.2;overflow:hidden;text-overflow:ellipsis}
.player-row-meta{font-size:11px;color:#667487;overflow:hidden;text-overflow:ellipsis}
.player-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}
.player-card--row .mini-btn{height:30px;padding:0 10px;border-radius:10px}
.answer-panel .section-head{margin-bottom:2px}
.answer-panel .section-head p,.answer-stage-copy{display:none!important}
.answer-panel{padding:14px}
.slider-answer-form{gap:10px;margin-top:8px}
.year-slider-box{padding:10px 12px 12px;border-radius:18px}
.year-slider-box__top{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:6px}
.year-slider-box__top span{font-size:11px;font-weight:800;color:#6a7582}
.year-slider-box__top strong{font-size:18px;line-height:1;color:#191f28}
.year-slider-box input[type=range]{height:34px;padding:0;border:none;background:transparent;appearance:none;-webkit-appearance:none;margin:0}
.year-slider-box input[type=range]::-webkit-slider-runnable-track{height:8px;border-radius:999px;background:linear-gradient(90deg,#2f80f6 0%,#7ab0ff 100%)}
.year-slider-box input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid #3182f6;box-shadow:0 8px 18px rgba(49,130,246,.24);margin-top:-7px}
.year-slider-box input[type=range]::-moz-range-track{height:8px;border:none;border-radius:999px;background:linear-gradient(90deg,#2f80f6 0%,#7ab0ff 100%)}
.year-slider-box input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid #3182f6;box-shadow:0 8px 18px rgba(49,130,246,.24)}
.year-step-row{margin-top:8px}
.year-step-btn{height:34px;padding:0 6px;border-radius:12px;font-size:11px;font-weight:800}
.year-slider-box__ticks{margin-top:8px}
.stack-form .btn{height:42px;border-radius:14px;font-size:13px}
.room-log-dock{height:128px;min-height:128px;max-height:128px;padding:8px 10px 7px}
.room-log-dock .event-feed{height:calc(100% - 18px)}
.event-feed{gap:6px}
.event-item{padding:8px 9px;border-radius:14px}
.event-item span{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.grading-splash{position:fixed;inset:0;z-index:115;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(245,249,255,.3);backdrop-filter:blur(2px)}
.grading-splash__card{width:min(260px,calc(100% - 32px));display:grid;justify-items:center;gap:6px;padding:18px 16px;border-radius:20px;background:rgba(255,255,255,.96);border:1px solid #dce7f8;box-shadow:0 20px 48px rgba(15,23,42,.12)}
.grading-splash__card strong{font-size:16px;color:#1a2230}
.grading-splash__card span{font-size:12px;color:#697586}
.grading-splash__spinner{width:34px;height:34px;border-radius:50%;border:3px solid #dbe9ff;border-top-color:#3182f6;animation:bgSpin .85s linear infinite}
@keyframes bgSpin{to{transform:rotate(360deg)}}
.round-result-modal__hero{padding:11px 12px 10px}
.round-result-modal__year{font-size:30px}
.round-result-modal__desc{font-size:11px;line-height:1.45}
.round-result-row{grid-template-columns:28px minmax(0,1fr) auto;gap:8px;padding:8px 9px;border-radius:14px}
.round-result-row__rank{width:28px;height:28px;border-radius:10px;font-size:12px}
.round-result-row__name-line{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.round-result-row__name{font-size:13px}
.round-result-row__meta{font-size:10px;line-height:1.35;margin-top:1px}
.round-result-row__answer-pill,.round-result-row__badge{height:20px;padding:0 7px;font-size:9px}
.round-result-row__gain{height:24px;padding:0 8px;font-size:10px}
.result-panel{padding:16px}
.result-summary-grid--compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}
.result-summary-grid--compact article{padding:12px 10px;border-radius:16px}
.result-winner-card{padding:16px 14px;margin:12px 0 12px}
.result-winner-card strong{font-size:24px}
.leaderboard{gap:8px;margin-top:12px}
.page-result .leaderboard .player-card{padding:10px 12px;border-radius:16px;box-shadow:none}
.page-result .leaderboard .player-card>div:first-child{display:flex;align-items:center;gap:8px;min-width:0}
.page-result .leaderboard .player-card strong{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.page-result .leaderboard .player-card span{font-size:12px;color:#667487;white-space:nowrap}
.hero-actions--single .btn{min-width:120px}
@media (max-width:640px){
  .player-card--row{padding:9px 10px;gap:8px}
  .player-row-main{gap:6px}
  .player-row-main strong{font-size:13px}
  .player-row-meta{font-size:10px}
  .room-log-dock{height:118px;min-height:118px;max-height:118px;padding:7px 8px 6px}
  .room-log-dock .event-feed{height:calc(100% - 16px)}
  .year-slider-box{padding:9px 10px 10px}
  .year-slider-box__top strong{font-size:16px}
  .year-slider-box input[type=range]{height:30px}
  .year-slider-box input[type=range]::-webkit-slider-thumb{width:20px;height:20px;margin-top:-6px}
  .year-slider-box input[type=range]::-moz-range-thumb{width:20px;height:20px}
  .year-step-btn{height:32px;font-size:10px}
  .round-result-row{grid-template-columns:26px minmax(0,1fr);gap:7px;padding:8px}
  .round-result-row__rank{width:26px;height:26px;font-size:11px}
  .round-result-row__side{grid-column:2;display:flex;align-items:center;gap:5px;flex-wrap:wrap}
  .result-summary-grid--compact{grid-template-columns:repeat(2,minmax(0,1fr))}
}

.room-status-panel,.players-panel{padding:14px}
.room-chip{padding:6px 11px;font-size:11px}
.room-title-line h1{margin:10px 0 6px;font-size:18px;line-height:1.3}
.room-status-panel p{font-size:12px;line-height:1.45}
.room-status-panel .action-row{margin-top:12px}
.room-status-panel .btn{height:42px;padding:0 14px;border-radius:14px}
.players-panel .section-head{margin-bottom:8px}
.players-panel .section-head h2,.answer-panel .section-head h2{font-size:18px}


/* v1.8.6 home/banner/share polish */
.has-bottom-nav .app-shell{padding-bottom:104px}
.compact-home-appbar{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;padding:6px 2px 10px}
.home-appbar__notice{min-width:0;display:flex;align-items:center;gap:8px;padding:0 2px}
.home-appbar__notice-label{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;height:24px;padding:0 9px;border-radius:999px;background:#eef5ff;border:1px solid #d6e5fb;color:#2f6fdd;font-size:11px;font-weight:900}
.home-appbar__notice-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800;color:#5a6676}
.banner-card{padding:12px 14px 14px}
.hero-banner-media{position:relative;overflow:hidden;border-radius:20px;border:1px solid #dbe7f8;background:linear-gradient(135deg,#f4f9ff,#eef4ff);box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
.hero-banner-image{width:100%;aspect-ratio:16/5;object-fit:cover}
.hero-quick-row{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hero-quick-row .btn{height:46px;border-radius:16px;padding:0 14px}
.home-compact-form{gap:10px;margin-top:12px}
.home-compact-form label{gap:5px}
.home-compact-form input,.home-compact-form select{height:46px;padding:10px 13px;border-radius:14px;font-size:14px}
.home-compact-form .btn{height:48px;border-radius:16px}
.section-compact{min-height:calc(100vh - 234px)}
.section-head p{font-size:12px}
.bottom-nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:10px 12px calc(14px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid #dfe8f4;box-shadow:0 -12px 28px rgba(15,23,42,.05)}
.bottom-nav__item{min-height:58px;padding:8px 6px;border-radius:18px;display:grid;justify-items:center;gap:4px;background:#f8fbff;color:#708096}
.bottom-nav__item.is-active{background:#3182f6;color:#fff;box-shadow:0 10px 22px rgba(49,130,246,.24)}
.bottom-nav__icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px}
.bottom-nav__svg{width:18px;height:18px;display:block}
.bottom-nav__label{font-size:11px;font-weight:900;letter-spacing:-.02em}
.room-status-panel .action-row .btn{height:44px;padding:0 16px;border-radius:14px}
.btn-ready-off{background:#eef4ff;color:#386fd1;border:1px solid #d5e4fb;box-shadow:none}
.btn-ready-on{background:#3182f6;color:#fff;box-shadow:0 10px 20px rgba(49,130,246,.2)}
.players-panel .section-head p{font-size:12px}
.player-list{gap:8px}
.player-card--row{grid-template-columns:minmax(0,1fr) auto;padding:9px 10px;border-radius:14px;border-color:#e5edf7;background:#fff}
.player-row-main{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;min-width:0}
.player-row-main strong{font-size:14px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.player-row-meta{font-size:11px;color:#6b7685;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.player-row-actions{display:flex;align-items:center;gap:6px}
.player-card--row .mini-btn{height:28px;padding:0 9px;border-radius:9px;font-size:11px}
.answer-panel{padding:14px 14px 16px}
.section-head--answer{margin-bottom:6px}
.section-head--answer h2{margin:0;font-size:22px}
.section-head--answer p{display:none}
.answer-stage-copy{display:none!important}
.slider-answer-form{gap:10px}
.year-slider-box{gap:8px;padding:12px 12px 10px;border-radius:18px;background:linear-gradient(180deg,#fbfdff,#f5f9ff);border:1px solid #dbe7f8;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
.year-slider-box__top{margin-bottom:2px;align-items:center}
.year-slider-box__top span{font-size:11px;color:#6f7d90}
.year-slider-box__top strong{font-size:17px}
.year-slider-box input[type=range]{height:28px}
.year-slider-box input[type=range]::-webkit-slider-runnable-track{height:10px;background:linear-gradient(90deg,#1d4ed8 0%,#60a5fa 55%,#b9d9ff 100%);box-shadow:inset 0 1px 2px rgba(255,255,255,.45)}
.year-slider-box input[type=range]::-webkit-slider-thumb{width:24px;height:24px;margin-top:-7px;background:linear-gradient(180deg,#ffffff,#edf4ff);border:4px solid #2f80f6;box-shadow:0 10px 22px rgba(47,128,246,.28)}
.year-slider-box input[type=range]::-moz-range-track{height:10px;background:linear-gradient(90deg,#1d4ed8 0%,#60a5fa 55%,#b9d9ff 100%)}
.year-slider-box input[type=range]::-moz-range-thumb{width:24px;height:24px;background:linear-gradient(180deg,#ffffff,#edf4ff);border:4px solid #2f80f6;box-shadow:0 10px 22px rgba(47,128,246,.28)}
.year-step-row{gap:8px}
.year-step-btn{height:34px;border-radius:12px;background:#eef4ff;border:1px solid #dbe7f8;color:#336fcf;font-size:12px;font-weight:900}
.year-slider-box__ticks{margin-top:2px;font-size:10px}
.room-log-dock{height:138px;min-height:138px;max-height:138px;padding:10px 10px 8px}
.room-log-dock .event-feed{height:calc(100% - 20px)}
.event-feed{gap:8px}
.event-item{padding:10px 11px}
.round-result-modal__dialog{width:min(560px,calc(100% - 18px));border-radius:24px;background:#fff;box-shadow:0 28px 60px rgba(15,23,42,.18)}
.round-result-modal__head{padding-bottom:10px;border-bottom:1px solid #eef3f8}
.round-result-modal__close.hidden{display:none!important}
.round-result-modal__hero{padding:14px 0 0}
.round-result-modal__year{font-size:38px;line-height:1}
.round-result-modal__explain-card{padding:14px 15px;background:#f8fbff;border:1px solid #dde8f7}
.round-result-modal__desc{font-size:13px;line-height:1.55;color:#5f6d80}
.round-result-modal__section-title{margin:14px 0 10px;font-size:13px;font-weight:900;color:#5d6a7d}
.round-result-modal__list{display:grid;gap:8px}
.round-result-row{grid-template-columns:26px minmax(0,1fr) auto;gap:8px;padding:9px 10px;border-radius:15px;border-color:#e5edf8;background:#fff}
.round-result-row__rank{width:26px;height:26px;border-radius:9px;font-size:11px}
.round-result-row__name{font-size:13px}
.round-result-row__meta{font-size:10px;line-height:1.35}
.round-result-row__gain{height:24px;padding:0 8px;font-size:10px}
.round-result-row__answer-pill,.round-result-row__badge{height:22px;padding:0 7px;font-size:9px}
.round-result-modal__guide{margin-top:12px;padding:11px 12px;border-radius:14px;background:#f5f8fc;border:1px solid #e0e7f0;color:#627082;font-size:12px;font-weight:800;text-align:center}
.round-result-modal__actions{margin-top:10px}
.round-result-modal__actions .btn{height:46px;border-radius:14px}
.page-result .result-panel{padding:18px}
.page-result .leaderboard{gap:8px}
.page-result .leaderboard .player-card{padding:10px 12px}
@media (max-width: 640px){
  .hero-banner-image{aspect-ratio:16/6}
  .bottom-nav{padding-left:10px;padding-right:10px;gap:8px}
  .bottom-nav__item{min-height:60px}
  .home-appbar__notice-text{font-size:11px}
  .room-log-dock{height:136px;min-height:136px;max-height:136px}
  .round-result-modal__dialog{width:min(100% - 12px,560px);padding:14px}
  .round-result-row{grid-template-columns:24px minmax(0,1fr);gap:7px}
  .round-result-row__rank{width:24px;height:24px;font-size:10px}
  .round-result-row__side{grid-column:2;display:flex;align-items:center;gap:5px;flex-wrap:wrap}
}

/* v1.8.6 share/banner/modal fit refresh */
.banner-card{
  padding:0;
  margin-bottom:12px;
  background:transparent;
  border:none;
  box-shadow:none;
}
.hero-banner-media{
  width:100%;
  border-radius:22px;
}
.hero-banner-image{
  display:block;
  width:100%;
  aspect-ratio:16/4.4;
  object-fit:cover;
}
.section-compact{
  min-height:calc(100vh - 208px);
}
.home-compact-form{
  gap:9px;
  margin-top:10px;
}
.home-compact-form label{
  gap:4px;
}
.home-compact-form input,
.home-compact-form select{
  height:42px;
  padding:8px 12px;
  border-radius:13px;
  font-size:13px;
}
.home-compact-form .btn,
.room-status-panel .action-row .btn{
  height:42px;
  border-radius:13px;
}
.inline-fields{
  gap:8px;
}
.round-result-modal__dialog{
  width:min(580px, calc(100% - 16px));
  max-height:min(88vh, 860px);
  padding:15px;
}
.round-result-modal__hero{
  padding-top:12px;
}
.round-result-modal__guide{
  margin-top:10px;
  padding:10px 11px;
}
.round-result-modal__actions{
  position:sticky;
  bottom:0;
  z-index:2;
  margin-top:10px;
  padding-top:12px;
  padding-bottom:2px;
  background:linear-gradient(180deg, rgba(255,255,255,0) 0%, #fff 22%, #fff 100%);
}
.round-result-modal__actions .btn{
  height:48px;
}
@media (max-width: 640px){
  .hero-banner-image{
    aspect-ratio:16/4.8;
  }
  .section-compact{
    min-height:calc(100vh - 198px);
  }
  .home-compact-form input,
  .home-compact-form select{
    height:40px;
    font-size:13px;
  }
  .round-result-modal__dialog{
    width:calc(100% - 10px);
    max-height:min(90vh, 920px);
    padding:14px;
    border-radius:22px;
  }
  .round-result-modal__actions{
    padding-top:10px;
  }
}


/* v1.8.7 시대 분산 추첨 + 준비/알림 + 결과 애니메이션 */
.player-row-badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:4px}
.player-state-chip{display:inline-flex;align-items:center;justify-content:center;height:22px;padding:0 8px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:-.01em;border:1px solid transparent}
.player-state-chip.is-host{background:#eef5ff;border-color:#dbe8fb;color:#3469cb}
.player-state-chip.is-ready{background:#e9fbf0;border-color:#b8ebca;color:#178247;box-shadow:0 6px 14px rgba(23,130,71,.08)}
.player-state-chip.is-waiting{background:#f5f8fc;border-color:#d9e3ef;color:#6b7785}
.player-state-chip.is-offline{background:#f7f7f8;border-color:#e3e6eb;color:#828a95}
.player-state-chip.is-playing{background:#edf5ff;border-color:#d9e9ff;color:#2f6edd}
.btn-ready-off{background:#3182f6!important;color:#fff!important;border:1px solid #3182f6!important;box-shadow:0 10px 20px rgba(49,130,246,.2)!important}
.btn-ready-on{background:#eef5ff!important;color:#2f6edd!important;border:1px solid #d6e5fb!important;box-shadow:none!important}
.room-log-dock{height:146px!important;min-height:146px!important;max-height:146px!important}
.room-log-dock .event-feed{height:calc(100% - 18px)!important}
.event-feed{gap:6px!important}
.time-warning-bubble{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%) scale(.96);z-index:130;padding:12px 16px;border-radius:999px;background:rgba(33,44,63,.92);color:#fff;font-size:14px;font-weight:900;letter-spacing:-.02em;box-shadow:0 18px 36px rgba(15,23,42,.25);opacity:0;transition:opacity .22s ease,transform .22s ease;pointer-events:none}
.time-warning-bubble.is-visible{opacity:1;transform:translate(-50%,-50%) scale(1)}
.round-result-modal__dialog{max-height:min(82vh,760px)!important}
.round-result-modal__list{display:grid;gap:8px;margin-top:14px;min-height:88px}
.round-result-row{grid-template-columns:30px minmax(0,1fr) auto!important;gap:8px!important;align-items:center!important;padding:11px 12px!important;border-radius:18px!important;overflow:hidden}
.round-result-row__rank{width:30px!important;height:30px!important;font-size:12px!important}
.round-result-row__name-line{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.round-result-row__name{font-size:13px!important}
.round-result-row__meta{margin-top:2px!important;font-size:10px!important;line-height:1.35!important}
.round-result-row__side{grid-column:3!important;display:flex!important;align-items:center!important;gap:5px!important;flex-wrap:nowrap!important;justify-self:end!important}
.round-result-row__gain{height:24px!important;padding:0 8px!important;font-size:10px!important;white-space:nowrap}
.round-result-row__badge,.round-result-row__answer-pill{height:22px!important;padding:0 7px!important;font-size:9px!important;white-space:nowrap}
.round-result-row.is-reveal-enter{opacity:0;transform:translateY(12px) scale(.98)}
.round-result-row.is-reveal-enter.is-visible{opacity:1;transform:translateY(0) scale(1);transition:opacity .28s ease,transform .28s ease}
.round-result-row.has-gain .round-result-row__gain{position:relative}
.round-result-row.is-score-pop .round-result-row__gain{animation:scorePulse .8s cubic-bezier(.2,.85,.2,1)}
@keyframes scorePulse{0%{transform:scale(.92);box-shadow:0 0 0 rgba(49,130,246,0)}45%{transform:scale(1.14);box-shadow:0 0 0 8px rgba(49,130,246,.12)}100%{transform:scale(1);box-shadow:0 0 0 rgba(49,130,246,0)}}
@media (max-width:640px){
  .room-log-dock{height:142px!important;min-height:142px!important;max-height:142px!important}
  .round-result-row{grid-template-columns:26px minmax(0,1fr) auto!important;padding:10px 10px!important}
  .round-result-row__rank{width:26px!important;height:26px!important;font-size:10px!important}
  .round-result-row__side{grid-column:3!important;gap:4px!important}
  .round-result-row__gain{height:22px!important;padding:0 7px!important;font-size:9px!important}
  .round-result-row__badge,.round-result-row__answer-pill{height:20px!important;padding:0 6px!important;font-size:8px!important}
}

/* v1.8.8 admin refresh + rotating notices + cleaner ready states */
.home-appbar__notice-text{font-size:13px;font-weight:900;line-height:1.35;color:#49576b;display:inline-block;min-height:18px}
.home-appbar__notice-text.is-switch,.admin-notice-preview__text.is-switch,.admin-share-card p.is-switch,#dashboardNoticePreview.is-switch{animation:noticeSwitch .42s ease}
@keyframes noticeSwitch{0%{opacity:0;transform:translateY(6px)}100%{opacity:1;transform:translateY(0)}}

.default-thumb-art{display:grid;place-items:center;gap:12px;font-size:16px}
.default-thumb-line{width:84px;height:8px;border-radius:999px;background:linear-gradient(90deg,#bfd8ff,#6ba6ff,#bfd8ff)}
.default-thumb-text{font-size:13px;font-weight:900;color:#4b84dc;letter-spacing:-.02em}

.btn-ready-off{background:#f3f6fb!important;color:#617286!important;border:1px solid #dbe3ee!important;box-shadow:none!important}
.btn-ready-on{background:linear-gradient(180deg,#25b56e,#15985a)!important;color:#fff!important;border:1px solid #15985a!important;box-shadow:0 12px 22px rgba(21,152,90,.18)!important}
.player-card--row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.player-row-main strong{font-size:14px;line-height:1.25}
.player-row-actions .mini-btn{min-width:54px}

.round-result-row__side{min-width:max-content}
.round-result-row__name-line{row-gap:4px}
.round-result-spotlight{margin-bottom:14px;opacity:0;transform:translateY(12px) scale(.98);transition:opacity .22s ease,transform .22s ease}
.round-result-spotlight.hidden{display:none}
.round-result-spotlight.is-visible{opacity:1;transform:translateY(0) scale(1)}
.result-spotlight-card{position:relative;display:grid;gap:12px;padding:22px 18px;border-radius:28px;border:1px solid #d8e8ff;background:radial-gradient(circle at top,#f7fbff 0%,#ffffff 58%,#eef6ff 100%);box-shadow:0 18px 40px rgba(55,107,193,.14);text-align:center;overflow:hidden}
.result-spotlight-card.is-exact{background:radial-gradient(circle at top,#fffde8 0%,#ffffff 58%,#fff2bf 100%);border-color:#e9d46b;box-shadow:0 20px 44px rgba(181,143,20,.16)}
.result-spotlight-card.is-close{background:radial-gradient(circle at top,#f9fcff 0%,#ffffff 58%,#eef7ff 100%)}
.result-spotlight-card.is-missed{background:radial-gradient(circle at top,#fff8f7 0%,#ffffff 58%,#ffe9e7 100%);border-style:dashed;border-color:#f0c6c0}
.result-spotlight-card__topline{display:grid;grid-template-columns:54px minmax(0,1fr);gap:12px;align-items:center}
.result-spotlight-card__rank{display:flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:18px;background:#1f2937;color:#fff;font-size:20px;font-weight:900}
.result-spotlight-card__identity{display:grid;justify-items:start;gap:6px;text-align:left}
.result-spotlight-card__eyebrow{font-size:15px;font-weight:900;letter-spacing:-.02em;color:#1d2a3a}
.result-spotlight-card__badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 12px;border-radius:999px;background:#eaf4ff;color:#2968cf;font-size:11px;font-weight:900}
.result-spotlight-card__phase-list{display:grid;gap:10px}
.result-spotlight-phase{display:grid;justify-items:center;gap:7px;padding:14px 16px;border-radius:22px;border:1px solid #dbe6f7;background:#f8fbff;opacity:.28;transform:scale(.98);transition:opacity .22s ease,transform .22s ease,box-shadow .22s ease,background .22s ease,border-color .22s ease}
.result-spotlight-phase__label{font-size:12px;font-weight:800;letter-spacing:.08em;color:#6b7c91;text-transform:uppercase}
.result-spotlight-phase__value{display:flex;align-items:center;justify-content:center;min-height:54px;font-size:32px;line-height:1.15;font-weight:900;letter-spacing:-.04em;word-break:keep-all;color:#17202d}
.result-spotlight-phase.is-revealed{opacity:1;transform:scale(1)}
.result-spotlight-phase.is-current{box-shadow:0 18px 30px rgba(39,87,167,.14);animation:spotlightPulse .42s cubic-bezier(.2,.85,.2,1)}
.result-spotlight-phase.is-answer.is-revealed{background:#eef5ff;border-color:#cfe0fb}
.result-spotlight-phase.is-answer .result-spotlight-phase__value{color:#1f4f93}
.result-spotlight-phase.is-diff.is-revealed{background:#f7f8fb;border-color:#d9e0ea}
.result-spotlight-phase.is-diff .result-spotlight-phase__value{color:#39465a}
.result-spotlight-phase.is-gain.is-revealed{background:#1f2937;border-color:#1f2937}
.result-spotlight-phase.is-gain .result-spotlight-phase__label{color:#b7c4d8}
.result-spotlight-phase.is-gain .result-spotlight-phase__value{color:#fff2a3}
@keyframes spotlightPulse{0%{transform:scale(.94)}100%{transform:scale(1)}}
@media (max-width:640px){
  .result-spotlight-card{padding:18px 14px;border-radius:24px}
  .result-spotlight-card__topline{grid-template-columns:46px minmax(0,1fr);gap:10px}
  .result-spotlight-card__rank{width:46px;height:46px;border-radius:16px;font-size:18px}
  .result-spotlight-card__eyebrow{font-size:13px}
  .result-spotlight-card__badge{min-height:26px;padding:0 10px;font-size:10px}
  .result-spotlight-phase{padding:12px 12px;border-radius:18px}
  .result-spotlight-phase__label{font-size:10px}
  .result-spotlight-phase__value{min-height:46px;font-size:24px}
}

.result-spotlight-card{
  gap:16px;
  padding:20px 18px 18px;
  border-radius:24px;
  background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);
  border-color:#cfe1f7;
  box-shadow:0 18px 40px rgba(35,74,132,.14);
}
.result-spotlight-card.is-exact{
  background:linear-gradient(180deg,#fffef3 0%,#fff7c8 100%);
  border-color:#e4c84e;
  box-shadow:0 20px 44px rgba(170,132,12,.2);
}
.result-spotlight-card.is-close{
  background:linear-gradient(180deg,#ffffff 0%,#eef7ff 100%);
  border-color:#b8d7ff;
}
.result-spotlight-card.is-missed{
  background:linear-gradient(180deg,#fffafa 0%,#fff0ee 100%);
  border-color:#f0b9b2;
}
.result-spotlight-card__player{
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  align-items:center;
  gap:12px;
  text-align:left;
}
.result-spotlight-card__rank{
  width:54px;
  height:54px;
  border-radius:18px;
  background:#182234;
  color:#fff;
  box-shadow:0 10px 22px rgba(24,34,52,.18);
}
.result-spotlight-card__label{
  font-size:11px;
  font-weight:900;
  color:#60748f;
}
.result-spotlight-card__name{
  margin-top:2px;
  font-size:24px;
  line-height:1.15;
  font-weight:900;
  color:#17202d;
}
.result-spotlight-card__stage{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}
.result-spotlight-phase{
  min-height:104px;
  padding:13px 12px;
  border-radius:18px;
  background:#f6f9fd;
  border-color:#dce7f4;
  opacity:.2;
  transform:translateY(4px) scale(.97);
}
.result-spotlight-phase__label{
  font-size:10px;
  letter-spacing:.1em;
}
.result-spotlight-phase__value{
  min-height:58px;
  font-size:30px;
  letter-spacing:0;
}
.result-spotlight-phase.is-revealed{
  opacity:1;
  transform:translateY(0) scale(1);
}
.result-spotlight-phase.is-current{
  z-index:1;
  box-shadow:0 16px 34px rgba(49,103,184,.2);
  animation:resultJudgePop .34s cubic-bezier(.18,.9,.2,1);
}
.result-spotlight-phase.is-answer.is-revealed{
  background:#eef5ff;
  border-color:#c8ddfb;
}
.result-spotlight-phase.is-correct.is-revealed{
  background:#fff9dc;
  border-color:#ead06a;
}
.result-spotlight-phase.is-correct .result-spotlight-phase__value{
  color:#80610b;
}
.result-spotlight-phase.is-diff.is-revealed{
  background:#f8fafc;
  border-color:#d9e2ee;
}
.result-spotlight-phase.is-gain{
  grid-column:1 / -1;
  min-height:118px;
  background:#17202d;
  border-color:#17202d;
}
.result-spotlight-phase.is-gain .result-spotlight-phase__label{
  color:#c9d6e7;
}
.result-spotlight-phase.is-gain .result-spotlight-phase__value{
  min-height:70px;
  font-size:48px;
  color:#fff;
}
.result-spotlight-phase.is-gain.is-perfect{
  background:linear-gradient(180deg,#2c2410,#17130a);
  border-color:#e5c64d;
  box-shadow:0 18px 38px rgba(183,139,12,.24);
}
.result-spotlight-phase.is-gain.is-perfect .result-spotlight-phase__label,
.result-spotlight-phase.is-gain.is-perfect .result-spotlight-phase__value{
  color:#ffe978;
}
.result-spotlight-phase.is-gain.is-high{
  background:#13325d;
  border-color:#6ba7ff;
}
.result-spotlight-phase.is-gain.is-low{
  background:#233246;
}
.result-spotlight-phase.is-gain.is-zero{
  background:#edf1f6;
  border-color:#d7e0eb;
}
.result-spotlight-phase.is-gain.is-zero .result-spotlight-phase__label,
.result-spotlight-phase.is-gain.is-zero .result-spotlight-phase__value{
  color:#5d6a7d;
}
@keyframes resultJudgePop{
  0%{transform:translateY(10px) scale(.92)}
  68%{transform:translateY(-2px) scale(1.03)}
  100%{transform:translateY(0) scale(1)}
}
@media (max-width:640px){
  .result-spotlight-card{padding:16px 13px 14px;border-radius:20px;gap:12px}
  .result-spotlight-card__player{grid-template-columns:44px minmax(0,1fr);gap:10px}
  .result-spotlight-card__rank{width:44px;height:44px;border-radius:15px;font-size:16px}
  .result-spotlight-card__name{font-size:20px}
  .result-spotlight-card__stage{gap:7px}
  .result-spotlight-phase{min-height:88px;padding:11px 9px;border-radius:15px}
  .result-spotlight-phase__value{min-height:48px;font-size:24px}
  .result-spotlight-phase.is-gain{min-height:96px}
  .result-spotlight-phase.is-gain .result-spotlight-phase__value{min-height:56px;font-size:38px}
}

body.is-result-judging .round-result-modal__dialog{
  margin-top:calc(env(safe-area-inset-top) + 170px)!important;
}
body.is-result-judging .round-result-spotlight{
  position:fixed;
  z-index:140;
  top:calc(env(safe-area-inset-top) + 10px);
  left:50%;
  width:min(620px,calc(100% - 18px));
  margin:0;
  transform:translate(-50%,-10px) scale(.98);
}
body.is-result-judging .round-result-spotlight.is-visible{
  transform:translate(-50%,0) scale(1);
}
body.is-result-judging .result-spotlight-card{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  padding:12px;
  border-radius:20px;
  background:#fff;
  box-shadow:0 22px 48px rgba(15,23,42,.24);
}
body.is-result-judging .result-spotlight-card.is-exact{
  background:linear-gradient(180deg,#fffdf1,#fff7c9);
}
body.is-result-judging .result-spotlight-card__player{
  grid-template-columns:42px minmax(0,1fr);
  gap:9px;
}
body.is-result-judging .result-spotlight-card__rank{
  width:42px;
  height:42px;
  border-radius:14px;
  font-size:16px;
}
body.is-result-judging .result-spotlight-card__label{
  font-size:10px;
}
body.is-result-judging .result-spotlight-card__name{
  font-size:20px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.is-result-judging .result-spotlight-card__stage{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
  min-width:0;
}
body.is-result-judging .result-spotlight-phase{
  min-width:0;
  min-height:66px;
  padding:8px 7px;
  border-radius:14px;
}
body.is-result-judging .result-spotlight-phase.is-gain{
  grid-column:1 / -1;
  min-height:54px;
}
body.is-result-judging .result-spotlight-phase__label{
  font-size:9px;
  letter-spacing:.04em;
}
body.is-result-judging .result-spotlight-phase__value{
  min-height:36px;
  font-size:20px;
  white-space:nowrap;
}
body.is-result-judging .result-spotlight-phase.is-gain .result-spotlight-phase__value{
  min-height:30px;
  font-size:28px;
}
@media (max-width:640px){
  body.is-result-judging .round-result-modal__dialog{
    margin-top:calc(env(safe-area-inset-top) + 156px)!important;
  }
  body.is-result-judging .round-result-spotlight{
    width:calc(100% - 12px);
    top:calc(env(safe-area-inset-top) + 6px);
  }
  body.is-result-judging .result-spotlight-card{
    gap:8px;
    padding:9px;
    border-radius:18px;
  }
  body.is-result-judging .result-spotlight-card__player{
    grid-template-columns:36px minmax(0,1fr);
  }
  body.is-result-judging .result-spotlight-card__rank{
    width:32px;
    height:32px;
    border-radius:11px;
    font-size:13px;
  }
  body.is-result-judging .result-spotlight-card__name{
    font-size:17px;
  }
  body.is-result-judging .result-spotlight-card__stage{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:5px;
  }
  body.is-result-judging .result-spotlight-phase{
    min-height:58px;
    padding:7px 4px;
    border-radius:12px;
  }
  body.is-result-judging .result-spotlight-phase.is-gain{
    grid-column:1 / -1;
    min-height:46px;
  }
  body.is-result-judging .result-spotlight-phase__label{
    font-size:8px;
  }
  body.is-result-judging .result-spotlight-phase__value{
    min-height:30px;
    font-size:16px;
  }
  body.is-result-judging .result-spotlight-phase.is-gain .result-spotlight-phase__value{
    min-height:26px;
    font-size:24px;
  }
}

.admin-layout--renewed{grid-template-columns:260px 1fr}
.admin-brand-wrap{padding:6px 0 18px}
.admin-brand{font-size:22px;font-weight:900;letter-spacing:-.03em}
.admin-brand-sub{font-size:12px;color:#aeb8d6;font-weight:700;margin-top:4px}
.admin-menu-group{display:grid;gap:8px;margin-bottom:16px}
.admin-menu-group__title{font-size:11px;font-weight:900;letter-spacing:.08em;color:#9aa6c9;padding:0 6px;text-transform:uppercase}
.admin-page-title--renewed{margin-bottom:20px}
.admin-page-title__eyebrow{display:inline-flex;align-items:center;justify-content:center;height:24px;padding:0 10px;border-radius:999px;background:#edf4ff;color:#2f6edd;font-size:11px;font-weight:900;margin-bottom:8px}
.admin-stat-grid--5{grid-template-columns:repeat(5,minmax(0,1fr))}
.quick-links--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.admin-preview-card--light{background:#fff!important;color:#1b2430!important;box-shadow:var(--shadow)!important;position:sticky;top:20px}
.admin-card--soft{padding:14px 15px;background:#f8fbff;border:1px solid #dde8f7;border-radius:16px}
.admin-kv-list{display:grid;gap:10px}
.admin-kv-list>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #edf2f7}
.admin-kv-list>div:last-child{border-bottom:none}
.admin-kv-list strong{font-size:12px;color:#6b7788}
.admin-kv-list span{font-size:13px;font-weight:800;color:#1f2937;text-align:right}
.admin-repeat-list{display:grid;gap:10px}
.admin-repeat-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
.admin-row-remove{white-space:nowrap}
.admin-notice-preview{display:flex;align-items:center;gap:10px;padding:14px 15px;border-radius:18px;background:#f8fbff;border:1px solid #dde8f7;margin-bottom:12px}
.admin-notice-preview__text{min-width:0;font-size:14px;font-weight:900;line-height:1.45;color:#4c5b6f}
.admin-share-card{padding:14px 15px;border-radius:18px;background:#fff;border:1px solid #e3ebf5;display:grid;gap:8px}
.admin-share-card strong{font-size:18px;line-height:1.35;letter-spacing:-.03em;color:#1d2430}
.admin-share-card p{margin:0;font-size:13px;line-height:1.55;color:#5a6677}
.admin-share-card span{font-size:12px;color:#8a96a7;font-weight:700}
.preview-image--banner img{aspect-ratio:16/6;object-fit:cover}
.preview-image--share img{aspect-ratio:1200/630;object-fit:cover}
.admin-divider{height:1px;background:#edf2f7;margin:16px 0}
.admin-modal__dialog{background:#fff}

@media (max-width: 1120px){
  .admin-stat-grid--5,.quick-links--4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 920px){
  .admin-layout--renewed{grid-template-columns:1fr}
  .admin-preview-card--light{position:static}
}
@media (max-width: 640px){
  .home-appbar__notice-text{font-size:12px}
  .admin-stat-grid--5,.quick-links--4{grid-template-columns:1fr}
  .admin-repeat-row{grid-template-columns:1fr}
  .admin-kv-list>div{display:grid;gap:4px}
  .admin-kv-list span{text-align:left}
}


/* v1.8.9 share card only + admin analytics refresh */
.home-appbar__notice-text{font-size:14px!important}
@media (max-width:640px){.home-appbar__notice-text{font-size:13px!important}}
.btn-ready-confirm{background:linear-gradient(180deg,#3182f6,#1f6fe5)!important;color:#fff!important;border:1px solid #1f6fe5!important;box-shadow:0 12px 24px rgba(49,130,246,.22)!important}
.btn-ready-cancel{background:#f3f6fb!important;color:#5f7084!important;border:1px solid #dbe3ee!important;box-shadow:none!important}
.player-state-chip.is-ready{background:#e8fff1!important;border-color:#b7efca!important;color:#118248!important;box-shadow:0 8px 18px rgba(17,130,72,.12)!important}
.admin-stat-grid--6{grid-template-columns:repeat(6,minmax(0,1fr))}
.quick-links--6{grid-template-columns:repeat(6,minmax(0,1fr))}
.admin-page-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.admin-search-row--compact{grid-template-columns:minmax(220px,320px) auto;align-items:end}
.admin-event-chip{display:inline-flex;align-items:center;justify-content:center;height:26px;padding:0 10px;border-radius:999px;background:#eef5ff;border:1px solid #d9e6fb;color:#2e67d0;font-size:11px;font-weight:900;white-space:nowrap}
.admin-inline-code{display:block;max-width:320px;white-space:pre-wrap;word-break:break-all;font-size:11px;line-height:1.55;color:#4f5d72;background:#f7faff;border:1px solid #dfe8f5;border-radius:12px;padding:8px 10px}
.mini-trend-chart{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));gap:10px;align-items:end;min-height:160px;padding-top:10px}
.mini-trend-chart__item{display:grid;justify-items:center;gap:6px}
.mini-trend-chart__bar-wrap{width:100%;min-height:104px;display:flex;align-items:flex-end;justify-content:center}
.mini-trend-chart__bar{width:min(22px,100%);border-radius:14px 14px 8px 8px;background:linear-gradient(180deg,#7fb4ff,#2f6edd);box-shadow:0 10px 20px rgba(47,110,221,.18)}
.mini-trend-chart__bar--accent{background:linear-gradient(180deg,#71e6c5,#15b97a);box-shadow:0 10px 20px rgba(21,185,122,.18)}
.mini-trend-chart__item strong{font-size:12px;color:#1f2937}
.mini-trend-chart__item span{font-size:10px;color:#738093;font-weight:800}
.invite-page{min-height:100vh;background:linear-gradient(180deg,#eef5ff 0%,#f8fbff 52%,#ffffff 100%);display:flex;align-items:center;justify-content:center;padding:22px}
.invite-shell{width:min(520px,100%)}
.invite-card{display:grid;gap:12px;padding:18px}
.invite-card__badge{display:inline-flex;justify-self:flex-start;align-items:center;justify-content:center;height:28px;padding:0 12px;border-radius:999px;background:#edf4ff;border:1px solid #d7e4fb;color:#2e67d0;font-size:12px;font-weight:900}
.invite-card__code{font-size:13px;font-weight:900;color:#5a6a7d}
.invite-card h1{margin:0;font-size:28px;line-height:1.2;letter-spacing:-.04em;color:#121a26}
.invite-card p{margin:0;font-size:14px;line-height:1.62;color:#576578}
.invite-card__image{overflow:hidden;border-radius:20px;border:1px solid #dfe8f4;background:#f6faff}
.invite-card__image img{width:100%;display:block;aspect-ratio:1200/630;object-fit:cover}
.invite-card__meta{font-size:12px;color:#7b8797;font-weight:800;text-align:center}
@media (max-width:1200px){.admin-stat-grid--6,.quick-links--6{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:920px){.admin-stat-grid--6,.quick-links--6{grid-template-columns:repeat(2,minmax(0,1fr))}.mini-trend-chart{grid-template-columns:repeat(7,minmax(0,1fr));row-gap:14px}}
@media (max-width:640px){.admin-page-actions{width:100%;justify-content:flex-start}.admin-search-row--compact{grid-template-columns:1fr}.admin-inline-code{max-width:220px}.mini-trend-chart{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.invite-page{padding:14px}.invite-card{padding:14px}.invite-card h1{font-size:22px}}

/* v1.8.10 admin sticky + pagination + clearer trends */
.admin-layout{align-items:start}
.admin-sidebar{position:sticky;top:0;align-self:start;height:100vh;overflow:auto}
.admin-main{min-width:0}
.admin-menu-group--bottom{padding-top:12px;margin-top:12px;border-top:1px solid rgba(255,255,255,.08)}
.admin-pagination{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:16px}
.admin-pagination__link{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;border-radius:12px;border:1px solid #dbe5f4;background:#fff;color:#29405f;font-size:13px;font-weight:800}
.admin-pagination__link.is-active{background:#3182f6;border-color:#3182f6;color:#fff}
.admin-pagination__link.is-disabled{pointer-events:none;opacity:.45}
.admin-trend-list{display:grid;gap:12px}
.admin-trend-list__row{display:grid;grid-template-columns:96px minmax(0,1fr) 58px;align-items:center;gap:12px}
.admin-trend-list__label{display:grid;gap:2px}
.admin-trend-list__label strong{font-size:13px;color:#1f2937}
.admin-trend-list__label span{font-size:11px;color:#8090a5;font-weight:800}
.admin-trend-list__bar{height:12px;border-radius:999px;background:#eef4fd;overflow:hidden;position:relative}
.admin-trend-list__bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#8ec2ff,#3182f6)}
.admin-trend-list__bar--accent{background:#ebfaf4}
.admin-trend-list__bar--accent span{background:linear-gradient(90deg,#7ce0bf,#1daf72)}
.admin-trend-list__value{font-size:13px;font-weight:900;color:#243246;text-align:right}
@media (max-width:920px){
  .admin-sidebar{position:static;height:auto;overflow:visible}
}
@media (max-width:640px){
  .admin-trend-list__row{grid-template-columns:72px minmax(0,1fr) 48px;gap:8px}
  .admin-pagination{justify-content:flex-start}
}


/* 푸터 및 법률 페이지 스타일 */
.site-footer--links{display:flex;flex-direction:column;gap:8px;padding:14px 8px 8px}
.site-footer__brand{font-weight:700;color:#7a8699}
.site-footer__links{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap}
.site-footer__links a{color:#4e5968;text-decoration:none;font-size:12px;font-weight:700}
.site-footer__links a:hover{color:#3182f6}

.room-legal-links{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;padding:10px 0 2px}
.room-legal-links a{font-size:11px;font-weight:700;color:#6b7684;text-decoration:none}
.room-legal-links a:hover{color:#3182f6}

.page-legal{background:#f4f7fb;color:#191f28}
.legal-shell{max-width:880px;margin:0 auto;padding:18px 14px 28px}
.legal-panel{padding:18px 16px;border-radius:28px}
.legal-panel__top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}
.legal-back-link{color:#4e5968;font-size:13px;font-weight:700;text-decoration:none}
.legal-chip{display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border-radius:999px;background:#eef5ff;color:#3182f6;font-size:12px;font-weight:800}
.legal-panel h1{margin:0 0 8px;font-size:28px;line-height:1.2;color:#191f28}
.legal-lead{margin:0 0 14px;color:#4e5968;line-height:1.65;font-size:14px}
.legal-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.legal-tab{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:999px;background:#f2f4f6;color:#4e5968;text-decoration:none;font-size:13px;font-weight:800}
.legal-tab.is-active{background:#3182f6;color:#fff;box-shadow:0 10px 22px rgba(49,130,246,.22)}
.legal-notice{padding:14px 14px 12px;border-radius:18px;background:#f8fafc;border:1px solid #e5e8eb;margin-bottom:14px}
.legal-notice.is-warning{background:#fff8e8;border-color:#f2d388}
.legal-notice strong{display:block;margin-bottom:6px;font-size:13px;color:#191f28}
.legal-notice p{margin:0;color:#4e5968;line-height:1.65;font-size:13px}
.legal-sections{display:grid;gap:12px}
.legal-section-card{padding:16px 15px;border:1px solid #e8eef6;border-radius:22px;background:#fff}
.legal-section-card h2{margin:0 0 8px;font-size:16px;color:#191f28}
.legal-section-card p{margin:0;color:#4e5968;font-size:14px;line-height:1.8}

@media (min-width: 768px){
  .legal-shell{padding:26px 18px 34px}
  .legal-panel{padding:26px 24px}
  .legal-panel h1{font-size:32px}
}


body.is-splash-visible{overflow:hidden}
.app-splash{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(180deg,#f8fbff 0%,#eef5ff 42%,#fdf7ea 100%);opacity:0;pointer-events:none;transition:opacity .28s ease,transform .28s ease}
.app-splash.is-visible{opacity:1;pointer-events:auto}
.app-splash.is-leaving{opacity:0}
.app-splash__inner{width:min(100%,420px);display:grid;justify-items:center;gap:12px;text-align:center;transform:translateY(14px) scale(.98);transition:transform .4s ease}
.app-splash.is-visible .app-splash__inner{transform:none}
.app-splash__logo-wrap{width:116px;height:116px;border-radius:30px;padding:6px;background:rgba(255,255,255,.92);box-shadow:0 18px 40px rgba(49,130,246,.16),0 8px 20px rgba(38,55,95,.08)}
.app-splash__logo{width:100%;height:100%;display:block;border-radius:22px}
.app-splash__title{font-size:28px;line-height:1.1;letter-spacing:-.04em;color:#14213d}
.app-splash__tag{margin:0;font-size:14px;line-height:1.5;color:#63708a;font-weight:700}
.app-splash__bar{position:relative;width:168px;height:6px;border-radius:999px;background:rgba(49,130,246,.12);overflow:hidden}
.app-splash__bar span{position:absolute;inset:0 auto 0 -40%;width:40%;border-radius:999px;background:linear-gradient(90deg,#7bb4ff,#3182f6,#9bd1ff);animation:appSplashBar 1.15s ease-in-out infinite}
@keyframes appSplashBar{0%{left:-40%}100%{left:100%}}
@media (max-width:640px){.app-splash__logo-wrap{width:102px;height:102px;border-radius:26px;padding:5px}.app-splash__title{font-size:25px}}
