*{box-sizing:border-box}:root{--ink:#171717;--muted:#6b6b6b;--line:#ddd;--soft:#f7f7f7}body{margin:0;background:#fff;color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.5}h1{margin:0 0 18px;font-size:clamp(3rem,8vw,6rem);line-height:.95;letter-spacing:-.055em}.page-title{font-size:clamp(2.7rem,7vw,5rem)}.lead{font-size:1.2rem}.back{color:var(--muted);text-decoration:none}.step{margin-top:38px;margin-bottom:10px;font-size:.73rem;font-weight:800;letter-spacing:.14em}.notice,.error,.success{margin:25px 0;padding:14px;border:1px solid var(--line);border-radius:10px}.error{border-color:#b33}.success{border-color:#498655}.button,button{padding:12px 18px;border:1px solid var(--ink);border-radius:9px;background:var(--ink);color:#fff;text-decoration:none;font:inherit;font-weight:650;cursor:pointer}.secondary{background:#fff;color:var(--ink)}form{margin-top:28px}label{display:block;margin:18px 0 7px;font-weight:650}input,textarea,select{width:100%;padding:13px;border:1px solid #bbb;border-radius:9px;background:#fff;font:inherit}.url-row{display:grid;grid-template-columns:1fr auto;gap:10px}.review-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.75fr);gap:48px}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}.checkwrap{display:flex;align-items:end}.check{width:auto}.optional{color:var(--muted);font-weight:400}.media{margin-top:25px;padding:18px;background:var(--soft);border-radius:12px}.logo{width:64px;height:64px;object-fit:contain;border:1px solid var(--line);border-radius:12px;margin:8px 0}.preview{position:sticky;top:30px;margin-top:28px;padding:22px;border:1px solid var(--line);border-radius:14px}.actions{display:flex;gap:10px;margin-top:28px}.shots{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:14px 0}.shots img{width:100%;border:1px solid var(--line);border-radius:10px}.project-head{display:flex;gap:22px;align-items:center;margin-top:40px}.hero-logo{width:90px;height:90px;object-fit:contain;border:1px solid var(--line);border-radius:18px}.big{font-size:1.25rem;max-width:760px}.long{max-width:760px;margin:28px 0}@media(max-width:760px){.url-row,.review-grid,.two-cols{grid-template-columns:1fr}.preview{position:static}.actions{flex-direction:column}.shots{grid-template-columns:1fr}}
.media-title{display:flex;justify-content:space-between;align-items:center;gap:12px}.media-title h3{margin:0}
.hint{color:var(--muted);margin-top:5px}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:14px 0}
.shot-card{position:relative;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}.shot-card img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.shot-card .remove{position:absolute;right:7px;bottom:7px;padding:6px 9px;background:#fff;color:var(--ink);font-size:.8rem}.new-shot span{position:absolute;left:7px;top:7px;background:#fff;padding:3px 7px;border-radius:6px;font-size:.75rem}
.add-files{display:inline-block;margin-top:8px;padding:10px 13px;border:1px dashed #999;border-radius:9px;cursor:pointer}.add-files input{display:none}
.working{margin-top:12px;color:var(--muted)}button:disabled{opacity:.6;cursor:wait}.hidden-form{display:none}
@media(max-width:760px){.gallery{grid-template-columns:1fr}}
.alert{display:grid;grid-template-columns:42px 1fr;gap:13px;align-items:start;margin:25px 0;padding:17px 18px;border:1px solid;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.alert-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;font-weight:850;font-size:1rem;background:#fff;border:1px solid currentColor}
.alert-title{display:block;margin:1px 0 3px;font-size:1.03rem}.alert-note{margin:9px 0 0;font-weight:600}.alert-actions{margin:10px 0 0}.alert-actions a{font-weight:750;color:inherit}
.alert-success{background:#eef8f0;border-color:#83ad8b;color:#245a2e}.alert-info{background:#eef5fb;border-color:#88aeca;color:#244f70}
.alert-warning{background:#fff8e8;border-color:#d2a952;color:#73510d}.alert-error{background:#fff0f0;border-color:#cf8585;color:#7d2727}
.fallback-actions{display:flex;align-items:center;gap:13px;margin-top:14px}.fallback-actions span{color:var(--muted);font-size:.9rem}
.manual-divider{display:flex;align-items:center;gap:12px;margin:32px 0 18px;color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.12em}
.manual-divider:before,.manual-divider:after{content:"";height:1px;background:var(--line);flex:1}.manual-entry{text-align:center}.manual-entry a{font-weight:700;color:var(--ink)}
@media(max-width:600px){.alert{grid-template-columns:34px 1fr}.fallback-actions{align-items:stretch;flex-direction:column}.fallback-actions span{text-align:center}}
.logo-editor{display:flex;align-items:center;gap:16px;margin-top:12px;flex-wrap:wrap}
.logo-thumb{width:92px;height:92px;border:1px solid var(--line);border-radius:10px;background:#fff;display:grid;place-items:center;overflow:hidden;flex:0 0 92px}
.logo-thumb img{display:block;width:100%;height:100%;object-fit:contain;padding:6px;box-sizing:border-box}
.logo-thumb.empty{background:#fafafa;color:var(--muted);font-size:.78rem}
.compact-gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}
.compact-gallery .shot-card{border-radius:8px}
.compact-gallery .shot-card img{aspect-ratio:16/10;object-fit:cover}
.shot-card .remove{position:absolute;right:5px;top:5px;bottom:auto;width:25px;height:25px;padding:0;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.94);color:#222;border:1px solid rgba(0,0,0,.16);font-size:17px;line-height:1;cursor:pointer}
.shot-card .new-badge{position:absolute;left:5px;top:5px;background:rgba(255,255,255,.94);padding:3px 6px;border-radius:5px;font-size:.68rem;font-weight:700}
.add-files.is-disabled{opacity:.45;cursor:not-allowed}
@media(max-width:760px){.compact-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
#screenshots-gallery{display:grid!important}
#screenshots-gallery:empty{display:none!important}
#screenshots-gallery .shot-card{min-width:0}
#screenshots-gallery .shot-card img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:16/10;object-fit:cover}
#logo-preview{display:grid!important}
#logo-preview img{display:block!important;max-width:100%;max-height:100%}
.working-error{color:#7d2727;font-weight:700}
.compact-gallery{grid-template-columns:repeat(4,110px)!important;justify-content:start}
.compact-gallery .shot-card{width:110px}
.compact-gallery .shot-card img{width:110px!important;height:70px!important;aspect-ratio:auto!important}
.logo-thumb{width:80px!important;height:80px!important;flex-basis:80px!important}
@media(max-width:600px){.compact-gallery{grid-template-columns:repeat(2,110px)!important}}
.compact-gallery{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
.compact-gallery .shot-card{width:84px!important;height:54px!important;flex:0 0 84px!important;position:relative}
.compact-gallery .shot-card img{width:84px!important;height:54px!important;object-fit:cover!important;border-radius:6px}
.logo-preview-wrap{position:relative;width:64px;height:64px;flex:0 0 64px}
.logo-thumb{width:64px!important;height:64px!important;min-width:64px!important}
.logo-thumb img{width:100%!important;height:100%!important;object-fit:contain!important}
.media-x{position:absolute!important;right:-6px!important;top:-6px!important;width:22px!important;height:22px!important;min-width:22px!important;padding:0!important;border-radius:50%!important;background:#fff!important;color:#111!important;border:1px solid #aaa!important;display:grid!important;place-items:center!important;font-size:16px!important;line-height:1!important;z-index:5}
.media-x.hidden{display:none!important}
.stored-shot .remove{right:-6px!important;top:-6px!important;width:22px!important;height:22px!important;padding:0!important}
#project-form #screenshots-gallery.compact-gallery{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:flex-start !important;
  gap:8px !important;
  margin:12px 0 !important;
}
#project-form #screenshots-gallery .shot-card{
  position:relative !important;
  display:block !important;
  width:96px !important;
  height:64px !important;
  min-width:96px !important;
  max-width:96px !important;
  min-height:64px !important;
  max-height:64px !important;
  flex:0 0 96px !important;
  overflow:hidden !important;
  padding:0 !important;
  margin:0 !important;
  border-radius:7px !important;
}
#project-form #screenshots-gallery .shot-card > img{
  display:block !important;
  width:96px !important;
  height:64px !important;
  min-width:0 !important;
  max-width:96px !important;
  min-height:0 !important;
  max-height:64px !important;
  object-fit:cover !important;
  object-position:center !important;
  margin:0 !important;
  padding:0 !important;
}
#project-form .logo-preview-wrap{
  position:relative !important;
  width:72px !important;
  height:72px !important;
  min-width:72px !important;
  max-width:72px !important;
  flex:0 0 72px !important;
}
#project-form #logo-preview.logo-thumb{
  display:grid !important;
  place-items:center !important;
  width:72px !important;
  height:72px !important;
  min-width:72px !important;
  max-width:72px !important;
  min-height:72px !important;
  max-height:72px !important;
  overflow:hidden !important;
  padding:0 !important;
}
#project-form #logo-preview.logo-thumb > img{
  display:block !important;
  width:64px !important;
  height:64px !important;
  min-width:0 !important;
  max-width:64px !important;
  min-height:0 !important;
  max-height:64px !important;
  object-fit:contain !important;
  margin:0 !important;
  padding:0 !important;
}
.alert{grid-template-columns:42px minmax(0,1fr);width:100%;overflow-wrap:break-word}
.alert>div:last-child{min-width:0;width:auto;max-width:100%;overflow-wrap:anywhere}
.alert-title{overflow-wrap:break-word}
.auth-alert{display:block;width:100%;max-width:100%;white-space:normal;overflow-wrap:break-word}
.google-signin{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:48px;margin:18px 0 0;padding:11px 18px;background:#fff;color:#242424;border:1px solid #dadce0;border-radius:7px;text-decoration:none;font:500 15px/1.4 system-ui,-apple-system,'Segoe UI',sans-serif;transition:background .15s,border-color .15s,box-shadow .15s}
.google-signin:hover{background:#f8fafd;border-color:#b7c3d5;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.google-signin:focus-visible{outline:3px solid #8ab4f8;outline-offset:3px}
.google-signin svg{width:20px;height:20px;flex:none}
@media(max-width:600px){.alert{grid-template-columns:34px minmax(0,1fr)}}
.site-header{border-bottom:1px solid #e8eaf0;background:#fff;position:relative;z-index:20}
.site-nav{min-height:70px;display:flex;align-items:center;gap:32px}
.brand{font-size:1.45rem;font-weight:900;letter-spacing:-.07em;color:#171717;text-decoration:none;white-space:nowrap}.brand-dot{color:#0879f9}
.nav-links{display:flex;gap:23px;align-items:center;margin-right:auto}.nav-links a,.nav-account>a{font-size:.91rem;text-decoration:none;color:#272a31;font-weight:600}
.nav-links a:hover,.nav-account>a:hover{color:#0879f9}.nav-account{display:flex;align-items:center;gap:16px;margin-left:auto}
.nav-account .nav-signup{padding:9px 15px;background:#0879f9;color:#fff;border-radius:8px}.nav-account .nav-signup:hover{color:#fff;background:#0667d7}
.user-menu{position:relative}.user-menu summary{display:flex;align-items:center;gap:9px;cursor:pointer;list-style:none;font-weight:650;max-width:240px}.user-menu summary::-webkit-details-marker{display:none}
.avatar-initial,.profile-avatar{display:grid;place-items:center;background:#e8f2ff;color:#096bda;border:1px solid #d2e5fc;border-radius:50%;font-weight:800;flex:none}.avatar-initial{width:34px;height:34px}.user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.user-dropdown{position:absolute;right:0;top:calc(100% + 14px);width:230px;background:#fff;border:1px solid #e3e5e9;border-radius:12px;padding:8px;box-shadow:0 12px 32px rgba(0,0,0,.12)}
.user-dropdown a,.dropdown-logout{display:block;width:100%;padding:11px 12px;border:0;border-radius:7px;background:#fff;color:#242424;font:inherit;font-size:.9rem;text-decoration:none;text-align:left;cursor:pointer}.user-dropdown a:hover,.dropdown-logout:hover{background:#f2f6fb}.user-dropdown form{margin:0;border-top:1px solid #eee;padding-top:5px}
.auth-shell{margin-top:46px}.auth-shell>h1{margin-bottom:30px}
.profile-intro{display:flex;align-items:center;gap:18px;padding-bottom:30px;border-bottom:1px solid #e7e7e7}.profile-avatar{width:70px;height:70px;font-size:1.7rem}.profile-intro h2{font-size:1.6rem;margin:0 0 3px}.muted{color:#6b7280;font-size:.91rem;margin:4px 0}.profile-edit-link{margin-left:auto;color:#086ee2;font-weight:650;white-space:nowrap}
.dashboard-section{margin:38px 0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.section-heading h2,.dashboard-section>h2{font-size:1.65rem;letter-spacing:-.025em;margin:0 0 6px}.quota-count{font-weight:750;color:#344054;background:#f1f5fa;padding:8px 12px;border-radius:10px;white-space:nowrap}
.empty-projects{margin:22px 0;padding:34px;border:1px dashed #cbd5e1;border-radius:14px;text-align:center}.empty-projects h3{margin:0}.empty-projects p{color:#667085;margin-bottom:24px}
.project-list{margin:22px 0;display:grid;gap:12px}.dashboard-project{border:1px solid #e1e5ea;border-radius:13px;padding:20px;background:#fff}.project-identity{display:flex;align-items:center;gap:12px}.project-identity h3{margin:0;font-size:1.14rem}.project-mini-logo{width:52px;height:52px;object-fit:contain;border:1px solid #e7e7e7;border-radius:10px}.project-mini-fallback{display:grid;place-items:center;background:#f3f6fa;color:#8b96a6;font-size:1.5rem}.project-review{margin:14px 0}.status-pill{display:inline-block;padding:5px 10px;border-radius:20px;font-size:.78rem;font-weight:750;background:#edf1f5;color:#465364}.status-pending{background:#fff4db;color:#835700}.status-approved{background:#e5f7ea;color:#1e7136}.status-changes_requested{background:#fff0d9;color:#915100}.status-rejected{background:#ffe9e9;color:#a72d2d}.review-note{background:#fff8e9;padding:12px;border-radius:8px;overflow-wrap:anywhere}.arena-mini{display:flex;gap:14px;flex-wrap:wrap;padding:12px 0;border-top:1px solid #eee;font-size:.86rem}.arena-empty{padding-top:8px}.project-links{display:flex;gap:16px;margin-top:14px}.project-links a{font-size:.9rem;font-weight:700;color:#086ee2}.profile-settings{border-top:1px solid #e7e7e7;padding-top:30px}.profile-settings form{max-width:600px}
@media(max-width:600px){.site-nav{gap:12px;flex-wrap:wrap;padding:12px 0}.nav-links{order:3;width:100%;gap:16px}.nav-account{margin-left:auto}.user-name{max-width:105px}.profile-intro{flex-wrap:wrap}.profile-edit-link{margin-left:0}.section-heading{align-items:flex-start;flex-direction:column}.auth-shell{margin-top:30px}}
.auth-shell .alert:not(:has(.alert-icon)){display:block;min-width:0;overflow-wrap:normal;word-break:normal;white-space:normal}
.auth-shell .alert:not(:has(.alert-icon)) > *{width:auto;max-width:100%;min-width:0}
.review-card{border:1px solid #dedede;border-radius:12px;padding:20px;margin:20px 0;background:#fff}
.review-card h2{font-size:1.4rem}.review-card small{font-size:.7em;color:#777}
.review-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.review-actions button{width:auto;cursor:pointer}
.brand-beta{font-size:10px;letter-spacing:.06em;font-weight:700;border:1px solid #d9dee7;background:#f4f6f9;color:#465063;padding:2px 5px;border-radius:4px;margin-left:5px;align-self:center}.menu-chevron{flex:none;vertical-align:middle;margin-left:5px}.user-menu[open] .menu-chevron{transform:rotate(180deg)}.account-admin{font-size:10px;color:#555;border:1px solid #ccc;border-radius:3px;padding:2px 4px}.account-identity{padding:10px 12px;font-size:12px;color:#4b5563;border-bottom:1px solid #e5e7eb;overflow-wrap:anywhere}.revision-diff{width:100%;border-collapse:collapse;table-layout:fixed}.revision-diff th,.revision-diff td{border:1px solid #ddd;padding:8px;text-align:left;vertical-align:top;overflow-wrap:anywhere;white-space:normal}.admin-count{display:flex;justify-content:space-between;border-bottom:1px solid #eee;padding:12px 0;gap:12px}
.alert,.notice,.arena-message{box-sizing:border-box;min-width:0;max-width:100%;overflow-wrap:normal;word-break:normal;white-space:normal}
.alert:not(:has(.alert-icon)){display:block!important}
.alert:has(.alert-icon){display:grid!important;grid-template-columns:42px minmax(0,1fr)!important;align-items:start}
.alert:has(.alert-icon)>:last-child{display:block!important;min-width:0!important;width:100%!important;max-width:100%!important;overflow-wrap:break-word!important;word-break:normal!important}
.arena-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:18px;margin:30px 0}
.arena-card,.battle-side{border:1px solid #e2e5e9;border-radius:14px;padding:24px;background:#fff}
.arena-card h2{font-size:1.35rem}.arena-card h2 a{text-decoration:none;color:#161616}.arena-vs,.battle-vs{font-size:.85rem;font-weight:900;color:#7d8794}
.battle-pair{display:grid;grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr);align-items:center;gap:12px;margin:35px 0}
.battle-side{min-width:0;text-align:center}.battle-side h2{overflow-wrap:break-word}.battle-logo{width:84px;height:84px;object-fit:contain}.battle-vs{text-align:center;font-size:1.3rem}.battle-side .button{max-width:100%;white-space:normal;cursor:pointer}.arena-message{padding:14px 18px;border:1px solid #b8d1eb;background:#f0f7ff;border-radius:10px;margin:16px 0}.arena-moderation{border-top:1px solid #ddd;margin-top:40px;padding-top:20px}
@media(max-width:650px){.battle-pair{grid-template-columns:minmax(0,1fr);gap:10px}.battle-vs{padding:8px}.alert:has(.alert-icon){grid-template-columns:34px minmax(0,1fr)!important}}
.alert{display:block!important;min-width:0!important;width:100%!important;word-break:normal!important;overflow-wrap:break-word!important}
.alert:has(>.alert-icon){display:grid!important;grid-template-columns:34px minmax(0,1fr)!important;gap:12px!important}
.alert:has(>.alert-icon)>:not(.alert-icon){grid-column:2!important;min-width:0!important;width:auto!important;max-width:none!important;word-break:normal!important;overflow-wrap:break-word!important}
.alert:not(:has(>.alert-icon))>*{width:auto!important;min-width:0!important;max-width:100%!important}
.homepage-hero{min-height:calc(100vh - 165px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.homepage-hero .notice{width:100%;max-width:520px}
.homepage-live{padding:25px 0 70px;border-top:1px solid #e7ebf0;scroll-margin-top:24px}
.homepage-live h2{font-size:clamp(2rem,5vw,3.2rem);margin:8px 0}
.duel-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:25px 0}
.duel{border:1px solid #e5e9f0;border-radius:18px;background:#f8fafc;padding:22px;min-width:0}
.duel-featured{padding:30px;margin:28px 0;background:#f3f7fd}
.duel-meta{display:flex;gap:12px;flex-wrap:wrap;align-items:center;color:#667085;font-size:.78rem}
.duel-question{font-size:1.1rem;margin:14px 0 20px;line-height:1.35}
.duel-featured .duel-question{font-size:1.5rem}
.duel-question a{color:#172033;text-decoration:none}
.duel-cards{display:grid;grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr);gap:12px;align-items:center}
.duel-project{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;min-width:0;min-height:160px;background:white;border:1px solid #dce2eb;border-radius:14px;padding:18px 10px;text-decoration:none;color:#202a3a;box-shadow:0 5px 0 #e5eaf2,0 10px 20px rgba(35,55,90,.035);transition:transform .15s}
.duel-project:hover{transform:translateY(-3px)}.duel-project strong{overflow-wrap:anywhere;font-size:.95rem}.duel-project img,.duel-logo-placeholder{width:64px;height:64px;object-fit:contain;border-radius:10px}
.duel-logo-placeholder{display:grid;place-items:center;background:#eaf0f8;font-size:1.5rem}
.duel-vs{font-size:1.15rem;font-weight:950;text-align:center;color:#e04a51;letter-spacing:-.07em}
.duel-featured .duel-project{min-height:220px}.duel-featured .duel-project img{width:86px;height:86px}
.duel-link{display:inline-block;margin-top:20px;font-size:.86rem;font-weight:750;text-decoration:none}
.arena-explore{text-align:center;margin-top:32px}.arena-tabs{display:flex;gap:20px;margin:28px 0;border-bottom:1px solid #e5e7eb}.arena-tabs a{padding:10px 3px;text-decoration:none;color:#667085}.arena-tabs a[aria-current]{border-bottom:3px solid #0879f9;color:#171717;font-weight:750}
.project-results{display:grid;gap:4px}.project-result{display:block;background:white;color:#202a3a;border:1px solid #dce2eb;border-radius:8px;padding:10px 12px;text-align:left}.project-result:hover{background:#eff6ff}.project-result small{display:block;color:#667085;font-size:.8rem}
.project-battles{margin-top:45px;border-top:1px solid #e5e7eb;padding-top:20px}
@media(max-width:760px){.duel-list{grid-template-columns:1fr}.homepage-hero{min-height:65vh}.duel{padding:14px}.duel-cards{gap:7px;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr)}.duel-project{padding:12px 6px;min-height:145px}.duel-project img{width:50px;height:50px}.duel-vs{font-size:.95rem}.duel-featured .duel-project{min-height:170px}}
.battle-pair-equal{align-items:stretch;grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr)}
.battle-side-equal{display:flex;flex-direction:column;justify-content:space-between;min-width:0;min-height:280px;box-shadow:0 5px 0 #e8edf5,0 12px 25px rgba(20,40,70,.05)}
.battle-side-top{display:flex;flex-direction:column;align-items:center;gap:12px}.battle-side-top h2{margin:0;line-height:1.3;min-height:2.6em;display:flex;align-items:center;justify-content:center}
.battle-tagline{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5;min-height:4.5em;max-width:100%;overflow-wrap:anywhere}
.battle-logo{width:88px;height:88px;object-fit:contain}.battle-logo-empty{display:grid;place-items:center;background:#f0f4fa;border-radius:12px;color:#64748b}
.battle-side-link{margin:20px 0 0}.battle-pair-equal .battle-vs{display:grid;place-items:center}
.battle-rounds{max-width:none;margin:40px 0}.battle-round{padding:24px;border:1px solid #e2e8f0;border-radius:14px;margin:18px 0;background:#fff}.battle-round h3{margin:10px 0 22px;line-height:1.4}
.battle-round-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:20px}.battle-round-choices form{margin:0}.battle-round-choices button{width:100%;min-height:48px;white-space:normal;overflow-wrap:anywhere}
.battle-round-results{display:grid;gap:8px;color:#475569;font-size:.86rem}.battle-round-results>div:not(.battle-result-track){display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}.battle-result-track{height:9px;background:#fee2e2;border-radius:99px;overflow:hidden}.battle-result-track span{display:block;background:#60a5fa;height:100%}
.battle-scorecard{border:1px solid #d8e7f9;background:#f5f9ff;border-radius:14px;padding:24px;margin:35px 0}.battle-share{border-top:1px solid #e2e8f0;margin:40px 0;padding-top:24px}
.battle-questions-editor{border:1px solid #e2e8f0;border-radius:12px;padding:20px;margin:24px 0}.question-entry{margin:14px 0}.question-entry label{display:block;margin-bottom:5px}
@media(max-width:650px){.battle-pair-equal{grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr);gap:6px}.battle-side-equal{padding:12px 7px;min-height:260px}.battle-side-top h2{font-size:1rem;min-height:2.8em}.battle-logo{width:56px;height:56px}.battle-tagline{font-size:.8rem}.battle-pair-equal .battle-vs{font-size:.85rem}.battle-round{padding:16px}.battle-round-choices{gap:8px}.battle-round-choices button{font-size:.85rem;padding:10px 5px}}
.duel-prompt{text-align:center;font-weight:700;margin:18px 0 9px}
.duel-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.duel-choices form{min-width:0;display:flex}
.duel-vote{width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere;min-height:44px;font-size:.88rem;cursor:pointer}
.duel-vote-feedback{margin:15px 0 0;padding:14px;border:1px solid #c7dbef;border-radius:12px;background:#f3f8ff;overflow-wrap:break-word}
.duel-vote-feedback p{margin:7px 0;font-size:.9rem}
.duel-vote-feedback small{display:block;margin-top:7px;color:#667085}
@media(max-width:420px){.duel-choices{gap:7px}.duel-vote{font-size:.78rem;padding:9px 5px}}
.category-chip{display:inline-block;padding:.15rem .55rem;border:1px solid #d6d9e0;border-radius:999px;font-size:.8rem;text-decoration:none;color:#39445a;background:#f8fafc}.duel-project-details{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center;justify-content:center;margin:.25rem 0 .65rem}.duel-project-details small{font-size:.76rem;color:#666}.duel-starter{font-size:.8rem;color:#666}.category-projects{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem}.category-project{border:1px solid #e5e7eb;border-radius:12px;padding:1rem;margin:.5rem 0}.pagination{display:flex;justify-content:space-between;gap:1rem;margin:1.5rem 0}.next-battle{margin:2rem 0;padding:1.25rem;border:1px solid #e5e7eb;border-radius:12px}.dashboard-section textarea[readonly]{width:100%;max-width:650px;font-size:.8rem}
.duel-project{min-width:0;overflow:hidden}
.duel-project-main{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100%;min-width:0;color:inherit;text-decoration:none}
.duel-project-main:hover{text-decoration:underline}
.duel-project-details{width:100%;min-width:0;display:flex;flex-direction:column;align-items:center;gap:6px;margin:6px 0 0;text-align:center;overflow-wrap:anywhere}
.duel-project-details small{display:block;max-width:100%;line-height:1.35}
.duel-project-details .category-chip{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.duel-cards > .duel-project{height:100%;box-sizing:border-box}
.duel-list-wide{grid-template-columns:minmax(0,1fr)}
.duel-list-wide>.duel{width:100%}
.duel-list-wide .duel-cards{grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr);gap:20px}
.duel-list-wide .duel-project{min-height:220px;padding:24px 18px}
.duel-list-wide .duel-project-main strong{overflow-wrap:break-word;word-break:normal}
@media(max-width:650px){
 .duel-list-wide .duel-cards{grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);gap:7px}
 .duel-list-wide .duel-project{padding:14px 7px;min-height:180px}
}
.duel-project-main strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;overflow-wrap:anywhere;max-width:100%;line-height:1.35;text-align:center}
.duel-short-description{font-size:.87rem;line-height:1.45;color:#667085;text-align:center;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;margin:10px 0 5px;overflow-wrap:anywhere}
.duel-project-main img{object-fit:contain;flex-shrink:0}
.duel-list-arena{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch;container-type:inline-size}
.duel-list-arena>.duel{grid-column:span 1;width:100%;box-sizing:border-box;margin:0}
.duel-list-arena>.duel:first-child{grid-column:1/-1}
.duel-list-arena>.duel:nth-child(2),.duel-list-arena>.duel:nth-child(3){grid-column:span 2}
.duel-list-arena>.duel:nth-child(n+8){grid-column:span 2}
.duel-list-arena .duel-compact{padding:14px}
.duel-list-arena .duel-compact .duel-question{font-size:.94rem;margin:9px 0 13px}
.duel-list-arena .duel-compact .duel-meta{font-size:.72rem}
.duel-list-arena .duel-compact .duel-project-details{display:none}
.duel-list-arena .duel-compact .duel-project{padding:10px 7px;min-height:115px}
.duel-list-arena .duel-compact .duel-project-main{gap:6px}
.duel-list-arena .duel-compact .duel-project-main img{width:38px;height:38px}
.duel-list-arena .duel-compact .duel-project-main strong{font-size:.82rem}
.duel-list-arena .duel-compact .duel-vote{font-size:.76rem;padding:9px 5px}
@media(max-width:1399px){
 .duel-list-arena{grid-template-columns:repeat(2,minmax(0,1fr))}
 .duel-list-arena>.duel:first-child{grid-column:1/-1}
 .duel-list-arena>.duel:nth-child(n+2){grid-column:span 1}
 .duel-list-arena .duel-compact .duel-project-details{display:none}
}
@media(max-width:899px){
 .duel-list-arena{grid-template-columns:minmax(0,1fr)}
 .duel-list-arena>.duel{grid-column:1/-1!important}
 .duel-list-arena .duel-compact .duel-project-details{display:flex}
}
.duel{container-type:inline-size;container-name:battle}
.duel .duel-question{text-align:center;overflow-wrap:anywhere;font-size:clamp(.9rem,4cqi,1.4rem)}
.duel .duel-cards,.duel-list-arena .duel-compact .duel-cards,.duel-list-wide .duel-cards{grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr);gap:6px;align-items:stretch}
.duel .duel-project,.duel-list-arena .duel-compact .duel-project,.duel-list-wide .duel-project{min-height:120px;padding:12px 6px}
.duel .duel-project-main,.duel-list-arena .duel-compact .duel-project-main{flex-direction:column;gap:8px;height:100%}
.duel .duel-project-main strong,.duel-list-arena .duel-compact .duel-project-main strong{font-size:clamp(.75rem,3.6cqi,1.15rem);text-align:center;overflow-wrap:anywhere;min-height:2.7em}
.duel .duel-project img,.duel .duel-logo-placeholder,.duel-list-arena .duel-compact .duel-project-main img{width:clamp(32px,16cqi,80px);height:clamp(32px,16cqi,80px);max-width:100%;object-fit:contain}
.duel .duel-vs{align-self:center;justify-self:center;font-size:.9rem}
.duel .duel-choices{gap:8px;align-items:stretch;margin-top:12px}
.duel .duel-choices form{margin:0;min-width:0}
.duel .duel-vote,.duel-list-arena .duel-compact .duel-vote{font-size:clamp(.75rem,3.5cqi,1rem);padding:10px 6px;min-height:44px;margin:0;line-height:1.35}
.duel-score{margin-top:22px;text-align:center;font-size:.8rem;color:#465364}
.duel-score-labels{display:flex;justify-content:space-between;gap:8px;margin-bottom:7px;font-weight:750}
.duel-score-track{height:12px;border-radius:99px;overflow:hidden;display:flex;background:#e1e6ee}
.duel-score-track span{height:100%;display:block}.score-a{background:#275fbd}.score-b{background:#c43e50}
.duel-score p{margin:8px 0 0}.score-neutral{background:#e1e6ee}
@container battle (min-width:600px){.duel .duel-project{min-height:170px;padding:22px 12px}.duel .duel-cards{gap:16px;grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr)}}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;line-height:1.35;text-align:center}
button:focus-visible,.button:focus-visible,.duel-project-main:focus-visible{outline:3px solid #2675d8;outline-offset:3px}
form>button,form>.button,form>input[type=submit]{margin-top:18px}
.actions,.review-actions{flex-wrap:wrap;align-items:center;gap:12px}
.actions button,.actions .button,.review-actions button,.url-row button,.battle-round-choices button,.user-dropdown button,.media-x{margin-top:0}
.battle-round h3{text-align:center;overflow-wrap:anywhere}
.battle-pair-equal{grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr);gap:8px}
.battle-side-top h2{overflow-wrap:anywhere;font-size:clamp(.9rem,2.5vw,1.5rem)}
@media(max-width:420px){.duel{padding:12px}.battle-side-equal{padding:12px 6px;min-height:0}.battle-round{padding:12px}}
.duel-vote-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;overflow-wrap:anywhere;max-width:100%;line-height:1.35}
.duel .duel-project img,.duel-list-arena .duel-compact .duel-project-main img,.battle-logo{object-fit:scale-down;object-position:center}
.hero-logo,.revision-logo{object-fit:scale-down;object-position:center}
.revision-logo{width:90px;height:90px;border:1px solid var(--line);border-radius:12px;background:#fff}
.revision-media{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;margin:18px 0}
.revision-shot{margin:0;padding:10px;border:1px solid var(--line);border-radius:10px}
.revision-shot img{display:block;width:100%;height:120px;object-fit:contain}
.revision-shot label{font-size:.85rem}.revision-shot input[type=checkbox],.revision-check input{width:auto}
.project-owner-actions{padding:16px;border:1px solid #c7dbef;border-radius:12px;background:#f3f8ff;margin-top:22px}
.battle-share-preview{margin:18px 0;max-width:680px}.battle-share-preview img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:12px}
.badge-choice{display:grid;gap:12px;margin:28px 0}.badge-choice select{width:100%;max-width:100%;padding:12px;border:1px solid #ccc;border-radius:8px;background:#fff;color:#181818;font:inherit}.badge-choice button{justify-self:start}.badge-generator{border:1px solid #dedede;border-radius:14px;padding:24px;margin:24px 0}.badge-preview{padding:24px 0}.badge-preview img{display:block;max-width:100%;height:auto}.badge-generator textarea{width:100%;box-sizing:border-box;font:13px/1.6 monospace;overflow-wrap:anywhere}.badge-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px;align-items:center}@media(max-width:480px){.badge-generator{padding:16px}.badge-actions>*{width:100%;text-align:center}}
:root{--ink:#101d35;--muted:#52647c;--line:#dbe7f3;--soft:#f3f8fe;--blue:#0664e9;--red:#df1835;--gold:#a96a00;--radius:12px}
body{color:var(--ink);background:#fff;line-height:1.55}a{color:#0759ca;text-underline-offset:3px}a:hover{color:#0347a4}h1{font-size:clamp(2.25rem,5.5vw,4.25rem);line-height:1.08;letter-spacing:-.045em;overflow-wrap:anywhere}h2{letter-spacing:-.03em;line-height:1.2}h3{line-height:1.3}.page-title{font-size:clamp(2.3rem,5vw,4rem)}.shell.muted,.hint,.optional{color:var(--muted)}
.button,button,input[type=submit]{background:var(--blue);border-color:var(--blue);border-radius:9px;color:#fff;min-height:44px;transition:background .15s,border-color .15s}.button:hover,button:hover{background:#0452c3;border-color:#0452c3;color:#fff}.button.secondary,button.secondary{background:#fff;color:var(--ink);border-color:#bed2ea}.button.secondary:hover{background:var(--soft);color:var(--ink);border-color:#8faed3}button.vote-red,.vote-red{background:var(--red);border-color:var(--red)}button.vote-red:hover{background:#ba122b;border-color:#ba122b}.vote-blue{background:var(--blue)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #7cafff;outline-offset:3px}
input,textarea,select{color:var(--ink);border-color:#bdcde1;border-radius:9px}input[type=checkbox],input[type=radio]{accent-color:var(--blue)}input:focus,textarea:focus,select:focus{border-color:var(--blue)}input[type=file]{background:var(--soft)}input[readonly],textarea[readonly]{background:#f8fbff}.notice,.media,.preview,.review-card,.badge-generator,.battle-round,.dashboard-project,.category-project,.arena-card,.next-battle{border-color:var(--line);border-radius:var(--radius)}.notice,.media{background:var(--soft)}.preview,.review-card,.dashboard-project,.category-project{box-shadow:none}.alert{box-shadow:none}.category-chip{background:#edf5ff;border:0;color:#3e5879;font-size:.75rem;border-radius:7px}.status-pill{background:#edf4fc;color:#456183}.status-approved{background:#e9f6ee;color:#266342}.status-pending,.status-changes_requested{background:#fff4db;color:#805700}.status-rejected{background:#fff0f2;color:#9b2440}.step{color:#436181}.quota-count{background:#eef5ff;color:#34577c}.review-note{background:#fff8e9}.revision-diff th{background:#eff6ff}.revision-diff th,.revision-diff td{border-color:var(--line)}
.site-header{border-bottom:1px solid var(--line)}.site-nav{min-height:88px;gap:22px}.brand{display:flex;align-items:center;flex:none}.brand img{display:block;width:178px;height:67px;object-fit:contain}.brand-beta{margin-left:-10px;font-size:9px;color:#52647c;background:#f4f8fd;border-color:var(--line)}.nav-links{gap:24px}.nav-links a,.nav-account>a{color:var(--ink)}.nav-account .nav-signup{background:var(--blue)}.user-dropdown{border-color:var(--line);box-shadow:0 8px 26px #102f5520}.user-dropdown a,.dropdown-logout{color:var(--ink);background:#fff;min-height:0}.user-dropdown a:hover,.dropdown-logout:hover{background:var(--soft);color:var(--ink)}.avatar-initial,.profile-avatar{background:#e9f3ff;color:#0759ca;border-color:#cce1fb}
.site-footer{border-top:1px solid var(--line);background:#fff;margin-top:52px}.footer-inner{padding:24px 0;display:flex;align-items:center;gap:22px;flex-wrap:wrap}.footer-inner img{object-fit:contain;display:block}.footer-inner p{font-size:.85rem;color:var(--muted);margin:0}.footer-inner nav{display:flex;gap:20px;margin-left:auto;flex-wrap:wrap}.footer-inner nav a{font-size:.85rem;text-decoration:none}
.homepage-hero.shell{min-height:0;display:grid;grid-template-columns:1fr 1.13fr;align-items:center;gap:12px;padding:48px 0 36px}.hero-copy{position:relative;z-index:1}.hero-copy h1{font-size:clamp(2.7rem,5.5vw,4.8rem);font-weight:850;line-height:1.03;letter-spacing:-.055em;margin:0 0 24px}.hero-copy h1 span{color:var(--blue)}.hero-copy .lead{color:#344b6c;font-size:clamp(1rem,1.7vw,1.25rem);margin-bottom:25px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-art{display:block;width:100%;height:auto}.live-band{background:#eef7ff;border-top:1px solid #e3f0ff;border-bottom:1px solid #e3f0ff;padding:36px 0}.live-band>.section-heading>div{min-width:0}.section-heading>div h2{font-size:clamp(1.7rem,3vw,2.6rem);margin:0 0 7px}.section-heading>a{font-size:.9rem;font-weight:650;flex:none;text-decoration:none}.homepage-duels{margin:24px 0 0}.discovery-section{margin-top:40px}.discovery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0}.discovery-card{border:1px solid var(--line);border-radius:var(--radius);padding:20px;background:#fff;min-width:0;display:flex;flex-direction:column;align-items:flex-start}.discovery-identity{display:flex;align-items:center;gap:12px;min-width:0;width:100%}.discovery-identity img{flex:none;object-fit:scale-down;border-radius:10px;width:56px;height:56px}.discovery-identity h2,.discovery-identity h3{font-size:1.1rem;margin:0;overflow-wrap:anywhere}.discovery-identity a{color:var(--ink);text-decoration:none}.discovery-card>p{font-size:.9rem;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.discovery-link{align-self:flex-end;margin-top:auto;padding-top:16px;text-decoration:none;font-size:.85rem;font-weight:650}.submit-banner{display:flex;justify-content:space-between;align-items:center;gap:24px;background:#e9f5ff;border:1px solid #d6eaff;border-radius:var(--radius);padding:28px 32px;margin:30px 0}.submit-banner h2{font-size:clamp(1.5rem,2.6vw,2rem);margin:0 0 12px}.submit-banner p{color:#344b6c}.submit-banner img{flex:none;object-fit:contain;width:140px;height:160px}
.duel,.duel-featured{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin:0}.duel .duel-cards,.duel-list-wide .duel-cards{grid-template-columns:minmax(0,1fr) 26px minmax(0,1fr);gap:8px}.duel .duel-project,.duel-list-wide .duel-project{padding:8px 2px;min-height:100px;border:0;box-shadow:none;background:transparent;transform:none}.duel .duel-project-main{display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px;align-items:center;height:auto;text-align:left}.duel .duel-project img,.duel .duel-logo-placeholder,.duel-list-arena .duel-compact .duel-project-main img{width:48px;height:48px;object-fit:scale-down}.duel .duel-project-main strong,.duel-list-arena .duel-compact .duel-project-main strong{font-size:clamp(.85rem,2.9cqi,1.05rem);text-align:left;min-height:0;line-height:1.35}.duel-category{width:100%;text-align:left;padding-left:58px;margin-top:6px}.duel-category .category-chip{max-width:100%;overflow-wrap:anywhere}.duel .duel-vs{color:#b37608;font-weight:900}.duel .duel-question{font-size:clamp(.9rem,2.8cqi,1.1rem);margin:12px 0 14px}.duel-meta{font-size:.72rem;color:var(--muted);justify-content:space-between}.duel-meta .status-pill{font-size:.65rem;padding:3px 7px}.duel-prompt{display:none}.duel .duel-choices{margin-top:10px;gap:10px}.duel .duel-vote{position:relative;gap:6px;font-size:clamp(.8rem,2.5cqi,.95rem);padding:9px 10px;display:flex;justify-content:center;align-items:center;min-height:48px}.vote-knight{width:34px;height:40px;flex:none;object-fit:contain}.duel-score{margin-top:16px}.score-a{background:var(--blue)}.score-b{background:var(--red)}.duel-score-labels>span:first-child{color:#0759ca}.duel-score-labels>span:last-child{color:#c0102b}.duel-score-track{height:9px}.duel-starter{font-size:.73rem;color:var(--muted)}.duel-link{margin-top:10px;color:#0759ca}.duel-vote-feedback{background:#eef6ff;border-color:#c7def8}.duel-list-arena{gap:18px}.duel-list-arena .duel-compact{padding:14px}.duel-compact .vote-knight{display:none}.battle-side-equal{border-color:var(--line);box-shadow:none;background:#fff}.battle-side-equal:first-child{border-top:3px solid var(--blue)}.battle-side-equal:last-child{border-top:3px solid var(--red)}.battle-vs{color:#b37608}.battle-tagline{color:var(--muted)}.battle-round{border-color:var(--line)}.battle-result-track{background:var(--red)}.battle-result-track span{background:var(--blue)}.battle-scorecard{background:#eff7ff;border-color:#cde3fb;text-align:center}.result-knights{display:flex;justify-content:center;align-items:flex-end;gap:20px}.result-knights img{max-width:42%;object-fit:contain;height:160px;width:auto}.result-knights img:only-child{max-width:80%;width:300px;height:auto}.battle-share{border-color:var(--line)}.battle-share-preview{max-width:800px}.google-signin{color:var(--ink);border-color:#bdcde1}.project-owner-actions{background:#eef6ff;border-color:#c7def8}.project-head .step{margin-top:0}.project-links{flex-wrap:wrap}.badge-preview{background:#f3f8ff;border-radius:10px;padding:24px}.badge-actions{gap:12px}
@container battle (max-width:360px){.duel .duel-project-main{display:flex;flex-direction:column;text-align:center;gap:8px}.duel .duel-project-main strong{text-align:center}.duel-category{text-align:center;padding-left:0}.duel .vote-knight{display:none}.duel .choose-label{display:none}}
@media(max-width:900px){.homepage-hero.shell{grid-template-columns:1fr 1fr;padding-top:30px}.hero-copy h1{font-size:clamp(2.4rem,5vw,3.6rem)}.discovery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-nav{gap:16px}.nav-links{gap:16px}.brand img{width:150px;height:57px}.brand-beta{display:none}}
@media(max-width:700px){.shell,.shell.narrow,.site-nav,.site-nav{flex-wrap:wrap;padding:10px 0;min-height:0;gap:10px}.nav-links{order:3;width:100%;gap:24px;padding:7px 0}.nav-account{margin-left:auto;gap:10px}.brand img{width:145px;height:55px}.homepage-hero.shell{grid-template-columns:1fr;padding:30px 0 20px;gap:0}.hero-copy h1{font-size:clamp(2.7rem,9vw,3.8rem)}.hero-art{max-width:520px;margin:auto}.hero-copy .lead br{display:none}.hero-actions{gap:10px}.hero-actions .button{font-size:.9rem}.live-band{padding:28px 0}.homepage-duels{grid-template-columns:1fr}.section-heading{flex-direction:row;align-items:center}.section-heading>a{font-size:.8rem}.submit-banner{padding:22px;gap:14px}.submit-banner img{width:100px;height:130px}.submit-banner br{display:none}.footer-inner nav{margin-left:0;width:100%}.battle-round-choices button{padding:10px 8px}.auth-shell>h1{margin-bottom:24px}}
@media(max-width:480px){.discovery-grid{grid-template-columns:1fr}.submit-banner{align-items:flex-start}.submit-banner img{width:70px;height:100px}.submit-banner .button{font-size:.85rem}.duel{padding:14px}.duel .duel-project-main{grid-template-columns:40px minmax(0,1fr);gap:8px}.duel .duel-project img{width:40px;height:40px}.section-heading{align-items:flex-start;gap:14px;flex-wrap:wrap}.section-heading>div{max-width:100%}.user-name{max-width:80px}.nav-account .nav-signup{padding:8px 11px}.result-knights{gap:10px}.result-knights img{height:120px}.brand img{width:128px;height:49px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.knight-lane{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin:12px 0 4px;pointer-events:none}.knight-slot{height:76px;display:flex;align-items:flex-end;justify-content:flex-start;overflow:hidden}.knight-slot:last-child{justify-content:flex-end}.phase-knight{display:block;width:84px;height:72px;max-width:100%;object-fit:contain;object-position:center bottom}.knight-lane+.duel-score{margin-top:4px}.duel .vote-knight{display:none}.knight-reaction{animation:knight-pulse 1.2s ease-out 1}@keyframes knight-pulse{0%,100%{transform:translateY(0)}30%{transform:translateY(-3px)}}
.completion-card{border:1px solid var(--line);border-radius:10px;background:#f3f8fe;padding:16px;margin:18px 0}.completion-heading{display:flex;justify-content:space-between;gap:16px;font-size:.9rem}.completion-heading span{color:#0759ca;font-weight:750}.completion-card progress{display:block;width:100%;height:9px;margin:12px 0;border:0;border-radius:99px;overflow:hidden;background:#dce8f5;accent-color:var(--blue)}.completion-card progress::-webkit-progress-bar{background:#dce8f5;border-radius:99px}.completion-card progress::-webkit-progress-value{background:var(--blue);border-radius:99px}.completion-card progress::-moz-progress-bar{background:var(--blue);border-radius:99px}.completion-card details{font-size:.8rem;margin-top:8px;color:var(--muted)}.completion-card summary{cursor:pointer}.completion-card p{overflow-wrap:anywhere}.duel-compact .knight-slot{height:54px}.duel-compact .phase-knight{width:62px;height:52px}@media(max-width:480px){.knight-slot{height:58px}.phase-knight{width:66px;height:54px}.knight-lane{gap:18px}.completion-card{padding:12px}}
.duel .duel-prompt,.round-choice-prompt{display:block;text-align:center;font-size:.9rem;font-weight:700;color:#465364;margin:18px 0 10px}
.duel .duel-question{font-size:clamp(1.1rem,3.8cqi,1.4rem);line-height:1.4;margin:18px 0 20px;letter-spacing:-.015em}
.battle-round h3{font-size:clamp(1.2rem,3vw,1.7rem);line-height:1.4}
.button.vote-blue,.button.vote-red{background:linear-gradient(#fff,#f7f9fc);border:1.5px solid #93b6e6;color:#1458ac;box-shadow:0 3px 0 #dce7f5,0 5px 12px #17203308;border-radius:12px;font-weight:800;transition:background .15s,box-shadow .15s}
.button.vote-red{border-color:#e8a5ad;color:#b2243c;box-shadow:0 3px 0 #f2dfe3,0 5px 12px #17203308}
.button.vote-blue:hover{background:#edf5ff;border-color:#3679ce;color:#104f9e}.button.vote-red:hover{background:#fff1f3;border-color:#ce5266;color:#a41b32}
.button.vote-blue:active,.button.vote-red:active{box-shadow:0 1px 0 #dce2ec}.button.vote-blue:focus-visible,.button.vote-red:focus-visible{outline:3px solid #172033;outline-offset:4px}
.duel .duel-vote{min-height:52px;padding:12px 10px}.duel-vote-name{overflow-wrap:anywhere}
.duel-score-track,.battle-result-track{height:18px;border-radius:99px;border:3px solid #fff;outline:1px solid #dce3ec;box-shadow:0 2px 5px #17203312;overflow:hidden;background:linear-gradient(#f7c0c7,#e67c8c)}
.duel-score-track .score-a,.battle-result-track span{background:linear-gradient(180deg,#a5d7ff 0%,#63afea 45%,#438cd0 100%);box-shadow:inset 0 1px 0 #ffffff90}
.duel-score-track .score-b{background:linear-gradient(180deg,#ffc8d0 0%,#ef9baa 45%,#d76d83 100%);box-shadow:inset 0 1px 0 #ffffff90}
.duel-score-track .score-a:not(:last-child){border-right:2px solid #fff;box-sizing:border-box}
.duel-score-track.score-neutral{background:linear-gradient(#f4f6fa,#dce3ec)}
.battle-share-icons{display:flex;align-items:center;flex-wrap:wrap;gap:8px;position:relative;margin:18px 0 8px;padding-top:12px;border-top:1px solid #e5e8ee}
.battle-share-icons .share-icon{display:inline-flex;justify-content:center;align-items:center;width:40px;height:40px;flex:0 0 40px;background:#faf9f7;border:1px solid #d9d5cd;border-radius:10px;color:#575149;text-decoration:none;box-shadow:0 2px 0 #e8e4dd}
.battle-share-icons .share-icon:hover{background:#eeeae3;color:#28251f;border-color:#aaa297}.battle-share-icons .share-icon:focus-visible{outline:3px solid #575149;outline-offset:3px}
.share-status{position:absolute;bottom:100%;font-size:.75rem;color:#575149}.share-status:empty{display:none}
:root{--line:#e2e5ec;--soft:#f8f8fa;--radius:16px;--gold:#97651b}
.live-band{background:#f7f8fa;border-color:#eceef2}.submit-banner{background:#fbf8f1;border-color:#e9dfcc}
.button:not(.vote-blue):not(.vote-red),button:not(.vote-blue):not(.vote-red):not(.media-x):not(.dropdown-logout),input[type=submit]{background:linear-gradient(180deg,#425370,#26354e);border-color:#26354e;border-radius:12px;box-shadow:inset 0 1px 0 #ffffff30,0 3px 0 #17203325,0 5px 12px #17203310;color:#fff;transition:background .15s,box-shadow .15s,transform .15s}
.button:not(.vote-blue):not(.vote-red):hover,button:not(.vote-blue):not(.vote-red):not(.media-x):not(.dropdown-logout):hover{background:linear-gradient(180deg,#344865,#1d2e48);border-color:#18263c}
.button.secondary:not(.vote-blue):not(.vote-red),button.secondary{background:#fff;color:var(--ink);border-color:#cdd3de;box-shadow:0 2px 0 #e9ecf1}.button.secondary:not(.vote-blue):not(.vote-red):hover,button.secondary:hover{background:#f6f7fa;color:var(--ink)}
.nav-account .nav-signup{background:#26354e;border-radius:10px}.hero-copy h1 span{color:#215eaa}
input:not([type=checkbox]):not([type=radio]),textarea,select{border:1px solid #cdd3de;border-radius:12px;background:#fff;box-shadow:inset 0 1px 2px #17203305}input:focus,textarea:focus,select:focus{border-color:#8b9bb3}input[type=file]{background:#f7f8fa}input[readonly],textarea[readonly]{background:#f7f8fa}
.preview,.review-card,.discovery-card,.badge-generator,.dashboard-project,.category-project,.battle-round,.battle-share,.completion-card{border-radius:16px;border-color:var(--line);box-shadow:0 3px 12px #17203305}
.completion-card,.project-owner-actions,.badge-preview,.notice{background:#f8f8fa}.completion-card progress::-webkit-progress-value{background:#7186a6}.completion-card progress::-moz-progress-bar{background:#7186a6}.completion-card progress{accent-color:#7186a6}.completion-heading span{color:#405777}
.duel,.duel-featured,.duel-list-arena .duel-compact{padding:22px;border-radius:20px;border:1px solid #e2e5ec;background:linear-gradient(120deg,#fff 65%,#fffdf8);box-shadow:0 5px 18px #17203309}
.duel-meta{gap:10px;flex-wrap:wrap}.duel-meta .status-pill{background:#fff0f2;color:#a7213c;border-radius:9px}.arena-ornament{display:flex;align-items:center;gap:12px;margin:12px 0 0;color:#b48b41}.arena-ornament:before,.arena-ornament:after{content:'';height:1px;background:#dac69f;flex:1}.arena-ornament span{font-size:25px;line-height:1}
.duel .duel-question{font-size:clamp(1.1rem,4cqi,1.5rem);margin:16px 0 22px;line-height:1.35}
.duel .duel-cards,.duel-list-wide .duel-cards{grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);gap:8px;align-items:stretch}
.duel .duel-project,.duel-list-wide .duel-project{background:#eef6ff;border:1px solid #e0edff;border-radius:16px;padding:16px 8px;min-height:0;display:flex;flex-direction:column;align-items:center;transform:none}
.duel .duel-project:last-child{background:#fff1f3;border-color:#ffe1e7}
.duel .duel-project-main{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;width:100%;height:auto}
.duel .duel-project img,.duel .duel-logo-placeholder,.duel-list-arena .duel-compact .duel-project-main img{width:72px;height:72px;object-fit:scale-down;box-sizing:content-box;padding:7px;background:#fff;border:1px solid #e0e7f0;border-radius:15px}
.duel .duel-project-main strong,.duel-list-arena .duel-compact .duel-project-main strong{font-size:clamp(.95rem,3.4cqi,1.2rem);line-height:1.3;text-align:center;overflow-wrap:anywhere;min-height:2.6em}
.duel-category{text-align:center;padding-left:0;margin-top:8px}.duel-category .category-chip{background:#dfebfc;color:#435a7c;border-radius:99px;padding:5px 10px}.duel-project:last-child .category-chip{background:#fbe1e6;color:#79505c}
.duel .duel-vs{align-self:center;display:flex;justify-content:center;align-items:center;width:46px;height:46px;border:2px solid #d6b267;border-radius:50%;background:linear-gradient(135deg,#fff5d8,#f6dfaa);color:#78511c;font-size:16px;box-shadow:inset 0 0 0 3px #fff4d4,0 2px 0 #ecd9b0}
.duel .duel-short-description{font-size:.85rem;line-height:1.5;margin:12px 0 0;text-align:center;overflow-wrap:anywhere}
.duel .duel-prompt{font-size:clamp(1rem,3.5cqi,1.25rem);color:var(--ink);margin:22px 0 12px}.duel .duel-vote{min-height:54px;font-size:clamp(.9rem,3cqi,1.1rem)}
.duel-score-labels{font-size:1.1rem;margin-bottom:10px}.duel-score-labels>span{display:flex;gap:7px;align-items:baseline;flex-wrap:wrap}.duel-score-labels>span:last-child{justify-content:flex-end}.duel-score-labels small{font-size:.7rem;color:var(--muted);font-weight:500}.duel-score-track{height:22px;border-width:4px}.duel-score p{font-size:.8rem;margin-top:12px}
.duel-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid #e2e5ec;margin-top:18px;padding-top:14px}.duel-footer .duel-link{margin:0;white-space:nowrap;color:#405575;font-size:.85rem}.duel-footer .battle-share-icons{border:0;padding:0;margin:0;gap:5px}.duel-footer .share-icon{width:32px;height:34px;flex-basis:32px;background:transparent;box-shadow:none;border-color:transparent;border-radius:8px}.duel-footer .share-icon:hover{background:#eeeae3;border-color:#ddd7ce}.duel-brand{display:block;text-align:center;font-size:.7rem;color:#6f7785;text-decoration:none;margin-top:12px}
.battle-side-equal{border:1px solid #e0edff!important;border-radius:16px;background:#eef6ff}.battle-side-equal:last-child{background:#fff1f3;border-color:#ffe1e7!important}.battle-vs{border:1px solid #d6b267;border-radius:50%;background:#fff3d3;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:.85rem;align-self:center;justify-self:center}.battle-pair-equal{grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr)}.battle-round{background:#fffdf9}.battle-scorecard{background:#fbf8f1;border-color:#e9dfcc}.category-chip{background:#f0f2f6;color:#52647c;border-radius:99px}
@container battle (max-width:360px){.duel .duel-cards{grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr);gap:5px}.duel .duel-vs{width:34px;height:34px;font-size:12px}.duel .duel-project{padding:12px 5px}.duel .duel-project img,.duel .duel-logo-placeholder{width:48px;height:48px;padding:6px}.duel .duel-project-main strong{font-size:.95rem}.duel .duel-category .category-chip{font-size:.65rem;padding:4px 6px}.duel-footer{gap:10px}.duel-footer .battle-share-icons{margin-left:auto}.duel-score-labels small{display:none}}
@media(max-width:480px){.duel,.duel-featured,.duel-list-arena .duel-compact{padding:14px}.duel .duel-project-main{display:flex}.duel .duel-project img{width:56px;height:56px}.duel .duel-cards{grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr)}.duel .duel-vs{width:36px;height:36px}.battle-side-equal{padding:12px 6px}.battle-logo{max-width:100%}}
.hero-picture{display:block;min-width:0;width:100%}.hero-picture .hero-art{display:block;width:100%;height:auto}.homepage-hero.shell{gap:28px;grid-template-columns:minmax(0,1fr) minmax(0,1.18fr)}
@media(max-width:900px){.homepage-hero.shell{gap:18px;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr)}}
@media(max-width:700px){.homepage-hero.shell{grid-template-columns:1fr;gap:20px}.hero-picture{max-width:520px;margin:auto}.hero-picture .hero-art{max-width:none;margin:0}}
.duel,.duel-featured,.duel-list-arena .duel-compact{border-color:#e7d9bc;box-shadow:0 5px 18px #8c682012}
.arena-ornament{gap:16px}.arena-ornament img{width:48px;height:48px;object-fit:contain;flex:none}.arena-ornament:before{background:linear-gradient(90deg,transparent,#d4b576)}.arena-ornament:after{background:linear-gradient(90deg,#d4b576,transparent)}
.duel .duel-logo-frame{position:relative;display:flex;align-items:center;justify-content:center;width:108px;height:108px;flex:none;background:#fff;border-radius:3px;box-shadow:0 3px 8px #8b69201c}
.duel .duel-logo-frame:after{content:'';position:absolute;inset:0;background:url('/assets/images/brand/gold-frame.webp') center/100% 100% no-repeat;pointer-events:none}
.duel .duel-logo-frame img,.duel .duel-logo-frame .duel-logo-placeholder,.duel-list-arena .duel-compact .duel-logo-frame img{width:72px;height:72px;padding:0;border:0;border-radius:0;background:#fff;box-sizing:border-box;object-fit:scale-down}
.duel .duel-vs{border:0;background:transparent url('/assets/images/brand/gold-medallion.webp') center/contain no-repeat;box-shadow:none;border-radius:0;width:56px;height:56px;font-size:17px;color:#493014}
.duel .duel-cards,.duel-list-wide .duel-cards{grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr)}
@container battle (max-width:360px){.duel .duel-logo-frame{width:78px;height:78px}.duel .duel-logo-frame img,.duel .duel-logo-frame .duel-logo-placeholder{width:50px;height:50px}.duel .duel-vs{width:38px;height:38px;font-size:12px}.duel .duel-cards{grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr);gap:5px}.arena-ornament img{width:40px;height:40px}}
@media(max-width:480px){.duel .duel-logo-frame{width:82px;height:82px}.duel .duel-logo-frame img,.duel .duel-logo-frame .duel-logo-placeholder{width:54px;height:54px}.duel .duel-cards{grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr)}.duel .duel-vs{width:40px;height:40px;font-size:12px}}
.duel .duel-project,.duel .duel-project:last-child{background:#fff;border-color:#e9e4da}
.duel .knight-slot{height:57px}.duel .phase-knight{width:63px;height:54px}
.duel-compact .knight-slot{height:40.5px}.duel-compact .phase-knight{width:46.5px;height:39px}
.duel .duel-choices{display:grid;grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr);gap:8px;margin:12px 0 22px}
.duel .duel-choices form:first-child{grid-column:1}.duel .duel-choices form:last-child{grid-column:3}
.duel .duel-vote{width:100%;color:#fff;border:2px solid #bf9140;border-radius:0;min-height:52px;font-size:1.1rem;font-weight:800;letter-spacing:.02em;background:linear-gradient(#227aff,#075ad3);box-shadow:inset 0 2px #ffffff55,inset 0 -3px #00000022,0 4px 0 #124287;clip-path:polygon(4px 0,calc(100% - 4px) 0,calc(100% - 4px) 4px,100% 4px,100% calc(100% - 4px),calc(100% - 4px) calc(100% - 4px),calc(100% - 4px) 100%,4px 100%,4px calc(100% - 4px),0 calc(100% - 4px),0 4px,4px 4px)}
.duel .duel-vote.vote-red{background:linear-gradient(#f13551,#cf1532);box-shadow:inset 0 2px #ffffff55,inset 0 -3px #00000022,0 4px 0 #8c1830}
.duel .duel-vote:hover{background:#0753c2;color:#fff;border-color:#e6b95d}.duel .duel-vote.vote-red:hover{background:#bc102b}
.duel .duel-vote:focus-visible{clip-path:none;outline:3px solid #9b6d20;outline-offset:3px}
.duel .duel-prompt{display:block;text-align:center;margin:16px 0 0}.duel .duel-score{margin-bottom:0}.duel .duel-cards{margin-top:20px}
.arena-ornament img{image-rendering:pixelated}
@media(max-width:480px){.duel .knight-slot{height:43.5px}.duel .phase-knight{width:49.5px;height:40.5px}.duel .duel-choices{grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr)} }
@container battle (max-width:360px){.duel .duel-choices{grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr);gap:5px}}
.duel .arena-ornament img{width:60px;height:60px}
.duel .duel-logo-frame{background:transparent;box-shadow:none;border-radius:0}.duel .duel-logo-frame:after{display:none}
.duel .duel-vs{background:none}.duel .duel-vs .duel-vs-art{display:block;width:100%;height:auto;padding:0;background:transparent;border:0;border-radius:0;object-fit:contain}
.duel .arena-ornament img{width:30px;height:30px}
.duel .duel-vote,.duel .duel-vote.vote-red{clip-path:none;border:4px solid #fff;border-radius:12px;box-shadow:0 0 0 1px #d8dfeb,0 3px 6px #17203318,inset 0 1px #ffffff44;min-height:54px}
.duel .duel-vote:hover,.duel .duel-vote.vote-red:hover{border-color:#fff}
.duel .duel-vs{width:36px;height:36px;justify-self:center;min-width:0;overflow:hidden;position:relative;background:none;z-index:1}
.duel .duel-vs img.duel-vs-art{width:100%;max-width:100%;height:auto;max-height:100%;object-fit:contain;padding:0;border:0;box-sizing:border-box;background:transparent;flex:none}
.duel .duel-project,.duel .duel-project:last-child,.duel-list-arena .duel-compact .duel-project{border:0;box-shadow:none;background:#fff;transform:none;min-height:0}
.duel .duel-project-main,.duel-list-arena .duel-compact .duel-project-main{height:auto;gap:12px}
.duel .duel-project-main strong,.duel-list-arena .duel-compact .duel-project-main strong{font-size:clamp(.95rem,3.4cqi,1.2rem);text-align:center;min-height:2.6em}
.duel-tags{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:7px;margin:18px 0 10px}.duel-tags:empty{display:none}.duel-tags .category-chip{background:#f1f2f4;color:#59616c;border:1px solid #e5e7ea;border-radius:99px;font-size:.72rem;padding:4px 10px}.duel-tags .category-chip:hover{background:#e5e7eb;color:#273344}
.arena-tabs a{border-radius:10px;border-color:#dce1e8;color:#52647c}.arena-tabs a[aria-current=page]{background:#26354e;border-color:#26354e;color:#fff}
@container battle (max-width:360px){.duel .duel-vs{width:28px;height:28px}}
.detail-round-list{display:grid;gap:24px;max-width:560px;margin:24px 0}.round-number{color:#59616c;font-weight:700}.duel-meta .round-number{margin-right:auto}.detail-rounds .duel{scroll-margin-top:20px}.battle-scorecard,.battle-share{max-width:800px;margin:28px 0;box-sizing:border-box;border:1px solid #e7d9bc;border-radius:20px;background:#fff;box-shadow:0 5px 18px #8c682012}.battle-scorecard .result-knights img{height:90px;width:auto}.battle-share .battle-share-icons{justify-content:center}.battle-share h2{text-align:center}.battle-share-preview{margin:18px 0}.battle-share-preview img{border-radius:14px}.arena-message{max-width:800px;margin:20px 0;border-radius:12px;background:#f5f7fa;border:1px solid #dce1e8;padding:14px}
.nav-links{flex-wrap:wrap}.builder-opponents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:20px 0 32px}.builder-opponent{min-width:0;border:1px solid #e2e5ec;border-radius:16px;padding:20px;background:#fff}.builder-knight{display:block;width:63px;height:54px;object-fit:contain;margin:0 0 12px}.builder-opponent:last-child .builder-knight{margin-left:auto}.builder-opponent label{display:block;margin-bottom:8px;font-weight:700}.builder-opponent input[type=search]{width:100%;box-sizing:border-box}.project-search-status{font-size:.8rem;color:#59616c;margin:10px 0 0;overflow-wrap:anywhere}.builder-opponent .project-results{position:static;width:100%;max-height:270px;overflow:auto}.builder-opponent button.project-result{display:flex;width:100%;background:#f7f8fa;color:#172033;border:1px solid #e2e5ec;border-radius:10px;text-align:left;padding:10px;margin:7px 0;min-height:44px}.project-result span{min-width:0;overflow-wrap:anywhere}.project-result small{display:block;color:#59616c;font-weight:400}.builder-opponent button.project-result:hover{background:#edf1f6;color:#172033}.question-group{border:1px solid #e2e5ec;border-radius:16px;padding:16px 20px;margin:22px 0;min-width:0}.question-group legend{font-size:clamp(1.15rem,2vw,1.3rem);line-height:1.4;color:var(--ink);font-weight:800;padding:0 8px}.catalog-question{padding:12px;border-radius:10px;margin:6px 0;background:#fafbfc;border:1px solid transparent}.catalog-question.question-selected{background:#f0f5fc;border-color:#b8cde8}.question-pick{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:1rem;font-weight:650;margin:0}.question-pick input[type=checkbox]{width:18px;height:18px;flex:none;margin-top:3px}.question-pick:has(input:disabled){opacity:.55;cursor:default}.question-benefit{margin:7px 0 0 28px;font-size:.8rem;color:#59616c}.question-benefit summary{cursor:pointer}.question-benefit p{margin:8px 0}.builder-hint{font-size:.8rem}#question-count{font-size:.9rem;color:#405777;font-weight:700}.project-battle-link{display:block;margin-top:12px;font-size:.8rem;font-weight:650;text-decoration:none}.discovery-link{margin-top:12px}.builder-submit{min-height:48px}
@media(max-width:540px){.builder-opponents{grid-template-columns:1fr;gap:14px}.builder-opponent{padding:16px}.question-group{padding:12px}.catalog-question{padding:10px}.nav-links{gap:16px}.battle-builder h2{font-size:1.35rem}}
.duel .duel-vs{background:none;border:0;box-shadow:none;font-family:inherit;font-size:24px;font-weight:900;letter-spacing:-.04em;color:#26354e;width:42px;height:42px;line-height:1;overflow:visible}
.battle-vs{background:none;border:0;box-shadow:none;font-family:inherit;font-size:24px;font-weight:900;color:#26354e}
.builder-opponent .project-result{align-items:center;gap:10px}.builder-opponent .project-result img{width:32px;height:32px;object-fit:scale-down;flex:none;border-radius:6px}
@container battle (max-width:360px){.duel .duel-vs{font-size:20px;width:32px;height:32px}}
body .builder-opponent button.project-result:not(.vote-blue):not(.vote-red):not(.media-x):not(.dropdown-logout){background:#f7f9fc;color:#172033;border:2px solid #718096;box-shadow:none;border-radius:12px}
body .builder-opponent button.project-result:not(.vote-blue):not(.vote-red):hover{background:#eaf0f8;color:#172033;border-color:#26354e}.builder-opponent button.project-result strong{color:#172033}.builder-opponent button.project-result small{color:#46566c}.builder-opponent button.project-result:focus-visible{outline:3px solid #215eaa;outline-offset:2px}
.public-search-form{max-width:800px;margin:24px 0}.public-search-form label{display:block;margin-bottom:8px}.public-search-form>div{display:flex;gap:12px}.public-search-form input{flex:1;min-width:0;width:100%;box-sizing:border-box}.search-sections{display:flex;gap:20px;margin:24px 0}.search-projects{grid-template-columns:repeat(2,minmax(0,1fr))}.search-project-stats{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:.8rem;color:#52647c}.search-project-stats>span:last-child{flex-basis:100%}.search-project-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:auto;padding-top:18px;font-size:.85rem}.search-maker{font-size:.8rem}.search-page section{scroll-margin-top:20px}.search-battle-result{min-width:0}.search-outcome{font-size:.9rem;font-weight:750;color:#26354e;margin:0 0 10px;overflow-wrap:anywhere}
@media(max-width:540px){.search-projects{grid-template-columns:1fr}.public-search-form>div{flex-direction:column}.public-search-form button{align-self:flex-start}}
.public-search-form #global-suggestions{display:grid;gap:6px;width:100%;margin-top:8px}
a.global-search-result{display:flex;gap:12px;align-items:center;padding:12px 14px;background:#f7f9fc;border:2px solid #718096;border-radius:12px;color:#172033;text-decoration:none;min-width:0}
a.global-search-result:hover{background:#eaf0f8;border-color:#26354e}
a.global-search-result:focus-visible{outline:3px solid #215eaa;outline-offset:2px}
.global-search-result img{object-fit:scale-down;flex:none;background:white;border-radius:5px}
.global-search-result span{display:block;min-width:0;overflow-wrap:anywhere}
.global-search-result strong{display:block;color:#172033}
.global-search-result small{display:block;color:#46566c;margin-top:3px}
.context-help{margin:12px 0 20px;max-width:800px;color:#35445a;font-size:.92rem}
.context-help summary,.question-benefit summary{cursor:pointer;font-weight:650;color:#405269;padding:8px 0;line-height:1.5}
.context-help summary:focus-visible,.question-benefit summary:focus-visible{outline:3px solid #215eaa;outline-offset:3px;border-radius:4px}
.context-help[open]{background:#f7f8fa;border:1px solid #d8dee7;border-radius:12px;padding:8px 16px}
.context-help-body{line-height:1.65;overflow-wrap:anywhere}
.context-help-body p{margin:10px 0}
.question-benefit[open]{background:#f7f8fa;border-radius:8px;padding:0 12px 10px}
.question-benefit p{color:#35445a;line-height:1.6}
.question-requirement{font-size:.85rem;font-weight:650;color:#526077;margin:4px 0 4px 30px}
.detail-rounds>.context-help{margin-left:0;margin-right:0;text-align:left}
.alert,.notice,.arena-message,.duel-vote-feedback,.review-note,.share-status:not(:empty),#badge-copy-status:not(:empty){background:#fff8e8;border:1px solid #cda657;border-left:6px solid #a8751c;border-radius:12px;color:#513b12;padding:16px 18px;margin-top:16px;margin-bottom:16px;font-size:1rem;font-weight:650;line-height:1.55;box-shadow:0 3px 10px #5942170b;overflow-wrap:anywhere;box-sizing:border-box}
.alert-info,.notification-info,.arena-message:not(.notification-error){background:#f1f5fb;border-color:#8da3c1;border-left-color:#536c91;color:#223953}
.alert-success,.duel-vote-feedback:not(.notification-info),#badge-copy-status:not(:empty),.share-status:not(:empty){background:#eff8f2;border-color:#88b39b;border-left-color:#297047;color:#174a2d}
.alert-error,.notification-error{background:#fff2f1;border-color:#d59992;border-left-color:#b13d31;color:#78271f}
.alert-warning,.review-note{background:#fff8e8;border-color:#cda657;border-left-color:#a8751c;color:#513b12}
.alert a,.notice a,.arena-message a,.duel-vote-feedback a,.review-note a{color:inherit;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.alert p,.duel-vote-feedback p{font-weight:500;margin:8px 0}
.duel-vote-feedback small{display:block;color:inherit;margin-top:6px}
.share-status:not(:empty){flex-basis:100%;font-size:.9rem;padding:10px 14px;text-align:left}
@media(max-width:480px){.alert,.notice,.arena-message,.duel-vote-feedback,.review-note{padding:13px 14px;border-left-width:5px}.context-help[open]{padding:6px 12px}}
.notification-inline{border:1px solid #cda657;border-left:6px solid #a8751c;border-radius:12px;padding:14px 16px;margin:14px 0;font-weight:700;line-height:1.55;background:#fff8e8;color:#513b12}
.notification-inline.notification-error{background:#fff2f1;border-color:#d59992;border-left-color:#b13d31;color:#78271f}
#badge-copy-status.notification-info:not(:empty){background:#f1f5fb;border-color:#8da3c1;border-left-color:#536c91;color:#223953}
.alert,.notice,.arena-message,.duel-vote-feedback,.review-note,.notification-inline,.share-status:not(:empty),#badge-copy-status:not(:empty){border-width:2px;border-style:solid;border-color:#a8751c;scroll-margin-block:24px}
.alert-info,.notification-info,.arena-message:not(.notification-error),#badge-copy-status.notification-info:not(:empty){border-color:#536c91}
.alert-success,.duel-vote-feedback:not(.notification-info),#badge-copy-status:not(:empty),.share-status:not(:empty){border-color:#297047}
.alert-error,.notification-error,.notification-inline.notification-error{border-color:#b13d31}
.alert-warning,.review-note{border-color:#a8751c}
#badge-copy-status.notification-info:not(:empty){border-color:#536c91}
[data-response-notice]:focus,.alert:focus,.arena-message:focus,.duel-vote-feedback:focus{outline:3px solid #d8b76a;outline-offset:4px}
.maker-contact{margin:20px 0 28px;padding:16px 18px;border:1px solid #d8dee7;border-radius:12px;background:#fafbfc}
.maker-contact h2{font-size:1rem;margin:0 0 12px;color:#35445a}
.maker-contact nav{display:flex;flex-wrap:wrap;gap:8px}
.maker-contact a{display:inline-flex;align-items:center;gap:7px;border:1px solid #c4cedb;border-radius:7px;background:white;padding:8px 11px;color:#35445a;font-size:.9rem;font-weight:650;text-decoration:none}
.maker-contact a:hover{background:#edf1f7;border-color:#718096}
.maker-contact a:focus-visible{outline:3px solid #215eaa;outline-offset:3px}
.profile-link-fields input{width:100%;box-sizing:border-box}
.legal-nav{display:flex;flex-wrap:wrap;gap:.65rem 1rem;margin:1rem 0;font-size:.9rem}.legal-copy{line-height:1.65;overflow-wrap:anywhere}.legal-copy h2{font-size:1.2rem;margin:1.5rem 0 .45rem}.legal-copy table{width:100%;border-collapse:collapse;font-size:.9rem}.legal-copy td,.legal-copy th{text-align:left;vertical-align:top;padding:.6rem;border:1px solid #dce2ea}.legal-agreement{display:flex;align-items:flex-start;gap:.65rem;font-weight:normal}.legal-agreement input{width:auto;flex:none;margin-top:.3rem}.report-overview{padding:1rem;border:1px solid #decba7;border-radius:16px;background:#fffdf8}.report-votes{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.report-votes>div{padding:.8rem;background:#f5f7fa;border-radius:12px;overflow-wrap:anywhere}.report-round h2{font-size:1.3rem}.report-round details{margin-top:1rem}.report-round summary{cursor:pointer;font-weight:700}@media(max-width:420px){.report-votes{grid-template-columns:1fr}.legal-copy table{font-size:.8rem}.legal-copy td,.legal-copy th{padding:.35rem}}
.duel .duel-choices{grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);gap:12px}
.duel .duel-cards{margin-top:24px;align-items:start;gap:12px;grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr)}
.duel .duel-project,.duel-list-arena .duel-compact .duel-project{padding:0;overflow:visible;min-width:0}
.duel .duel-project-main,.duel-list-arena .duel-compact .duel-project-main{gap:10px}
.duel .duel-logo-frame{width:112px;height:112px;max-width:100%;box-sizing:border-box;position:relative;background:linear-gradient(145deg,#fff,#f7f8fa);border:1px solid #e1e5ec;border-radius:18px;box-shadow:0 3px 8px #1720330d;flex-shrink:0;transition:border-color .15s,box-shadow .15s}
.duel .duel-logo-frame:after{display:block;content:'';position:absolute;inset:auto 12px -1px;height:3px;border-radius:3px;background:#1467df;pointer-events:none}
.duel .project-red .duel-logo-frame:after{background:#df1835}
.duel .duel-logo-frame img,.duel-list-arena .duel-compact .duel-logo-frame img,.duel .duel-logo-frame .duel-logo-placeholder{width:88px;height:88px;max-width:calc(100% - 20px);max-height:calc(100% - 20px);object-fit:scale-down;border-radius:10px;background:transparent;border:0;padding:0}
.duel .duel-project-main:hover .duel-logo-frame,.duel .duel-project-main:focus-visible .duel-logo-frame{border-color:#a3afbf;box-shadow:0 4px 12px #17203319}
.duel .duel-project-main:focus-visible{outline:2px solid #52647c;outline-offset:4px;border-radius:18px}
.duel .duel-vs{align-self:start;margin-top:38px;width:48px;height:36px;overflow:visible;font-size:24px;z-index:auto}
@container battle (max-width:360px){.duel .duel-choices{grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr);gap:8px}.duel .duel-cards{grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr);gap:8px}.duel .duel-logo-frame{width:88px;height:88px;border-radius:15px}.duel .duel-logo-frame img,.duel-list-arena .duel-compact .duel-logo-frame img,.duel .duel-logo-frame .duel-logo-placeholder{width:68px;height:68px}.duel .duel-vs{width:32px;font-size:20px;margin-top:26px}}
@media(prefers-reduced-motion:reduce){.duel .duel-logo-frame{transition:none}}
.battle-directory,.live-band>
.battle-section{margin:28px 0 38px}.battle-section>h3{font-size:1.3rem;margin:0 0 8px}
.duel-list.battle-grid-featured,.duel-list.battle-grid-standard,.duel-list.battle-grid-compact{display:grid;gap:20px;align-items:stretch;justify-content:center}
.duel-list.battle-grid-featured{grid-template-columns:repeat(auto-fit,minmax(min(100%,480px),1fr))}
.duel-list.battle-grid-standard{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.duel-list.battle-grid-compact{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.battle-grid-featured>.duel{max-width:560px}.battle-grid-standard>.duel{max-width:380px}.battle-grid-compact>.duel,.battle-grid-compact>.search-battle-result{max-width:320px}
.duel-list>.duel,.duel-list>.search-battle-result{grid-column:auto!important;width:100%;min-width:0;justify-self:center;margin:0}
.duel{display:flex;flex-direction:column;padding:18px;min-width:0}.duel.duel-compact{padding:14px}
.duel .duel-meta{flex-wrap:wrap;gap:7px;font-size:12px;line-height:1.4}.duel .duel-time{margin-left:auto;text-align:right}.placement-label{font-weight:700;color:#765317}
.duel .arena-ornament{margin:10px 0 0}.duel .arena-ornament img{width:24px;height:24px}
.duel .duel-question,.duel-featured .duel-question{font-size:18px;line-height:1.35;margin:12px 0 16px;overflow-wrap:anywhere}.duel.duel-compact .duel-question{font-size:16px}
.duel .duel-cards{margin:0;grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr);gap:8px;align-items:start}
.duel .duel-logo-frame{width:96px;height:96px;border-radius:16px}.duel .duel-logo-frame img,.duel .duel-logo-frame .duel-logo-placeholder{width:76px;height:76px}
.duel .duel-project-main strong{font-size:16px;line-height:1.35;min-height:2.7em}.duel.duel-compact .duel-project-main strong{font-size:14px}
.duel .duel-vs{width:32px;height:32px;font-size:22px;margin-top:32px}
.duel .duel-prompt{font-size:16px;margin:12px 0 8px;line-height:1.4}
.duel .duel-choices{grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr);gap:8px;margin:0}
.duel .duel-choices form{margin:0;min-width:0}.duel .duel-vote,.duel .duel-vote.vote-red{min-height:48px;padding:8px;font-size:17px;line-height:1.2}.duel .vote-knight{display:none}
.duel .duel-vote-feedback{margin:12px 0;font-size:14px}.duel .duel-vote-feedback p{margin:6px 0}
.duel .knight-lane{margin:16px 0 0}.duel .knight-slot{height:43px}.duel .phase-knight{width:50px;height:43px}
.duel .duel-score{margin:5px 0 0}.duel .duel-score-labels strong{font-size:20px}.duel .duel-score-labels small{display:inline;font-size:12px}.duel .duel-score p{font-size:13px;margin:8px 0 0}.duel .duel-score-track{height:18px}
.duel .duel-tags{margin:12px 0 8px}.duel .duel-tags .category-chip{font-size:12px}.duel .duel-starter{font-size:12px;margin:6px 0 12px}
.duel .duel-footer{margin-top:auto;padding-top:12px;gap:8px;flex-wrap:wrap}.duel .duel-link{font-size:14px}.duel .battle-share-icons{gap:2px;margin-left:0;flex-wrap:wrap}.duel .share-icon{width:32px;height:32px;padding:5px}.duel .duel-brand{font-size:12px;margin-top:10px}
.duel-outcome{font-size:14px;font-weight:700;margin:12px 0 0}
.duel.duel-featured .duel-question{font-size:22px}.duel.duel-featured .duel-logo-frame{width:112px;height:112px}.duel.duel-featured .duel-logo-frame img{width:88px;height:88px}.duel.duel-featured .duel-vs{margin-top:40px}.duel.duel-featured .duel-project-main strong{font-size:18px}
.detail-round-list{max-width:none}.detail-round-list .duel{width:100%;max-width:380px;justify-self:start}.detail-round-list .duel-question{font-size:20px}.next-battle{padding:18px 0;border:0;box-shadow:none;background:transparent}
.search-battle-result{min-width:0}.search-battle-result>.duel{height:100%}.search-outcome{font-size:14px}
@container battle (max-width:360px){.duel .duel-logo-frame{width:80px;height:80px}.duel .duel-logo-frame img,.duel .duel-logo-frame .duel-logo-placeholder{width:60px;height:60px}.duel .duel-vs{margin-top:24px;font-size:20px}.duel .duel-project-main strong{font-size:14px}.duel .duel-short-description{display:none}}
@media(max-width:420px){.battle-directory,.live-band>}
.battle-grid-featured{max-width:1140px;margin-left:0;margin-right:0}





@container battle (max-width:360px){.duel.duel-featured .duel-logo-frame{width:88px;height:88px}.duel.duel-featured .duel-logo-frame img{width:68px;height:68px}.duel.duel-featured .duel-vs{margin-top:28px}}
.duel .duel-choices{margin-top:10px}
.duel .knight-slot{height:48px}.duel .phase-knight{width:56px;height:48px}
.duel.duel-compact .knight-slot{height:45px}.duel.duel-compact .phase-knight{width:52px;height:45px}
.duel.duel-featured .knight-slot{height:54px}.duel.duel-featured .phase-knight{width:63px;height:54px}
.hero-ending{display:block;font-weight:inherit;color:var(--ink);white-space:nowrap}
.hero-copy h1 .hero-word{display:inline-block;width:4.5em;color:#215eaa;transition:opacity 180ms ease,transform 180ms ease;opacity:1;transform:translateY(0)}
.hero-copy h1 .hero-word.is-changing{opacity:0;transform:translateY(.12em)}
.hero-motion-control{padding:2px 7px;min-height:24px;border:1px solid #d5dce6;border-radius:6px;background:#fff;color:#52647c;font:12px Arial,sans-serif;margin:-14px 0 12px;box-shadow:none}
.hero-motion-control[hidden]{display:none}
@media(prefers-reduced-motion:reduce){.hero-copy h1 .hero-word{transition:none}.hero-motion-control{display:none}}
@media(max-width:380px){.hero-copy h1{font-size:2.4rem}}

/* 0.8.7: generated pixel-world landscapes remain visible around readable content. */
.duel[data-scenery]{position:relative;isolation:isolate;background:#fff;overflow:hidden;border-color:#d9dfdf;box-shadow:0 7px 0 rgba(72,85,99,.08),0 14px 30px rgba(42,55,69,.07)}
.duel-scenery{position:absolute;z-index:0;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none;background-color:#fff;background-repeat:no-repeat;background-size:cover;background-position:center;opacity:1}
.duel-scenery-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}.duel-scenery-detail{position:absolute;right:12px;bottom:104px;width:43px;height:36px;object-fit:contain;image-rendering:pixelated;opacity:.28;filter:saturate(.72)}
.duel[data-scenery-detail="dragon"] .duel-scenery-detail,.duel[data-scenery-detail="royal"] .duel-scenery-detail{right:14px;bottom:108px}
.duel[data-scenery-detail="donkey"] .duel-scenery-detail,.duel[data-scenery-detail="ogre"] .duel-scenery-detail{left:13px;right:auto;bottom:104px}
.duel>*:not(.duel-scenery){position:relative;z-index:1}
.duel .duel-project,.duel .duel-project:last-child{background:rgba(255,255,255,.96);border:1px solid rgba(214,222,227,.88);box-shadow:0 4px 0 rgba(70,84,97,.08),0 8px 20px rgba(36,50,63,.04)}
.duel .duel-question a{color:#172033;text-shadow:0 1px rgba(255,255,255,.9)}
.duel .duel-vote{box-shadow:0 4px 0 rgba(35,48,64,.1)}
.duel .duel-score-labels,.duel .duel-score-track,.duel .duel-score p,.duel .duel-tags,.duel .duel-starter,.duel .duel-footer,.duel .duel-brand,.duel .duel-outcome{position:relative;z-index:1}
.duel[data-scenery="meadow"]{--scene-edge:#c8d9bb}.duel[data-scenery="bridge"]{--scene-edge:#bfd2d8}.duel[data-scenery="forest"]{--scene-edge:#bfd0bb}.duel[data-scenery="twilight"]{--scene-edge:#c9bfd6}.duel[data-scenery="victory"]{--scene-edge:#dfd09c}.duel[data-scenery="draw"]{--scene-edge:#d4cbb5}
.duel[data-scenery] .duel-logo-frame{border-color:var(--scene-edge,#e5e7eb)}
@media(max-width:480px){.duel-scenery-detail{width:35px;height:30px;bottom:96px;opacity:.23}}
@media(prefers-reduced-motion:reduce){.duel[data-scenery]{scroll-behavior:auto}}

/* 0.8.7: tiny battle effects are overlays, never layout items. */
.duel .knight-slot{overflow:visible;z-index:2}
.duel .phase-knight{position:relative;z-index:3}
.knight-effect{position:absolute;display:block;object-fit:contain;pointer-events:none;user-select:none;image-rendering:pixelated;z-index:1}
.knight-effect-dust{width:54px;height:30px;top:11px;opacity:.34}
.knight-effect-dust.knight-effect-blue{left:-43px}
.knight-effect-dust.knight-effect-red{right:-43px;transform:scaleX(-1)}
.knight-effect-ward{width:42px;height:54px;top:-5px;opacity:.24}
.knight-effect-ward.knight-effect-blue{right:-22px}
.knight-effect-ward.knight-effect-red{left:-22px;transform:scaleX(-1)}
.knight-effect-sparks{width:38px;height:32px;position:absolute;left:50%;top:3px;transform:translateX(-50%);opacity:.44;animation:baatle-spark-glint 1.25s steps(2,end) infinite}
@keyframes baatle-spark-glint{0%,100%{opacity:.23}50%{opacity:.55}}
@media(prefers-reduced-motion:reduce){.knight-effect-sparks{animation:none;opacity:.34}}
:root{--page-heading:clamp(2rem,4.2vw,3.5rem)}
h1,.page-title,.hero-copy h1{font-size:var(--page-heading);line-height:1.1;letter-spacing:-.045em;font-weight:800}
.hero-copy h1{margin-bottom:24px}.hero-ending{white-space:nowrap}.hero-copy h1 .hero-word{width:4.5em}
.button:focus-visible,button:focus-visible{outline:3px solid #638ec9;outline-offset:3px}
.button:active,button[type=submit]:active{transform:translateY(1px)}
.actions,.badge-actions{flex-direction:row;flex-wrap:wrap}
@media(max-width:700px){
 .hero-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .hero-actions .button{min-width:0;padding:10px 8px;font-size:.85rem;min-height:44px}
 .actions{gap:10px}.actions>.button,.actions>button,.badge-actions>.button,.badge-actions>button{flex:1 1 120px;width:auto;max-width:100%;font-size:.85rem;padding:10px 12px;min-height:44px}
}
@media(max-width:380px){.hero-copy h1{font-size:1.9rem}}
h2{font-size:clamp(1.4rem,2.7vw,2rem)}h3{font-size:clamp(1.1rem,2vw,1.35rem)}
html{scrollbar-gutter:stable}body{overflow-wrap:break-word}
.site-nav,
main.shell:not(.homepage-hero){margin-top:48px}

.auth-shell>*:not(h1){max-width:800px}
.directory-intro{max-width:none}
.directory-intro .step{margin-top:0}
.arena-tabs{gap:12px;flex-wrap:wrap;align-items:center;padding-bottom:16px;margin:28px 0 32px;border-bottom:1px solid #dce1e8}
.arena-tabs a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid transparent;border-radius:12px;line-height:1.35}
.arena-tabs a[aria-current=page]{border:1px solid #26354e;background:linear-gradient(#425370,#26354e);color:#fff;box-shadow:inset 0 1px 0 #ffffff30,0 2px 4px #17203310}
.hero-motion-control{display:none!important}
.hero-copy h1{font-size:clamp(2.25rem,4.8vw,4rem)}
@media(max-width:700px){.site-nav,.footer-inner,main.shell:not(.homepage-hero){margin-top:32px}.arena-tabs{gap:8px}.arena-tabs a{font-size:.85rem;padding:9px 12px}}
@media(max-width:380px){.hero-copy h1{font-size:2rem}}

/* Shared page geometry: one outer grid, narrower left-aligned working areas. */
:root{--page-width:1560px;--page-gutter:24px}
.shell,.shell.narrow,.shell.narrow.auth-shell,.battle-directory,.live-band>.shell,.site-nav,.footer-inner{width:min(var(--page-width),calc(100% - 2 * var(--page-gutter)));margin-left:auto;margin-right:auto}
main.shell{margin-top:48px;margin-bottom:48px}.shell{margin-top:48px;margin-bottom:48px}
.site-nav,.footer-inner{margin-top:0;margin-bottom:0}
main.shell>.step:first-child,.directory-intro>.step:first-child{margin-top:0}
.shell.narrow:not(.auth-shell)>*{max-width:880px}.auth-shell>*:not(h1){max-width:880px}
.auth-shell.auth-compact>*:not(h1){max-width:560px}.auth-shell.legal-reading>*:not(h1){max-width:720px}
.directory-intro{margin:0;max-width:none}.directory-intro .public-search-form{max-width:800px}
.duel-list{justify-content:start}.duel-list.battle-grid-standard{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}.duel-list.battle-grid-compact{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.duel-list.battle-grid-featured{grid-template-columns:repeat(auto-fit,minmax(min(100%,480px),1fr));margin-left:0;margin-right:0}
.detail-round-list{max-width:none;margin:24px 0;gap:24px;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}.round-section{min-width:0}.round-section-heading{font-size:1.15rem;margin:0 0 12px;text-align:left}
.battle-sharing{max-width:800px;margin:40px 0}.battle-sharing>h2{margin:0 0 18px;text-align:left}.battle-sharing>.battle-share{max-width:none;margin:0;padding:16px}.battle-share-preview{margin:0 0 16px}.battle-sharing>.context-help{margin:18px 0 0}.battle-scorecard{margin-left:0;margin-right:0}
.media-heading{font-size:1.15rem;margin:0}.public-search-form{max-width:800px}
@media(max-width:700px){:root{--page-gutter:16px}.shell,main.shell{margin-top:32px;margin-bottom:32px}.homepage-hero.shell{margin-top:0}.battle-sharing>.battle-share{padding:12px}}

.duel-list.battle-grid-standard:has(>:only-child){max-width:380px}.duel-list.battle-grid-standard:has(>:nth-child(2):last-child){max-width:780px}.duel-list.battle-grid-compact:has(>:only-child){max-width:320px}.duel-list.battle-grid-compact:has(>:nth-child(2):last-child){max-width:660px}.duel-list.battle-grid-compact:has(>:nth-child(3):last-child){max-width:1000px}

/* Multi-question progress and admin controls are visible without extra scripts. */
.round-section{max-width:380px}.detail-round-list:has(>:only-child){max-width:380px}.detail-round-list:has(>:nth-child(2):last-child){max-width:784px}.detail-round-list:has(>:nth-child(3):last-child){max-width:1188px}
.question-navigation{margin:20px 0}.question-navigation>div{display:flex;flex-wrap:wrap;gap:10px}.question-navigation a{padding:10px 14px;min-height:44px;border:1px solid #b6c8df;border-radius:10px;background:#fff;font-weight:700;text-decoration:none}.question-navigation a span{display:block;font-size:.8rem;font-weight:500}.question-navigation a.question-answered{background:#edf8f2;border-color:#58a681;color:#155d3c}
.round-section:target,.duel:target{scroll-margin-top:20px}.share-question-choice{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:18px 0}.share-question-choice label{flex-basis:100%;margin:0}.share-question-choice select{flex:1 1 280px;min-width:0}.share-question-choice button{min-height:44px}
.admin-tools-bar{width:min(var(--page-width),calc(100% - 2 * var(--page-gutter)));margin:12px auto 0;padding:12px 16px;border:2px solid #215eaa;border-radius:12px;background:#edf4ff;display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;font-size:.9rem}.admin-tools-bar a{min-height:32px;display:inline-flex;align-items:center;gap:6px}.admin-task-total{font-weight:800}.admin-tools-bar b{background:#215eaa;color:#fff;border-radius:6px;padding:2px 7px}.battle-admin-tools{max-width:880px;margin:32px 0;padding:20px;border:2px solid #215eaa;border-radius:12px;background:#edf4ff}.battle-admin-tools .arena-moderation{margin:0;padding:0;border:0}
.badge-preview{padding:16px}.badge-preview img{display:block;max-width:100%;height:auto}.badge-preview>a{display:inline-block;max-width:100%}
@media(max-width:420px){.badge-preview{padding:8px}.admin-tools-bar{padding:10px}.battle-admin-tools{padding:14px}}

.maker-avatar{display:inline-flex;align-items:center;justify-content:center;object-fit:cover;border-radius:50%;flex:none;vertical-align:middle;background:#eaf0f8;color:#215eaa;border:1px solid #d5dfed;font-size:14px;font-weight:800}.maker-identity-link{display:inline-flex;align-items:center;gap:6px}.duel-starter a{display:inline-flex;align-items:center;gap:5px}.public-maker-identity{display:flex;align-items:center;gap:20px}.public-maker-identity h1{margin:0}.public-maker-identity>.maker-avatar{width:96px;height:96px;font-size:32px}.profile-intro>.maker-avatar{font-size:24px}
.badge-reminder{max-width:880px;margin:24px 0;padding:16px;border:1px solid #bbcee7;border-radius:12px;background:#f3f7fd}.badge-reminder>strong{font-size:1.1rem}.badge-reminder p{margin:8px 0 14px}.badge-reminder form{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0}.badge-reminder button,.badge-reminder-reset button{background:#fff;color:#405269;border:1px solid #ccd7e7;box-shadow:none;font-size:.8rem;padding:8px 10px;min-height:44px}.badge-reminder-reset{margin:24px 0}.check-label{display:flex;gap:8px;align-items:center}.check-label input{width:auto}.project-screenshots{max-width:1000px;margin:28px 0}.project-screenshots .shots img{display:block;height:auto;max-width:100%}
.battle-collection-item{min-width:0;display:flex;flex-direction:column}.battle-collection-item>.duel{width:100%;flex:1}.battle-collection-label{font-size:.85rem;margin:0 0 10px;color:#405269}.battle-collection-label a{color:inherit;text-decoration:none}.battle-detail-label{font-size:1rem;color:#405269;margin:12px 0}.duel .duel-vs{font-size:20px;text-transform:none}
@media(max-width:540px){.public-maker-identity{gap:12px;align-items:flex-start}.public-maker-identity>.maker-avatar{width:64px;height:64px}.public-maker-identity h1{min-width:0}.badge-reminder{padding:12px}}

.search-battle-result>.battle-collection-item{height:100%}

.changelog-page>.step,.changelog-page>h1,.changelog-page>.lead,.changelog-page>p,.changelog-page>.pagination{max-width:880px}.changelog-entry{max-width:880px;margin:24px 0;padding:24px;border:1px solid #dce3ed;border-radius:14px;background:#fff;box-shadow:0 3px 12px #17203306}.changelog-meta{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;color:#52647c;font-size:.85rem}.changelog-meta>a{margin-left:auto}.changelog-type{display:inline-block;padding:3px 9px;border-radius:6px;background:#eaf3ff;color:#185491;font-weight:700}.changelog-type.type-announcement{background:#fff4dc;color:#77520f}.changelog-type.type-fix{background:#e8f6ee;color:#206243}.changelog-entry h2{font-size:1.45rem;margin:16px 0 12px}.changelog-body{overflow-wrap:anywhere}.changelog-body h3{font-size:1.15rem;margin:20px 0 10px}.changelog-body p{white-space:pre-line;margin:12px 0}.changelog-body ul,.changelog-body ol{padding-left:24px;margin:12px 0}.changelog-body li{margin:8px 0}.editor-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.editor-toolbar button{background:#fff;color:#26354e;border:1px solid #bbc9dd;box-shadow:none;min-height:44px;padding:8px 12px;font-size:.85rem}.changelog-editor textarea{min-height:260px}.changelog-editor pre{white-space:pre-wrap;overflow-wrap:anywhere}.changelog-admin-entry{display:flex;flex-direction:column;gap:4px;padding:14px 0;border-bottom:1px solid #e0e5ed}.changelog-admin-entry span{font-size:.85rem;color:#52647c}.changelog-preview{margin:32px 0}.changelog-preview .changelog-body h4{font-size:1.15rem}
@media(max-width:540px){.changelog-entry{padding:16px}.changelog-entry h2{font-size:1.3rem}}

/* 0.7.42: match visible knight height; wide attack poses keep their proportions. */
.duel .phase-knight,.duel.duel-compact .phase-knight,.duel.duel-featured .phase-knight{width:auto;height:100%;max-width:none;object-fit:contain;flex:none}


/* Actual opaque silhouette bounds, including generated-sprite margins. */
.duel .knight-slot{--knight-height:48px}
.duel.duel-compact .knight-slot{--knight-height:45px}
.duel.duel-featured .knight-slot{--knight-height:54px}
.duel .phase-knight,.duel.duel-compact .phase-knight,.duel.duel-featured .phase-knight{height:calc(var(--knight-height)*var(--sprite-scale,1));margin-bottom:calc(var(--knight-height)*var(--sprite-bottom,0));margin-left:calc(var(--knight-height)*var(--sprite-left,0));margin-right:calc(var(--knight-height)*var(--sprite-right,0))}
img.phase-knight[src$="/blue-ready.webp"]{--sprite-scale:1.0;--sprite-bottom:0.0;--sprite-left:0.0;--sprite-right:0.0}
img.phase-knight[src$="/blue-lunge.webp"]{--sprite-scale:1.0;--sprite-bottom:0.0;--sprite-left:0.0;--sprite-right:0.0}
img.phase-knight[src$="/blue-defend.webp"]{--sprite-scale:1.0;--sprite-bottom:0.0;--sprite-left:0.0;--sprite-right:0.0}
img.phase-knight[src$="/blue-charge.webp"]{--sprite-scale:1.0;--sprite-bottom:0.0;--sprite-left:0.0;--sprite-right:0.0}
img.phase-knight[src$="/blue-brace.webp"]{--sprite-scale:1.0;--sprite-bottom:0.0;--sprite-left:0.0;--sprite-right:0.0}
img.phase-knight[src$="/blue-win.webp"]{--sprite-scale:1.0;--sprite-bottom:0.0;--sprite-left:0.0;--sprite-right:0.0}
img.phase-knight[src$="/blue-defeated.webp"]{--sprite-scale:1.0;--sprite-bottom:0.0;--sprite-left:0.0;--sprite-right:0.0}
img.phase-knight[src$="/red-ready.webp"]{--sprite-scale:1.0;--sprite-bottom:0.0;--sprite-left:0.0;--sprite-right:0.0}
img.phase-knight[src$="/red-lunge.webp"]{--sprite-scale:1.0;--sprite-bottom:0.0;--sprite-left:0.0;--sprite-right:0.0}
img.phase-knight[src$="/red-defend.webp"]{--sprite-scale:1.0;--sprite-bottom:0.0;--sprite-left:0.0;--sprite-right:0.0}
img.phase-knight[src$="/red-charge.webp"]{--sprite-scale:1.0;--sprite-bottom:0.0;--sprite-left:0.0;--sprite-right:0.0}
img.phase-knight[src$="/red-brace.webp"]{--sprite-scale:1.0;--sprite-bottom:0.0;--sprite-left:0.0;--sprite-right:0.0}
img.phase-knight[src$="/red-win.webp"]{--sprite-scale:1.0;--sprite-bottom:0.0;--sprite-left:0.0;--sprite-right:0.0}
img.phase-knight[src$="/red-defeated.webp"]{--sprite-scale:1.0;--sprite-bottom:0.0;--sprite-left:0.0;--sprite-right:0.0}

/* 0.8.7: use direct percentage positions so knights remain collision-free in every browser. */
.duel .knight-lane{--knight-height:48px;--knight-slot-width:64px;display:block;position:relative;height:var(--knight-height);overflow:visible;isolation:isolate}
.duel.duel-compact .knight-lane{--knight-height:45px;--knight-slot-width:58px}
.duel.duel-featured .knight-lane{--knight-height:54px;--knight-slot-width:70px}
.duel .knight-slot,.duel.duel-compact .knight-slot,.duel.duel-featured .knight-slot{position:absolute;bottom:0;height:var(--knight-height);width:var(--knight-slot-width);left:var(--knight-a-step,3%);overflow:visible;z-index:2}
.duel .knight-slot-red,.duel.duel-compact .knight-slot-red,.duel.duel-featured .knight-slot-red{left:var(--knight-b-step,82%);width:var(--knight-slot-width)}
.duel .knight-moving .knight-slot{transition:left .4s ease-out}
.duel .phase-knight{width:100%;height:100%;object-fit:contain;object-position:center bottom}
@media(prefers-reduced-motion:reduce){.duel .knight-moving .knight-slot{transition:none}}
/* Bright translucent field protects headings, controls and information from the scenery. */
.duel[data-scenery]::after{content:"";position:absolute;z-index:0;inset:7px;border-radius:14px;background:rgba(255,255,255,.88);pointer-events:none}
.duel[data-scenery] .duel-project,.duel[data-scenery] .duel-project:last-child{background:rgba(255,255,255,.97);border:1px solid rgba(214,222,227,.95);box-shadow:0 4px 0 rgba(70,84,97,.08),0 8px 20px rgba(36,50,63,.05)}
.duel[data-scenery] .duel-logo-frame{background:rgba(255,255,255,.99)}
.duel[data-scenery] .duel-project-main{justify-content:flex-start;padding-top:8px;box-sizing:border-box}
.duel[data-scenery] .duel-question{color:#172033}
.duel[data-scenery] .duel-meta,.duel[data-scenery] .duel-question,.duel[data-scenery] .duel-score,.duel[data-scenery] .duel-tags,.duel[data-scenery] .duel-starter,.duel[data-scenery] .duel-footer,.duel[data-scenery] .duel-brand{background:rgba(255,255,255,.76);border-radius:9px;padding:4px 7px}
.duel[data-scenery] .duel-meta{padding:4px 8px}
.duel[data-scenery] .duel-question{padding:6px 10px}
.duel[data-scenery] .duel-score{padding:8px 9px}
.duel[data-scenery] .duel-tags,.duel[data-scenery] .duel-starter,.duel[data-scenery] .duel-footer,.duel[data-scenery] .duel-brand{padding:5px 8px}


/* 0.8.7: let the full landscape show; put translucent backing only under content. */
.duel[data-scenery]::after{display:none}
.duel[data-scenery] .duel-scenery-background{opacity:.96}
.duel[data-scenery] .duel-meta,.duel[data-scenery] .duel-question,.duel[data-scenery] .duel-score,.duel[data-scenery] .duel-tags,.duel[data-scenery] .duel-starter,.duel[data-scenery] .duel-footer,.duel[data-scenery] .duel-brand,.duel[data-scenery] .duel-outcome,.duel[data-scenery] .duel-vote-feedback{background:rgba(255,255,255,.80);border-radius:9px}
.duel[data-scenery] .duel-question{padding:6px 10px}
.duel[data-scenery] .duel-meta{padding:4px 8px}
.duel[data-scenery] .duel-score{padding:8px 9px}
.duel[data-scenery] .duel-tags,.duel[data-scenery] .duel-starter,.duel[data-scenery] .duel-footer,.duel[data-scenery] .duel-brand,.duel[data-scenery] .duel-outcome,.duel[data-scenery] .duel-vote-feedback{padding:5px 8px}

/* 0.8.7: cards follow the illustrated tabletop reference with distinct scenery, play, info and sharing zones. */
.duel[data-scenery]{padding:0;gap:0;position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid #d9dfdf;border-radius:20px;box-shadow:0 7px 0 rgba(72,85,99,.08),0 14px 30px rgba(42,55,69,.07)}
.duel.duel-featured[data-scenery],.duel.duel-compact[data-scenery]{padding:0}
.duel[data-scenery]::after{display:none}
.duel[data-scenery] .duel-scenery{position:absolute;z-index:0;inset:0;overflow:hidden;border-radius:inherit;pointer-events:none;background:#fff}
.duel[data-scenery] .duel-scenery-top{position:absolute;left:0;top:0;display:block;width:100%;height:clamp(170px,34cqi,210px);object-fit:cover;object-position:top center;opacity:1}
.duel[data-scenery] .duel-scenery-bottom{position:absolute;left:0;bottom:58px;display:block;width:100%;height:190px;object-fit:cover;object-position:bottom center;opacity:.42;mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.3) 22%,#000 58%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.3) 22%,#000 58%)}
.duel[data-scenery] .duel-scenery-detail{position:absolute;right:13px;bottom:92px;width:49px;height:42px;object-fit:contain;image-rendering:pixelated;opacity:.32;filter:saturate(.78)}
.duel[data-scenery-detail="dragon"] .duel-scenery-detail,.duel[data-scenery-detail="royal"] .duel-scenery-detail{right:14px;bottom:96px}
.duel[data-scenery-detail="donkey"] .duel-scenery-detail,.duel[data-scenery-detail="ogre"] .duel-scenery-detail{left:13px;right:auto;bottom:92px}
.duel[data-scenery] .duel-hero{position:relative;z-index:2;box-sizing:border-box;flex:0 0 auto;min-height:clamp(170px,34cqi,210px);padding:13px 16px 29px}
.duel[data-scenery] .duel-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:30px;padding:4px 8px;border-radius:11px;background:rgba(255,255,255,.58);color:#26354e;font-size:12px;line-height:1.35;text-shadow:0 1px 0 rgba(255,255,255,.85);box-shadow:0 1px 6px rgba(40,56,70,.04)}
.duel[data-scenery] .duel-meta .status-pill{flex:none;border-radius:999px;padding:5px 10px;background:#fff0f1;color:#c52235;font-weight:850;text-shadow:none;box-shadow:0 1px 3px rgba(26,37,50,.08)}
.duel[data-scenery] .duel-time{margin-left:auto;text-align:right;color:#23364f;font-weight:600}
.duel[data-scenery] .placement-label{color:#765317}
.duel[data-scenery] .arena-ornament{position:absolute;left:18px;right:18px;bottom:-16px;z-index:4;display:flex;justify-content:center;align-items:center;height:34px;margin:0;border:0;background:transparent}
.duel[data-scenery] .arena-ornament::before,.duel[data-scenery] .arena-ornament::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,rgba(210,154,75,.72))}
.duel[data-scenery] .arena-ornament::after{background:linear-gradient(90deg,rgba(210,154,75,.72),transparent)}
.duel[data-scenery] .arena-ornament img{position:relative;z-index:1;width:28px;height:28px;margin:0 10px;padding:3px;border-radius:50%;background:#fff;object-fit:contain}
.duel[data-scenery] .duel-main{position:relative;z-index:2;box-sizing:border-box;flex:1 0 auto;min-width:0;margin-top:-18px;padding:30px 18px 12px;background:transparent}
.duel[data-scenery] .duel-main::before{content:"";position:absolute;z-index:0;inset:0;background:#fff;clip-path:polygon(0 18px,12% 18px,18% 0,82% 0,88% 18px,100% 18px,100% 100%,0 100%);pointer-events:none}
.duel[data-scenery] .duel-main>*{position:relative;z-index:1}
.duel[data-scenery] .duel-question,.duel[data-scenery] .duel-question:first-child{margin:8px 0 16px;padding:0;border-radius:0;background:transparent;text-align:center;color:#172033;line-height:1.35;font-size:18px;text-shadow:none}
.duel[data-scenery] .duel-question a{color:#172033;text-decoration:none;text-shadow:none}
.duel[data-scenery] .duel-cards{margin:0 0 12px;align-items:start}
.duel[data-scenery] .duel-project,.duel[data-scenery] .duel-project:last-child{min-height:148px;background:rgba(255,255,255,.97);border:1px solid rgba(214,222,227,.92);box-shadow:0 4px 0 rgba(70,84,97,.08),0 8px 20px rgba(36,50,63,.04)}
.duel[data-scenery] .duel-logo-frame{background:#fff;border-color:var(--scene-edge,#e5e7eb)}
.duel[data-scenery] .duel-project-main{justify-content:flex-start;padding-top:8px;box-sizing:border-box}
.duel[data-scenery] .duel-choices{margin:0}
.duel[data-scenery] .duel-vote{min-height:48px;border-radius:11px;box-shadow:0 4px 0 rgba(35,48,64,.1)}
.duel[data-scenery] .duel-vote-feedback{background:rgba(255,255,255,.96);border-radius:10px;padding:9px 12px}
.duel[data-scenery] .duel-score{margin:9px 0 0;padding:8px 9px;border-radius:10px;background:rgba(255,255,255,.94);color:#293a51}
.duel[data-scenery] .duel-score-labels,.duel[data-scenery] .duel-score-track,.duel[data-scenery] .duel-score p{position:relative;z-index:1}
.duel[data-scenery] .duel-score-labels strong{font-size:20px}
.duel[data-scenery] .duel-score-track{height:16px}
.duel[data-scenery] .duel-outcome{margin:10px 0 0;padding:7px 10px;border-radius:9px;background:rgba(255,255,255,.94)}
.duel[data-scenery] .duel-lower-info{position:relative;z-index:2;box-sizing:border-box;padding:12px 18px 8px;background:rgba(255,255,255,.66);color:#354760}
.duel[data-scenery] .duel-lower-info::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.50),rgba(255,255,255,.22));pointer-events:none}
.duel[data-scenery] .duel-tags{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:7px;margin:0 0 8px;padding:0;border-radius:0;background:transparent}
.duel[data-scenery] .duel-starter{position:relative;z-index:1;margin:5px 0 4px;padding:0;border-radius:0;background:transparent;color:#354760}
.duel[data-scenery] .duel-footer-band{position:relative;z-index:2;flex:none;padding:8px 16px 11px;border-top:1px solid #e8ebee;background:rgba(255,255,255,.97)}
.duel[data-scenery] .duel-footer{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0;padding:0;border-radius:0;background:transparent}
.duel[data-scenery] .duel-link{margin:0;color:#35516f}
.duel[data-scenery] .battle-share-icons{margin-left:auto}
.duel[data-scenery] .duel-brand{display:block;width:max-content;margin:7px auto 0;padding:0;border-radius:0;background:transparent;color:#72839a}
.duel[data-scenery] .duel-main>.knight-lane{margin-top:10px}
@media(max-width:540px){.duel[data-scenery] .duel-hero{padding-left:12px;padding-right:12px}.duel[data-scenery] .duel-meta{gap:5px;font-size:11px}.duel[data-scenery] .duel-main{padding-left:13px;padding-right:13px}.duel[data-scenery] .duel-lower-info{padding-left:13px;padding-right:13px}.duel[data-scenery] .duel-footer-band{padding-left:12px;padding-right:12px}.duel[data-scenery] .duel-scenery-detail{width:38px;height:34px;opacity:.29}}


/* 0.8.7: a radial white focal surface lets the story art show through near the play-area edges. */
.duel[data-scenery] .duel-scenery-underlay{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center;opacity:.52;filter:saturate(.78)}
.duel[data-scenery] .duel-main::before{background:radial-gradient(ellipse 50% 50% at 50% 50%,rgba(255,255,255,1) 0%,rgba(255,255,255,.99) 42%,rgba(255,255,255,.78) 72%,rgba(255,255,255,.30) 100%)}
.duel[data-scenery] .duel-score{background:rgba(255,255,255,.82)}
.duel[data-scenery] .duel-outcome{background:rgba(255,255,255,.84)}


/* 0.8.7: keep the upper play area clean; reveal scenery only lower down, with a lighter 90%-transparent edge. */
.duel[data-scenery] .duel-scenery-underlay{mask-image:linear-gradient(to bottom,transparent 0%,transparent 27%,rgba(0,0,0,.18) 34%,#000 43%,#000 74%,transparent 92%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,transparent 27%,rgba(0,0,0,.18) 34%,#000 43%,#000 74%,transparent 92%,transparent 100%)}
.duel[data-scenery] .duel-main::before{background:radial-gradient(ellipse 50% 50% at 50% 50%,rgba(255,255,255,1) 0%,rgba(255,255,255,.99) 42%,rgba(255,255,255,.76) 72%,rgba(255,255,255,.10) 100%)}


/* 0.8.8: larger prompt; pair each project's identity and vote in one outlined white block. */
.duel[data-scenery] .duel-main{display:grid;grid-template-columns:minmax(0,1fr) clamp(22px,8cqi,44px) minmax(0,1fr);column-gap:0;align-content:start}
.duel[data-scenery] .duel-main>.duel-question{grid-column:1/-1;grid-row:1;font-size:clamp(22px,3.2cqi,32px);line-height:1.25;margin:7px 0 18px}
.duel[data-scenery] .duel-cards,.duel[data-scenery] .duel-choices{display:contents}
.duel[data-scenery] .duel-cards>.duel-project{grid-row:2;box-sizing:border-box;min-width:0;min-height:clamp(150px,22cqi,220px);height:auto;margin:0;padding:16px 10px 12px;border:1.5px solid #93b6e6;border-bottom:0;border-radius:16px 16px 0 0;background:#fff;box-shadow:none;overflow:visible}
.duel[data-scenery] .duel-cards>.duel-project:first-of-type{grid-column:1}
.duel[data-scenery] .duel-cards>.duel-project:last-of-type{grid-column:3;border-color:#e8a5ad}
.duel[data-scenery] .duel-cards>.duel-vs{grid-column:2;grid-row:2;align-self:center;justify-self:center;width:auto;height:auto;margin:0;color:#24364d;font-size:clamp(18px,2.6cqi,24px)}
.duel[data-scenery] .duel-project-main{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:10px;width:100%;height:100%;padding:0;box-sizing:border-box;text-align:center}
.duel[data-scenery] .duel-project-main strong{max-width:100%;min-height:0;text-align:center;font-size:clamp(16px,2.2cqi,22px);line-height:1.25;overflow-wrap:anywhere}
.duel[data-scenery] .duel-choices>form{display:flex;grid-row:3;min-width:0;margin:0;padding:8px;border:1.5px solid #93b6e6;border-top:0;border-radius:0 0 16px 16px;background:#fff;box-sizing:border-box}
.duel[data-scenery] .duel-choices>form:first-child{grid-column:1}
.duel[data-scenery] .duel-choices>form:last-child{grid-column:3;border-color:#e8a5ad}
.duel[data-scenery] .duel-choices .duel-vote{width:100%;min-height:48px;margin:0;border-radius:11px}
.duel[data-scenery] .duel-main:not(:has(.duel-choices)) .duel-cards>.duel-project{border-bottom:1.5px solid #93b6e6;border-radius:16px}
.duel[data-scenery] .duel-main:not(:has(.duel-choices)) .duel-cards>.duel-project:last-of-type{border-color:#e8a5ad}
.duel[data-scenery] .duel-main>.duel-vote-feedback,.duel[data-scenery] .duel-main>.knight-lane,.duel[data-scenery] .duel-main>.duel-outcome,.duel[data-scenery] .duel-main>.duel-score{grid-column:1/-1}
.duel[data-scenery] .duel-main>.knight-lane{min-height:54px;height:auto;box-sizing:content-box;margin:14px 0 0;padding:8px 10px 0;border:1px solid rgba(205,215,226,.85);border-bottom:0;border-radius:14px 14px 0 0;background:rgba(255,255,255,.75)}
.duel[data-scenery] .duel-main>.knight-lane .knight-effect{display:none!important}
.duel[data-scenery] .duel-main>.duel-score{margin:0;padding:7px 10px 12px;border:1px solid rgba(205,215,226,.85);border-top:0;border-radius:0 0 14px 14px;background:rgba(255,255,255,.75)}
.duel[data-scenery] .duel-main>.duel-outcome{margin:0;padding:7px 10px;border:1px solid rgba(205,215,226,.85);border-top:0;border-bottom:0;border-radius:0;background:rgba(255,255,255,.75)}
.duel[data-scenery] .duel-lower-info{background:transparent!important}
.duel[data-scenery] .duel-lower-info::before{display:none}
.duel[data-scenery] .duel-starter{font-size:14px;font-weight:850;color:#26384e}
.duel[data-scenery] .duel-starter a{padding:3px 8px;border-radius:999px;background:rgba(255,255,255,.96);color:#1458ac;font-weight:850}
.duel[data-scenery] .duel-starter .maker-avatar{background:#fff}
@media(max-width:540px){.duel[data-scenery] .duel-main{grid-template-columns:minmax(0,1fr) clamp(22px,8cqi,30px) minmax(0,1fr)}.duel[data-scenery] .duel-cards>.duel-project{padding:12px 6px 10px;min-height:145px}.duel[data-scenery] .duel-choices>form{padding:6px}.duel[data-scenery] .duel-project-main strong{font-size:clamp(14px,4cqi,18px)}}


/* 0.8.9: keep project identity blocks above the scenic center gradient. */
.duel[data-scenery] .duel-main>.duel-question,
.duel[data-scenery] .duel-main>.duel-cards>.duel-project,
.duel[data-scenery] .duel-main>.duel-cards>.duel-vs,
.duel[data-scenery] .duel-main>.duel-choices>form,
.duel[data-scenery] .duel-main>.duel-vote-feedback,
.duel[data-scenery] .duel-main>.knight-lane,
.duel[data-scenery] .duel-main>.duel-outcome,
.duel[data-scenery] .duel-main>.duel-score{position:relative;z-index:2}
.duel[data-scenery] .duel-main>.duel-cards>.duel-project{background:#fff!important;color:#172033;opacity:1}
.duel[data-scenery] .duel-main>.duel-cards>.duel-project .duel-project-main,
.duel[data-scenery] .duel-main>.duel-cards>.duel-project .duel-project-main strong{color:#172033!important;opacity:1}
.duel[data-scenery] .duel-main>.duel-cards>.duel-project .duel-logo-frame{background:#fff!important;opacity:1}
.duel[data-scenery] .duel-main>.duel-choices>form{background:#fff!important;opacity:1}
.duel[data-scenery] .duel-main>.duel-choices>form .duel-vote{position:relative;z-index:1}

/* Give every battle knight a shared visible height; preserve each pose's natural width. */
.duel[data-scenery] .duel-main>.knight-lane{--knight-height:48px!important;--knight-slot-width:96px!important}
.duel[data-scenery] .duel-main>.knight-lane .knight-slot{height:48px!important;width:96px!important}
.duel[data-scenery] .duel-main>.knight-lane .phase-knight{display:block;width:auto!important;height:48px!important;max-width:none!important;max-height:none!important;object-fit:contain;object-position:center bottom;flex:none}


/* 0.8.10: let the question sit on the scenery; keep the state/time row unboxed. */
.duel[data-scenery] .duel-meta{background:transparent!important;box-shadow:none!important;padding:0;min-height:30px;text-shadow:0 1px 2px rgba(255,255,255,.95),0 0 5px rgba(255,255,255,.8)}
.duel[data-scenery] .duel-meta .status-pill{background:#fff!important;color:#bd1832;font-weight:900;text-shadow:none;box-shadow:0 1px 3px rgba(19,31,46,.16)}
.duel[data-scenery] .duel-time{font-weight:850;text-shadow:0 1px 2px rgba(255,255,255,.98),0 0 7px rgba(255,255,255,.92)}
.duel[data-scenery] .duel-hero>.duel-question{position:absolute;z-index:4;top:50%;left:50%;width:calc(100% - 32px);max-width:900px;margin:0;padding:0;transform:translate(-50%,-50%);background:transparent;text-align:center;color:#172033;font-size:clamp(20px,3cqi,30px);font-weight:900;line-height:1.2;letter-spacing:-.02em;text-shadow:-1px -1px 0 rgba(255,255,255,.95),1px -1px 0 rgba(255,255,255,.95),-1px 1px 0 rgba(255,255,255,.95),1px 1px 0 rgba(255,255,255,.95),0 2px 5px rgba(10,24,43,.78),0 0 12px rgba(255,255,255,.8)}
.duel[data-scenery] .duel-hero>.duel-question a{color:inherit;text-shadow:inherit}
.duel[data-scenery] .duel-main{padding-top:18px}
.duel[data-scenery] .duel-main>.duel-cards>.duel-project{grid-row:1}
.duel[data-scenery] .duel-main>.duel-cards>.duel-vs{grid-row:1}
.duel[data-scenery] .duel-main>.duel-choices>form{grid-row:2;justify-content:center}
.duel[data-scenery] .duel-main>.duel-choices>form .duel-vote{width:min(100%,280px);margin-inline:auto}
.duel[data-scenery] .duel-logo-frame{width:min(112px,100%);height:min(112px,100%);min-width:86px;min-height:86px}
.duel[data-scenery] .duel-logo-frame img,.duel[data-scenery] .duel-logo-frame .duel-logo-placeholder{width:min(88px,calc(100% - 12px));height:min(88px,calc(100% - 12px));max-width:calc(100% - 12px);max-height:calc(100% - 12px);object-fit:contain;image-rendering:auto}
.duel[data-scenery] .duel-main>.duel-score-group{grid-column:1/-1;position:relative;z-index:2;min-width:0;margin:12px 0 0;padding:8px 10px 10px;border:1px solid rgba(205,215,226,.85);border-radius:14px;background:rgba(255,255,255,.75);box-sizing:border-box}
.duel[data-scenery] .duel-score-group>.knight-lane{--knight-height:48px!important;--knight-slot-width:96px!important;position:relative;height:48px;min-height:48px;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-sizing:border-box}
.duel[data-scenery] .duel-score-group>.knight-lane .knight-slot{height:48px!important;width:96px!important}
.duel[data-scenery] .duel-score-group>.knight-lane .phase-knight{display:block;width:auto!important;height:48px!important;max-width:none!important;max-height:none!important;object-fit:contain;object-position:center bottom;flex:none}
.duel[data-scenery] .duel-score-group>.knight-lane .knight-effect{display:none!important}
.duel[data-scenery] .duel-score-group>.duel-outcome{margin:2px 0;padding:3px 0;border:0;background:transparent}
.duel[data-scenery] .duel-score-group>.duel-score{margin:0;padding:4px 0 0;border:0;border-radius:0;background:transparent}
.duel[data-scenery] .duel-score-group>.duel-score .duel-score-track{height:16px}
.duel[data-scenery] .duel-vote-feedback small{font-weight:800;text-shadow:0 1px 2px rgba(255,255,255,.95),0 0 8px rgba(255,255,255,.9)}
.duel[data-scenery] .duel-footer{flex-wrap:wrap;column-gap:6px;row-gap:6px}
.duel[data-scenery] .duel-footer .battle-share-icons{flex:0 0 auto;flex-wrap:nowrap;gap:0;margin-left:auto;white-space:nowrap}
.duel[data-scenery] .duel-footer .battle-share-icons .share-icon{width:clamp(22px,7cqi,28px);height:30px;flex:0 0 clamp(22px,7cqi,28px);padding:4px}
.duel[data-scenery] .duel-footer .battle-share-icons .share-icon svg{width:16px;height:16px}
@media(max-width:540px){.duel[data-scenery] .duel-hero>.duel-question{width:calc(100% - 24px);font-size:clamp(18px,5.6cqi,25px)}.duel[data-scenery] .duel-logo-frame{width:min(104px,100%);height:min(104px,100%);min-width:80px;min-height:80px}.duel[data-scenery] .duel-logo-frame img,.duel[data-scenery] .duel-logo-frame .duel-logo-placeholder{width:min(80px,calc(100% - 12px));height:min(80px,calc(100% - 12px))}.duel[data-scenery] .duel-score-group{padding:7px 8px 9px}.duel[data-scenery] .duel-score-group>.knight-lane{--knight-slot-width:88px!important}.duel[data-scenery] .duel-score-group>.knight-lane .knight-slot{width:88px!important}.duel[data-scenery] .duel-footer .duel-link{font-size:12px}.duel[data-scenery] .duel-footer .battle-share-icons .share-icon{width:22px;height:28px;flex-basis:22px;padding:3px}}

/* 0.8.14: remove team-coloured frames around project/vote pairs. */
.duel[data-scenery] .duel-cards>.duel-project,
.duel[data-scenery] .duel-cards>.duel-project:last-of-type,
.duel[data-scenery] .duel-main:not(:has(.duel-choices)) .duel-cards>.duel-project,
.duel[data-scenery] .duel-main:not(:has(.duel-choices)) .duel-cards>.duel-project:last-of-type{border:0!important;border-radius:14px;background:rgba(255,255,255,.94)!important}
.duel[data-scenery] .duel-choices>form,
.duel[data-scenery] .duel-choices>form:last-child{border:0!important;border-radius:0 0 14px 14px;background:rgba(255,255,255,.94)!important}
.duel[data-scenery] .duel-vote.is-voted{background:#9aa4b2!important;border:3px solid #fff!important;color:#fff!important;box-shadow:0 3px 0 rgba(70,82,98,.3),0 5px 10px rgba(31,41,55,.12)!important;cursor:default;opacity:1}
.duel[data-scenery] .duel-vote.is-voted:hover{transform:none;filter:none}


/* 0.8.11: widen the question halo, remove the old gold rules and keep names clear. */
.duel[data-scenery] .duel-hero>.duel-question{text-shadow:-3px -3px 0 rgba(255,255,255,.98),3px -3px 0 rgba(255,255,255,.98),-3px 3px 0 rgba(255,255,255,.98),3px 3px 0 rgba(255,255,255,.98),0 6px 15px rgba(10,24,43,.88),0 0 36px rgba(255,255,255,.96)}
.duel[data-scenery] .arena-ornament::before,.duel[data-scenery] .arena-ornament::after{display:none}
.duel[data-scenery] .duel-main>.duel-cards>.duel-project{min-height:clamp(164px,22cqi,210px);overflow:visible}
.duel[data-scenery] .duel-main>.duel-cards>.duel-project .duel-project-main{height:auto!important;min-height:0;overflow:visible}
.duel[data-scenery] .duel-main>.duel-cards>.duel-project .duel-project-main strong{display:block!important;-webkit-line-clamp:unset!important;line-clamp:unset!important;overflow:visible!important;min-height:1.3em;margin:0;padding:3px 0;flex:0 0 auto;color:#172033!important;opacity:1}
.battle-share .battle-share-icons{container-type:inline-size;display:flex;flex-wrap:nowrap;justify-content:center;align-items:center;gap:clamp(4px,1cqi,10px);width:100%;max-width:100%;box-sizing:border-box}
.battle-share .battle-share-icons .share-icon{width:clamp(28px,6cqi,48px);height:clamp(28px,6cqi,48px);flex:0 1 clamp(28px,6cqi,48px);min-width:0;padding:clamp(4px,1cqi,8px);box-sizing:border-box;border-radius:clamp(7px,1.4cqi,12px)}
.battle-share .battle-share-icons .share-icon svg{width:60%;height:60%}

/* 0.8.11: keep project names above scenery layers and cap tiny logo upscaling. */
.duel[data-scenery] .duel-main>.duel-cards>.duel-project{isolation:isolate;z-index:4}
.duel[data-scenery] .duel-main>.duel-cards>.duel-project .duel-project-main{position:relative;z-index:5;opacity:1;filter:none;mix-blend-mode:normal}
.duel[data-scenery] .duel-main>.duel-cards>.duel-project .duel-project-main strong{position:relative;z-index:6;display:block!important;max-width:100%;overflow:visible!important;clip-path:none!important;color:#172033!important;text-shadow:none!important;line-height:1.3;white-space:normal;overflow-wrap:anywhere}
.duel[data-scenery] .duel-logo-frame img.duel-logo-tiny{width:50px!important;height:50px!important;max-width:50px!important;max-height:50px!important;object-fit:contain}

/* 0.8.12: align the invitation question selector and submit button on one baseline. */
.share-question-choice{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:10px;align-items:end}
.share-question-choice label{grid-column:1/-1;margin:0}
.share-question-choice select,.share-question-choice button{height:56px;min-height:56px;box-sizing:border-box;margin:0;align-self:end}
.share-question-choice select{width:100%;min-width:0}
.share-question-choice button{white-space:nowrap;padding-inline:22px}
@media(max-width:600px){.share-question-choice{grid-template-columns:minmax(0,1fr)}.share-question-choice label{grid-column:1}.share-question-choice select,.share-question-choice button{width:100%}}


/* v0.8.17b — single authoritative battle-card layout, replaces 0.8.17/a overrides */
.duel-list.battle-grid-standard,.duel-list.battle-grid-compact,.duel-list.battle-grid-featured,.detail-round-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),360px));justify-content:center;gap:16px}
.battle-collection-item{width:100%;max-width:360px;min-width:0;justify-self:center}
.duel[data-scenery],.duel.duel-featured[data-scenery],.duel.duel-compact[data-scenery]{display:flex!important;flex-direction:column!important;position:relative!important;isolation:isolate;width:100%;max-width:360px;min-width:0;padding:0!important;margin:0!important;gap:0!important;border:1px solid #dce3eb;border-radius:15px;background:#fff;box-shadow:0 3px 0 #c5cdd7,0 7px 14px #29374922;overflow:hidden}
.duel[data-scenery]::after{display:none!important}
.duel[data-scenery] .duel-scenery{position:absolute!important;inset:0!important;z-index:0!important;overflow:hidden!important;pointer-events:none!important;background:transparent!important}
.duel[data-scenery] .duel-scenery-top{position:absolute!important;top:0!important;left:0!important;bottom:auto!important;width:100%!important;height:96px!important;object-fit:cover!important;object-position:center 24%!important;opacity:1!important;mask-image:none!important;-webkit-mask-image:none!important}
.duel[data-scenery] .duel-scenery-bottom{display:none!important}
.duel[data-scenery] .duel-scenery-detail,.duel[data-scenery] .duel-scenery-underlay{display:none!important}
.duel[data-scenery] .duel-hero{position:relative!important;z-index:1!important;display:block!important;flex:0 0 96px!important;height:96px!important;min-height:96px!important;max-height:96px!important;margin:0!important;padding:9px!important;box-sizing:border-box!important;background:transparent!important}
.duel[data-scenery] .arena-ornament{display:none!important}
.duel[data-scenery] .duel-meta{display:flex!important;align-items:center!important;justify-content:space-between!important;flex-wrap:nowrap!important;gap:5px!important;min-height:0!important;margin:0!important;padding:3px 5px!important;background:rgba(255,255,255,.86)!important;box-shadow:none!important}
.duel[data-scenery] .duel-time{margin-left:auto!important;font-size:10px!important;line-height:1.2!important;text-align:right!important;overflow-wrap:anywhere!important}
.duel[data-scenery] .duel-main{position:relative!important;z-index:2!important;display:flex!important;flex:0 0 auto!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;min-width:0!important;min-height:0!important;height:auto!important;margin:0!important;padding:9px 12px 10px!important;box-sizing:border-box!important;background:#fff!important;transform:none!important;grid-template-columns:none!important;grid-template-rows:none!important}
.duel[data-scenery] .duel-main::before{display:none!important}
.duel[data-scenery] .duel-main>.duel-question,.duel[data-scenery] .duel-main>.duel-question:first-child{position:relative!important;inset:auto!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;display:block!important;order:0!important;float:none!important;clear:both!important;flex:0 0 auto!important;align-self:stretch!important;grid-area:auto!important;z-index:1!important;transform:none!important;width:auto!important;max-width:100%!important;min-height:0!important;height:auto!important;max-height:none!important;margin:0 0 10px!important;padding:0 2px!important;box-sizing:border-box!important;background:#fff!important;color:#172033!important;font-size:15px!important;font-weight:800!important;line-height:1.32!important;text-align:center!important;white-space:normal!important;overflow:visible!important;overflow-wrap:anywhere!important;clip-path:none!important;text-shadow:none!important}
.duel[data-scenery] .duel-main>.duel-question a{color:inherit!important;text-decoration:none!important;text-shadow:none!important}
.duel[data-scenery] .duel-main>.duel-cards{position:relative!important;display:grid!important;order:1!important;flex:0 0 auto!important;grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr)!important;grid-template-rows:auto!important;grid-auto-flow:row!important;align-items:start!important;gap:5px!important;width:100%!important;height:auto!important;min-height:0!important;margin:0 0 8px!important;padding:0!important;background:#fff!important;transform:none!important}
.duel[data-scenery] .duel-main>.duel-cards>.duel-project,.duel[data-scenery] .duel-main>.duel-cards>.duel-project:last-of-type{position:relative!important;display:block!important;grid-row:1!important;min-width:0!important;min-height:0!important;height:auto!important;margin:0!important;padding:0!important;border:0!important;background:#fff!important;box-shadow:none!important;transform:none!important;overflow:visible!important}
.duel[data-scenery] .duel-main>.duel-cards>.duel-project:first-child{grid-column:1!important}
.duel[data-scenery] .duel-main>.duel-cards>.duel-project:last-child{grid-column:3!important}
.duel[data-scenery] .duel-main>.duel-cards>.duel-vs{position:relative!important;grid-column:2!important;grid-row:1!important;align-self:center!important;justify-self:center!important;width:auto!important;margin:0!important;padding:0!important;color:#26354e!important;font-size:12px!important;font-weight:900!important}
.duel[data-scenery] .duel-project-main{position:relative!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;gap:4px!important;min-width:0!important;min-height:0!important;height:auto!important;margin:0!important;padding:0!important;text-align:center!important}
.duel[data-scenery] .duel-logo-frame{display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 88px!important;width:88px!important;height:88px!important;min-width:0!important;min-height:0!important;max-width:100%!important;max-height:88px!important;margin:0!important;padding:4px!important;box-sizing:border-box!important;border-radius:13px!important;background:#fff!important;box-shadow:inset 0 0 0 1px #dbe3ef!important}
.duel[data-scenery] .duel-logo-frame img{display:block!important;width:78px!important;height:78px!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important}
.duel[data-scenery] .duel-main>.duel-cards>.duel-project .duel-project-main strong{position:static!important;display:block!important;flex:0 0 auto!important;max-width:100%!important;min-height:0!important;margin:0!important;padding:0!important;font-size:13px!important;line-height:1.22!important;overflow-wrap:anywhere!important;text-align:center!important}
.duel[data-scenery] .duel-short-description{display:none!important}
.duel[data-scenery] .duel-main>.duel-choices{position:relative!important;display:grid!important;order:2!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:auto!important;gap:16px!important;width:100%!important;min-height:0!important;margin:0!important;padding:0 3px!important;box-sizing:border-box!important}
.duel[data-scenery] .duel-main>.duel-choices>form{position:relative!important;display:block!important;grid-area:auto!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.duel[data-scenery] .duel-main>.duel-choices .duel-vote{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:39px!important;min-height:39px!important;max-height:39px!important;margin:0!important;padding:4px!important;border:2px solid #fff!important;border-radius:9px!important;box-sizing:border-box!important;box-shadow:0 3px 0 #cbd2dc!important}
.duel[data-scenery] .duel-vote .vote-knight{display:none!important}
.duel[data-scenery] .duel-main>.duel-score-group{position:relative!important;display:block!important;order:4!important;grid-area:auto!important;flex:0 0 auto!important;min-width:0!important;width:100%!important;min-height:0!important;height:auto!important;margin:10px 0 0!important;padding:6px 9px 7px!important;box-sizing:border-box!important;border:1px solid #dce3ec!important;border-radius:12px!important;background:#fff!important;overflow:hidden!important}
.duel[data-scenery] .duel-score-group>.knight-lane{position:relative!important;display:block!important;width:100%!important;height:49px!important;min-height:49px!important;margin:0 0 3px!important;padding:0!important;box-sizing:border-box!important;overflow:hidden!important;transform:none!important}
.duel[data-scenery] .duel-score-group>.knight-lane .knight-slot,.duel[data-scenery] .duel-score-group>.knight-lane .knight-slot-red{position:absolute!important;display:flex!important;align-items:flex-end!important;justify-content:center!important;top:auto!important;bottom:0!important;left:auto!important;right:auto!important;width:66px!important;height:48px!important;max-width:calc(50% - 5px)!important;min-height:0!important;overflow:hidden!important;transform:none!important;transition:none!important;animation:none!important}
.duel[data-scenery] .duel-score-group>.knight-lane .knight-slot-blue{left:3px!important;right:auto!important}
.duel[data-scenery] .duel-score-group>.knight-lane .knight-slot-red{right:3px!important;left:auto!important}
.duel[data-scenery] .duel-score-group>.knight-lane .phase-knight{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center bottom!important;transform:none!important;animation:none!important}
.duel[data-scenery] .duel-score-group>.duel-score{position:relative!important;display:block!important;width:100%!important;margin:0!important;padding:0!important;border:0!important;background:#fff!important;box-shadow:none!important}
.duel[data-scenery] .duel-score-labels{display:flex!important;justify-content:space-between!important;gap:6px!important;margin:0 0 5px!important}
.duel[data-scenery] .duel-score-labels strong{font-size:18px!important}
.duel[data-scenery] .duel-score-track{height:12px!important;margin:0!important}
.duel[data-scenery] .duel-lower-info{position:relative!important;z-index:2!important;flex:0 0 auto!important;min-height:0!important;margin:0!important;padding:8px 12px!important;background:#fff!important}
.duel[data-scenery] .duel-tags{display:flex!important;flex-wrap:wrap!important;gap:4px!important;margin:0 0 5px!important;padding:0!important;background:#fff!important}
.duel[data-scenery] .duel-starter{margin:0!important;padding:0!important;background:#fff!important;font-size:11px!important}
.duel[data-scenery] .duel-footer-band{position:relative!important;z-index:2!important;flex:0 0 auto!important;margin:0!important;padding:4px 9px!important;background:#fff!important}
.duel[data-scenery] .duel-footer{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:4px!important;margin:0!important;padding:0!important;background:#fff!important}
.duel[data-scenery] .duel-footer .duel-link{margin:0!important;font-size:11px!important}
.duel[data-scenery] .duel-brand{display:none!important}
.duel[data-scenery] .duel-footer .battle-share-icons .share-icon{width:28px!important;height:30px!important;min-width:28px!important;min-height:30px!important;flex-basis:28px!important;padding:5px!important}
@media(max-width:390px){.duel[data-scenery] .duel-main{padding-inline:9px!important}.duel[data-scenery] .duel-logo-frame{width:78px!important;height:78px!important;flex-basis:78px!important}.duel[data-scenery] .duel-logo-frame img{width:68px!important;height:68px!important}}

.battle-collection-label{margin:0 0 5px!important;font-size:12px!important;line-height:1.2!important}

/* v0.8.17c — approved illustrated compact layout */
.duel-list.battle-grid-standard,.duel-list.battle-grid-compact,.duel-list.battle-grid-featured,.detail-round-list{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),340px))!important;gap:14px!important
}
.battle-collection-item{max-width:340px!important}
.duel[data-scenery],.duel.duel-featured[data-scenery],.duel.duel-compact[data-scenery]{
  max-width:340px!important
}
/* Preserve the original complete UTC date, without a white banner. */
.duel[data-scenery] .duel-meta{
  background:transparent!important;box-shadow:none!important;
  padding:2px 3px!important;
}
.duel[data-scenery] .duel-time{
  color:#10243e!important;font-weight:850!important;font-size:10px!important;
  text-shadow:-1px -1px 0 rgba(255,255,255,.98),1px -1px 0 rgba(255,255,255,.98),
  -1px 1px 0 rgba(255,255,255,.98),1px 1px 0 rgba(255,255,255,.98),
  0 2px 5px rgba(0,0,0,.65)!important
}
/* Soft scenery-coloured question strip, readable against varied scenes. */
.duel[data-scenery] .duel-main{
  padding:0 11px 8px!important;background:#fff!important
}
.duel[data-scenery] .duel-main>.duel-question,
.duel[data-scenery] .duel-main>.duel-question:first-child{
  margin:0 -11px 8px!important;padding:9px 10px 8px!important;
  background:linear-gradient(180deg,#f5e9d8 0%,#fbf5eb 70%,#fff 100%)!important;
  color:#172039!important;font-size:15px!important;line-height:1.27!important;
  font-weight:900!important;
  text-shadow:-1px -1px 0 rgba(255,255,255,.98),1px -1px 0 rgba(255,255,255,.98),
  -1px 1px 0 rgba(255,255,255,.98),1px 1px 0 rgba(255,255,255,.98),
  0 2px 3px rgba(16,28,49,.48)!important
}
.duel[data-scenery] .duel-main>.duel-question a{
  color:inherit!important;text-shadow:inherit!important
}
/* Restore paired footer artwork; only its edges frame the metadata. */
.duel[data-scenery] .duel-scenery-bottom{
  display:block!important;position:absolute!important;top:auto!important;
  bottom:35px!important;left:0!important;width:100%!important;
  height:118px!important;object-fit:cover!important;object-position:center bottom!important;
  opacity:.94!important;
  mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.65) 30%,#000 66%)!important;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.65) 30%,#000 66%)!important
}
.duel[data-scenery] .duel-lower-info{
  position:relative!important;z-index:2!important;
  min-height:86px!important;padding:12px 10px 12px!important;
  background:transparent!important;
}
.duel[data-scenery] .duel-lower-info::before{display:none!important}
.duel[data-scenery] .duel-tags{
  background:transparent!important;margin:0 0 7px!important
}
.duel[data-scenery] .duel-starter{
  background:rgba(255,255,255,.75)!important;
  display:inline-block!important;padding:2px 4px!important;border-radius:7px!important;
  color:#10243e!important;text-shadow:0 1px 1px #fff!important
}
.duel[data-scenery] .duel-footer-band{
  background:#fff!important;min-height:35px!important
}
.duel[data-scenery] .duel-main>.duel-cards{margin-bottom:7px!important}
.duel[data-scenery] .duel-main>.duel-score-group{margin-top:8px!important}
@media(max-width:370px){
  .duel[data-scenery] .duel-time{font-size:9px!important}
}

/* v0.8.17d: applied to actual arenaCards markup; CSS URL cache-busted in every PHP template. */
/* Keep fixed, compact card widths even inside wide auto-fit grids. */
.duel-list.battle-grid-standard,.duel-list.battle-grid-compact,.duel-list.battle-grid-featured,.detail-round-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,285px),330px))!important;justify-content:start!important;gap:14px!important}
.battle-collection-item,.duel-list>.duel,.detail-round-list .duel,.round-section{width:100%!important;max-width:330px!important;min-width:0!important}
.duel[data-scenery],.duel.duel-featured[data-scenery],.duel.duel-compact[data-scenery]{width:100%!important;max-width:330px!important}
/* Date stays directly on the art; remove the translucent white horizontal band. */
.duel[data-scenery] .duel-hero .duel-meta{background:none!important;background-color:transparent!important;box-shadow:none!important;border:0!important;padding:2px 3px!important}
.duel[data-scenery] .duel-hero .duel-time{color:#14233b!important;font-weight:900!important;text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff,0 2px 4px #fff,0 2px 6px #07142d!important}
/* Question has a scenic tint, not a pure-white strip, and strong outlined text. */
.duel[data-scenery] .duel-main{padding-top:0!important}
.duel[data-scenery] .duel-main>.duel-question,.duel[data-scenery] .duel-main>.duel-question:first-child{background:linear-gradient(180deg,#e7e2d5 0%,#f6ecdf 65%,#fff 100%)!important;margin:0 -11px 8px!important;padding:9px 9px 10px!important;border-radius:0!important;color:#16223b!important;text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff,0 2px 4px rgba(4,16,40,.7)!important}
.duel[data-scenery] .duel-main>.duel-question a{color:inherit!important;text-shadow:inherit!important}
/* Footer scene is placed in its own physical zone, not behind white opaque metadata. */
.duel[data-scenery] .duel-scenery-bottom{display:block!important;visibility:visible!important;opacity:1!important;position:absolute!important;left:0!important;top:auto!important;bottom:35px!important;width:100%!important;height:108px!important;object-fit:cover!important;object-position:center bottom!important;mask-image:linear-gradient(to bottom,transparent 0%,#000 50%)!important;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 50%)!important}
.duel[data-scenery] .duel-lower-info{position:relative!important;z-index:2!important;min-height:98px!important;background:transparent!important;background-color:transparent!important;padding:16px 11px 11px!important}
.duel[data-scenery] .duel-lower-info::before{display:none!important}
.duel[data-scenery] .duel-lower-info .duel-tags{background:transparent!important}
.duel[data-scenery] .duel-lower-info .duel-starter{background:rgba(255,255,255,.85)!important;border-radius:6px!important;padding:2px 4px!important;display:inline-block!important}
.duel[data-scenery] .duel-footer-band{background:#fff!important;position:relative!important;z-index:3!important}
@media(max-width:350px){.duel[data-scenery] .duel-time{font-size:9px!important}}


/* BAATLE 0.8.17e — TWO targeted refinements only.
   1) Extend each card's existing top WebP behind the question (real artwork,
      not a synthetic brown strip); keep question HTML text and strong outline.
   2) Show maker attribution directly on the bottom artwork without a white row.
   Width, height, buttons, knights, scores and voting are unchanged. */
.duel[data-scenery] .duel-scenery-top{
  height:145px!important;
  object-position:center top!important;
}
.duel[data-scenery] .duel-main{
  background:transparent!important;
}
.duel[data-scenery] .duel-main>.duel-question,
.duel[data-scenery] .duel-main>.duel-question:first-child{
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  color:#15233b!important;
  text-shadow:-2px -2px 0 #fff,2px -2px 0 #fff,
    -2px 2px 0 #fff,2px 2px 0 #fff,
    0 2px 5px rgba(10,24,43,.82)!important;
}
.duel[data-scenery] .duel-main>.duel-question a{
  color:inherit!important;text-shadow:inherit!important;
}
.duel[data-scenery] .duel-lower-info .duel-starter,
.duel[data-scenery] .duel-starter{
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
  padding:2px 0!important;
  color:#15233b!important;
  text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,
    -1px 1px 0 #fff,1px 1px 0 #fff,0 2px 4px rgba(9,24,42,.5)!important;
}
.duel[data-scenery] .duel-starter a,
.duel[data-scenery] .duel-lower-info .duel-starter a{
  background:transparent!important;
  background-color:transparent!important;
  box-shadow:none!important;
  border:0!important;
  padding:2px 3px!important;
  color:#1155a6!important;
  text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,
    -1px 1px 0 #fff,1px 1px 0 #fff,0 2px 4px rgba(9,24,42,.45)!important;
}
/* Keep avatar white as requested for legibility. */
.duel[data-scenery] .duel-starter .maker-avatar{
  background:#fff!important;
}

/* v0.8.19 admin layout */
.admin-main-links{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:14px 0 20px}.admin-main-links a{display:block}.admin-project-row{display:flex;align-items:center;gap:12px;min-height:48px;padding:5px 0;border-bottom:1px solid #e8edf3}.admin-project-logo,.admin-logo-placeholder,.admin-battle-logo{width:42px;height:42px;flex:none;object-fit:contain;border:1px solid #e0e5ed;border-radius:9px;background:#fff}.admin-logo-placeholder,.admin-battle-logo{display:inline-flex;align-items:center;justify-content:center;color:#8491a3}.admin-battle-logo img{max-width:100%;max-height:100%;object-fit:contain}.admin-battle-row{display:flex;gap:15px;align-items:flex-start}.admin-battle-row>div:last-child{min-width:0;flex:1}.admin-battle-logos{display:flex;align-items:center;gap:5px;flex:none;padding-top:4px}.admin-battle-logos strong{font-size:12px}.admin-pagination{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:18px 0}.admin-pagination a{padding:6px 10px;border:1px solid #cbd5e1;border-radius:6px}@media(max-width:540px){.admin-battle-row{flex-wrap:wrap}}

/* v0.8.20: admin navigation and battle logos; bolder question without layout changes */
nav.admin-main-links{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:10px!important}nav.admin-main-links>a{display:block!important;width:fit-content!important;margin:0!important;float:none!important} .admin-battle-logos{display:flex!important;align-items:center!important;gap:12px!important}.admin-battle-logos strong{margin:0 5px!important}.duel[data-scenery] .duel-main>.duel-question{font-weight:950!important;letter-spacing:-.025em!important;text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff,0 2px 3px rgba(0,0,0,.85)!important}

/* v0.8.22: balanced question emphasis; keep normal flow so logos never overlap. */
.duel[data-scenery] .duel-main>.duel-question,
.duel[data-scenery] .duel-main>.duel-question:first-child{
  position:relative!important;display:block!important;height:auto!important;
  min-height:0!important;max-height:none!important;overflow:visible!important;
  font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif!important;
  font-size:17px!important;font-weight:900!important;line-height:1.22!important;
  letter-spacing:-.025em!important;text-align:center!important;
  margin:0 -11px 8px!important;padding:8px 10px 8px!important;
  text-wrap:balance!important;overflow-wrap:anywhere!important;
  text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff,0 2px 4px rgba(10,24,43,.75)!important;
}
.duel[data-scenery] .duel-main>.duel-cards{position:relative!important;z-index:1!important;clear:both!important}
@media(max-width:390px){.duel[data-scenery] .duel-main>.duel-question{font-size:16px!important}}

/* v0.8.30 — Maker Reports: compact, readable and stable */
.maker-report-heading{margin:1.2rem 0}.maker-report-heading h2{margin:.3rem 0;font-size:clamp(1.35rem,3vw,1.85rem);overflow-wrap:anywhere}
.maker-insights-section{margin:1.2rem 0 1.6rem}.maker-insights-section h3{font-size:1.16rem;margin:0 0 .65rem}
.maker-report-table-wrap{max-width:100%;overflow-x:auto;border:1px solid #dce2ea;border-radius:10px;background:#fff}
.maker-report-table{width:100%;border-collapse:collapse;font-size:.92rem;min-width:450px}
.maker-report-table th,.maker-report-table td{padding:.75rem .8rem;text-align:left;vertical-align:top;border-bottom:1px solid #e8ecf1;overflow-wrap:anywhere}
.maker-report-table thead th{background:#f6f8fa;font-weight:700}.maker-report-table tbody tr:last-child>*{border-bottom:0}
.maker-report-table td:not(:first-child){font-variant-numeric:tabular-nums}.maker-question-table th:first-child{width:42%}
.maker-question-table small{display:block;color:#667085;font-size:.78rem;margin-top:.2rem;font-weight:400}
.maker-leading{font-weight:800}.maker-report-caption{font-size:.88rem;margin:.65rem 0}
.maker-insight{border-bottom:1px solid #e8ecf1;padding:.65rem 0}.maker-insight h4{font-size:1rem;margin:0 0 .25rem}.maker-insight p{margin:.2rem 0;line-height:1.5}
.maker-action-list{padding-left:1.4rem}.maker-action-list li{padding:.35rem 0;line-height:1.55}.maker-report-method{margin:1.4rem 0;font-size:.9rem}.maker-report-method summary{cursor:pointer;font-weight:650}
.duel-list.maker-report-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;justify-content:stretch!important;gap:14px!important;max-width:100%!important}
.duel-list.maker-report-list>.duel{min-width:0;max-width:none;width:100%}
@media(max-width:650px){.maker-report-table{font-size:.82rem;min-width:380px}.maker-report-table th,.maker-report-table td{padding:.55rem .45rem}.maker-question-table th:first-child{width:40%}.maker-question-table th:last-child,.maker-question-table td:last-child{display:none}.duel-list.maker-report-list{gap:8px!important}}

/* v0.8.31 — profile width and visible report entry points */
body:has(.profile-intro) main.auth-shell,body:has(.maker-report-heading) main.auth-shell,body:has(.maker-report-list) main.auth-shell{max-width:1200px}
body:has(.profile-intro) main.auth-shell>*:not(h1),body:has(.maker-report-heading) main.auth-shell>*:not(h1),body:has(.maker-report-list) main.auth-shell>*:not(h1){max-width:none}
body:has(.profile-intro) .project-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.profile-battle-grid,.duel-list.maker-report-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;align-items:start}
.profile-battle-item,.maker-report-card-item{min-width:0;width:100%}
.profile-battle-item>.duel,.maker-report-card-item>.duel{width:100%;max-width:none;min-width:0;box-sizing:border-box}
.maker-report-card-link{display:block;margin-top:8px;padding:12px 14px;border:1px solid #c9dcf7;border-radius:9px;background:#f4f8ff;color:#0759c4;font-weight:700;text-decoration:none;line-height:1.35}
.maker-report-card-link:hover{background:#e8f2ff;text-decoration:underline}
.maker-feedback-entry{padding:18px 0;border-top:1px solid #e4e9ef}
@media(max-width:760px){body:has(.profile-intro) .project-list{grid-template-columns:1fr}.profile-battle-grid,.duel-list.maker-report-list{gap:9px!important}.maker-report-card-link{font-size:.83rem;padding:9px}}
@media(max-width:520px){.profile-battle-grid,.duel-list.maker-report-list{grid-template-columns:1fr!important}}
