:root{--surface-edge:color-mix(in srgb, var(--brass) 72%, var(--wood-dark));--surface-edge-soft:color-mix(in srgb, var(--brass) 34%, transparent);--surface-panel:linear-gradient(145deg, var(--ink-bg-card), var(--ink-surface));--surface-cut:polygon(10px 0, calc(100% - 10px) 0, 100% 10px, 100% calc(100% - 10px), calc(100% - 10px) 100%, 10px 100%, 0 calc(100% - 10px), 0 10px)}body .game-dashboard .operation-pane>:is(.doctrine-panel,.sect-path-board,.sect-skill-panel,.monetization-panel,.martial-panel,.compendium-panel,.faction-panel){background:radial-gradient(circle at 88% 8%, var(--gold-soft), transparent 24%), var(--surface-panel);border:1px solid var(--surface-edge);width:100%;max-width:none;min-height:100%;box-shadow:inset 0 0 0 4px var(--ink-bg), inset 0 0 0 5px var(--surface-edge-soft), 0 18px 38px var(--ink-bg-shadow);clip-path:var(--surface-cut);border-radius:0;margin:0;padding:18px}body .game-dashboard .operation-pane>:is(.doctrine-panel,.sect-path-board,.sect-skill-panel,.martial-panel,.compendium-panel,.faction-panel)>:is(h2,h3){color:var(--silk);font-family:var(--font-title);letter-spacing:.02em;margin-block:2px 8px}body .game-dashboard :where(.doctrine-panel,.sect-skill-panel) .icon-choice-grid{align-content:start;gap:10px}body .game-dashboard :where(.doctrine-panel,.sect-skill-panel) .icon-choice-card{background:linear-gradient(145deg, var(--wood), var(--ink-bg-card));border-color:var(--surface-edge-soft);min-height:104px;box-shadow:inset 0 0 0 3px var(--ink-bg);clip-path:var(--surface-cut);border-radius:0;padding:12px 14px}body .game-dashboard :where(.doctrine-panel,.sect-skill-panel) .icon-choice-card:is(:hover,:focus-visible),body .game-dashboard :where(.doctrine-panel,.sect-skill-panel) .icon-choice-card[aria-pressed=true]{border-color:var(--gold);box-shadow:inset 4px 0 var(--gold), 0 0 20px var(--gold-shadow)}body .game-dashboard .icon-choice-mark{box-shadow:inset 0 0 0 3px var(--ink-bg);border-radius:50% 50% 4px 4px}body .game-dashboard .sect-path-board>header{border-bottom:1px solid var(--surface-edge-soft);padding:4px 8px 12px}body .game-dashboard .sect-path-options{gap:10px}body .game-dashboard .sect-path-card,body .game-dashboard .secret-options button{background:linear-gradient(145deg, var(--wood), var(--ink-bg-card));border-color:var(--surface-edge);min-height:180px;box-shadow:inset 0 0 0 3px var(--ink-bg);clip-path:var(--surface-cut);border-radius:0;padding:16px}body .game-dashboard .sect-path-card[data-active]{background:radial-gradient(circle at 50% 0, var(--gold-soft), transparent 42%), var(--ink-bg-card);box-shadow:inset 4px 0 var(--gold), 0 0 22px var(--gold-shadow)}body .game-dashboard .sect-secrets{background:var(--ink-bg-panel);border:1px solid var(--surface-edge-soft);padding:14px}body .game-dashboard .monetization-panel{gap:10px}body .game-dashboard .monetization-panel>header,body .game-dashboard :where(.rewarded-offers,.paid-offers){background:linear-gradient(160deg, var(--wood), var(--ink-bg-card));border:1px solid var(--surface-edge);box-shadow:inset 0 0 0 4px var(--ink-bg), inset 0 0 0 5px var(--surface-edge-soft);clip-path:var(--surface-cut);border-radius:0;place-content:start stretch;padding:20px}body .game-dashboard .monetization-panel>header{background:radial-gradient(circle at 50% 24%, var(--gold-soft), transparent 30%), var(--ink-bg-card);justify-content:flex-start;padding-top:34px}body .game-dashboard :where(.rewarded-offers,.paid-offers) article{background:linear-gradient(145deg, var(--ink-surface), var(--ink-bg));border-color:var(--surface-edge-soft);clip-path:var(--surface-cut);border-radius:0;padding:12px}body .game-dashboard .monetization-panel button{clip-path:polygon(7px 0,calc(100% - 7px) 0,100% 50%,calc(100% - 7px) 100%,7px 100%,0 50%);border-radius:0;min-height:44px}body .game-dashboard .operation-pane>.martial-panel{align-content:start;gap:12px;overflow:auto}body .game-dashboard .martial-panel>h3{color:var(--brass);font:700 .86rem var(--font-title);background:var(--ink-bg-panel);border-left:3px solid var(--gold);margin:8px 0 0;padding:8px 10px}body .game-dashboard :where(.martial-learn-list,.martial-learned-list,.martial-forge-list){grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px}body .game-dashboard .martial-art-card{background:linear-gradient(145deg, var(--wood), var(--ink-bg-card));border-color:var(--surface-edge-soft);min-height:94px;box-shadow:inset 0 0 0 3px var(--ink-bg);clip-path:var(--surface-cut);border-radius:0}body .game-dashboard .martial-panel .empty-state{min-height:92px;color:var(--brass);text-align:center;background:var(--ink-bg-panel);border:1px dashed var(--surface-edge);place-content:center;margin:0;display:grid}body .game-dashboard .compendium-tabs{gap:5px}body .game-dashboard .compendium-tabs button{clip-path:polygon(5px 0,100% 0,100% calc(100% - 5px),calc(100% - 5px) 100%,0 100%,0 5px);border-radius:0;min-width:48px;min-height:44px;padding:7px 12px}body .game-dashboard .compendium-tabs button[aria-pressed=true]{color:var(--ink-bg);background:linear-gradient(180deg, var(--silk), var(--gold));border-color:var(--gold)}body .game-dashboard .compendium-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}body .game-dashboard .compendium-entry{background:linear-gradient(145deg, var(--wood), var(--ink-bg-card));border-color:var(--surface-edge-soft);box-shadow:inset 0 0 0 3px var(--ink-bg);clip-path:var(--surface-cut);border-radius:0}body .dashboard-tools :where(.advance-day-button,.gallery-entry,.bgm-toggle,.audio-settings-toggle),body .game-dashboard .battle-branch-strip button{min-height:44px}body .audio-mixer{background:var(--surface-panel);border-color:var(--surface-edge);width:320px;box-shadow:inset 0 0 0 4px var(--ink-bg), inset 0 0 0 5px var(--surface-edge-soft), 0 20px 44px var(--ink-bg-shadow);clip-path:var(--surface-cut);border-radius:0;padding:16px;top:52px}body .audio-mixer>strong{color:var(--gold);font:700 1rem var(--font-title)}body .audio-channel{grid-template-columns:92px minmax(0,1fr) 32px;gap:8px}body .audio-channel button,body .audio-mixer select{border-color:var(--surface-edge-soft);border-radius:0;min-height:44px}body .audio-channel input[type=range]{min-height:44px}body .save-intro,body .save-slot,body .character-create .cc-card-row>label,body .prologue-panel,body .prologue-start-btn{clip-path:var(--surface-cut);border-radius:0}body .save-intro,body .save-slot,body .prologue-panel{border-color:var(--surface-edge);box-shadow:inset 0 0 0 4px var(--ink-bg), inset 0 0 0 5px var(--surface-edge-soft), 0 22px 48px var(--ink-bg-shadow)}body .save-slot-main,body .save-slot-tools :is(button,label),body .character-create :is(input:not([type=radio]),.cc-launch button),body .prologue :is(.prologue-skip,.prologue-text-mode,.prologue-panel button){clip-path:polygon(7px 0,calc(100% - 7px) 0,100% 50%,calc(100% - 7px) 100%,7px 100%,0 50%);border-radius:0}body .save-slot:is(:hover,:focus-within){border-color:var(--gold);box-shadow:0 0 24px var(--gold-shadow)}body .gallery-page :where(.gallery-hero,.gallery-workspace,.asset-card,.martial-card),body .asset-dialog{border-color:var(--surface-edge);box-shadow:inset 0 0 0 3px var(--ink-bg), inset 0 0 0 4px var(--surface-edge-soft);clip-path:var(--surface-cut);border-radius:0}body .gallery-mode-tabs button,body .gallery-page :where(.dialog-close,.dialog-copy,.dialog-pager button){clip-path:polygon(6px 0,calc(100% - 6px) 0,100% 50%,calc(100% - 6px) 100%,6px 100%,0 50%);border-radius:0;min-height:44px}body .gallery-mode-tabs button[aria-selected=true]{color:var(--ink-bg);background:linear-gradient(180deg, var(--silk), var(--gold));border-color:var(--gold)}body .asset-dialog{background:var(--surface-panel)}@media (width<=760px){body .game-dashboard .operation-pane>:is(.doctrine-panel,.sect-path-board,.sect-skill-panel,.monetization-panel,.martial-panel,.compendium-panel,.faction-panel){min-height:auto;padding:10px}body .game-dashboard .sect-path-card,body .game-dashboard .secret-options button{min-height:150px}body .game-dashboard .monetization-panel>header{padding-top:14px}body .game-dashboard :where(.martial-learn-list,.martial-learned-list,.martial-forge-list){grid-template-columns:1fr}body .game-dashboard.battle-mode .tactic-options button,body .game-dashboard .facility-plot{min-height:44px}body .game-dashboard .diplomacy-heading strong,body .game-dashboard .rival-war-panel .battle-console:not(.has-result)>:is(.eyebrow,h2){display:none}body .audio-mixer{width:min(320px,100vw - 16px);right:0}body .save-intro,body .save-slot,body .prologue-panel{box-shadow:inset 0 0 0 3px var(--ink-bg), inset 0 0 0 4px var(--surface-edge-soft)}}@media (width>=761px){body .game-dashboard.battle-mode .operation-pane.operation-reading{padding-left:calc(var(--battle-rail,84px) + 16px)}}@media (prefers-reduced-motion:reduce){body .save-slot,body .icon-choice-card,body .martial-art-card{transition:none}}@font-face{font-family:Noto Serif KR;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/noto-serif-kr-korean-500-normal-7--tV6fW.woff2)format("woff2"),url(/assets/noto-serif-kr-korean-500-normal-CgJ1QtRZ.woff)format("woff")}@font-face{font-family:Noto Serif KR;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-serif-kr-korean-700-normal-lq_OieBn.woff2)format("woff2"),url(/assets/noto-serif-kr-korean-700-normal-C7NItZP9.woff)format("woff")}@font-face{font-family:Noto Sans KR;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-kr-korean-400-normal-CmjJz_gz.woff2)format("woff2"),url(/assets/noto-sans-kr-korean-400-normal-Dvb5JbtY.woff)format("woff")}@font-face{font-family:Noto Sans KR;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/noto-sans-kr-korean-500-normal-BlTm2RPg.woff2)format("woff2"),url(/assets/noto-sans-kr-korean-500-normal-BflsTeeZ.woff)format("woff")}@font-face{font-family:Noto Sans KR;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-sans-kr-korean-700-normal-DvnDzSjd.woff2)format("woff2"),url(/assets/noto-sans-kr-korean-700-normal-KAYYVieF.woff)format("woff")}:root{--ink-bg:#100d0a;--ink-surface:#1c1714;--gold:#d4af37;--silk:#e7d3a0;--warn:#8b1e2d;--teal:#3a2f24;--wood-dark:#14100c;--wood:#2a211a;--wood-light:#4a3b2c;--brass:#a68a51;--faction-player:#d4a94f;--faction-orthodox:#4a7f96;--faction-unorthodox:#a87c4a;--faction-demonic:#9c4a42;--faction-azure-sky:#007acc;--faction-white-crane:#4ec9b0;--faction-red-mantis:#f44747;--faction-black-sand:#969696;--faction-blood-shadow:#d63636;--faction-night-flame:#6fc596;--font-title:"Noto Serif KR", "Nanum Myeongjo", serif;--font-body:"Noto Sans KR", system-ui, sans-serif;--panel-bg:var(--ink-surface);--field-bg:var(--ink-bg);--border:var(--teal);--accent-border:var(--gold);--focus-ring:var(--gold);--accent-gradient:linear-gradient(135deg, var(--teal), var(--ink-bg));--cta-gradient:linear-gradient(135deg, var(--silk), var(--gold));--gold-soft:#d4af3733;--gold-ring:#d4af3740;--gold-glow:#d4af37aa;--gold-border-soft:#d4af3799;--gold-trail:#d4af3788;--gold-shadow:#d4af3738;--silk-soft:#e7d3a033;--silk-grid:#e7d3a055;--ink-bg-soft:#100d0a66;--ink-bg-veil:#100d0a77;--ink-bg-shadow:#100d0a88;--ink-bg-muted:#100d0a99;--ink-bg-field:#100d0ab8;--ink-bg-heavy:#100d0abb;--ink-bg-panel:#100d0acc;--ink-bg-callout:#100d0adc;--ink-bg-outcome:#100d0adf;--ink-bg-strong:#100d0ae8;--ink-bg-card:#100d0aed;color:var(--silk);background:var(--ink-bg);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility}.game-page{font-size:112.5%}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}body{word-break:keep-all;overflow-wrap:break-word}.dashboard-header dd,.inv-stats dd,.stat-grid strong{white-space:nowrap}.app-shell{text-align:center;place-content:center;gap:12px;min-height:100vh;padding:32px;display:grid}.app-shell h1,.app-shell p{margin:0}.skip-link{z-index:10;color:var(--ink-bg);background:var(--gold);padding:10px 14px;position:fixed;top:-64px;left:12px}.skip-link:focus{top:12px}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}}.eyebrow{color:var(--gold);font-family:var(--font-title);letter-spacing:.16em}.empty-state{color:#a1937a;text-align:center;text-wrap:balance;background:#100d0a5c;border:1px dashed #4a3b2c;border-radius:10px 14px 8px 12px;place-content:center;gap:4px;margin:0;padding:22px 18px;font-size:.84rem;line-height:1.6;display:grid}.wuxia-frame{background:linear-gradient(180deg, #1b1611, #12100c) padding-box, linear-gradient(150deg, var(--wood-light), var(--wood) 34%, var(--wood-dark) 72%) border-box;border:9px solid #0000;border-radius:5px;position:relative;box-shadow:inset 0 0 0 1px #0009,0 18px 42px #00000080}.wuxia-frame>.frame-etch{z-index:4;pointer-events:none;border:1px solid #a68a5159;position:absolute;inset:0}.wuxia-frame>.frame-etch:before{content:"";background:linear-gradient(var(--brass), var(--brass)) 0 0 / 22px 2px no-repeat, linear-gradient(var(--brass), var(--brass)) 0 0 / 2px 22px no-repeat, linear-gradient(var(--brass), var(--brass)) 100% 0 / 22px 2px no-repeat, linear-gradient(var(--brass), var(--brass)) 100% 0 / 2px 22px no-repeat, linear-gradient(var(--brass), var(--brass)) 0 100% / 22px 2px no-repeat, linear-gradient(var(--brass), var(--brass)) 0 100% / 2px 22px no-repeat, linear-gradient(var(--brass), var(--brass)) 100% 100% / 22px 2px no-repeat, linear-gradient(var(--brass), var(--brass)) 100% 100% / 2px 22px no-repeat;opacity:.82;position:absolute;inset:-4px}.wuxia-frame>.frame-head{background:linear-gradient(#221b15,#16120e);border-bottom:1px solid #4a3b2c;align-items:center;gap:10px;padding:9px 14px;display:flex}.wuxia-frame>.frame-head>h2{color:var(--silk);font:700 1.12rem var(--font-title);letter-spacing:.04em;text-shadow:0 2px 4px #000;margin:0}.wuxia-frame>.frame-head>.frame-sigil{width:22px;height:22px;color:var(--gold);flex:none}.wuxia-frame>.frame-head>.frame-tail{margin-left:auto}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.gallery-page{--grade-beom:#8b8778;--grade-hwang:#d4af37;--grade-hyeon:#62a9d1;--grade-ji:#9b7edb;--grade-cheon:#d66a4a;--grade-sin:#e8b84b;background:radial-gradient(circle at 50% 0%, var(--gold-soft), transparent 30%), var(--ink-bg);min-height:100vh}.gallery-hero{background:linear-gradient(to bottom, var(--ink-bg-veil), var(--ink-bg)), url(/assets/raw/sect-overlook-ruin-v1.png) center 42% / cover;border-bottom:1px solid var(--gold-border-soft);align-content:end;gap:28px;min-height:430px;padding:88px clamp(24px,6vw,96px) 44px;display:grid;position:relative;overflow:hidden}.gallery-hero:after{content:"";background:linear-gradient(100deg, var(--ink-bg-strong), transparent 65%);pointer-events:none;position:absolute;inset:0}.gallery-hero>*{z-index:1;position:relative}.gallery-hero nav{align-items:center;gap:12px;display:flex;position:absolute;top:26px;left:clamp(24px,6vw,96px);right:clamp(24px,6vw,96px)}.gallery-hero nav a{min-height:44px;color:var(--silk);align-items:center;text-decoration:none;display:grid}.gallery-hero nav a:hover{color:var(--gold)}.gallery-hero nav b{color:var(--gold);font-family:var(--font-title)}.gallery-hero-copy{max-width:720px}.gallery-hero-copy :is(p,h1){margin:0}.gallery-hero-copy h1{color:var(--silk);font:700 clamp(3rem, 8vw, 7rem) / .92 var(--font-title);letter-spacing:-.04em;text-shadow:0 14px 32px var(--ink-bg);margin:6px 0 12px}.gallery-hero-copy>p:last-child{max-width:620px;color:var(--silk);font-size:clamp(.95rem,2vw,1.16rem);line-height:1.7}.gallery-mode-tabs{background:var(--ink-bg-panel);border:1px solid var(--gold-border-soft);grid-template-columns:repeat(2,minmax(130px,180px));width:fit-content;padding:3px;display:grid}.gallery-mode-tabs button{min-height:44px;color:var(--silk);font:700 .86rem var(--font-title);cursor:pointer;background:0 0;border:1px solid #0000;padding:8px 18px}.gallery-mode-tabs button:hover{border-color:var(--gold-border-soft)}.gallery-mode-tabs button[aria-selected=true]{color:var(--ink-bg);background:var(--gold);border-color:var(--gold)}.gallery-mode-tabs button:focus-visible{outline:2px solid var(--silk);outline-offset:3px}.gallery-stats{grid-template-columns:repeat(4,minmax(120px,180px));gap:1px;margin:0;display:grid}.gallery-stats div{background:var(--ink-bg-panel);border-top:1px solid var(--gold-border-soft);padding:12px 16px}.gallery-stats dt{color:var(--silk);font-size:.76rem}.gallery-stats dd{color:var(--gold);font:700 1.55rem var(--font-title);margin:3px 0 0}.gallery-workspace{grid-template-columns:264px minmax(0,1fr);gap:28px;width:min(1680px,100%);margin:0 auto;padding:30px clamp(20px,4vw,64px) 72px;display:grid}.gallery-filters{background:var(--ink-bg-card);border:1px solid var(--teal);box-shadow:0 22px 42px var(--ink-bg-shadow);align-self:start;gap:22px;padding:20px;display:grid;position:sticky;top:20px}.gallery-filters :is(fieldset,legend){border:0;min-width:0;margin:0;padding:0}.gallery-filters legend,.gallery-filters label>span{color:var(--silk);font:700 .82rem var(--font-title);letter-spacing:.06em;margin-bottom:8px;display:block}.gallery-search input,.gallery-sort select{width:100%;min-height:46px;color:var(--silk);background:var(--ink-bg);border:1px solid var(--teal);border-radius:0;padding:0 12px}.filter-options{gap:5px;display:grid}.filter-options button{min-height:44px;color:var(--silk);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.filter-options button:hover{border-color:var(--teal)}.filter-options button[aria-pressed=true]{color:var(--ink-bg);background:var(--gold);border-color:var(--gold)}.filter-options b{font-size:.76rem}.gallery-result-count{color:var(--silk);margin:0;font-size:.86rem}.gallery-result-count strong{color:var(--gold);font:700 1.4rem var(--font-title)}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(225px,1fr));align-content:start;gap:16px;min-width:0;display:grid}.gallery-results{align-content:start;gap:30px;min-width:0;display:grid}.subject-group{gap:12px;min-width:0;display:grid}.subject-group-head{border-bottom:1px solid var(--teal);flex-wrap:wrap;align-items:baseline;gap:9px;margin:0;padding-bottom:8px;display:flex}.subject-group-name{color:var(--silk);font:700 1.12rem var(--font-title)}.subject-group-head em{color:var(--gold);background:var(--gold-soft);padding:3px 8px;font-size:.68rem;font-style:normal}.subject-group-head b{color:var(--gold);margin-left:auto;font-size:.78rem;font-weight:600}.asset-card{background:var(--ink-surface);border:1px solid var(--teal);min-width:0;box-shadow:0 18px 34px var(--ink-bg-shadow)}.asset-card>button{width:100%;height:100%;color:inherit;text-align:left;cursor:zoom-in;background:0 0;border:0;padding:0;display:grid}.asset-card>button:hover .asset-visual img{transform:scale(1.025)}.asset-visual{aspect-ratio:4/5;background-color:var(--ink-bg);background-image:linear-gradient(45deg, var(--silk-soft) 25%, transparent 25%), linear-gradient(-45deg, var(--silk-soft) 25%, transparent 25%);background-size:24px 24px;place-items:center;display:grid;overflow:hidden}.asset-visual img{object-fit:contain;width:100%;height:100%;padding:12px;transition:transform .18s}.asset-card[data-category=environment]{grid-column:span 2}.asset-card[data-category=environment] .asset-visual{aspect-ratio:16/9}.asset-card[data-category=environment] .asset-visual img{object-fit:cover;padding:0}.asset-copy{gap:5px;min-width:0;padding:14px;display:grid}.asset-badges{flex-wrap:wrap;gap:5px;display:flex}.asset-badges :is(em,i){color:var(--gold);background:var(--gold-soft);padding:3px 7px;font-size:.67rem;font-style:normal}.asset-badges i{color:var(--silk);background:var(--ink-bg)}.asset-copy strong{color:var(--silk);font:700 1.08rem var(--font-title)}.asset-copy>span:not(.asset-badges){color:var(--gold);font-size:.86rem}.asset-copy small{color:color-mix(in srgb, var(--silk) 68%, transparent);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gallery-empty{text-align:center;border:1px dashed var(--teal);grid-column:1/-1;place-content:center;gap:18px;min-height:320px;display:grid}.gallery-empty button,.gallery-message a{min-height:44px;color:var(--ink-bg);background:var(--gold);cursor:pointer;border:0;padding:10px 16px}.gallery-message{text-align:center;place-content:center;gap:14px;min-height:100vh;padding:24px;display:grid}.gallery-message :is(h1,p){margin:0}.asset-dialog{width:min(1180px,100vw - 40px);height:min(780px,100dvh - 40px);color:var(--silk);background:var(--ink-bg);border:1px solid var(--gold);box-shadow:0 30px 80px var(--ink-bg);grid-template-columns:minmax(0,1.8fr) minmax(300px,.8fr);padding:0}.asset-dialog[open]{display:grid}.asset-dialog::backdrop{background:var(--ink-bg-strong);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.dialog-close{z-index:2;width:46px;height:46px;color:var(--silk);background:var(--ink-bg-panel);border:1px solid var(--gold);cursor:pointer;font-size:1.8rem;position:absolute;top:12px;right:12px}.dialog-visual{background-color:var(--ink-surface);background-image:linear-gradient(45deg, var(--silk-soft) 25%, transparent 25%), linear-gradient(-45deg, var(--silk-soft) 25%, transparent 25%);background-size:32px 32px;place-items:center;min-width:0;min-height:0;display:grid;overflow:hidden}.dialog-visual img{object-fit:contain;width:100%;height:100%;padding:20px;display:block}.dialog-copy{border-left:1px solid var(--teal);align-content:center;gap:12px;min-width:0;padding:34px;display:grid}.dialog-copy :is(p,h2,dl){margin:0}.dialog-copy h2{color:var(--silk);font:700 clamp(1.8rem, 3vw, 3rem) var(--font-title)}.dialog-copy>p:not(.eyebrow){color:var(--gold)}.dialog-copy dl{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.dialog-copy dl div{background:var(--ink-surface);border-top:1px solid var(--teal);padding:10px}.dialog-copy dt{color:color-mix(in srgb, var(--silk) 68%, transparent);font-size:.72rem}.dialog-copy dd{margin:4px 0 0}.asset-path{gap:8px;display:grid}.asset-path code{overflow-wrap:anywhere;color:var(--silk);font-size:.72rem;line-height:1.5}.asset-path button,.dialog-pager button{min-height:44px;color:var(--silk);border:1px solid var(--teal);cursor:pointer;background:0 0}.dialog-pager{grid-template-columns:1fr 1fr;gap:8px;display:grid}.dialog-pager button:hover,.asset-path button:hover{color:var(--ink-bg);background:var(--gold);border-color:var(--gold)}.martial-panel{width:min(1680px,100%);margin:0 auto;padding:38px clamp(20px,4vw,64px) 80px}.martial-overview{gap:28px;display:grid}.martial-overview-header{max-width:880px}.martial-overview-header :is(p,h2),.martial-catalog>header :is(p,h2){margin:0}.martial-overview-header h2,.martial-catalog>header h2{color:var(--silk);font:700 clamp(1.8rem, 4vw, 3.2rem) var(--font-title);margin:6px 0 10px}.martial-overview-header>p:last-child,.martial-catalog>header>p:last-child{color:color-mix(in srgb, var(--silk) 76%, transparent);line-height:1.7}.martial-guide-block{min-width:0}.martial-guide-block>h3{color:var(--gold);font:700 1rem var(--font-title);letter-spacing:.04em;margin:0 0 12px}.martial-category-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.martial-category-grid article{background:var(--ink-bg-card);border-top:1px solid var(--gold-border-soft);grid-template-columns:46px 1fr;gap:12px;min-width:0;padding:18px;display:grid}.martial-category-grid article>span{width:46px;height:46px;color:var(--gold);font:700 1.4rem var(--font-title);background:var(--gold-soft);border:1px solid var(--gold-border-soft);place-items:center;display:grid}.martial-category-grid strong{color:var(--silk);font:700 1.05rem var(--font-title)}.martial-category-grid b{color:var(--ink-bg);background:var(--gold);margin-left:8px;padding:2px 6px;font-size:.66rem}.martial-category-grid p{color:color-mix(in srgb, var(--silk) 72%, transparent);margin:5px 0 0;font-size:.8rem;line-height:1.55}.martial-overview-layout{grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:18px;display:grid}.grade-guide,.mastery-guide{background:var(--ink-bg-card);border:1px solid var(--teal);padding:20px}.grade-table-wrap{overflow-x:auto}.grade-guide table{border-collapse:collapse;width:100%;font-size:.84rem}.grade-guide :is(th,td){text-align:left;border-bottom:1px solid var(--teal);padding:10px 8px}.grade-guide thead th{color:color-mix(in srgb, var(--silk) 70%, transparent);font-size:.72rem}.grade-badge{min-height:28px;color:var(--grade-color);font:700 .72rem var(--font-title);background:color-mix(in srgb, var(--grade-color) 16%, var(--ink-bg));border:1px solid color-mix(in srgb, var(--grade-color) 65%, transparent);align-items:center;padding:3px 9px;display:inline-flex}.martial-panel [data-grade=beom]{--grade-color:var(--grade-beom)}.martial-panel [data-grade=hwang]{--grade-color:var(--grade-hwang)}.martial-panel [data-grade=hyeon]{--grade-color:var(--grade-hyeon)}.martial-panel [data-grade=ji]{--grade-color:var(--grade-ji)}.martial-panel [data-grade=cheon]{--grade-color:var(--grade-cheon)}.martial-panel [data-grade=sin]{--grade-color:var(--grade-sin)}.mastery-guide ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin:0;padding:0;list-style:none;display:grid}.mastery-guide li{color:var(--silk);grid-template-columns:72px minmax(60px,1fr) 40px;align-items:center;gap:8px;font-size:.76rem;display:grid}.mastery-guide li span{white-space:nowrap}.mastery-guide li span b{color:var(--gold);margin-right:4px}.mastery-guide li>i{background:var(--ink-bg);height:5px;display:block;overflow:hidden}.mastery-guide li>i em{background:linear-gradient(90deg, var(--teal), var(--gold));height:100%;display:block}.mastery-guide li>strong{color:var(--gold);text-align:right;font-size:.74rem}.acquisition-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.acquisition-grid article{background:var(--ink-surface);border:1px solid var(--teal);grid-template-columns:34px 1fr;align-items:start;gap:10px;padding:14px;display:grid}.acquisition-grid article>span{color:var(--gold);font:700 .72rem var(--font-title)}.acquisition-grid p{color:color-mix(in srgb, var(--silk) 72%, transparent);margin:0;font-size:.78rem;line-height:1.5}.acquisition-grid strong{color:var(--silk);font:700 .86rem var(--font-title);margin-bottom:3px;display:block}.martial-catalog{border-top:1px solid var(--gold-border-soft);gap:22px;margin-top:54px;padding-top:34px;display:grid}.martial-filters{background:var(--ink-bg-card);border:1px solid var(--teal);grid-template-columns:minmax(230px,1.5fr) repeat(5,minmax(130px,1fr)) auto;align-items:end;gap:10px;padding:16px;display:grid}.martial-filters label>span{color:var(--silk);font:700 .72rem var(--font-title);margin-bottom:7px;display:block}.martial-filters :is(input,select){width:100%;min-height:44px;color:var(--silk);background:var(--ink-bg);border:1px solid var(--teal);border-radius:0;padding:0 10px}.martial-filters :is(input,select):focus-visible{outline:2px solid var(--gold);outline-offset:2px}.martial-result-count{min-width:76px;color:var(--silk);white-space:nowrap;margin:0 0 9px;font-size:.76rem}.martial-result-count strong{color:var(--gold);font:700 1.25rem var(--font-title)}.martial-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:13px;display:grid}.martial-card{background:var(--ink-surface);border:1px solid color-mix(in srgb, var(--grade-color) 62%, var(--teal));min-width:0;box-shadow:0 18px 34px var(--ink-bg-shadow)}.martial-card>button{width:100%;height:100%;color:inherit;text-align:left;background:linear-gradient(145deg, color-mix(in srgb, var(--grade-color) 7%, transparent), transparent 52%);cursor:pointer;border:0;gap:13px;padding:18px;display:grid}.martial-card>button:hover{background:linear-gradient(145deg, color-mix(in srgb, var(--grade-color) 14%, transparent), transparent 62%)}.martial-card>button:focus-visible{outline:2px solid var(--grade-color);outline-offset:3px}.martial-card-head{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.martial-card-head>span:not(.grade-badge){color:color-mix(in srgb, var(--silk) 80%, transparent);background:var(--ink-bg);border:1px solid var(--teal);padding:3px 7px;font-size:.66rem}.martial-card-visual{grid-template-columns:82px minmax(0,1fr);align-items:center;gap:12px;min-width:0;display:grid}.martial-card-cover{object-fit:cover;border:1px solid var(--grade-color);width:82px;height:116px;box-shadow:0 10px 22px var(--ink-bg-shadow)}.martial-card-title{align-items:baseline;gap:8px;min-width:0;display:flex}.martial-card-visual .martial-card-title{align-content:center;display:grid}.martial-card-title strong{color:var(--silk);font:700 1.28rem var(--font-title)}.martial-card-title i{color:var(--grade-color);font:normal 500 .84rem var(--font-title);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.effect-chips{flex-wrap:wrap;gap:5px;display:flex}.effect-chips b,.dialog-effect-list li{color:var(--silk);background:var(--ink-bg);border-left:2px solid var(--grade-color,var(--gold));padding:4px 7px;font-size:.7rem}.martial-card-meta{color:var(--grade-color);flex-wrap:wrap;gap:5px 12px;font-size:.72rem;display:flex}.martial-card-description{color:color-mix(in srgb, var(--silk) 72%, transparent);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.79rem;line-height:1.58;display:-webkit-box;overflow:hidden}.martial-dialog{grid-template-columns:minmax(300px,.8fr) minmax(0,1.3fr)}.martial-dialog-visual{text-align:center;background:radial-gradient(circle, color-mix(in srgb, var(--grade-color) 22%, transparent), transparent 65%), var(--ink-surface);border-right:1px solid var(--grade-color);grid-template-rows:minmax(0,1fr) auto auto;place-items:center;gap:12px;min-height:0;padding:28px;display:grid}.martial-dialog-cover{object-fit:cover;border:1px solid var(--grade-color);width:min(74%,240px);height:100%;min-height:0;max-height:480px;box-shadow:0 22px 44px var(--ink-bg-shadow)}.martial-dialog-visual strong{color:var(--grade-color);font:700 clamp(1.5rem, 4vw, 3.2rem) var(--font-title)}.martial-dialog-visual small{color:var(--silk)}.martial-dialog-copy{align-content:start;overflow-y:auto}.martial-dialog-copy>p:not(.eyebrow){color:var(--silk);line-height:1.65}.martial-dialog-copy h3{color:var(--gold);font:700 .82rem var(--font-title);letter-spacing:.05em;margin:0 0 8px}.martial-dialog-copy section>p{color:color-mix(in srgb, var(--silk) 76%, transparent);margin:0;font-size:.85rem;line-height:1.6}.dialog-effect-list,.dialog-source-list{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.dialog-source-list li{color:var(--silk);background:var(--ink-surface);border:1px solid var(--teal);padding:7px 9px;font-size:.78rem}.dialog-source-list b{color:var(--gold);margin-left:4px}.dashboard-tools{align-items:center;gap:8px;display:flex}.gallery-entry{min-height:44px;color:var(--silk);white-space:nowrap;background:var(--hud-plate);border:1px solid var(--hud-edge);border-radius:14px;align-items:center;padding:0 12px;text-decoration:none;display:grid}.gallery-entry:hover{color:var(--gold);border-color:var(--gold)}@media (prefers-reduced-motion:reduce){.asset-visual img{transition:none}.martial-card-cover,.martial-dialog-cover{transition:none;animation:none}}@media (width<=760px){.gallery-hero{gap:18px;min-height:390px;padding:72px 16px 20px}.gallery-hero nav{top:12px;left:16px;right:16px}.gallery-hero-copy h1{font-size:3.35rem}.gallery-stats{grid-template-columns:repeat(4,1fr)}.gallery-stats div{min-width:0;padding:8px}.gallery-stats dt{font-size:.62rem}.gallery-stats dd{font-size:1.2rem}.gallery-workspace{padding:16px 12px 48px;display:block}.gallery-filters{gap:14px;margin-bottom:16px;padding:14px;position:static}.filter-options{scrollbar-width:none;grid-auto-columns:max-content;grid-auto-flow:column;width:100%;min-width:0;overflow-x:auto}.filter-options::-webkit-scrollbar{display:none}.filter-options button{gap:12px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.asset-card[data-category=environment]{grid-column:1/-1}.asset-copy{padding:10px}.asset-copy strong{font-size:.92rem}.asset-copy small{font-size:.65rem}.asset-dialog{grid-template-rows:minmax(0,54dvh) auto;grid-template-columns:1fr;width:calc(100vw - 16px);height:calc(100dvh - 16px)}.dialog-copy{border-top:1px solid var(--teal);border-left:0;align-content:start;gap:8px;padding:18px;overflow-y:auto}.dialog-copy h2{font-size:1.6rem}.dialog-visual img{padding:10px}.gallery-entry{place-items:center;width:44px;padding:0;font-size:0;overflow:hidden}.gallery-entry:before{content:"▦";font-size:1rem}.gallery-mode-tabs{grid-template-columns:repeat(2,1fr);width:100%}.martial-panel{padding:24px 12px 54px}.martial-overview{gap:22px}.martial-category-grid,.acquisition-grid,.martial-overview-layout{grid-template-columns:1fr}.grade-guide,.mastery-guide{padding:14px}.mastery-guide ol{grid-template-columns:1fr}.martial-catalog{margin-top:36px}.martial-filters{grid-template-columns:1fr;padding:12px}.martial-result-count{margin:2px 0}.martial-grid{grid-template-columns:1fr;gap:10px}.martial-dialog{grid-template-rows:minmax(160px,26dvh) minmax(0,1fr)}.martial-dialog-visual{border-right:0;border-bottom:1px solid var(--grade-color);gap:8px;padding:20px}.martial-dialog-cover{width:auto;max-width:44%}.martial-dialog-copy{padding:18px}}@media (width>=761px) and (width<=1180px){.martial-category-grid,.acquisition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.martial-overview-layout{grid-template-columns:1fr}.martial-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.martial-search{grid-column:span 2}}.martial-manifestation{pointer-events:none;isolation:isolate;display:block;position:absolute}.martial-manifestation>i{opacity:calc(.98 - var(--manifest-layer)*.1);transform-origin:50%;filter:drop-shadow(0 0 calc(5px + var(--manifest-layer)*2px) #d8b94b66);transition:transform .15s cubic-bezier(.55,.02,.78,.42),opacity 90ms linear;display:block;position:absolute;inset:0}.martial-manifestation img{object-fit:contain;width:100%;height:100%;display:block}.martial-manifestation[data-manifestation-pattern=direct]>i{transform:translate(calc(var(--manifest-layer)*-4px),calc(var(--manifest-layer)*3px)) scale(calc(1 + var(--manifest-layer)*.05))}.martial-manifestation[data-manifestation-pattern=converge]>i{transform:translate(var(--pattern-x),var(--pattern-y)) rotate(var(--pattern-rotate))}.martial-manifestation[data-manifestation-pattern=converge]>i:first-child{--pattern-x:-92%;--pattern-y:0%;--pattern-rotate:0deg}.martial-manifestation[data-manifestation-pattern=converge]>i:nth-child(2){--pattern-x:92%;--pattern-y:0%;--pattern-rotate:180deg}.martial-manifestation[data-manifestation-pattern=converge]>i:nth-child(3){--pattern-x:0%;--pattern-y:-92%;--pattern-rotate:90deg}.martial-manifestation[data-manifestation-pattern=converge]>i:nth-child(4){--pattern-x:0%;--pattern-y:92%;--pattern-rotate:-90deg}.martial-manifestation[data-manifestation-pattern=converge]>i:nth-child(5){--pattern-x:-65%;--pattern-y:-65%;--pattern-rotate:45deg}.showcase-stage:is([data-timeline-phase=접촉],[data-timeline-phase=피격],[data-timeline-phase=회복]) .martial-manifestation[data-manifestation-pattern=converge]>i{transform:translate(0,0) rotate(var(--pattern-rotate))}.martial-manifestation[data-manifestation-pattern=meteor]>i{transform:translate(calc((var(--manifest-layer) - 2)*28%),calc(-112% - var(--manifest-layer)*16%)) rotate(58deg);animation-delay:calc(var(--manifest-layer)*42ms)}.showcase-stage[data-timeline-phase=이동] .martial-manifestation[data-manifestation-pattern=meteor]>i{transform:translate(calc((var(--manifest-layer) - 2)*18%),calc(-52% - var(--manifest-layer)*8%)) rotate(72deg)}.showcase-stage:is([data-timeline-phase=접촉],[data-timeline-phase=피격],[data-timeline-phase=회복]) .martial-manifestation[data-manifestation-pattern=meteor]>i{transform:translate(calc((var(--manifest-layer) - 2)*8%),0) rotate(88deg)}.martial-manifestation[data-manifestation-pattern=hover-volley]>i{transform:translate(var(--hover-x),var(--hover-y)) rotate(var(--hover-rotate));transition-delay:calc(var(--manifest-layer)*28ms)}.martial-manifestation[data-manifestation-pattern=hover-volley]>i:first-child{--hover-x:-64%;--hover-y:-54%;--hover-rotate:-32deg;--volley-y:-48%}.martial-manifestation[data-manifestation-pattern=hover-volley]>i:nth-child(2){--hover-x:8%;--hover-y:-72%;--hover-rotate:12deg;--volley-y:-24%}.martial-manifestation[data-manifestation-pattern=hover-volley]>i:nth-child(3){--hover-x:-78%;--hover-y:4%;--hover-rotate:-8deg;--volley-y:0%}.martial-manifestation[data-manifestation-pattern=hover-volley]>i:nth-child(4){--hover-x:-28%;--hover-y:58%;--hover-rotate:24deg;--volley-y:24%}.martial-manifestation[data-manifestation-pattern=hover-volley]>i:nth-child(5){--hover-x:34%;--hover-y:48%;--hover-rotate:40deg;--volley-y:48%}.showcase-stage:is([data-timeline-phase=이동],[data-timeline-phase=접촉],[data-timeline-phase=피격]) .martial-manifestation[data-manifestation-pattern=hover-volley]>i{transform:translate(calc(var(--manifest-layer)*-12%),var(--volley-y)) rotate(0deg)}.martial-manifestation[data-manifestation-pattern=orbit]>i:first-child{transform:translate(-52%)rotate(-20deg)}.martial-manifestation[data-manifestation-pattern=orbit]>i:nth-child(2){transform:translate(52%)rotate(160deg)}.martial-manifestation[data-manifestation-pattern=orbit]>i:nth-child(3){transform:translateY(-48%)rotate(72deg)}.martial-manifestation[data-manifestation-pattern=orbit]>i:nth-child(4){transform:translateY(48%)rotate(-72deg)}.martial-manifestation[data-manifestation-pattern=orbit]>i:nth-child(5){transform:scale(.72)}.martial-manifestation[data-manifestation-pattern=burst]>i{transform:scale(calc(.76 + var(--manifest-layer)*.12));opacity:calc(.95 - var(--manifest-layer)*.13)}@media (prefers-reduced-motion:reduce){.martial-manifestation>i{transition:none!important;animation:none!important}}
