.character-app{max-width:1150px;margin:auto;padding:26px 18px 120px}.ch-hero{background:radial-gradient(circle at 90% 0%,#17658a 0%,#004a6b 35%,#1d252a 70%,#171717 100%);border:1px solid #37566a;border-radius:20px;padding:clamp(23px,5vw,44px);margin-bottom:20px}.ch-hero h1{font-size:clamp(34px,5vw,58px);margin:9px 0 10px;line-height:1.12;letter-spacing:-.05em}.ch-hero p{color:#c5d5de;max-width:730px}.ch-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.ch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.ch-card{background:#242627;border:1px solid #414e56;border-radius:14px;padding:18px;min-width:0}.ch-card h2{font-size:19px;margin:0 0 15px}.ch-card h3{font-size:15px;margin:0 0 10px}.ch-card p{color:#b3c0c7}.ch-abilities{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.ch-ability{display:grid;gap:8px;text-align:center;padding:12px;background:#1b252b;border:1px solid #47606e;border-radius:12px}.ch-ability span{color:#bfd8e3;font-size:11px;font-weight:700;letter-spacing:.11em}.ch-mod{border:0;background:transparent;font:800 27px Poppins;color:#fff;cursor:pointer;line-height:1.15}.ch-ability input{width:68px;max-width:100%;margin:auto;text-align:center;background:#151b1e;border:1px solid #46545e;border-radius:7px;padding:7px;color:#fff;font-size:14px}.ch-stat{background:#202e36;border:1px solid #395869;border-radius:12px;padding:16px;display:grid;gap:6px;text-align:center;min-width:0}.ch-stat label{font-size:11px;color:#bed0d9;font-weight:700;letter-spacing:.07em}.ch-stat input{font:700 22px Inter,sans-serif;color:#fff;background:none;text-align:center;border:0;min-width:0;width:100%}.ch-stat strong{font:800 24px Poppins;color:#fff}.ch-section{display:grid;gap:18px}.ch-input{display:grid;gap:6px;min-width:0}.ch-input label{font-size:12px;font-weight:700;color:#c4d5dd}.ch-input input,.ch-input textarea,.ch-input select,.ch-entry select{background:#151a1e;color:#fff;border:1px solid #46535b;border-radius:8px;padding:11px;min-width:0;max-width:100%;width:100%;font:inherit}.ch-input textarea{min-height:110px;resize:vertical;line-height:1.55}.ch-bio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ch-tabs{display:flex;gap:8px;overflow-x:auto;margin:20px 0;padding-bottom:2px}.ch-tabs button{padding:11px 17px;white-space:nowrap;background:#27292b;color:#abbcc6;border:1px solid #41494f;border-radius:10px;font-size:13px;font-weight:700;cursor:pointer}.ch-tabs button.active{background:#1e4558;border-color:#6c9cad;color:#fff}.ch-skill-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.ch-skill{display:flex;align-items:center;gap:8px;background:#202628;border-radius:9px;padding:9px;min-height:48px}.ch-skill span{font-size:13px;flex:1;min-width:0}.ch-skill select{width:72px;background:#172027;color:#bfd8e3;padding:6px;border:1px solid #53646b;border-radius:6px;font-size:12px}.ch-roll{background:#bfd8e3;border:0;color:#122934;font-weight:800;border-radius:8px;padding:8px 10px;min-width:48px;cursor:pointer}.ch-roll:disabled{opacity:.45}.ch-hp-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.ch-entry{display:grid;gap:9px;border:1px solid #3d4b52;background:#20282c;border-radius:11px;padding:14px;margin-bottom:11px}.ch-entry .fields{display:grid;grid-template-columns:2fr 1fr 2fr;gap:9px}.ch-entry button{justify-self:end}.ch-pill{display:inline-block;color:#bedce9;border:1px solid #466c7a;background:#153546;border-radius:50px;font-size:11px;font-weight:700;padding:6px 11px}.ch-help{font-size:12px;color:#9fb4bd}.ch-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ch-toolbar .btn{font-size:13px}.ch-save{font-size:12px;color:#bfd8e3}.ch-result{background:#1c3745;border:1px solid #567b8f;border-radius:13px;padding:16px;margin-bottom:14px}.ch-result strong{font:800 35px Poppins}.ch-result small{color:#c0d8e2}.ch-slot{display:flex;gap:7px;align-items:center;border:1px solid #3b505a;background:#202629;border-radius:9px;padding:12px}.ch-slot label{flex:1}.ch-slot input{width:65px;padding:8px;background:#171b1e;border:1px solid #52616a;border-radius:7px;color:white}.ch-notice{position:fixed;bottom:18px;left:18px;right:18px;z-index:40;max-width:480px;margin:auto;background:#bfd8e3;color:#122934;padding:14px 17px;border-radius:12px;font-weight:700;display:none}.ch-notice.show{display:block}.ch-roster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.ch-roster a{display:block}.ch-topback{font-size:13px;color:#bfd8e3;font-weight:700;display:inline-flex;margin-bottom:19px}.ch-rollmode{background:#202628;border:1px solid #4b626f;border-radius:8px;padding:10px;color:#fff}.ch-layout{display:grid;grid-template-columns:1fr;gap:18px}.ch-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.ch-inline-label{font-size:12px;color:#9eb6bf}.ch-footer{font-size:11px;color:#859aa5;margin-top:28px}input:focus-visible,textarea:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid #bfd8e3;outline-offset:2px}@media(max-width:850px){.ch-abilities{grid-template-columns:repeat(3,minmax(0,1fr))}.ch-two,.ch-roster{grid-template-columns:1fr}.ch-bio{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.character-app{padding:20px 14px 100px}.ch-card{padding:14px}.ch-bio{grid-template-columns:1fr 1fr}.ch-stat{padding:10px}.ch-stat strong{font-size:20px}.ch-skill-list{grid-template-columns:1fr}.ch-entry .fields{grid-template-columns:1fr 1fr}.ch-entry .fields input:first-child{grid-column:1/-1}.ch-hp-row{gap:5px}.ch-hero h1{font-size:34px}.ch-tabs button{padding:10px 13px}.ch-abilities{gap:6px}.ch-ability{padding:10px 4px}.ch-mod{font-size:23px}.ch-row{align-items:flex-start}}
/* D&D Beyond importer */
.ddb-import-card,.ddb-import-review{margin:18px 0}
.ddb-import-card .ch-input input{font-size:15px}
.ddb-import-card .ddb-actions,.ddb-import-review .ddb-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.ddb-manual{margin-top:20px;padding:17px;border-radius:12px;background:#1c252b;border:1px solid #425b69}
.ddb-manual summary{cursor:pointer;color:#cfe4ef;font-weight:700}
.ddb-manual textarea{width:100%;min-height:125px;margin:14px 0;background:#131b20;color:#e9f2f5;border:1px solid #51616b;border-radius:10px;padding:13px;font:13px/1.5 ui-monospace,SFMono-Regular,monospace;resize:vertical}
.ddb-manual ul{color:#c4d3dc;font-size:13px;line-height:1.6;padding-left:22px}
.ddb-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 22px}
.ddb-scores{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:15px 0 26px}
.ddb-import-review h3{color:#bfd8e3;font-size:14px;letter-spacing:.02em;margin:22px 0 8px}
.ddb-import-card button:disabled,.ddb-import-review button:disabled{opacity:.6;cursor:wait}
@media(max-width:700px){.ddb-scores{grid-template-columns:repeat(3,minmax(0,1fr))}.ddb-review-grid{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.ddb-review-grid{grid-template-columns:1fr}.ddb-import-card .ddb-actions .btn{width:100%}}
