*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text-primary);font-family:var(--font-mono);font-size:var(--font-size-md);line-height:1.5}#root{min-height:100vh}button,input,select,textarea{font-family:inherit}a{color:var(--color-primary)}html{overflow-x:hidden}@media(max-width:768px){table{font-size:var(--font-size-sm)}}@font-face{font-family:"Final Fantasy";src:url(/fonts/FinalFantasy-aa4m.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}.ff-watermark-left,.ff-watermark-right,.ff-mobile-logo{display:none}.app-header{background:var(--color-panel);border-bottom:var(--border-hairline) var(--color-border-bright);position:relative;overflow:hidden}.app-header:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.35}.app-tabs{display:flex;gap:var(--space-xs);padding:0 var(--space-md);position:relative;z-index:1}.app-tab{display:flex;align-items:center;gap:6px;padding:10px 14px;font-size:var(--font-size-sm);color:var(--color-text-secondary);text-decoration:none;border-radius:var(--radius-md) var(--radius-md) 0 0;border-bottom:2px solid transparent;transition:color .15s,background .15s,border-color .15s}.app-tab:hover{color:var(--color-text-primary);background:var(--color-panel-2)}.app-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary);background:var(--color-panel-2)}.app-feast{margin-left:auto;display:flex;align-items:center;gap:6px;padding:6px 12px;border:var(--border-hairline) var(--color-border-bright);border-radius:var(--radius-md);font-size:var(--font-size-xs);color:var(--color-accent);white-space:nowrap;position:relative;z-index:1}html[data-theme=anime] .app-tabs,html[data-theme=anime] .app-header{background:var(--color-panel)}html[data-theme=anime] body{background:radial-gradient(circle at 15% 10%,rgba(248,196,113,.18),transparent 34%),radial-gradient(circle at 85% 20%,rgba(143,188,143,.16),transparent 36%),var(--color-bg);background-attachment:fixed}html[data-theme=anime] .app-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border-color:transparent;background:linear-gradient(180deg,#ffffffb3,#f4f7f2e6),var(--color-panel)}html[data-theme=anime] .app-header:after{background:radial-gradient(circle at 20% 0,rgba(255,236,179,.5),transparent 30%),radial-gradient(circle at 50% 0,rgba(196,224,174,.4),transparent 34%),radial-gradient(circle at 80% 0,rgba(255,222,173,.45),transparent 30%)}html[data-theme=anime] .app-btn{border-radius:var(--radius-lg);border-color:transparent;box-shadow:0 2px #968c6e40}html[data-theme=anime] .app-title{font-family:var(--font-display);letter-spacing:0}html[data-theme=scifi] .app-header{background:linear-gradient(180deg,#0a1424,#0e1c33);border-bottom:2px solid var(--color-primary)}html[data-theme=scifi] .app-header:after{background:linear-gradient(90deg,rgba(65,224,255,.5) 0 3px,transparent 3px 12px) top center / 120px 4px repeat-x,linear-gradient(90deg,rgba(255,154,42,.6) 0 2px,transparent 2px 14px) bottom center / 100px 3px repeat-x;opacity:.5}html[data-theme=scifi] .app-tab{border-radius:0;clip-path:polygon(0 0,100% 0,calc(100% - 8px) 100%,0 100%);border-bottom:none}html[data-theme=scifi] .app-tab.active{background:var(--color-primary-faint);color:var(--color-primary);border-bottom:2px solid var(--color-primary)}html[data-theme=scifi] .app-card{border-radius:0;border-color:var(--color-border-bright);clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%);background:linear-gradient(135deg,#0e1c33,#0a1424)}html[data-theme=scifi] .app-title{font-family:var(--font-title);letter-spacing:.12em;text-transform:uppercase}html[data-theme=fantasy] .app-header{background:linear-gradient(180deg,#241d14,#1a1510);border-bottom:1px solid var(--color-border-bright)}html[data-theme=fantasy] .app-header:after{background:repeating-linear-gradient(45deg,rgba(217,180,92,.25) 0 1px,transparent 1px 10px);opacity:.35}html[data-theme=fantasy] .app-card{border-width:1px;border-style:solid;border-color:var(--color-border-bright);border-radius:var(--radius-lg);background:linear-gradient(180deg,#241d15,#211b15);box-shadow:inset 0 1px #d9b45c2e,var(--shadow-sm)}html[data-theme=fantasy] .app-title{font-family:var(--font-title);letter-spacing:.05em;text-transform:uppercase}html[data-theme=finalfantasy] .app-header{background:linear-gradient(180deg,#101832,#0b1020);border-bottom:1px solid var(--color-border-bright);height:52px;overflow:hidden}html[data-theme=finalfantasy] .app-header:after{background:radial-gradient(circle at 12% 0,rgba(88,182,255,.35),transparent 32%),radial-gradient(circle at 88% 0,rgba(124,92,255,.28),transparent 34%),radial-gradient(circle at 50% 0,rgba(255,215,94,.12),transparent 24%);opacity:.6}html[data-theme=finalfantasy] .app-card{border-width:1px;border-style:solid;border-color:var(--color-border-bright);border-radius:var(--radius-lg);background:linear-gradient(180deg,#111a30,#0b1020);box-shadow:inset 0 1px #58b6ff1f,var(--shadow-sm)}html[data-theme=finalfantasy] .app-tab.active{border-bottom-color:var(--color-primary);color:var(--color-primary);text-shadow:0 0 8px rgba(88,182,255,.4)}html[data-theme=finalfantasy] .app-title{font-family:var(--font-title);letter-spacing:.06em;text-transform:uppercase;font-weight:500}html[data-theme=finalfantasy] .ff-watermark{display:block;position:absolute;top:0;left:0;height:52px;width:auto;object-fit:contain;object-position:left center;filter:invert(1);pointer-events:none;z-index:0}html[data-theme=finalfantasy] .ff-watermark-left{left:180px;object-position:left center}html[data-theme=finalfantasy] .ff-watermark-right{left:auto;right:0;object-position:right center}html[data-theme=finalfantasy] .app-brand{font-family:var(--font-sans)}.app-card{background:var(--color-panel);border:var(--border-hairline) var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-md);box-shadow:var(--shadow-sm)}.app-title{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:700;color:var(--color-text-primary);margin:0 0 var(--space-md)}.app-btn{font-family:var(--font-sans)}@media(max-width:640px){.app-tab{justify-content:center;padding:10px}.app-tab span,.app-feast{display:none}.ff-watermark-left,.ff-watermark-right{display:none!important}html[data-theme=finalfantasy] .ff-mobile-logo{display:block!important;align-self:center;height:28px;width:auto;margin-left:auto;filter:brightness(0) invert(1);opacity:.25;pointer-events:none;flex-shrink:0}.app-tabs{padding:0 var(--space-xs);gap:var(--space-xs)}.app-tab{flex:1}.app-header{padding:8px var(--space-sm);flex-wrap:wrap}.app-card{padding:var(--space-sm);margin-bottom:var(--space-sm);border-radius:var(--radius-sm)}.app-title{font-size:var(--font-size-lg);margin-bottom:var(--space-sm)}}@media(max-width:768px){table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width:480px){main{padding:var(--space-xs)}}
