:root{--bg-deep: #19120c;--bg-wood: #251a11;--bg-card: #312318;--bg-card-light: #3d2c1e;--parchment: #f6eedc;--parchment-dim: #dfd0b4;--gold: #ebc064;--gold-bright: #ffe08a;--gold-dark: #9c6e1e;--vermilion: #c42f24;--jade: #1fa376;--border-gold: rgba(235, 192, 100, .28);--safe-top: max(12px, env(safe-area-inset-top, 12px));--safe-bottom: max(12px, env(safe-area-inset-bottom, 12px))}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;word-break:keep-all}html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden;background:radial-gradient(circle at 50% 18%,#2e2015,#17100b);color:var(--parchment);font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Pretendard,Noto Sans KR,Hiragino Sans,PingFang SC,sans-serif}#app{width:100%;height:100%;max-width:560px;margin:0 auto;display:flex;flex-direction:column;position:relative;overflow:hidden}.top-header{padding:var(--safe-top) 14px 10px;display:flex;align-items:center;justify-content:space-between;gap:8px;background:linear-gradient(180deg,#120c08f5,#1c130dd9);border-bottom:1px solid var(--border-gold);flex-shrink:0}.brand-group{display:flex;align-items:center;gap:9px;min-width:0}.master-seal{width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,#cf3327,#981b12);border:2px solid #f7e4c6;color:#fff6e6;font-weight:900;font-size:13px;line-height:1.05;display:flex;align-items:center;justify-content:center;text-align:center;box-shadow:0 3px 8px #00000073;flex-shrink:0}.brand-titles{min-width:0}.brand-titles h1{margin:0;font-size:18px;font-weight:900;color:var(--gold-bright);letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-titles p{margin:1px 0 0;font-size:11px;color:var(--parchment-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.coin-pill{display:flex;align-items:center;gap:6px;background:#0f0a06b8;border:1.5px solid var(--border-gold);border-radius:999px;padding:4px 6px 4px 10px;font-size:13px;font-weight:800;color:var(--gold-bright)}.coin-add-btn{border:none;border-radius:999px;background:linear-gradient(180deg,#f3c864,#c58d24);color:#231508;font-weight:900;font-size:11px;padding:4px 8px;cursor:pointer}.icon-btn{width:36px;height:36px;border-radius:10px;border:1.5px solid var(--border-gold);background:var(--bg-card);color:var(--parchment);font-size:17px;display:flex;align-items:center;justify-content:center;cursor:pointer}.screen-body{flex:1;overflow-y:auto;padding:12px 14px 16px;display:flex;flex-direction:column;gap:11px}.card{background:linear-gradient(165deg,#352519,#261a11);border:1.5px solid var(--border-gold);border-radius:16px;padding:13px 14px;box-shadow:0 6px 18px #00000059}.rank-hero-card{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#3f2b1b,#25180f);border:1.5px solid rgba(240,198,105,.45)}.rank-emblem-box{width:60px;height:60px;border-radius:14px;background:radial-gradient(circle at 35% 30%,#5c3f24,#22150b);border:2px solid var(--gold);display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}.rank-emblem-icon{font-size:23px;line-height:1}.rank-emblem-badge{margin-top:3px;font-size:12px;font-weight:900;color:var(--gold-bright)}.rank-info-col{flex:1;min-width:0}.rank-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:6px}.rank-name-main{font-size:17px;font-weight:900;color:#fff6e5}.rank-rating-txt{font-size:12px;font-weight:800;color:var(--gold)}.rating-bar-track{width:100%;height:8px;background:#00000073;border-radius:99px;overflow:hidden;margin:7px 0;border:1px solid rgba(255,255,255,.08)}.rating-bar-fill{height:100%;background:linear-gradient(90deg,#d89b2b,#ffe184);border-radius:99px;transition:width .3s ease}.stats-mini-row{display:flex;gap:12px;font-size:12px;color:var(--parchment-dim);font-weight:600}.stats-mini-row strong{color:#fff5df}.setup-label{font-size:12px;font-weight:800;color:var(--gold);margin-bottom:6px;display:block}.seg-group{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:6px}.seg-group.three{grid-template-columns:1fr 1fr 1fr}.seg-btn{padding:9px 8px;border-radius:11px;border:1.5px solid rgba(235,192,100,.22);background:#120c078c;color:var(--parchment-dim);font-size:13px;font-weight:800;cursor:pointer;text-align:center;transition:all .14s ease}.seg-btn.active{background:linear-gradient(180deg,#573b22,#3d2816);border-color:var(--gold-bright);color:var(--gold-bright);box-shadow:0 0 0 1px #ffe08a40}.rule-desc-note{font-size:11.5px;color:#dfd0b4;background:#00000042;padding:7px 10px;border-radius:9px;margin-bottom:10px;line-height:1.38}.primary-play-btn{width:100%;padding:15px 16px;border-radius:14px;border:2px solid #ffe59e;background:linear-gradient(180deg,#f3c458,#c6861b);color:#231406;font-size:18px;font-weight:900;cursor:pointer;box-shadow:0 5px #7b4e09,0 8px 18px #00000073;display:flex;flex-direction:column;align-items:center;gap:2px}.primary-play-btn:active{transform:translateY(2px);box-shadow:0 3px #7b4e09}.primary-play-sub{font-size:11.5px;font-weight:700;color:#4a2d08}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.mode-card{background:linear-gradient(160deg,#38271a,#261a11);border:1.5px solid var(--border-gold);border-radius:14px;padding:12px;text-align:left;color:var(--parchment);cursor:pointer;display:flex;flex-direction:column;gap:4px;position:relative}.mode-card.wide{grid-column:span 2;flex-direction:row;align-items:center;justify-content:space-between}.mode-card-icon{font-size:22px}.mode-card-title{font-size:15px;font-weight:900;color:var(--gold-bright)}.mode-card-sub{font-size:11.5px;color:var(--parchment-dim);line-height:1.3}.badge-pill{display:inline-block;padding:3px 8px;border-radius:99px;font-size:11px;font-weight:800;background:#1fa37640;border:1px solid #30c490;color:#8bf5cd}.bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);background:#160f0a;border-top:1px solid var(--border-gold);padding:6px 6px var(--safe-bottom);flex-shrink:0}.nav-tab{border:none;background:transparent;color:#a9967a;padding:5px 2px;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11px;font-weight:800;cursor:pointer;border-radius:10px}.nav-tab .nav-ico{font-size:18px}.nav-tab.active{color:var(--gold-bright);background:#ebc0641c}.section-heading{margin:0 0 4px;font-size:16px;font-weight:900;color:var(--gold-bright)}.master-row{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:14px;background:var(--bg-card);border:1.5px solid var(--border-gold)}.master-row.selected{border-color:var(--gold-bright);background:#422e1e}.master-badge-circle{width:46px;height:46px;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:900;color:#fff;flex-shrink:0;border:1.5px solid rgba(255,255,255,.28)}.master-row-info{flex:1;min-width:0}.master-row-name{font-size:15px;font-weight:900;color:#fff5e2}.master-row-sub{font-size:12px;color:var(--parchment-dim);margin-top:2px}.action-sm-btn{padding:8px 12px;border-radius:10px;border:1.5px solid var(--gold);background:linear-gradient(180deg,#efb949,#bf8016);color:#241405;font-weight:900;font-size:12.5px;cursor:pointer;flex-shrink:0}.action-sm-btn.secondary{background:#ffffff14;color:var(--gold-bright)}.chapter-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;flex-shrink:0}.chap-pill{padding:7px 12px;border-radius:99px;border:1.5px solid var(--border-gold);background:var(--bg-card);color:var(--parchment-dim);font-size:12px;font-weight:800;white-space:nowrap;cursor:pointer}.chap-pill.active{background:var(--gold);color:#241507;border-color:var(--gold-bright)}.puzzle-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.puzzle-cell{aspect-ratio:1;border-radius:12px;border:1.5px solid var(--border-gold);background:var(--bg-card);color:var(--parchment);display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:900;font-size:15px;cursor:pointer;position:relative}.puzzle-cell.cleared{background:linear-gradient(145deg,#1f543f,#15382a);border-color:#46d19a;color:#b4ffe0}.puzzle-cell .pz-check{font-size:10px;margin-top:2px;color:#7df5c5}.match-screen{flex:1;display:flex;flex-direction:column;padding:var(--safe-top) 10px var(--safe-bottom);justify-content:space-between;gap:6px;overflow:hidden}.match-top-bar{display:flex;align-items:center;justify-content:space-between;gap:6px;background:#140e09e0;border:1px solid var(--border-gold);border-radius:13px;padding:7px 10px;flex-shrink:0}.turn-badge{display:flex;align-items:center;gap:7px;font-size:13.5px;font-weight:900;color:#fff6e5;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stone-dot{width:18px;height:18px;border-radius:50%;display:inline-block;flex-shrink:0}.stone-dot.black{background:radial-gradient(circle at 35% 35%,#555,#0d0e11);border:1.5px solid rgba(255,255,255,.35)}.stone-dot.white{background:radial-gradient(circle at 35% 35%,#fff,#cfc6b4);border:1.5px solid #6e5a44}.match-top-chips{display:flex;align-items:center;gap:5px}.mini-chip{padding:5px 8px;border-radius:8px;border:1px solid var(--border-gold);background:var(--bg-card);color:var(--parchment);font-size:11.5px;font-weight:800;cursor:pointer}.mini-chip.on{background:#4e3620;border-color:var(--gold-bright);color:var(--gold-bright)}.eval-bar-wrap{display:flex;flex-direction:column;gap:3px;padding:0 2px;flex-shrink:0}.eval-labels{display:flex;justify-content:space-between;font-size:11px;font-weight:800;color:var(--parchment-dim)}.eval-track{width:100%;height:9px;border-radius:99px;background:#f0eade;overflow:hidden;display:flex;border:1px solid rgba(235,192,100,.42)}.eval-black-fill{height:100%;background:linear-gradient(90deg,#16181d,#393f4a);transition:width .35s ease}.board-stage{flex:1;display:flex;align-items:center;justify-content:center;min-height:0}#goban-canvas{border-radius:10px;box-shadow:0 10px 28px #0009;touch-action:none;display:block}.context-strip{min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;flex-shrink:0}.confirm-place-btn{width:100%;padding:12px 16px;border-radius:13px;border:2px solid #fff0b8;background:linear-gradient(180deg,#f7ca59,#c88619);color:#231405;font-size:16px;font-weight:900;cursor:pointer;box-shadow:0 4px 12px #00000073;animation:popPulse 1.2s infinite ease-in-out}@keyframes popPulse{0%,to{transform:scale(1)}50%{transform:scale(1.015)}}.info-banner{width:100%;padding:8px 12px;border-radius:11px;background:#221810eb;border:1px solid var(--border-gold);font-size:12.5px;line-height:1.35;color:var(--parchment);text-align:center}.info-banner.coach{background:#0d4230eb;border-color:#36d399;color:#d6fff0;font-weight:700}.info-banner.forbidden{background:#5c120ef0;border-color:#f2645a;color:#ffe3e0}.match-controls{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;flex-shrink:0}.ctrl-btn{padding:10px 6px;border-radius:12px;border:1.5px solid var(--border-gold);background:var(--bg-card);color:var(--parchment);font-size:12px;font-weight:800;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px}.ctrl-btn .c-ico{font-size:17px}.ctrl-btn.highlight{background:linear-gradient(180deg,#275342,#18362a);border-color:#4ad4a1;color:#c8ffea}.vault-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.vault-item{background:var(--bg-card);border:1.5px solid var(--border-gold);border-radius:14px;padding:11px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px}.vault-item.equipped{border-color:var(--gold-bright);background:#412d1d}.swatch-box{width:72px;height:72px;border-radius:12px;display:flex;align-items:center;justify-content:center;border:2px solid rgba(255,255,255,.2);position:relative;overflow:hidden}.diploma-card{background:linear-gradient(180deg,#fbf3df,#ead8b3);color:#2b1b0e;border:4px double #7c5222;border-radius:14px;padding:12px;position:relative}.diploma-card.locked{filter:grayscale(.85) opacity(.65)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;background:#0a0603d1;display:flex;align-items:center;justify-content:center;padding:18px}.modal-panel{width:min(420px,100%);max-height:88vh;overflow-y:auto;background:linear-gradient(170deg,#38271a,#22170f);border:2px solid var(--gold);border-radius:20px;padding:18px;box-shadow:0 18px 42px #000000b8;color:var(--parchment)}.modal-title{margin:0 0 8px;font-size:22px;font-weight:900;text-align:center;color:var(--gold-bright)}.modal-sub{margin:0 0 14px;font-size:13px;text-align:center;color:var(--parchment-dim)}.result-rewards-box{background:#00000057;border:1px solid var(--border-gold);border-radius:13px;padding:12px;margin-bottom:13px;display:flex;justify-content:space-around;text-align:center}.reward-stat-val{font-size:19px;font-weight:900;color:var(--gold-bright)}.reward-stat-lbl{font-size:11.5px;color:var(--parchment-dim)}.modal-btn-stack{display:flex;flex-direction:column;gap:8px}.modal-btn{width:100%;padding:13px;border-radius:12px;border:1.5px solid var(--border-gold);background:var(--bg-card-light);color:var(--parchment);font-size:14.5px;font-weight:900;cursor:pointer}.modal-btn.gold{background:linear-gradient(180deg,#f3c458,#c5851b);border-color:#ffe49c;color:#241405}.modal-btn.jade{background:linear-gradient(180deg,#279c72,#186b4d);border-color:#6df0be;color:#fff}.modal-btn.danger{background:#a8241c59;border-color:#e05247;color:#ffcbc7}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08)}.setting-lbl{font-size:13.5px;font-weight:800}.setting-desc{font-size:11px;color:var(--parchment-dim);margin-top:2px}input[type=range]{width:125px;accent-color:var(--gold)}.toggle-pill{padding:6px 12px;border-radius:99px;border:1.5px solid var(--border-gold);background:#00000059;color:var(--parchment-dim);font-weight:900;font-size:12px;cursor:pointer}.toggle-pill.on{background:var(--jade);border-color:#7df5c7;color:#fff}.floating-toast{position:fixed;left:50%;bottom:calc(var(--safe-bottom) + 74px);transform:translate(-50%);background:#140d08f2;border:1.5px solid var(--gold);color:var(--gold-bright);padding:9px 16px;border-radius:99px;font-size:13px;font-weight:800;z-index:1200;box-shadow:0 8px 20px #0000008c;pointer-events:none;white-space:nowrap}
