@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&family=DM+Sans:wght@400;450;500;550;600;650;700&display=swap');
:root{color-scheme:dark;--bg:#101617;--panel:#171e20;--line:#303735;--muted:#a0aaa6;--gold:#ddbc7b;--text:#ebeee6;--green:#85cbaa}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2{font-family:'Cinzel',Georgia,serif;font-weight:500;line-height:1.2}h3{font-size:1.05rem;font-weight:600}p{color:var(--muted)}.gold{color:var(--gold)}.header{height:100px;padding:0 max(5%,calc((100% - 1370px)/2));display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid #d9be7d22;background:#101617}.brand{display:flex;align-items:center;gap:13px;font-family:'Cinzel',Georgia,serif;font-size:1.5rem;font-weight:600;letter-spacing:1px;line-height:1.2;white-space:nowrap}.brand-icon{border:1px solid #ddbc7b6b;color:var(--gold);padding:4px 11px;transform:rotate(-5deg);font-size:2rem}.brand small{display:block;font-family:'DM Sans',Arial,sans-serif;font-size:.64rem;letter-spacing:2px;margin-top:7px;color:var(--muted)}nav{display:flex;gap:32px;font-size:.9rem}nav a{padding:38px 0 33px;color:var(--muted);border-bottom:2px solid transparent}nav a.active,nav a:hover{color:var(--gold);border-color:var(--gold)}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:12px 22px;border-radius:4px;font-weight:600;font-size:.95rem;transition:background .18s,transform .18s}.button:hover{transform:translateY(-1px)}.primary{background:var(--gold);color:#18201c;border:1px solid var(--gold);box-shadow:0 3px 18px #ddbc7b0d}.primary:hover{background:#efcd8b}.subtle{background:#ffffff03;border:1px solid #cdb58840;color:var(--text)}.subtle:hover{background:#ddbc7b12}.small{padding:10px 17px;font-size:.875rem}.full{width:100%}.hero{height:425px;position:relative;overflow:hidden;border-bottom:1px solid #ddbc7b30}.hero-art{position:absolute;inset:0;background-image:linear-gradient(90deg,#101617 1%,#101617ee 21%,#10161773 52%,#1016170a 80%),linear-gradient(0deg,#101617 0%,transparent 47%),url('./assets/forever-header.png');background-size:cover;background-position:center,center,center 43%}.hero-content{position:relative;max-width:1370px;width:90%;margin:auto;padding-top:47px}.eyebrow{font-size:.72rem;letter-spacing:2.1px;font-weight:650;color:var(--gold);display:flex;align-items:center;gap:10px}.tiny-line{width:24px;height:1px;background:var(--gold)}h1{font-size:clamp(2.4rem,4.2vw,3.85rem);margin:19px 0 17px;letter-spacing:-.7px}h1 em{color:var(--gold);font-style:normal}.hero p{font-size:1.03rem;color:#c3cbc2}.hero-bottom{display:flex;align-items:center;gap:18px;margin-top:26px;font-size:.81rem;color:#bec6bd}.hero-bottom strong{font-weight:500;color:#eee9d7}.pill{font-size:.65rem;letter-spacing:1.1px;padding:4px 9px;border:1px solid #ddbc7b66;background:#ddbc7b0a;color:var(--gold);border-radius:3px}.art-credit{position:absolute;bottom:36px;right:5%;font-size:.67rem;letter-spacing:3px;color:#e8e5d5;text-align:right}.art-credit span{display:block;font-size:.56rem;letter-spacing:1.6px;color:#b2bab1;margin-top:5px}.planner,.how,.addon-banner{max-width:1370px;width:90%;margin:0 auto}.planner{padding-top:40px}.section-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px}.section-top h2{font-size:1.8rem;margin-top:8px}.database-status{font-size:.8rem;color:var(--muted)}.workspace{display:grid;grid-template-columns:320px minmax(0,1fr);gap:30px}.panel{border:1px solid var(--line);background:linear-gradient(130deg,#1c2425,#161d1f);padding:24px;border-radius:6px}.panel-title{display:flex;gap:13px;align-items:center;margin-bottom:12px}.step{font-size:.75rem;color:var(--gold);border:1px solid #ddbc7b45;padding:2px 6px;border-radius:2px}.import-panel p{font-size:.88rem;margin-bottom:17px}.import-panel code,code{font-family:monospace;color:var(--gold)}textarea{resize:vertical;width:100%;min-height:110px;background:#101718;border:1px solid #39413e;border-radius:4px;padding:12px;color:var(--text);font-size:.86rem;margin-bottom:10px}textarea::placeholder{color:#7e8b84}.or{display:flex;align-items:center;gap:10px;color:#849189;font-size:.63rem;letter-spacing:1.4px;margin:18px 0}.or span{height:1px;flex:1;background:var(--line)}.import-panel .privacy{font-size:.74rem;text-align:center;color:#86968b;margin:15px 0 0}.character-panel{margin-top:18px}.character-heading{display:flex;align-items:center;gap:12px;padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:18px}.character-icon{font-size:1.6rem;color:var(--gold);border:1px solid #ddbc7b44;background:#ddbc7b0d;width:48px;height:48px;display:grid;place-items:center;border-radius:4px}.character-heading h3{font-size:1rem}.character-heading span:not(.character-icon){font-size:.75rem;color:var(--muted)}.fields{display:grid;grid-template-columns:1fr 72px;gap:12px}label{font-size:.8rem;color:var(--muted)}input,select{min-height:42px;background:#11191b;color:#e5e9e2;border:1px solid #333f3e;padding:9px 11px;border-radius:4px;max-width:100%}select{width:100%;padding-right:25px}.fields input{width:100%}.fields label select,.fields label input{display:block;margin-top:6px}.block-label{display:block;margin-top:13px}.block-label select{margin-top:6px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;font-size:.73rem;margin-top:16px}.stat-grid strong{display:block;color:#e7ebdf;font-size:1rem;font-weight:500}.aside-note{display:flex;gap:15px;padding:23px 7px}.aside-note>span{color:var(--gold);font-size:1.6rem}.aside-note p{font-size:.8rem}.aside-note strong{color:#c8cfc3;font-weight:500;line-height:2}.mode-tabs{display:flex;border-bottom:1px solid #36403b;gap:25px}.mode-tabs button{padding:0 2px 18px;background:none;border:0;border-bottom:2px solid transparent;color:var(--muted);font-size:.95rem;display:flex;gap:9px;align-items:center}.mode-tabs button[aria-selected=true]{border-bottom-color:var(--gold);color:var(--gold)}.result-toolbar{display:flex;align-items:center;justify-content:space-between;padding:24px 0 20px;gap:12px}.result-toolbar h3{font-size:1.2rem}.result-toolbar p{font-size:.83rem;margin-top:4px}.text-button{color:var(--gold);padding:0;background:none;border:0;font-size:.82rem;line-height:1.7;text-align:left}.text-button:hover{text-decoration:underline}.filters{display:grid;grid-template-columns:minmax(0,1.5fr) 1fr 1.2fr;gap:10px}.filters input{width:100%}.filters select,.filters input{font-size:.82rem;background:#1a2223}.planning-line{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:17px 0;font-size:.76rem;color:var(--muted)}.planning-line label{display:flex;align-items:center;gap:8px}.planning-line input{min-height:0;accent-color:var(--gold)}.notice{border-left:2px solid #b49c67;background:#ceb97708;padding:10px 13px;font-size:.76rem;color:#bdb7a6;margin-bottom:15px}.results{display:grid;gap:10px}.item-card{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px;background:linear-gradient(100deg,#1b2326,#192021);border:1px solid #333c3d;border-radius:5px;cursor:pointer;text-align:left;color:var(--text);width:100%}.item-card:hover{border-color:#ddbc7b80;background:#222c2c}.item-icon{width:52px;height:52px;border:1px solid #70849b;border-radius:4px;object-fit:cover;background:#101616}.item-card h4{margin:0 0 3px;font-size:1rem;font-weight:550}.quality-Rare{color:#7bbcff}.quality-Epic{color:#c594f5}.quality-Uncommon{color:#8cd58a}.quality-Legendary{color:#f2b267}.item-info{font-size:.75rem;color:#a0aca7}.item-stats{color:#a8bdb1;font-size:.76rem;margin-top:6px}.item-score{text-align:right;min-width:95px}.item-score strong{font-size:1rem;font-weight:550;color:var(--green);display:block}.item-score small{color:#91a196;font-size:.7rem}.empty{padding:50px 24px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:5px}.result-foot{border-top:1px solid var(--line);padding-top:21px;margin-top:25px;display:flex;justify-content:space-between;gap:15px}.result-foot span{font-size:.61rem;letter-spacing:1.4px;color:#86998c}.result-foot p{font-size:.72rem}#more-button{margin-top:18px}.how{border-top:1px solid var(--line);margin-top:65px;padding:50px 0}.how h2{font-size:1.8rem;margin-top:10px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:33px}.steps article{border-left:1px solid #ddbc7b47;padding-left:22px}.steps article>span{font-size:.7rem;letter-spacing:1.7px;color:var(--gold)}.steps h3{margin:12px 0 8px;font-family:'Cinzel',Georgia,serif;font-size:1.1rem}.steps p{font-size:.88rem;max-width:340px}.addon-banner{background:linear-gradient(115deg,#242e2b,#192124);border:1px solid #b2996c50;border-radius:6px;padding:35px;display:flex;justify-content:space-between;align-items:center;gap:30px}.addon-banner h2{font-size:1.65rem;margin:8px 0 11px}.addon-banner p{font-size:.9rem}.addon-banner .secondary{font-size:.72rem;margin-top:10px}.addon-banner .text-button{text-align:center;margin-top:12px}footer{width:90%;max-width:1370px;margin:50px auto 0;padding:27px 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:30px}footer .brand{font-size:1rem;gap:0}footer p{font-size:.7rem}footer .text-button{font-size:.7rem}footer>span{font-size:.6rem;letter-spacing:1.6px;color:#81958a}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;top:-100px;background:var(--gold);color:#111;padding:10px;z-index:10}.skip:focus{top:0}dialog{background:#182123;color:var(--text);border:1px solid #7b7155;border-radius:8px;width:min(650px,94vw);padding:35px;max-height:85vh}dialog::backdrop{background:#050c0ee0;backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:13px;top:9px;background:none;border:none;color:#c6cbbb;font-size:1.7rem}dialog h2{font-size:1.6rem;margin-bottom:20px}dialog p{margin:12px 0;font-size:.93rem}dialog a{color:var(--gold);text-decoration:underline}dialog ul,dialog ol{padding-left:24px;color:#bcc8be}dialog dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:.9rem}dialog dt{color:var(--muted)}dialog dd{text-align:right;margin:0}dialog pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#101718;padding:15px;font-size:.75rem;max-height:260px;overflow:auto}.weights{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.weights label{display:flex;flex-direction:column;gap:5px}#import-message{font-size:.8rem;color:var(--gold);margin-top:9px}#inspect-button{margin-top:16px}details{border-bottom:1px solid var(--line);padding:10px 0}summary{cursor:pointer;color:var(--gold)}[hidden]{display:none!important}
@media(min-width:1600px){.hero{height:460px}.hero-content{padding-top:56px}}@media(max-width:1050px){.header{gap:20px}nav{gap:18px}.brand{font-size:1.2rem}.brand small{font-size:.55rem}.workspace{grid-template-columns:285px minmax(0,1fr);gap:22px}.panel{padding:20px}.filters{grid-template-columns:1fr 1fr}.filters label:first-child{grid-column:1/-1}.art-credit{display:none}.mode-tabs{gap:15px}.result-foot{display:block}.mode-tabs button{font-size:.85rem}footer>span{display:none}}@media(max-width:760px){.header{height:auto;min-height:83px;flex-wrap:wrap;padding-top:16px;padding-bottom:0;gap:14px}.header nav{order:3;width:100%;justify-content:space-between;gap:10px}.header nav a{padding:5px 0 12px;font-size:.8rem}.header>.button{font-size:.75rem;padding:8px 12px}.brand{font-size:1.1rem}.brand small{font-size:.5rem}.brand-icon{font-size:1.5rem}.hero{height:355px}.hero-content{padding-top:29px}.hero-art{background-position:center,center,62% center;background-image:linear-gradient(90deg,#101617e6,#10161774),linear-gradient(0deg,#101617,transparent 80%),url('./assets/forever-header.png')}.hero .eyebrow{font-size:.56rem;letter-spacing:1.3px}h1{font-size:2.6rem}.hero p{font-size:.9rem}.hero-bottom{gap:10px;flex-wrap:wrap;font-size:.72rem;margin-top:23px}.workspace{grid-template-columns:1fr}.sidebar{display:grid;grid-template-columns:1fr 1fr;gap:15px}.character-panel{margin-top:0}.aside-note{grid-column:1/-1;padding:0 4px}.section-top{align-items:start;flex-direction:column;gap:8px}.section-top h2{font-size:1.5rem}.section-top .eyebrow{font-size:.6rem}.database-status{font-size:.73rem}.planner{padding-top:26px}.steps{grid-template-columns:1fr;gap:25px}.steps p{max-width:none}.how{margin-top:40px;padding:35px 0}.how h2{font-size:1.5rem}.addon-banner{padding:24px;flex-direction:column;align-items:stretch}.addon-banner .button{width:100%}footer{flex-direction:column;align-items:start;gap:15px;margin-top:35px}.item-card{gap:12px;padding:14px}.item-card h4{font-size:.9rem}.item-score{min-width:75px}.item-score strong{font-size:.88rem}.item-info{font-size:.7rem}.result-foot{display:none}}@media(max-width:480px){.sidebar{grid-template-columns:1fr}.character-panel{display:block}.import-panel textarea{min-height:85px}.hero{height:365px}.hero-bottom{max-width:300px}.mode-tabs{justify-content:space-between;gap:8px}.mode-tabs button{font-size:.8rem;gap:5px}.item-card{grid-template-columns:43px minmax(0,1fr)}.item-icon{width:43px;height:43px}.item-score{grid-column:2;text-align:left;display:flex;gap:8px;align-items:center}.item-stats{font-size:.72rem}.filters{grid-template-columns:1fr 1fr}.result-toolbar{align-items:start}.result-toolbar h3{font-size:1.1rem}.weights{grid-template-columns:1fr 1fr}.planning-line{align-items:start}.eyebrow{font-size:.6rem}.addon-banner h2{font-size:1.4rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Keep the planner visible alongside the artwork at common laptop sizes. */
@media(min-width:761px){.header{height:84px}.header nav a{padding-top:29px;padding-bottom:27px}.hero{height:290px}.hero-content{padding-top:22px}h1{font-size:2.7rem;margin:10px 0}.hero-bottom{margin-top:14px}.hero p{font-size:.95rem}.hero .art-credit{bottom:25px}.planner{padding-top:28px}.section-top{margin-bottom:20px}.section-top h2{font-size:1.6rem}}
