:root{--dc-ink:#1a1008;--dc-parchment:#f5efd6;--dc-parchment-2:#ede0b0;--dc-gold:#e8c96a;--dc-gold-line:#c9a24a;--dc-brown:#2b1d0e;--dc-brown-soft:#5a3e1e;--dc-bg:#d8c79a;--dc-font-serif:"Inknut Antiqua", serif;--dc-font-display:"Pirata One", serif;--dc-font-title:"DonjonChaton", "Pirata One", serif;--dc-shadow-stamp-sm:2px 2px 0 var(--dc-ink);--dc-shadow-stamp:3px 3px 0 var(--dc-ink);--dc-shadow-stamp-lg:6px 6px 0 var(--dc-ink)}@font-face{font-family:Inknut Antiqua;src:url(/assets/inknut-antiqua-300-Cmir0Hxi.woff2)format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Inknut Antiqua;src:url(/assets/inknut-antiqua-400-BVBDQMlS.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Inknut Antiqua;src:url(/assets/inknut-antiqua-500-ceud5lAU.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Inknut Antiqua;src:url(/assets/inknut-antiqua-600-CLn8jVtP.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Inknut Antiqua;src:url(/assets/inknut-antiqua-700-Dy8SYkPL.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Pirata One;src:url(/assets/pirata-one-400-VXwhLJdJ.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:DonjonChaton;src:url(/assets/donjon-chaton-regular-CLyWooY-.otf)format("opentype");font-weight:400;font-style:normal;font-display:block}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg:#1a1a1a;--color-surface:#2a2a2a;--color-surface-2:#363636;--color-border:#444;--color-text:#e8e8e8;--color-text-muted:#888;--color-accent:#4f8ef7;--color-accent-hover:#3a7de8;--color-danger:#e05252;--color-marker:#f59e0b;--color-marker-border:#fff;--color-debug-badge:#f59e0b;--radius:8px;--radius-sm:4px}body{background:var(--color-bg);color:var(--color-text);width:100dvw;height:100dvh;font-family:system-ui,-apple-system,sans-serif;font-size:14px;overflow:hidden}#app{flex-direction:column;width:100%;height:100%;display:flex}#viewport{cursor:grab;background:var(--color-bg);flex:1;position:relative;overflow:hidden}#viewport.dragging{cursor:grabbing}#viewport.debug-placing{cursor:crosshair}#canvas-container{transform-origin:0 0;will-change:transform;position:absolute;top:0;left:0}#pdf-canvas{display:block;box-shadow:0 4px 32px #0009}#overlay{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}#overlay.interactive{pointer-events:all}.marker{pointer-events:all;cursor:pointer;position:absolute;transform:translate(-50%,-50%)}.marker-inner{transform-origin:50%;transform:scale(var(--s,1));flex-direction:column;align-items:center;gap:5px;transition:transform .2s;display:flex;position:relative}.marker-ribbon{pointer-events:none;transition:transform .15s;position:relative}.marker-label{font-family:var(--dc-font-serif);white-space:nowrap;color:var(--dc-brown);background:var(--dc-parchment);border:2.5px solid var(--dc-ink);letter-spacing:.04em;z-index:1;padding:4px 14px;font-size:11px;font-weight:500;line-height:1.5;display:block;position:relative}.marker-tail{z-index:0;position:absolute;top:100%;overflow:visible}.marker-tail--left{top:calc(100% - 10px);left:8px}.marker-tail--right{top:calc(100% - 10px);right:8px}.marker-tail-shape{fill:#ddd4b0;stroke:var(--dc-ink);stroke-width:2.5px;stroke-linejoin:round}#controls{z-index:10;flex-direction:column;gap:8px;display:flex;position:absolute;top:12px;right:12px}.btn{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);border-radius:var(--radius);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:8px 12px;font-size:13px;transition:background .15s,border-color .15s;display:flex}.btn:hover{background:var(--color-surface-2);border-color:var(--color-accent)}.btn.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.btn-danger{color:var(--color-danger)}.btn-danger:hover{border-color:var(--color-danger)}#debug-controls{z-index:10;gap:6px;display:none;position:absolute;bottom:16px;left:12px}#debug-controls.visible{display:flex}#zoom-controls{z-index:10;flex-direction:column;gap:4px;display:flex;position:absolute;bottom:16px;right:12px}#btn-wiki{z-index:10;font-family:var(--dc-font-serif);color:var(--dc-brown);background:var(--dc-gold);border:2px solid var(--dc-ink);cursor:pointer;letter-spacing:.04em;box-shadow:var(--dc-shadow-stamp-sm);padding:6px 12px;font-size:11px;font-weight:500;text-decoration:none;transition:box-shadow .1s,transform .1s;display:block;position:fixed;top:12px;left:12px}#btn-wiki:hover{box-shadow:var(--dc-shadow-stamp);transform:translate(-1px,-1px)}#btn-wiki:active{box-shadow:1px 1px 0 var(--dc-ink);transform:translate(1px,1px)}.zoom-btn{justify-content:center;width:36px;height:36px;padding:0;font-size:18px;font-weight:300}#zoom-label{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);text-align:center;color:var(--color-text-muted);padding:4px 6px;font-size:11px}#debug-badge{background:var(--color-debug-badge);color:#000;border-radius:var(--radius-sm);letter-spacing:.05em;z-index:10;padding:4px 8px;font-size:11px;font-weight:700;display:none;position:absolute;top:12px;left:12px}#points-dialog{background:var(--dc-parchment);border:2px solid var(--dc-ink);z-index:20;width:240px;max-height:calc(100dvh - 120px);box-shadow:4px 4px 0 var(--dc-ink);flex-direction:column;display:none;position:absolute;top:12px;right:12px;overflow:hidden}#points-dialog.open{display:flex}#btn-toggle-dialog{z-index:21;font-family:var(--dc-font-serif);color:var(--dc-brown);background:var(--dc-gold);border:2px solid var(--dc-ink);cursor:pointer;letter-spacing:.04em;box-shadow:var(--dc-shadow-stamp-sm);padding:6px 12px;font-size:11px;font-weight:500;display:none;position:absolute;top:12px;right:12px}@media (width<=1024px){#points-dialog{display:none;top:62px}#points-dialog.open{display:flex}#btn-toggle-dialog{display:block}}.dialog-header{border-bottom:2px solid var(--dc-ink);background:var(--dc-gold);flex-shrink:0;padding:10px 14px 8px}.dialog-header-title{font-family:var(--dc-font-title);color:var(--dc-brown);letter-spacing:.03em;font-size:20px;line-height:1}.dialog-header-subtitle{font-family:var(--dc-font-serif);color:var(--dc-brown-soft);letter-spacing:.08em;text-transform:uppercase;margin-top:3px;font-size:10px;font-weight:500}#points-list{flex:1;overflow-y:auto}.point-item{border-bottom:1px solid var(--dc-gold-line);cursor:pointer;align-items:center;gap:8px;padding:9px 14px;transition:background .1s;display:flex}.point-item:last-child{border-bottom:none}.point-item:hover{background:var(--dc-parchment-2)}.point-item-dot{background:#8a5c10;border-radius:50%;flex-shrink:0;width:7px;height:7px}.point-item-name{font-family:var(--dc-font-serif);color:var(--dc-brown);flex:1;font-size:11px;font-weight:400;line-height:1.4}.points-empty{color:#7a6040;text-align:center;font-size:12px;font-family:var(--dc-font-serif);padding:20px 14px}#dialog-debug-footer{border-top:1px solid var(--color-border);flex-direction:column;flex-shrink:0;gap:6px;padding:8px 14px;display:none}#dialog-debug-footer.visible{display:flex}#inline-popup{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);z-index:30;flex-direction:column;gap:8px;width:200px;padding:12px;display:none;position:absolute;box-shadow:0 8px 24px #0009}#inline-popup.open{display:flex}#inline-popup input{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);outline:none;width:100%;padding:6px 8px;font-size:13px}#inline-popup input:focus{border-color:var(--color-accent)}.popup-row{gap:6px;display:flex}.popup-row .btn{flex:1;justify-content:center;padding:6px 8px;font-size:12px}#debug-info-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);z-index:20;flex-direction:column;min-width:240px;display:none;position:absolute;bottom:56px;left:12px;overflow:hidden;box-shadow:0 4px 16px #00000080}#debug-info-panel.open{display:flex}.info-panel-header{border-bottom:1px solid var(--color-border);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;align-items:center;padding:8px 12px;font-size:11px;font-weight:700;display:flex}#debug-info-content{color:var(--color-text);white-space:pre;padding:10px 12px;font-family:SF Mono,Fira Mono,monospace;font-size:11px;line-height:1.8}.info-val{color:var(--color-accent)}.info-panel-footer{border-top:1px solid var(--color-border);padding:6px 12px}.info-panel-footer .btn{justify-content:center;width:100%;padding:5px 8px;font-size:11px}#btn-copy-info.copied{color:#4ade80;border-color:#4ade80}#loading-screen{z-index:9999;background:var(--dc-parchment);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:clamp(12px,3vw,28px);padding:24px 16px;transition:opacity .6s;display:flex;position:fixed;inset:0}#loading-screen.fade-out{opacity:0;pointer-events:none}#loading-title{flex-direction:column;align-items:center;gap:2px;display:flex}#loading-title-label{font-family:var(--dc-font-serif);color:var(--dc-brown);letter-spacing:.08em;text-transform:uppercase;font-size:clamp(12px,3vw,18px);font-weight:500}#loading-title-name{font-family:var(--dc-font-display);color:var(--dc-brown);letter-spacing:.03em;font-size:clamp(40px,12vw,64px);line-height:1}#loading-text{font-family:var(--dc-font-serif);color:#3a2e1e;letter-spacing:.04em;min-height:1.6em;padding:0 8px;font-size:clamp(12px,2.5vw,16px);font-weight:500;transition:opacity .2s}#loading-text.loading-text--fade{opacity:0}#loading-image{flex-shrink:1;width:min(340px,75vw);height:auto;min-height:0}
