:root{color-scheme:dark;font-family:Arial,Helvetica,sans-serif;color:#edece7;background:#111415;font-size:16px;--line:#3e4647;--muted:#aab1af;--green:#9bdb9f;--red:#ffaaa3;--gold:#e1b765}*{box-sizing:border-box}body{margin:0;padding:26px 32px 15px;background:linear-gradient(120deg,#1c2423,#111415 60%);min-height:100vh}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px;gap:20px}h1{font-size:clamp(21px,2.2vw,32px);letter-spacing:.025em;margin:0;font-weight:800}h1 span{color:var(--gold)}header p{font-size:13px;letter-spacing:.08em;color:var(--muted);margin:9px 0 0}header b{color:#eee}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible{outline:2px solid var(--gold);outline-offset:-3px}.topnote{color:var(--muted);font-size:14px;text-align:right;max-width:240px;line-height:1.5}.layout{display:grid;grid-template-columns:.95fr 1.2fr 1fr;gap:13px;height:calc(100vh - 205px);min-height:520px}.panel{border:1px solid var(--line);background:#171b1c;display:flex;flex-direction:column;min-height:0}.panel h2{font-size:19px;letter-spacing:.01em;margin:0;padding:16px 18px;background:#202627;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.count{font-size:13px;color:var(--muted);font-weight:normal}.stack{display:grid;grid-template-rows:1fr 1fr;gap:13px;min-height:0}.right{grid-template-rows:1.1fr .9fr}.list{overflow:auto;scrollbar-width:thin;scrollbar-color:#58605b #171b1c;padding:5px 8px}.row{display:flex;align-items:center;min-height:47px;border-bottom:1px solid #303637;position:relative}.row:last-child{border:0}.choose{flex:1;background:transparent;border:0;text-align:left;padding:12px 9px;display:flex;align-items:center;justify-content:space-between;gap:12px;line-height:1.3;min-width:0}.row:hover{background:#252d2c}.row.chosen{background:#34382d;box-shadow:inset 3px 0 var(--gold)}.positive .choose{color:var(--green)}.negative .choose{color:var(--red)}.cost{font-variant-numeric:tabular-nums;flex-shrink:0;font-size:15px;font-weight:bold}.info{border:0;background:transparent;color:#aab1af;padding:9px 8px;font-size:16px;flex-shrink:0}.unavailable .choose{opacity:.42;cursor:not-allowed}.empty{color:var(--muted);line-height:1.7;padding:16px 12px;font-size:15px}.selected .choose{font-size:15px}.remove{font-size:22px}.given{font-size:12px;color:var(--muted)}.skill{display:grid;grid-template-columns:1fr 95px 25px;align-items:center;gap:12px;padding:12px 10px;border-bottom:1px solid #303637;font-size:14px}.bars{display:flex;gap:3px;height:18px}.bar{width:7px;background:#303836}.bar.on{background:var(--green)}.bottom{display:flex;align-items:center;justify-content:flex-end;gap:24px;padding:16px 0 8px}.points{font-size:18px;font-weight:bold;display:flex;align-items:center;gap:14px}.points strong{font-size:30px;font-variant-numeric:tabular-nums;color:var(--green)}.points.over strong{color:var(--red)}.reset{padding:11px 20px;background:#272c2d;border:1px solid #606767;font-weight:bold}.reset:hover{background:#3b4441}.status{margin-right:auto;color:var(--muted);font-size:14px}.status.error{color:var(--red)}footer{font-size:12px;color:#9da5a2;line-height:1.6;display:flex;justify-content:space-between;gap:30px}.tooltip{position:fixed;z-index:10;max-width:390px;width:max-content;background:#080b0b;border:1px solid #858b78;box-shadow:0 10px 28px #0009;padding:17px 19px;pointer-events:none;font-size:15px;line-height:1.6;max-height:70vh;overflow:auto}.tooltip h3{font-size:17px;margin:0 0 8px;color:var(--gold)}.tooltip p{margin:0;white-space:pre-line}.tooltip .warning{margin-top:10px;color:var(--red)}.tooltip[hidden]{display:none}@media(max-width:950px){body{padding:20px 16px}.layout{grid-template-columns:.85fr 1.15fr;height:auto;min-height:0}.professions{max-height:650px}.stack{min-height:600px}.right{grid-column:1/-1;grid-template-columns:1fr 1fr;grid-template-rows:300px;min-height:0}.bottom{flex-wrap:wrap}.topnote{display:none}footer{display:block}}@media(max-width:580px){.layout{display:flex;flex-direction:column}.professions{height:250px}.stack{min-height:0;display:flex;flex-direction:column}.stack>.panel{height:350px}.right>.panel{height:260px}.bottom{gap:14px;justify-content:space-between}.status{width:100%}.points{font-size:16px}h1 span{display:block}.tooltip{max-width:calc(100vw - 24px)}header p{font-size:12px;line-height:1.6}footer span{display:block;margin-top:8px}}

@media(min-width:581px) and (max-width:950px){.layout>.stack:not(.right){height:650px;min-height:0}}
