/* 능동·수동 게임 전용. 기존 게임 CSS/JS를 변경하거나 전역 규칙을 덮지 않는다. */
#main .gi .vgm { --vg-ink:#142e34;--vg-green:#176252;--vg-mint:#e7f2ed;--vg-gold:#edc66e;--vg-line:#d8e2dc;--vg-muted:#566b70; color:var(--vg-ink);font-family:var(--ps-font,system-ui,sans-serif);font-size:16px;line-height:1.65;max-width:1060px;margin:0 auto;padding:16px 0 30px;overflow-wrap:anywhere; }
#main .gi .vgm *,#main .gi .vgm *::before,#main .gi .vgm *::after { box-sizing:border-box; }
#main .gi .vgm [hidden] { display:none!important; }
#main .gi .vgm h1,#main .gi .vgm h2,#main .gi .vgm h3 { color:inherit;line-height:1.35;letter-spacing:-.035em; }
#main .gi .vgm h1 { font-size:clamp(28px,4vw,44px);margin:12px 0; }
#main .gi .vgm h2 { font-size:23px;margin:8px 0 12px; }
#main .gi .vgm h3 { font-size:18px;margin:10px 0; }
#main .gi .vgm p { margin:10px 0; }
#main .gi .vgm button,#main .gi .vgm input,#main .gi .vgm textarea { font:inherit; }
#main .gi .vgm button { touch-action:manipulation; }
#main .gi .vgm button:disabled { opacity:.48;cursor:default;transform:none; }
#main .gi .vgm :focus-visible { outline:3px solid #a4620d;outline-offset:4px; }
/* 2026-10-14 Claude: 화면이 바뀔 때 읽기 위치로 옮겨 주는 제목(tabindex=-1)에는 테두리를 그리지 않는다. 단추·입력의 초점 표시는 그대로. */
#main .gi .vgm [tabindex="-1"]:focus, #main .gi .vgm [tabindex="-1"]:focus-visible { outline:none; }
#main .gi .vgm a { color:var(--vg-green); }
#main .gi .vgm .vgm-head { padding:10px 0 24px; }
#main .gi .vgm .vgm-eyebrow { display:block;font-size:12px;letter-spacing:.035em;font-weight:800;color:var(--vg-green); }
#main .gi .vgm .vgm-lead { color:var(--vg-muted);max-width:780px; }
#main .gi .vgm .vgm-daily { position:relative;isolation:isolate;overflow:hidden;border-radius:24px;padding:30px;background:linear-gradient(120deg,#123b39,#1d6054);color:#fff;margin-bottom:22px;box-shadow:0 12px 32px #17382d14; }
#main .gi .vgm .vgm-daily::after { content:'＋';position:absolute;right:20px;top:-56px;font-size:220px;color:#ffffff0a;font-weight:300;z-index:-1; }
#main .gi .vgm .vgm-daily h2 { font-size:30px;color:#fff; }
#main .gi .vgm .vgm-daily p { max-width:680px;color:#e3efea; }
#main .gi .vgm .vgm-daily .vgm-eyebrow { color:#f4d88b; }
#main .gi .vgm .vgm-daily .vgm-primary { background:var(--vg-gold);color:#25382e;border-color:var(--vg-gold); }
#main .gi .vgm .vgm-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px; }
#main .gi .vgm .vgm-card { display:flex;flex-direction:column;align-items:flex-start;border:1px solid var(--vg-line);border-radius:20px;padding:23px;background:#fff;box-shadow:0 4px 18px #17382d06;transition:transform .18s,box-shadow .18s;min-width:0; }
#main .gi .vgm .vgm-card:hover { transform:translateY(-3px);box-shadow:0 10px 24px #17382d12; }
#main .gi .vgm .vgm-card-no { display:block;font-size:12px;letter-spacing:.15em;color:var(--vg-green);font-weight:800; }
#main .gi .vgm .vgm-card h2 { margin-top:12px;font-size:22px; }
#main .gi .vgm .vgm-card>p { color:var(--vg-muted);flex:1;font-size:14px; }
#main .gi .vgm .vgm-card-progress { display:flex;flex-wrap:wrap;gap:6px 14px;width:100%;font-size:12px;border-top:1px solid var(--vg-line);padding:12px 0;margin-top:12px;color:#586d69; }
#main .gi .vgm .vgm-card-progress span { white-space:nowrap; }
#main .gi .vgm .vgm-btn { display:inline-flex;justify-content:center;align-items:center;gap:6px;min-height:44px;max-width:100%;padding:9px 16px;background:#fff;border:1px solid #b8cec3;border-radius:11px;color:var(--vg-ink);text-decoration:none;font-size:14px;font-weight:750;cursor:pointer;line-height:1.4;transition:background .16s,transform .16s;margin:4px 6px 4px 0; }
#main .gi .vgm .vgm-btn:hover:not(:disabled) { background:#edf5ef; }
#main .gi .vgm .vgm-primary,#main .gi .vgm .vgm-btn.is-selected { background:var(--vg-green);border-color:var(--vg-green);color:#fff; }
#main .gi .vgm .vgm-primary:hover:not(:disabled) { background:#0e4b3e; }
#main .gi .vgm .vgm-quiet { background:transparent;border-color:transparent;color:var(--vg-muted); }
#main .gi .vgm .vgm-panel,#main .gi .vgm .vgm-result { border:1px solid var(--vg-line);border-radius:22px;padding:26px;background:#f8faf7;min-width:0; }
#main .gi .vgm .vgm-levels,#main .gi .vgm .vgm-actions { display:flex;flex-wrap:wrap;gap:4px; }
#main .gi .vgm .vgm-example { margin:20px 0;padding:18px 22px;border-left:4px solid #c49b39;border-radius:0 12px 12px 0;background:#fff9e9; }
#main .gi .vgm summary { cursor:pointer;min-height:44px;padding:8px 0;font-weight:750; }
#main .gi .vgm .vgm-note { color:var(--vg-muted);font-size:13px;line-height:1.65; }
#main .gi .vgm .vgm-setting,#main .gi .vgm .vgm-read { display:flex;align-items:flex-start;gap:10px;margin:16px 0;cursor:pointer;font-size:14px; }
#main .gi .vgm input[type=checkbox] { accent-color:var(--vg-green);width:20px;height:20px;flex:0 0 20px;margin:3px 0; }
#main .gi .vgm .vgm-run-head { display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap; }
#main .gi .vgm .vgm-stats { display:flex;flex-wrap:wrap;gap:10px 22px;font-size:14px;margin:8px 0; }
#main .gi .vgm .vgm-stats b { color:var(--vg-green); }
#main .gi .vgm .vgm-tools { display:flex;align-items:center;flex-wrap:wrap;gap:6px; }
#main .gi .vgm .vgm-timer-label { font-size:13px;margin-right:auto;color:var(--vg-muted);min-width:115px;font-variant-numeric:tabular-nums; }
#main .gi .vgm .vgm-timer { display:block;width:100%;height:8px;border:0;border-radius:20px;overflow:hidden;margin:12px 0 18px;background:#e4e9e5;accent-color:var(--vg-green); }
#main .gi .vgm .vgm-timer::-webkit-progress-bar { background:#e4e9e5; }
#main .gi .vgm .vgm-timer::-webkit-progress-value { background:var(--vg-green);border-radius:20px;transition:width .2s linear; }
#main .gi .vgm .vgm-timer::-moz-progress-bar { background:var(--vg-green); }
#main .gi .vgm .vgm-skill { display:inline-block;padding:3px 10px;border-radius:8px;background:var(--vg-mint);color:#215646;font-size:12px;font-weight:700; }
#main .gi .vgm .vgm-context { white-space:pre-line;color:#29424a;background:#fff;border:1px solid var(--vg-line);padding:18px;border-radius:12px;line-height:1.8;font-size:17px; }
#main .gi .vgm .vgm-question { font-size:21px;margin:18px 0;white-space:pre-line; }
#main .gi .vgm .vgm-formula { padding:12px;border:1px dashed #a6c6b7;border-radius:10px;background:#edf5ef;color:#225946;text-align:center;font-weight:700; }
#main .gi .vgm .vgm-confidence { border:0;border-bottom:1px solid var(--vg-line);padding:12px 0 16px;margin:12px 0 20px; }
#main .gi .vgm .vgm-confidence legend { color:var(--vg-muted);font-size:13px; }
#main .gi .vgm .vgm-confidence button { font-size:12px;min-height:40px;font-weight:500; }
#main .gi .vgm .vgm-confidence [aria-pressed=true] { border-color:var(--vg-green);background:var(--vg-mint);color:#124736; }
#main .gi .vgm .vgm-options,#main .gi .vgm .vgm-edit { display:grid;gap:10px; }
#main .gi .vgm .vgm-option { display:block;text-align:left;width:100%;min-height:54px;padding:14px 18px;border:1px solid #bdcdc5;border-radius:12px;background:#fff;color:var(--vg-ink);cursor:pointer;line-height:1.65;transition:border-color .16s,background .16s; }
#main .gi .vgm .vgm-option:hover:not(:disabled) { border-color:var(--vg-green);background:#eff6f1; }
#main .gi .vgm .vgm-built { display:flex;flex-wrap:wrap;align-content:flex-start;gap:8px;min-height:80px;padding:14px;border:2px dashed #a4b9ae;border-radius:13px;background:#fff;margin:12px 0; }
#main .gi .vgm .vgm-built .vgm-tile { background:#e6f0e9;color:#124936;border-color:#96bba6; }
#main .gi .vgm .vgm-tiles { display:flex;flex-wrap:wrap;gap:8px;margin:16px 0; }
#main .gi .vgm .vgm-tile { display:inline-block;min-height:44px;padding:8px 15px;border:1px solid #b2c7d4;border-radius:10px;background:#f5f9fd;color:#24445a;font-weight:650;cursor:pointer;box-shadow:0 2px 0 #b2c7d433; }
#main .gi .vgm .vgm-tile:hover:not(:disabled) { background:#e9f1f9;transform:translateY(-1px); }
#main .gi .vgm .vgm-feedback { margin:18px 0;padding:24px;border-radius:18px;border:1px solid #a6c5b3;background:#eff8f1;animation:vgm-in .2s ease-out; }
#main .gi .vgm .vgm-feedback.is-wrong { border-color:#dfb885;background:#fff7e8; }
#main .gi .vgm .vgm-answer { font-size:19px;font-weight:750;color:#17523c;white-space:pre-line; }
#main .gi .vgm .vgm-textlink { display:inline-block;margin:6px 0;text-decoration:underline;text-underline-offset:3px;font-size:14px; }
#main .gi .vgm .vgm-stars { color:#a06709;font-size:26px;letter-spacing:6px; }
#main .gi .vgm .vgm-wrong article { padding:18px 0;border-top:1px solid var(--vg-line); }
#main .gi .vgm .vgm-record { border:1px solid #bbd0c6;border-radius:16px;padding:20px;background:#fff;margin:22px 0; }
#main .gi .vgm .vgm-record-row { display:block;margin:8px 0;font-size:14px; }
#main .gi .vgm .vgm-writing { margin:24px 0 0;border-top:1px solid var(--vg-line);padding-top:12px; }
#main .gi .vgm textarea { display:block;width:100%;max-width:100%;padding:12px;border:1px solid #a8bcb3;border-radius:10px;resize:vertical;background:#fff;color:var(--vg-ink);margin:8px 0; }
#main .gi .vgm-theory { margin:28px 0;border:1px solid #d8e2dc;border-radius:18px;padding:16px 22px;background:#fff; }
#main .gi .vgm-theory summary { cursor:pointer;font-weight:750;line-height:1.6; }
#main .gi .vgm-theory li { margin:10px 0;line-height:1.7;font-size:14px; }
#main .gi .vgm-theory ol { padding-left:22px; }
@keyframes vgm-in { from { opacity:0;transform:translateY(5px); } to { opacity:1;transform:none; } }
@media (max-width:680px) {
    #main .gi .vgm .vgm-grid { grid-template-columns:minmax(0,1fr); }
    #main .gi .vgm .vgm-daily,#main .gi .vgm .vgm-card,#main .gi .vgm .vgm-panel,#main .gi .vgm .vgm-result,#main .gi .vgm .vgm-feedback { padding:18px; }
    #main .gi .vgm .vgm-question { font-size:18px; }
    #main .gi .vgm .vgm-context { font-size:16px;padding:14px; }
    #main .gi .vgm .vgm-option { padding:12px; }
    #main .gi .vgm .vgm-tile { padding:8px 11px; }
    #main .gi .vgm .vgm-example { padding:12px; }
}
@media (prefers-reduced-motion:reduce) {
    #main .gi .vgm *,#main .gi .vgm *::after { animation:none!important;transition:none!important;scroll-behavior:auto!important; }
    #main .gi .vgm .vgm-card:hover,#main .gi .vgm .vgm-tile:hover { transform:none; }
}
