:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#0b0d12;--surface:#131720;--surface-hover:#1a202c;--border:#272e3b;--text:#edf0f6;--muted:#919bad;--accent:#e4b66a}*{box-sizing:border-box}html{background:var(--background);min-height:100%}body{color:var(--text);margin:0;font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.6}a{color:inherit;text-decoration:none}.site-header{border-bottom:1px solid var(--border);background:#0e1118}.header-inner{justify-content:space-between;align-items:center;gap:16px;max-width:1120px;min-height:76px;margin:0 auto;padding:16px 24px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand-mark,.character-icon{width:42px;height:42px;color:var(--accent);background:#242018;border:1px solid #655237;border-radius:12px;place-items:center;font-weight:800;display:grid}.brand strong,.brand small{display:block}.brand strong{font-size:16px}.brand small{color:var(--muted);font-size:12px}.header-label,.eyebrow{color:var(--accent);letter-spacing:.16em;font-size:11px;font-weight:700}.container{max-width:1120px;min-height:calc(100vh - 150px);margin:0 auto;padding:48px 24px 72px}.hero,.detail-hero{border:1px solid var(--border);background:radial-gradient(ellipse at top right, #29251c 0%, transparent 48%), var(--surface);border-radius:20px;padding:30px}h1{letter-spacing:-.04em;margin:8px 0;font-size:clamp(30px,5vw,44px);line-height:1.2}h2,h3,p{margin-top:0}h2{margin-bottom:0;font-size:21px}h3{font-size:17px}.muted,.character-id{color:var(--muted)}.character-id{overflow-wrap:anywhere;font-size:12px}.stats{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.stat-card{border:1px solid var(--border);background:#0f1219;border-radius:12px;flex-direction:column;gap:4px;min-width:130px;padding:14px 18px;display:flex}.stat-card strong{font-size:25px}.section{margin-top:40px}.section-heading,.category-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.character-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:16px;display:grid}.character-card{border:1px solid var(--border);background:var(--surface);border-radius:16px;min-width:0;padding:20px;transition:background .15s,border-color .15s,transform .15s;display:block}.character-card:hover{background:var(--surface-hover);border-color:#655237;transform:translateY(-2px)}.character-card h3{overflow-wrap:anywhere;margin:18px 0 4px}.character-card-top{justify-content:space-between;align-items:center;display:flex}.card-arrow{color:var(--muted);font-size:20px}.card-stats{border-top:1px solid var(--border);color:var(--muted);gap:22px;margin-top:20px;padding-top:14px;font-size:13px;display:flex}.card-stats strong{color:var(--text);margin-right:6px}.empty-state{border:1px dashed var(--border);color:var(--muted);text-align:center;border-radius:14px;padding:28px}.empty-state h3{color:var(--text)}.back-link{color:var(--accent);margin-bottom:20px;display:inline-block}.back-link:hover{text-decoration:underline}.data-list{border:1px solid var(--border);background:var(--surface);border-radius:12px;overflow:hidden}.data-row{justify-content:space-between;align-items:center;gap:16px;padding:13px 16px;display:flex}.data-row+.data-row{border-top:1px solid var(--border)}.data-row>span:first-child{overflow-wrap:anywhere}.enchant{color:var(--accent);font-variant-numeric:tabular-nums;background:#292319;border:1px solid #665334;border-radius:8px;flex-shrink:0;padding:3px 10px;font-weight:700}.category-section{margin-top:24px}.category-heading h3{align-items:center;gap:10px;margin:0;display:flex}.category-empty{border:1px solid var(--border);color:var(--muted);border-radius:10px;padding:12px 16px;font-size:13px}.site-footer{border-top:1px solid var(--border);color:var(--muted);text-align:center;padding:22px 24px;font-size:12px}@media (max-width:600px){.header-inner{padding:14px 18px}.header-label{display:none}.container{padding:28px 16px 48px}.hero,.detail-hero{padding:22px 18px}.character-grid{grid-template-columns:1fr}}.header-actions{align-items:center;gap:20px;display:flex}.auth-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.avatar{object-fit:cover;border-radius:50%}.auth-button{color:#f3f4f6;font:inherit;cursor:pointer;background:#252936;border:1px solid #414657;border-radius:8px;padding:9px 14px}@media (max-width:600px){.header-actions{flex-direction:column;align-items:flex-end;gap:8px}}.create-character-form{max-width:520px;margin-top:24px}.create-character-form label{margin-bottom:8px;font-weight:600;display:block}.form-row{gap:10px;display:flex}.form-row input{color:#f3f4f6;min-width:0;font:inherit;background:#171a22;border:1px solid #414657;border-radius:8px;flex:1;padding:10px 12px}@media (max-width:480px){.form-row{flex-direction:column}}.directory-controls{border:1px solid var(--border);background:var(--surface);border-radius:16px;grid-template-columns:minmax(0,2fr) minmax(150px,1fr) minmax(150px,1fr) auto;align-items:end;gap:14px;margin:20px 0 28px;padding:18px;display:grid}.directory-search,.directory-select{flex-direction:column;gap:7px;min-width:0;display:flex}.directory-search label,.directory-select label{color:var(--muted);font-size:12px;font-weight:700}.directory-search input,.directory-select select{width:100%;min-height:44px;color:var(--text);font:inherit;background:#0f1219;border:1px solid #414657;border-radius:9px;padding:10px 12px}.directory-search input::placeholder{color:#737d90}.directory-search input:focus-visible,.directory-select select:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent)}.directory-select select{cursor:pointer}.directory-reset{white-space:nowrap;min-height:44px}.directory-results-heading{margin-bottom:18px}.character-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.card-stats span{align-items:baseline;gap:6px;display:inline-flex}@media (max-width:850px){.directory-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-search{grid-column:1/-1}}@media (max-width:520px){.directory-controls{grid-template-columns:minmax(0,1fr);padding:14px}.directory-search{grid-column:auto}.directory-reset{width:100%}}@media (prefers-reduced-motion:reduce){.character-card{transition:none}}.button,.auth-button{min-height:40px;font:inherit;text-align:center;cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:9px 14px;font-size:14px;font-weight:700;line-height:1.4;transition:background .15s,border-color .15s;display:inline-flex}.button{color:var(--accent);background:#292319;border:1px solid #655237}.button:hover{border-color:var(--accent);background:#393020}.auth-button{color:#f3f4f6;background:#252936;border:1px solid #414657}.auth-button:hover{background:#34394b}.button-secondary{border-color:var(--border);background:var(--surface-hover);color:var(--text)}.button-secondary:hover{background:#252d3b;border-color:#414b5d}.button-danger{color:#ffb4b4;background:#301a20;border-color:#733b42}.button-danger:hover{background:#472128;border-color:#a34c57}.button:focus-visible,.auth-button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.button:disabled,.auth-button:disabled{opacity:.55;cursor:not-allowed}.profile-header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.profile-heading{min-width:0}.profile-heading h1{overflow-wrap:anywhere}.profile-actions{flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;gap:10px;padding-top:8px;display:flex}.profile-stats{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.profile-section{min-width:0}.profile-section-heading{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:18px;display:flex}.profile-section-heading .section-heading{flex:1;min-width:0;margin-bottom:0}.profile-section-heading .section-heading .eyebrow{margin-bottom:4px}.section-action{flex-shrink:0}.count-label{border:1px solid var(--border);min-width:30px;color:var(--muted);font-variant-numeric:tabular-nums;background:#0f1219;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:3px 10px;font-size:12px;font-weight:700;display:inline-flex}.profile-data-list{border-radius:14px}.profile-data-row{justify-content:space-between;align-items:center;gap:18px;padding:16px 18px;display:flex}.entry-info{flex-wrap:wrap;flex:1;align-items:center;gap:12px;min-width:0;display:flex}.entry-name{overflow-wrap:anywhere;min-width:0;font-weight:600}.entry-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;display:flex}.entry-actions form,.profile-actions form,.section-action form{margin:0}.entry-actions button,.entry-actions input[type=submit],.profile-actions button,.profile-actions input[type=submit],.section-action button,.section-action input[type=submit]{max-width:100%}.equipment-categories{gap:24px;display:grid}.category-section{border:1px solid var(--border);background:var(--surface);border-radius:16px;min-width:0;margin-top:0;padding:18px}.category-heading{margin-bottom:14px}.category-heading h3{min-width:0}.category-icon{width:34px;height:34px;color:var(--accent);background:#242018;border:1px solid #655237;border-radius:10px;place-items:center;display:inline-grid}.category-section .data-list{background:#0f1219}.category-section .category-empty{background:#0f1219;border-style:dashed}.profile-empty-state{background:var(--surface)}@media (max-width:700px){.profile-header{flex-direction:column;gap:16px}.profile-actions{justify-content:flex-start;padding-top:0}.profile-section-heading{flex-direction:column;align-items:flex-start}.profile-section-heading .section-heading,.section-action{width:100%}}@media (max-width:560px){.profile-data-row{flex-direction:column;align-items:flex-start;gap:12px;padding:14px}.entry-info{width:100%}.entry-actions{justify-content:flex-start;width:100%}.category-section{padding:12px}.profile-stats{width:100%}.profile-stats .stat-card{flex:1;min-width:0}}.edit-entry-form{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;margin:0;display:flex}.edit-entry-form input{box-sizing:border-box;border:1px solid var(--border);min-height:38px;color:var(--text);font:inherit;background:#0f1219;border-radius:8px;padding:7px 10px;font-size:13px}.edit-entry-form input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.edit-entry-form .edit-entry-name{width:180px;min-width:100px}.edit-entry-form .edit-entry-enchant{font-variant-numeric:tabular-nums;width:82px;min-width:70px}.edit-entry-form .button{min-height:38px;padding:7px 12px}@media (max-width:560px){.edit-entry-form{width:100%}.edit-entry-form .edit-entry-name{flex:1;width:auto}}.add-entry-form{flex-direction:column;gap:8px;width:100%;max-width:600px;margin:0;display:flex}.add-entry-form>label{color:var(--muted);font-size:12px;font-weight:700}.add-entry-fields{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.add-entry-fields input{box-sizing:border-box;border:1px solid var(--border);min-width:0;min-height:40px;color:var(--text);font:inherit;background:#0f1219;border-radius:9px;padding:9px 11px;font-size:13px}.add-entry-fields input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.add-entry-fields input[name=name]{flex:1;min-width:150px}.add-entry-fields input[name=enchantLevel]{font-variant-numeric:tabular-nums;width:100px}.add-entry-fields .button{min-height:40px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:480px){.add-entry-fields input[name=name]{flex-basis:100%}.add-entry-fields input[name=enchantLevel]{flex:1;width:auto}}.add-entry-fields select{box-sizing:border-box;border:1px solid var(--border);min-width:110px;min-height:40px;color:var(--text);font:inherit;cursor:pointer;background:#0f1219;border-radius:9px;padding:9px 30px 9px 11px;font-size:13px}.add-entry-fields select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (max-width:480px){.add-entry-fields select{flex:1;width:auto}}.edit-entry-form select{box-sizing:border-box;border:1px solid var(--border);min-width:110px;min-height:38px;color:var(--text);font:inherit;cursor:pointer;background:#0f1219;border-radius:8px;padding:7px 28px 7px 10px;font-size:13px}.edit-entry-form select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (max-width:560px){.edit-entry-form select{flex:1}}.delete-entry{min-width:0}.delete-confirmation{background:#211519;border:1px solid #733b42;border-radius:10px;flex-direction:column;align-items:flex-start;gap:10px;max-width:100%;padding:14px;display:flex}.delete-confirmation p{overflow-wrap:anywhere;margin:0;font-size:13px}.delete-confirmation-actions{flex-wrap:wrap;gap:8px;display:flex}.delete-confirmation-actions form{margin:0}.delete-confirmation-actions button{max-width:100%}@media (max-width:480px){.delete-confirmation-actions{width:100%}.delete-confirmation-actions form{flex:1}.delete-confirmation-actions button{width:100%}}.create-character-form{width:100%;max-width:520px}.create-character-form .form-row{align-items:stretch}.create-character-form .form-row input{flex:1;width:100%;min-width:0}.create-character-form .form-row button{white-space:nowrap}@media (max-width:480px){.create-character-form .form-row{flex-direction:column}.create-character-form .form-row button{width:100%}}.edit-entry-form select,.edit-entry-form input{max-width:100%}.delete-confirmation{width:fit-content}.delete-confirmation-actions form{display:flex}@media (max-width:560px){.edit-entry-form select,.edit-entry-form .edit-entry-enchant{flex:1}}@media (prefers-reduced-motion:reduce){.button,.auth-button,.character-card{transition:none}.character-card:hover{transform:none}}.edit-mode-toolbar{justify-content:flex-end;margin-bottom:12px;display:flex}.edit-mode-toggle{border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--muted);font:inherit;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:8px 13px;font-size:13px;font-weight:700;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.edit-mode-toggle:hover,.edit-mode-toggle[aria-pressed=true]{color:var(--accent);background:#292319;border-color:#655237}.edit-mode-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (prefers-reduced-motion:reduce){.edit-mode-toggle{transition:none}}.profile-title-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.profile-title-row h1{margin:0}@media (max-width:480px){.profile-title-row{align-items:flex-start}}.character-edit-mode{position:relative}.profile-edit-toolbar{z-index:2;position:absolute;top:24px;right:24px}.profile-edit-toolbar .edit-mode-toggle:disabled{opacity:.6;cursor:default}.edit-mode-footer{justify-content:center;margin:28px 0 12px;display:flex}.edit-mode-done{min-width:120px}@media (max-width:600px){.profile-edit-toolbar{top:16px;right:16px}}.booking-status{margin:12px 0 6px;font-size:.85rem;font-weight:600}.booking-status-available{color:#27865c}.booking-status-booked{color:#c17b24}.booking-user{overflow-wrap:anywhere;margin:0 0 12px;font-size:.8rem}.character-booking-actions{z-index:1;flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px;display:flex;position:relative}.character-booking-actions form{margin:0}.booking-user{overflow-wrap:anywhere}.hero{background:radial-gradient(at 90% 0,#e4b66a1f 0%,#0000 55%),linear-gradient(145deg,#171c27,#11151d);position:relative;overflow:hidden}.hero .eyebrow,.hero h1{margin-bottom:12px}.hero>.muted{max-width:680px;margin-bottom:0}.stats{grid-template-columns:repeat(3,minmax(0,150px));gap:12px;display:grid}.stat-card{background:#0a0d138c;min-width:0;padding:16px;transition:border-color .15s,background .15s}.stat-card:hover{background:#171b24;border-color:#655237}.stat-card strong{font-variant-numeric:tabular-nums;font-size:28px;line-height:1.2}.create-character-form{border-top:1px solid var(--border);margin-top:28px;padding-top:22px}@media (max-width:480px){.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.stat-card{padding:12px 9px}.stat-card strong{font-size:23px}.stat-card .muted{font-size:12px}}@media (prefers-reduced-motion:reduce){.stat-card{transition:none}}.directory-results-heading{align-items:flex-end;margin-bottom:20px}.directory-results-heading .eyebrow{margin-bottom:5px}.directory-results-heading h2{font-size:25px}.character-card{background:linear-gradient(145deg, #e4b66a09, transparent 55%), var(--surface);padding:22px;position:relative;overflow:hidden}.character-card:before{content:"";background:var(--accent);width:3px;height:0;transition:height .18s;position:absolute;top:0;left:0}.character-card:hover:before{height:100%}.character-card h3{letter-spacing:-.02em;margin:20px 0 5px;font-size:21px}.character-card-top{min-height:42px}.character-status{border:1px solid var(--border);border-radius:999px;align-items:center;gap:7px;padding:5px 10px;font-size:11px;font-weight:700;display:inline-flex}.character-status-available{color:#75c99d;background:#27865c1a;border-color:#27865c4d}.character-status-booked{color:#e6b66e;background:#c17b241a;border-color:#c17b244d}.status-dot{background:currentColor;border-radius:50%;width:7px;height:7px}.character-card .booking-user{color:var(--muted);margin-top:14px;margin-bottom:0;font-size:12px}.character-card .booking-user strong{color:var(--text)}.character-card .card-stats{align-items:center;margin-top:22px;padding-top:16px}.character-card .card-arrow{margin-left:auto;font-size:19px;transition:transform .15s}.character-card:hover .card-arrow{color:var(--accent);transform:translate(2px,-2px)}@media (prefers-reduced-motion:reduce){.character-card:before,.character-card .card-arrow{transition:none}}.profile-overview{border:1px solid var(--border);background:linear-gradient(135deg,#d4af3717,#141418f2 55%);border-radius:16px;margin-bottom:24px;padding:28px}.profile-overview-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.profile-overview-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:28px;display:grid}.profile-stat{border:1px solid var(--border);background:#0000002e;border-radius:10px;flex-direction:column;gap:5px;padding:14px 16px;display:flex}.profile-stat-value{color:var(--accent);font-size:1.5rem;font-weight:700}.profile-stat-label{color:var(--muted);font-size:.8rem}@media (max-width:600px){.profile-overview{padding:20px}.profile-overview-header{flex-direction:column}.profile-overview-stats{gap:8px}.profile-stat{padding:12px 10px}}.manager-section{border-color:#d4af3740}.manager-grant-form{margin:20px 0}.manager-form-row{gap:12px;display:flex}.manager-form-row input{min-width:0;color:var(--text,#eee);background:#0000004d;border:1px solid #d4af374d;border-radius:8px;flex:1;padding:12px 14px}.manager-form-row input:focus{border-color:#d4af37;outline:none;box-shadow:0 0 0 2px #d4af371f}.manager-grant-button{color:#17130a;cursor:pointer;background:linear-gradient(135deg,#d4af37,#a98522);border:1px solid #d4af37;border-radius:8px;padding:11px 20px;font-weight:700;transition:all .2s}.manager-grant-button:hover{background:linear-gradient(135deg,#ebca61,#c49d32);transform:translateY(-1px);box-shadow:0 4px 14px #d4af3733}.manager-row{background:#d4af3709;border:1px solid #d4af3729;border-radius:10px;margin-top:10px;padding:16px;transition:border-color .2s,background .2s}.manager-row:hover{background:#d4af3712;border-color:#d4af3766}.manager-revoke-button{color:#e58b8b;cursor:pointer;background:#9628281f;border:1px solid #be4b4b80;border-radius:7px;padding:8px 13px;font-size:.85rem;font-weight:600;transition:all .2s}.manager-revoke-button:hover{color:#faa;background:#aa2d2d40;border-color:#c75b5b}@media (max-width:600px){.manager-form-row{flex-direction:column}.manager-grant-button{width:100%}.manager-row{align-items:flex-start;gap:12px}}.login-page{background:radial-gradient(at 50% 40%,#e4b66a12,#0000 55%),#0b0d12;flex-direction:column;justify-content:center;align-items:center;min-height:calc(100vh - 150px);padding:50px 20px;display:flex;position:relative;overflow:hidden}.login-background-glow{pointer-events:none;border:1px solid #e4b66a0a;border-radius:50%;width:600px;height:600px;position:absolute;top:50%;left:50%;transform:translate(-50%,-55%)}.login-panel{z-index:1;text-align:center;background:radial-gradient(at top,#e4b66a17,#0000 65%),linear-gradient(145deg,#171b24,#10131a);border:1px solid #3c3528;border-radius:18px;width:100%;max-width:440px;padding:48px 38px;position:relative;box-shadow:0 25px 80px #00000073}.login-emblem{width:68px;height:68px;color:var(--accent);background:linear-gradient(145deg,#352c1d,#1b1915);border:1px solid #8a7045;border-radius:18px;place-items:center;margin:0 auto 24px;font-size:34px;font-weight:900;display:grid;box-shadow:0 0 30px #e4b66a14}.login-panel .eyebrow{margin-bottom:10px}.login-panel h1{margin:0;font-size:36px}.login-description{max-width:310px;color:var(--muted);margin:16px auto 28px;font-size:14px}.login-divider{align-items:center;gap:12px;margin:28px 0;display:flex}.login-divider span{background:var(--border);flex:1;height:1px}.login-divider small{color:#747d8d;letter-spacing:.16em;font-size:10px;font-weight:700}.login-discord-button{color:#fff;width:100%;min-height:54px;font:inherit;cursor:pointer;background:#5865f2;border:1px solid #5865f2;border-radius:10px;justify-content:center;align-items:center;gap:12px;font-weight:700;transition:background .15s,transform .15s,box-shadow .15s;display:flex}.login-discord-button:hover{background:#4752c4;transform:translateY(-2px);box-shadow:0 5px 22px #5865f238}.login-discord-button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.discord-icon{width:23px;height:23px}.login-security{color:var(--muted);justify-content:center;align-items:center;gap:9px;margin-top:25px;font-size:11px;display:flex}.login-security-dot{background:#75c99d;border-radius:50%;width:7px;height:7px;box-shadow:0 0 8px #75c99d66}.login-footer{color:#626b7b;letter-spacing:.16em;margin:30px 0 0;font-size:10px;font-weight:700;position:relative}.login-footer span{color:var(--accent);margin:0 8px}@media (max-width:480px){.login-panel{padding:38px 22px}.login-panel h1{font-size:31px}}@media (prefers-reduced-motion:reduce){.login-discord-button{transition:none}}
