:root{color-scheme:light;--accent: #232427;--accent-strong: #0e0f11;--accent-contrast: #f7f7f8;--accent-glow: rgba(20, 21, 24, .18);--accent-ring: rgba(20, 21, 24, .45);--bg-0: #e7e7e9;--bg-1: #f2f2f3;--bg-2: #fafafa;--glass: rgba(255, 255, 255, .74);--glass-solid: rgba(255, 255, 255, .9);--fill-soft: rgba(18, 19, 22, .045);--fill-mid: rgba(18, 19, 22, .09);--fill-strong: rgba(18, 19, 22, .18);--border-soft: rgba(18, 19, 22, .1);--border-mid: rgba(18, 19, 22, .2);--text: #1a1b1f;--text-dim: #3d3f45;--text-mute: rgba(18, 19, 22, .56);--brand: #101114;--font-sans: "Plus Jakarta Sans", "Noto Sans KR", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display: "Anton", "Noto Sans KR", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--r-sm: 12px;--r-md: 18px;--r-lg: 26px;--r-pill: 999px;--shadow-1: 0 18px 44px rgba(18, 19, 22, .14);--shadow-accent: 0 10px 24px var(--accent-glow);--blur: 16px}html,body{height:100%;margin:0;font-family:var(--font-sans);color:var(--text);background:radial-gradient(120% 140% at 18% 12%,#fff,#fff0 55%),linear-gradient(160deg,var(--bg-2) 0%,var(--bg-1) 55%,var(--bg-0) 100%);background-attachment:fixed}*{box-sizing:border-box}.glass-panel{background:var(--glass);backdrop-filter:blur(var(--blur));-webkit-backdrop-filter:blur(var(--blur));border:1px solid var(--border-soft);box-shadow:var(--shadow-1)}.brand-logo{display:inline-flex;flex-direction:column;text-decoration:none;color:var(--brand);font-family:var(--font-display);text-transform:uppercase;line-height:1.1;font-size:clamp(16px,3vw,30px);letter-spacing:1px}.brand-sub{font-family:var(--font-sans);text-transform:none;font-weight:500;font-size:.62em;letter-spacing:.3px;color:var(--text-mute);opacity:.95}.btn-ghost{padding:.45rem 1.1rem;border-radius:var(--r-pill);border:1px solid var(--border-mid);background:var(--fill-soft);color:var(--brand);font-family:var(--font-sans);font-size:.82rem;font-weight:600;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}.btn-ghost:hover,.btn-ghost:focus{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.btn-ghost:focus-visible{outline:0;box-shadow:0 0 0 .2rem var(--accent-ring)}.vwr{position:relative;width:100%;height:100%;overflow:hidden}.vwr canvas{display:block;position:absolute;inset:0;width:100%;height:100%;z-index:0}.toolbar{position:absolute;top:calc(16px + env(safe-area-inset-top));left:calc(16px + env(safe-area-inset-left));right:calc(16px + env(safe-area-inset-right));display:flex;gap:12px;align-items:center;justify-content:space-between;padding:14px 24px;border-radius:22px;color:var(--brand);z-index:30}.toolbar .title{display:flex;align-items:center}.toolbar .hint{opacity:.82;font-size:.86rem;color:var(--text-dim)}.toolbar-right{display:flex;align-items:center;gap:10px}.back-link{display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:var(--text-dim);font-size:.82rem;font-weight:600;padding:.4rem .85rem;border-radius:var(--r-pill);border:1px solid transparent;transition:color .2s ease,border-color .2s ease,background .2s ease}.back-link:hover{color:var(--brand);border-color:var(--border-mid);background:var(--fill-soft)}.plaque-card{position:absolute;left:calc(24px + env(safe-area-inset-left));bottom:calc(24px + env(safe-area-inset-bottom));width:320px;max-width:calc(100% - 48px);padding:18px 22px 20px;border-radius:var(--r-lg);z-index:20;color:var(--text)}.plaque-card__no{font-size:.7rem;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--text-mute)}.plaque-card__title{margin:4px 0 6px;font-family:var(--font-display);font-size:1.7rem;line-height:1.05;letter-spacing:.5px;text-transform:uppercase;color:var(--brand)}.plaque-card__desc{margin:0;font-size:.86rem;line-height:1.55;color:var(--text-dim)}.plaque-card__meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.plaque-card__meta span{font-size:.72rem;font-weight:600;padding:.28rem .7rem;border-radius:var(--r-pill);border:1px solid var(--border-mid);color:var(--text-dim);background:var(--fill-soft)}@media (max-width: 992px){.toolbar{flex-direction:column;align-items:flex-start;gap:10px}.plaque-card{left:16px;right:16px;bottom:16px;width:auto;max-width:none;padding:14px 16px}}@media (max-width: 576px){.toolbar{padding:10px 14px;border-radius:var(--r-md)}.toolbar .hint{display:none}.plaque-card{border-radius:var(--r-md)}.plaque-card__title{font-size:1.35rem}.plaque-card__desc{display:none}}.fx-tiltshift{position:absolute;inset:0;z-index:5;pointer-events:none;-webkit-backdrop-filter:blur(var(--ts-blur, 6px));backdrop-filter:blur(var(--ts-blur, 6px));-webkit-mask-image:linear-gradient(180deg,#000 0%,transparent var(--ts-from, 37%),transparent var(--ts-to, 63%),#000 100%);mask-image:linear-gradient(180deg,#000 0%,transparent var(--ts-from, 37%),transparent var(--ts-to, 63%),#000 100%)}.fx-tiltshift[hidden]{display:none}.fx-panel{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:3000;width:300px;max-height:calc(100vh - 32px);display:flex;flex-direction:column;padding:0;font:13px/1.4 var(--font-sans);color:var(--text)}.fx-panel__head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--border-soft)}.fx-panel__head strong{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.5px;font-size:1rem;color:var(--brand)}.fx-panel__toggle{background:none;border:0;color:var(--text-mute);font-size:18px;cursor:pointer;width:24px}.fx-panel__body{overflow:auto;padding:4px 14px 10px}.fx-panel.is-collapsed .fx-panel__body,.fx-panel.is-collapsed .fx-panel__actions,.fx-panel.is-collapsed .fx-panel__msg{display:none}.fx-panel__body h4{margin:14px 0 6px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-mute)}.fx-panel__row{display:flex;flex-direction:column;gap:4px;margin-bottom:8px;color:var(--text-dim)}.fx-panel__row>span{display:flex;justify-content:space-between;gap:8px}.fx-panel__row em{font-style:normal;color:var(--brand);font-weight:600;font-variant-numeric:tabular-nums}.fx-panel__row input[type=range]{width:100%;accent-color:var(--accent)}.fx-panel__row input[type=color]{width:100%;height:28px;padding:2px;border:1px solid var(--border-mid);border-radius:6px;background:none}.fx-panel__row.is-check{flex-direction:row;align-items:center;gap:8px}.fx-panel__row.is-check input{accent-color:var(--accent)}.fx-panel__actions{display:flex;gap:6px;padding:10px 14px;border-top:1px solid var(--border-soft)}.fx-panel__actions .btn-ghost{flex:1;padding:.45rem .4rem}.fx-panel__actions .is-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.fx-panel__msg{margin:0;padding:0 14px 10px;font-size:11.5px;line-height:1.45;color:var(--text-mute);min-height:1em}@media (max-width: 480px){.fx-panel{left:16px;right:16px;width:auto;max-height:55vh}}.fx-vignette{position:absolute;inset:0;z-index:6;pointer-events:none;background:radial-gradient(ellipse 72% 62% at 50% 50%,transparent 50%,rgba(16,17,20,.85) 140%);opacity:var(--vig, .25)}.fx-vignette[hidden]{display:none}.fx-panel__fps{margin-left:auto;margin-right:8px;font-size:11px;color:var(--text-mute);font-variant-numeric:tabular-nums}.fx-panel__row.is-dirty>span{color:#8a6d00}.fx-panel__warn{margin:0;padding:0 14px 8px;font-size:11.5px;line-height:1.45;color:#8a2a2a}.fx-panel__actions{flex-wrap:wrap}.fx-panel__actions .btn-ghost{flex:1 1 30%}.fx-panel__actions .is-wide{flex-basis:100%}
