/* WoW-inspired frame treatment. Real Blizzard textures are credited in the footer. */
:root{--paper:#10100f;--card:#1d1c19;--ink:#e6dfca;--muted:#aaa18b;--line:#504739;--red:#d8ae55;--gold:#bd9a55;--green:#8fc078;--dark:#141412;--shadow:0 4px 16px #0009;color-scheme:dark;font-family:Arial,Helvetica,sans-serif;font-size:15px;background:#10100f}
body{background:radial-gradient(ellipse at 55% 0,#39302755,transparent 65%),#10100f;line-height:1.45}
h1,h2,h3{color:#e8cc8b;text-shadow:1px 2px #000;font-family:Georgia,'Times New Roman',serif}
a:hover{color:#ffe29a}.eyebrow{letter-spacing:.1em;color:#c0a978;font-size:.65rem}.caption{color:#a59e8b}
button,.file-label,select{border:1px solid #7c6b4c;border-radius:2px;background:linear-gradient(#3a3026,#211a15);box-shadow:inset 0 1px #b49a5a44,inset 0 -1px #000;color:#ead8ad;text-shadow:0 1px #000;padding:.45rem .75rem}
button:hover,.file-label:hover{border-color:#d1b76d;background:linear-gradient(#554126,#2c2116);color:#ffdc85}
input[type=number],input[type=search]{background:#10100e;border:1px solid #5c5345;border-radius:1px;color:#f0e1ba;box-shadow:inset 1px 2px 5px #0008}
input:focus-visible,button:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #ead17e;outline-offset:3px}
.topbar{max-width:1820px;padding:16px 30px;border-bottom:2px solid #584a33;background:linear-gradient(#28241e,#151411);box-shadow:0 2px #000}
.brand{font-size:1.7rem;color:#ecd39c;letter-spacing:.08em;text-shadow:0 2px #000}.brand-book{width:54px;height:54px;object-fit:contain;filter:drop-shadow(1px 2px 2px #000)}.brand-sub{color:#b0a080;font-size:.62rem;letter-spacing:.16em}
.topbar nav{font-size:.78rem}.topbar nav button{background:linear-gradient(#6d201b,#3e0f0c);border-color:#907647}.topbar nav a{color:#c6b587}
.status{max-width:1760px;margin:10px auto 0;font-size:.69rem;color:#8e8777}.layout{max-width:1820px;grid-template-columns:205px minmax(0,1fr);gap:26px;padding:20px 30px 60px}
.sidebar{top:15px;padding:8px;border:1px solid #504a3e;background:linear-gradient(90deg,#24221d,#181815);box-shadow:inset 0 0 0 2px #0a0a09,inset 0 0 0 3px #39352c,3px 5px 12px #0008}
.sidebar .eyebrow{padding:10px 8px 14px}.dungeon-nav{gap:5px}.dungeon-nav a{padding:12px 9px;border-radius:1px;border-color:#39352b;font-size:.88rem;background:#121310}.dungeon-nav a small{color:#9d8653}.dungeon-nav a span{font-family:Georgia,serif;color:#d3bf88}
.dungeon-nav a.active{border:1px solid #a78d4e;background:linear-gradient(90deg,#6f542650,#2a2114),#201d16;box-shadow:inset 0 0 12px #d4ae3922,0 0 7px #e5b74e15}.dungeon-nav a.active span{color:#ffdf82}.dungeon-nav a b{color:#a79a77;font-size:.68rem}.sidebar-note{margin-top:15px;padding:13px 8px;font-size:.7rem;color:#8e8776;border-color:#3c362b}
.hero{border:1px solid #716247;border-top:2px solid #b19a65;border-radius:2px;box-shadow:inset 0 0 0 2px #080808,inset 0 0 0 3px #4e4434,0 5px 18px #0006;background:radial-gradient(ellipse at 20% 0,#57412677,transparent 70%),linear-gradient(#24221b,#141410);padding:26px 32px}
.hero h1{font-size:clamp(2.2rem,3vw,3.2rem);letter-spacing:-.02em;margin:10px 0}.hero p{color:#c9bfa4;font-size:.92rem}.hero .eyebrow{color:#af9968}.hero .hero-bottom{margin-top:18px;color:#9d9176}.hero .ghost-mark{display:none}
.dungeon-hero{display:flex;gap:24px;align-items:center;padding:23px 30px}.hero-icon{width:78px;height:78px;display:grid;place-items:center;border:3px ridge #776b4b;border-radius:50%;box-shadow:0 0 0 3px #111,0 0 0 4px #8c7446,0 3px 14px #000;background:radial-gradient(#473d28,#171812)}.hero-icon img{width:72px;height:72px;object-fit:contain}
.journal-tabs{display:flex;padding:0 12px;gap:5px;margin-bottom:18px}.journal-tabs a{font-family:Georgia,serif;font-size:.84rem;text-decoration:none;color:#d9bd7a;padding:8px 20px;border:1px solid #776247;border-top:0;border-radius:0 0 4px 4px;background:linear-gradient(#403327,#221c15);box-shadow:inset 0 -2px #74603c55,0 2px 4px #0008}.journal-tabs a:hover{color:#ffe08b;background:linear-gradient(#56412d,#36291b)}
.overview-intro{padding-top:25px}.overview-intro p{color:#b1a58b;font-size:.93rem;margin-top:12px}.dungeon-cards{gap:18px;margin-top:4px}.dungeon-card{background:radial-gradient(ellipse at top,#51402466,transparent 65%),#181813;border:2px ridge #77664a;border-radius:1px;min-height:275px;box-shadow:inset 0 0 0 3px #090a08,0 5px 15px #0009}.dungeon-card h2{color:#ebd19a;font-size:1.8rem}.dungeon-card .big{color:#ffd46a}.dungeon-card .go{color:#c7b17d;border-color:#4b402c}.dungeon-card:hover{background-color:#242016}.overview-note{color:#c5b899;border-top:1px solid #4b4231;padding-top:22px}.overview-note p{color:#9f947d}
.metrics{gap:12px;margin:14px 0}.metric{border:1px solid #6b5940;border-radius:2px;padding:14px 17px;background:linear-gradient(120deg,#28251d,#181813);box-shadow:inset 0 0 0 2px #0d0e0b,0 2px 6px #0005}.metric .value{font-size:1.8rem;color:#f1d27d;margin:7px 0}.metric .eyebrow{color:#a99b7a;font-size:.61rem}.metric .caption{font-size:.72rem}.metric.ready{border-top:1px solid #738153;padding-top:14px}.metric.ready .value{color:#b8d496}
.checkpoint{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:11px 15px;background:#172019;border:1px solid #47563b;color:#c4d3a6;font-size:.84rem;cursor:help}.checkpoint span{margin-left:auto;color:#b5c68f;font-size:.76rem}.checkpoint.warn{background:#2a2114;border-color:#7b602f;color:#e8ce8d}.checkpoint.warn span{color:#d0ad68}
.planner-settings{margin:10px 0 16px;border:1px solid #3d392e;background:#171813;font-size:.78rem}.planner-settings>summary{cursor:pointer;padding:9px 13px;color:#b7a77f}.planner-settings>summary span{color:#807966;float:right;font-size:.72rem}.settings-body{padding:12px 16px}.settings-body p{margin-top:12px;color:#a99c81;max-width:1100px}.controls{background:#10120e;border-color:#44432e;border-radius:1px;padding:13px}.controls input{width:95px}.controls label{color:#b3a784}.controls select{min-width:180px}
.phase-cards{gap:12px;margin-bottom:22px}.phase-card{border:1px solid #4a402e;border-top:2px solid #6d5836;background:linear-gradient(#232018,#191914);border-radius:1px;padding:13px 16px}.phase-card .eyebrow{color:#c2a15c;font-size:.64rem;margin-bottom:6px}.phase-card p{font-size:.8rem;color:#bdb29b}
.frame-title{display:flex;align-items:center;gap:10px;min-height:46px;padding:8px 17px;background:linear-gradient(#4d493e,#292820 42%,#1a1a16);border:1px solid #82745b;border-bottom-color:#080908;box-shadow:inset 0 1px #baad8855,inset 0 -1px #8c785055;position:relative}.frame-title:before,.frame-title:after{content:'◆';font-size:10px;color:#b8a175;text-shadow:1px 1px #000;position:absolute;top:15px}.frame-title:before{left:4px}.frame-title:after{right:4px}.frame-title img{width:29px;height:29px;object-fit:contain}.frame-title h2{font-size:1.35rem;color:#e0d2ad}.frame-title>span{margin-left:auto;font-size:.72rem;color:#a9a18a}
.chains-panel,.quest-log-panel{border:2px ridge #6c6656;box-shadow:0 0 0 1px #050605,inset 0 0 0 2px #080908,0 7px 18px #0007;background:#11130f;margin:22px 0;scroll-margin-top:15px}
.chain-groups{padding:3px 18px 10px}.chain-group{padding:14px 0;border-bottom:1px solid #353324}.chain-group:last-child{border-bottom:0}.chain-heading{display:flex;gap:20px;align-items:center;margin-bottom:10px}.chain-heading h3{font-size:1rem;color:#ddc88f}.chain-heading>span{font-size:.68rem;color:#a4936a}.chain-scroll{overflow-x:auto;padding:4px 0 8px;scrollbar-color:#776242 #171912;scrollbar-width:thin}
.chain-scroll{overflow-y:hidden}.chain-graph{display:flex;position:relative;gap:34px;width:max-content;min-width:100%;align-items:stretch}.chain-layer{display:flex;flex-direction:column;justify-content:center;gap:16px;position:relative;z-index:1;flex:1;min-width:150px;max-width:245px}.chain-node{position:relative;min-height:106px;border:1px solid #9a7e46;background:linear-gradient(#322b1c,#1c1b13);box-shadow:inset 0 0 0 2px #0d0f0b,inset 0 0 13px #a58a2517,0 3px 7px #0009;border-radius:2px}.chain-node a{display:block;text-decoration:none;padding:12px 13px;min-height:100%;color:#e2c77d}.chain-node a:hover{background:#8b702f22}.chain-node b{display:block;font-family:Georgia,serif;font-size:.84rem;font-weight:normal;line-height:1.3;padding-right:10px;max-width:210px}.chain-stage{display:block;font-size:.58rem;text-transform:uppercase;letter-spacing:.08em;color:#a79566;margin:0 20px 7px 0}.chain-node small{display:block;color:#a9a28a;font-size:.65rem;margin-top:7px}.chain-reward{display:block;color:#e0b65d;font-size:.68rem;margin-top:5px}.chain-node.is-prep{border-color:#71694c}.chain-node.is-done{border-color:#5b7443;background:linear-gradient(#263023,#161b12)}.chain-node.is-done b{color:#91aa70}.chain-node.is-done .chain-reward{color:#6f825c}.chain-note{font-size:.69rem;color:#a49a7b;margin:5px 0}.chain-wires{position:absolute;left:0;top:0;overflow:visible;pointer-events:none}.chain-wires path{fill:none;stroke:#a88b48;stroke-width:1.6}
.done-control{position:relative;width:21px;height:21px;display:block;flex:none;cursor:pointer}.done-control input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1}.check-art{position:absolute;inset:0;border:2px ridge #928367;background:linear-gradient(#080a06,#252820);box-shadow:inset 1px 2px 3px #000;color:transparent;font-size:0;text-shadow:none;pointer-events:none}.check-art::after{content:'';position:absolute;inset:0;background:center/100% 100% no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8 L6.5 11.5 L13 4.5' fill='none' stroke='%23f3e39a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");opacity:0}.done-control input:checked+.check-art::after{opacity:1;filter:drop-shadow(0 0 1px #a78e38)}.done-control input:focus-visible+.check-art{outline:2px solid #ffe08e;outline-offset:3px}.chain-check{position:absolute;right:8px;top:8px;z-index:3;width:18px;height:18px}
.quest-toolbar{margin:0;padding:12px 16px;background:#1e2019;border-bottom:1px solid #615539;font-size:.74rem}.quest-toolbar input{background:#0a0c08;border-color:#56513c;padding:8px 10px;color:#d6cead}.quest-toolbar input::placeholder{color:#766f5c}.quest-toolbar button{padding:8px 12px}.quest-column-labels{display:grid;grid-template-columns:44px 1fr 170px 125px;padding:8px 17px 8px 12px;background:linear-gradient(#383426,#27251b);border-top:1px solid #8b775044;border-bottom:1px solid #625133;color:#c1ac7d;font-size:.67rem}.quest-column-labels span:last-child{text-align:right}.quest-list{gap:0;padding:0 8px 8px}
.quest-record{display:flex;align-items:flex-start;border-bottom:1px solid #343728;background:#13170f}.quest-record:nth-child(even){background:#171b12}.quest-record:last-child{border-bottom:0}.row-check{margin:15px 9px 0 5px}.quest{flex:1;min-width:0;border:0;border-radius:0;background:transparent;overflow:visible}.quest summary{padding:11px 9px 11px 0;gap:11px;min-height:53px;position:relative}.quest summary:before{display:none}.quest summary:hover{background:linear-gradient(90deg,#ac8c2844,#6c5a1922 75%,transparent)}.quest[open] summary{background:linear-gradient(90deg,#bda33b55,#82722c22);border-bottom:1px solid #988044}.quest-marker{width:18px;height:18px;object-fit:contain;flex:none}.quest-name{font-family:Georgia,serif;font-size:.94rem;font-weight:normal;color:#ffdc79}.quest-name b{font-weight:normal}.quest-name .caption{font:11px/1.4 Arial,sans-serif;color:#94977b;margin-top:4px}.quest-xp{font-family:Georgia,serif;font-size:.96rem;color:#e4c777;min-width:105px;text-align:right}.quest-record.is-done .quest-name{color:#8ba976}.quest-record.is-done summary{opacity:.7}.quest summary .pill{min-width:142px;text-align:center;font-size:.64rem;background:#11170d;border:1px solid #424e35;color:#a1b77e;border-radius:1px;padding:4px 7px}.quest summary .pill.no{color:#c69b84;border-color:#644536;background:#241914}.quest summary .pill.unknown{color:#b8a26b;border-color:#605531;background:#252315}
.quest-body{color:#352710;background:#d3ae70 url('/assets/quest-paper-classic.png') left top/173% 126% no-repeat;border:1px solid #7e623b;border-top:0;padding:0 26px 24px;margin:0 0 14px 0;box-shadow:inset 0 0 25px #64472344;text-shadow:none}.quest-body .eyebrow{color:#6e491d;font-weight:bold}.quest-body .detail-item p,.quest-body .detail-wide p{font-family:Georgia,serif;font-size:.91rem;line-height:1.5}.quest-body a{color:#3d531f}.quest-body .caption,.quest-body small{color:#665131}.quest-body select,.quest-body button{color:#f4dfb3}.quest-actions{padding:15px 0;font-size:.75rem;border-bottom:1px solid #8e6b3933;margin-bottom:14px}.quest-evidence{border-color:#95744166;color:#71542e;display:block;line-height:1.6}.quest-links a{color:#4e4a1b}.detail-grid{gap:16px 30px}.quest-body input[type=checkbox]{accent-color:#415e22}
.game-tooltip{position:fixed;z-index:2000;width:360px;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);overflow:auto;padding:13px 15px;background:linear-gradient(#10101ef7,#070712fa);border:2px solid #a4a4b4;border-radius:4px;box-shadow:inset 0 0 0 1px #15151e,0 0 0 1px #08090c,4px 6px 16px #000c;color:#f0eeee;font:13px/1.4 Arial,sans-serif;scrollbar-width:thin;scrollbar-color:#5d5d70 #111120;pointer-events:auto}
.game-tooltip[hidden]{display:none}.game-tooltip h3{font:bold 15px/1.3 Arial,sans-serif;color:#ffd100;text-shadow:1px 1px #000;margin:0}.tip-title{display:flex;gap:7px;align-items:center;margin-bottom:5px}.tip-title img{width:16px;height:16px;object-fit:contain}.tip-meta{display:block;color:#ddd;font-size:11px;margin-bottom:10px}.tip-objective{color:#fff;margin-bottom:8px}.tip-reward{color:#ffdc72;margin:9px 0;font-size:14px}.game-tooltip dl{display:grid;grid-template-columns:52px 1fr;gap:6px 9px;font-size:12px;margin:10px 0}.game-tooltip dt{color:#a9a9b9}.game-tooltip dd{margin:0;color:#eee}.game-tooltip p+p{margin-top:5px}.tip-section{color:#ffd100;margin-top:11px;font-size:12px}.tip-warning{color:#ff8275!important}.tip-complete{color:#86d577}.tip-note{color:#ffd06b;font-size:12px;margin-top:12px}.tip-muted{color:#a6a6b7;font-size:11px;margin-top:8px}.tip-evidence{font-size:10px;color:#8e8e9f;border-top:1px solid #454452;padding-top:8px;margin-top:10px}.tip-hint{font-size:10px;color:#77778b;margin-top:8px}.tip-quest-name{color:#ffd100;font-size:12px}.tip-quest-name span{float:right;color:#cab576}
.section-head{margin-top:25px}.section-head h2{font-size:1.6rem}.map-layout{border:2px ridge #6b634f;border-radius:1px;background:#181a13;padding:16px;box-shadow:inset 0 0 0 1px #070907,0 5px 15px #0007;grid-template-columns:minmax(0,1fr) 330px}.map-controls{color:#b5a47b}.map-frame{border:2px ridge #8a7348;background:#242317}.map-note{color:#8e8267}.map-location{border-color:#3e3d29;color:#c4b58f}.map-location a{color:#dfc682}.map-location.highlight{background:#4a4022;outline-color:#ad8d43}.map-location b{color:#dfc890}.pin{border-color:#493c22;background:#ead17d;color:#241d0f}.pin:hover{background:#ffeb9b;box-shadow:0 0 9px #f5d778}.map-list{max-height:540px;scrollbar-width:thin;scrollbar-color:#756643 #1a1d13}
.hub-list{border:2px ridge #5c5a43;border-radius:1px}.hub-row{background:#1a1d14;border-color:#3c3e2b;color:#c4b994;grid-template-columns:210px 1fr;gap:25px}.hub-row:nth-child(even){background:#151910}.hub-row h3{font-size:1.13rem;color:#d8c28b;margin-top:4px}.hub-row a{color:#dfc278}.hub-row p+p{color:#a99c79}.empty{background:#1c1d14;border-color:#5e573e}.notice{background:#2b2516;color:#cab983;border-color:#7f682f}.bottom-tools{align-items:center}.bottom-tools>a{color:#aa9874;font-size:.76rem}.bottom-tools button{background:linear-gradient(#6c211c,#38110e)}
footer{max-width:1820px;border-color:#433c2c;color:#766e59;font-size:.65rem;line-height:1.6;gap:50px}footer>span:first-child{max-width:950px}footer a{color:#928360}dialog{background:#202018;border:2px ridge #837858;border-radius:2px;box-shadow:0 20px 70px #000;color:#e4d3ac}dialog p{color:#b1a586}dialog::backdrop{background:#000a}.file-label{background:#29291c}.danger{color:#e2a58c}
@media(min-width:1501px){.status{max-width:1760px;padding:0 30px}.chain-layer{min-width:170px}}
@media(max-width:1100px){.layout{grid-template-columns:170px minmax(0,1fr);padding:20px;gap:18px}.map-layout{grid-template-columns:1fr}.phase-cards{grid-template-columns:1fr}.frame-title>span{font-size:.63rem}.quest-column-labels{display:none}.quest summary .pill{min-width:0}.chain-layer{min-width:160px}.metric .value{font-size:1.5rem}}
@media(max-width:720px){.layout{display:block;padding:14px}.sidebar{position:static;margin-bottom:16px}.topbar{padding:12px 15px}.status{padding:0;margin:10px 15px}.brand-book{width:40px;height:40px}.brand{font-size:1.4rem}.dungeon-hero{padding:18px;gap:13px}.hero-icon{width:48px;height:48px}.hero-icon img{width:44px;height:44px}.dungeon-hero h1{font-size:1.9rem}.journal-tabs{overflow:auto;padding:0;gap:3px;white-space:nowrap}.journal-tabs a{padding:8px 12px;font-size:.7rem}.frame-title{padding:8px 14px;flex-wrap:wrap}.frame-title>span{margin-left:0;width:100%;padding-left:36px}.quest-name{min-width:100px}.quest summary{flex-wrap:wrap}.quest summary .pill{margin-left:28px}.quest-xp{min-width:80px;margin-left:auto}.quest-body{padding:0 15px 18px}.chain-layer{min-width:150px}.chain-groups{padding:3px 10px 10px}.map-layout{padding:10px}.checkpoint span{margin-left:0;width:100%}.planner-settings>summary span{float:none;display:block;margin-top:5px}.row-check{margin-left:0}.hub-row{grid-template-columns:1fr;gap:8px}}
@media print{body{background:white;color:black}.game-tooltip,.done-control,.journal-tabs,.planner-settings{display:none}.quest-body{background:#eee;color:black}.chain-scroll{overflow:visible}.chain-node{break-inside:avoid}.frame-title,.hero,.metric{background:white;color:black}h1,h2,h3{color:black;text-shadow:none}}
