@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap";@import"https://fonts.googleapis.com/css2?family=Klee+One:wght@400;600&family=Shippori+Mincho+B1:wght@500;700&display=swap";:root{--bg-main: #f1f5f9;--primary: #b48a27;--primary-glow: rgba(180, 138, 39, .2);--secondary: #0f172a;--accent-soft: #f1f5f9;--text-main: #0f172a;--text-dim: #475569;--text-subtle: #64748b;--glass-bg: rgba(255, 255, 255, .85);--glass-border: rgba(255, 255, 255, .6);--glass-shadow: 0 4px 6px -1px rgba(0, 0, 0, .05), 0 2px 4px -2px rgba(0, 0, 0, .05), 0 20px 25px -5px rgba(0, 0, 0, .03);--font-main: "Outfit", "Noto Sans JP", sans-serif;--primary-gradient: linear-gradient(135deg, #b48a27 0%, #d4af37 100%);--secondary-gradient: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);--mesh-gradient: radial-gradient(at 0% 0%, hsla(200, 100%, 96%, 1) 0, transparent 50%), radial-gradient(at 50% 0%, hsla(210, 100%, 97%, 1) 0, transparent 50%), radial-gradient(at 100% 0%, hsla(190, 100%, 98%, 1) 0, transparent 50%), #f1f5f9}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible{outline:3px solid var(--primary);outline-offset:2px}body{min-height:100dvh;font-family:var(--font-main);background:var(--mesh-gradient);background-attachment:fixed;color:var(--text-main);overflow-x:hidden}.bg-mesh{background:var(--mesh-gradient);background-attachment:fixed}.text-gradient-gold{background:var(--primary-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;display:inline-block}.btn-primary-gold{background:var(--primary-gradient);color:#fff;border:none;font-weight:700;box-shadow:0 4px 12px #b48a274d;transition:all .2s ease}.btn-primary-gold:active{transform:scale(.98);box-shadow:0 2px 6px #b48a2733}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 1rem;border-radius:12px;border:none;font-weight:700;font-size:.95rem;cursor:pointer;transition:all .2s ease}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn--primary{background:var(--primary-gradient);color:#fff;box-shadow:0 4px 12px #b48a274d}.btn--secondary{background:#fff;border:1px solid #cbd5e1;color:var(--secondary)}.btn--danger{background:#ef4444;color:#fff}.btn--ghost{background:transparent;color:var(--secondary)}.btn--ghost:hover{background:#0000000d}.btn--sm{font-size:.85rem;padding:0 .75rem}.btn--block{width:100%}.status-badge{display:inline-flex;align-items:center;gap:4px;font-size:.8rem;font-weight:800;padding:4px 10px;border-radius:6px;white-space:nowrap;border:1px solid transparent;line-height:1.3}.status-badge--success{background:#dcfce7;color:#166534;border-color:#86efac}.status-badge--warning{background:#fef3c7;color:#92400e;border-color:#fcd34d}.status-badge--danger{background:#fee2e2;color:#991b1b;border-color:#fca5a5}.status-badge--neutral{background:#f1f5f9;color:#475569}.status-badge--purple{background:#f3e8ff;color:#7c3aed;border-color:#d8b4fe}.status-badge--magenta{background:#fdf4ff;color:#a21caf;border-color:#f0abfc}.status-badge--cyan{background:#ecfeff;color:#0e7490;border-color:#67e8f9}.status-badge--info{background:#dbeafe;color:#1d4ed8;border-color:#93c5fd}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}.dark-scrollbar{scrollbar-width:thin;scrollbar-color:transparent transparent;transition:scrollbar-color .3s}.dark-scrollbar:hover{scrollbar-color:rgba(255,255,255,.2) transparent}.dark-scrollbar::-webkit-scrollbar{width:4px}.dark-scrollbar::-webkit-scrollbar-track{background:transparent}.dark-scrollbar::-webkit-scrollbar-thumb{background:transparent;border-radius:4px;transition:background .3s}.dark-scrollbar:hover::-webkit-scrollbar-thumb{background:#fff3}.dark-scrollbar:hover::-webkit-scrollbar-thumb:hover{background:#ffffff59}.org-list-scroll{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent}.org-list-scroll::-webkit-scrollbar{width:6px}.org-list-scroll::-webkit-scrollbar-track{background:transparent}.org-list-scroll::-webkit-scrollbar-thumb{background:#ffffff40;border-radius:4px}.org-list-scroll:hover::-webkit-scrollbar-thumb{background:#ffffff59}#root{display:flex;flex-direction:column;flex:1}.glass-panel{background:#ffffffb3;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.8);border-radius:24px;box-shadow:0 4px 6px -1px #0000000d,0 10px 15px -3px #0000000d;transition:all .4s cubic-bezier(.16,1,.3,1)}button,.btn{font-family:var(--font-main);letter-spacing:.02em}h1,h2,h3{letter-spacing:-.02em;font-weight:700;color:var(--secondary)}.text-gradient{background:linear-gradient(135deg,var(--secondary),var(--primary));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.btn-hover-effect:active{transform:scale(.96)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(80px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-80px)}to{opacity:1;transform:translate(0)}}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0,#f1f5f9 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}.mobile-app-container{padding:1rem 1.5rem 1.5rem;display:flex;flex-direction:column;gap:1.25rem;width:100%;max-width:480px;margin:0 auto}.app-header-refined{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem 0}.app-header-brand{min-width:0;display:flex;align-items:center;gap:.5rem}.header-logo-container{display:flex;align-items:center;gap:.75rem;text-decoration:none}.app-logo-icon{height:36px;width:36px;object-fit:cover;border-radius:50%;box-shadow:0 0 0 2px #5eead433,0 2px 8px #0000001a}.app-logo-text{font-size:1.15rem;font-weight:800;color:var(--secondary);font-family:Outfit,Noto Sans JP,sans-serif;letter-spacing:-.01em}.header-actions{display:flex;align-items:center;gap:.5rem}@media(max-width:420px){.app-header-refined,.app-header-refined .app-header-brand{gap:.35rem}.app-header-refined .header-logo-container{min-width:0;gap:.4rem}.app-header-refined .app-logo-icon{width:30px;height:30px}.app-header-refined .app-logo-text{font-size:.9rem;white-space:nowrap}.app-header-refined .header-actions{gap:0}.app-header-refined .icon-btn,.app-header-refined .hamburger-btn{width:40px;height:40px}}.icon-btn,.hamburger-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:12px;color:var(--secondary);border:none;background:transparent;transition:background .2s ease;cursor:pointer}.icon-btn:hover,.hamburger-btn:hover{background:#0000000d}.mobile-menu-overlay{position:fixed;inset:0;background:#0000;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px);z-index:1000;pointer-events:none;transition:all .3s ease;overflow:hidden}.mobile-menu-overlay.open{background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:auto}.mobile-menu-panel{position:fixed;top:0;right:0;width:280px;max-width:80vw;height:100vh;background:#fffffffa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:-10px 0 40px #00000026;transform:translate(100%);transition:transform .35s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;z-index:1001}.mobile-menu-panel.open{transform:translate(0)}.mobile-menu-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid rgba(0,0,0,.05)}.mobile-menu-title{font-size:1.1rem;font-weight:700;color:var(--secondary);font-family:Noto Sans JP,sans-serif}.close-menu-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;border:none;background:transparent;color:var(--secondary);cursor:pointer;transition:all .3s ease}.close-menu-btn:hover{background:#0000000d}.mobile-menu-items{display:flex;flex-direction:column;padding:1rem 0;flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.mobile-menu-item{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;color:var(--text-dim);text-decoration:none;font-weight:600;font-size:1rem;transition:all .2s ease}.menu-item-left{display:flex;align-items:center;gap:1rem}.mobile-menu-item:hover{background:#00000005;color:var(--secondary)}.mobile-menu-item.active{color:var(--primary);background:#b48a2714}.mobile-menu-item svg{width:22px;height:22px}.mobile-menu-item span{font-family:Noto Sans JP,sans-serif}.menu-separator{height:1px;background:#0000000d;margin:.5rem 1.5rem}.notification-overlay{position:fixed;inset:0;z-index:1999;background:transparent;display:none}.notification-overlay.open{display:block}.notification-dropdown{position:fixed;top:70px;right:5%;width:90%;max-width:360px;background:#fff;border-radius:16px;box-shadow:0 10px 40px #00000026;border:1px solid rgba(0,0,0,.04);z-index:2000;overflow:hidden;opacity:0;pointer-events:none;transform:translateY(-10px);transition:all .2s cubic-bezier(.16,1,.3,1)}.notification-dropdown.open{opacity:1;pointer-events:auto;transform:translateY(0)}.notification-tabs{display:flex;border-bottom:1px solid #f1f5f9}.notification-tab{flex:1;text-align:center;padding:1rem .5rem;font-weight:600;font-size:.9rem;color:var(--text-subtle);cursor:pointer;position:relative;transition:all .2s}.notification-tab:hover{background:#00000005}.notification-tab.active{color:var(--primary)}.notification-tab.active:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,#b48a27,#f2d06b)}.notification-content{padding:2rem 1.5rem;text-align:center;color:var(--text-subtle);font-size:.9rem;min-height:250px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.5rem}.dropdown-news-list{text-align:left;width:100%;display:flex;flex-direction:column;gap:1rem}.dropdown-news-item{display:flex;gap:.75rem;align-items:flex-start}.dropdown-news-date{font-size:.8rem;font-weight:800;color:var(--primary);background:#fffcf0;border:1px solid #fef3c7;padding:2px 6px;border-radius:6px;flex-shrink:0;margin-top:2px}.dropdown-news-text{font-size:.85rem;color:var(--secondary);line-height:1.4;margin:0;text-align:left;font-weight:500}@media(min-width:768px){.mobile-app-container{max-width:960px;padding-top:1.5rem;padding-bottom:4rem}.mobile-menu-panel{height:auto;max-height:calc(100vh - 100px);width:280px;border-radius:16px;box-shadow:0 10px 40px #0000001f;border:1px solid rgba(0,0,0,.04);top:70px;right:auto;left:auto;right:max(1.5rem,calc(50% - 480px + 1.5rem));transition:all .2s cubic-bezier(.16,1,.3,1);transform:translateY(-10px);opacity:0;pointer-events:none}.mobile-menu-panel.open{transform:translateY(0);opacity:1;pointer-events:auto}.mobile-menu-header{padding:1rem 1.5rem;display:none}.mobile-menu-items{padding-top:.5rem}.mobile-menu-overlay.open{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.notification-dropdown{position:absolute;top:42px;right:50px;width:400px}}.sponsor-area{padding:1.5rem 0;text-align:center;margin-top:.5rem}.sponsor-title{font-size:.8rem;font-weight:700;color:var(--text-subtle);text-transform:uppercase;letter-spacing:.1em;margin-bottom:1.5rem;display:block}.logo-row{display:flex;justify-content:center;align-items:center;gap:.75rem;padding:0 1rem}.partner-card{display:flex;justify-content:center;align-items:center;min-width:0}.partner-placeholder{width:min(100%,360px);min-height:88px;padding:1rem 1.5rem;flex-direction:column;gap:.35rem;border:1px dashed rgba(180,138,39,.45);border-radius:18px;background:linear-gradient(135deg,#ffffffb3,#fffcf0cc)}.partner-placeholder__label{color:var(--primary);font-family:Outfit,sans-serif;font-size:.68rem;font-weight:800;letter-spacing:.18em}.partner-placeholder__text{color:var(--text-dim);font-size:.88rem;font-weight:700}@media(min-width:768px){.sponsor-area{margin-top:4rem}.logo-row{justify-content:center;gap:3rem;padding:0}.partner-card{width:min(100%,360px)}}@media(max-width:1023px){.admin-page-header{flex-direction:column;align-items:stretch!important;gap:1rem}.admin-page-header>div{width:100%}.admin-page-header a,.admin-page-header button{width:100%;justify-content:center}.admin-filters{flex-direction:column;align-items:stretch!important}.admin-filters select,.admin-filters input,.admin-filters button{width:100%!important;max-width:none!important}.admin-filters-group{width:100%;display:flex;overflow-x:auto;padding-bottom:.5rem}.admin-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-table-wrapper table{min-width:800px}.admin-grid-2{grid-template-columns:1fr!important}.admin-grid-item-actions{flex-direction:column}}.admin-form-layout{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem}.admin-result-form-row{display:grid;grid-template-columns:60px 1fr 1fr;gap:1rem;align-items:center}@media(max-width:1023px){.admin-form-layout{grid-template-columns:1fr}.admin-form-layout>:last-child{order:-1}.admin-result-form-row{gap:.5rem}.admin-grid-2 input[type=date]{width:100%}}.admin-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:2rem}.admin-dashboard-main{display:grid;grid-template-columns:1fr;gap:1.5rem}.admin-upcoming-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}@media(max-width:1200px){.admin-stats-grid{grid-template-columns:repeat(2,1fr)}.admin-dashboard-main{grid-template-columns:1fr}.admin-upcoming-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.admin-stats-grid,.admin-upcoming-grid{grid-template-columns:1fr}}@keyframes spin{0%{transform:translateY(-50%) rotate(0)}to{transform:translateY(-50%) rotate(360deg)}}.yen-symbol{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}.yen-symbol:before{content:"";display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:url('data:image/svg+xml;utf8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6 5L12 13M18 5L12 13M12 13V19M8 12H16M8 15H16" stroke="black" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" /></svg>');mask-image:url('data:image/svg+xml;utf8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6 5L12 13M18 5L12 13M12 13V19M8 12H16M8 15H16" stroke="black" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" /></svg>');-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;margin-right:.1em}.legal-page-wrapper{max-width:900px;margin:0 auto;padding:2rem 1.5rem 6rem;width:100%;box-sizing:border-box}.legal-glass-card{background:#ffffffd9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.6);border-radius:32px;padding:3rem 2.5rem;box-shadow:0 4px 6px -1px #0000000d,0 20px 25px -5px #00000008;transition:all .4s cubic-bezier(.16,1,.3,1)}.legal-title{font-size:2rem;font-weight:800;color:var(--secondary);text-align:center;margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(0,0,0,.1);font-family:Outfit,Noto Sans JP,sans-serif;letter-spacing:-.02em}.legal-content{font-family:Noto Sans JP,sans-serif;color:var(--text-main);line-height:1.8;font-size:.95rem}.legal-content h2{font-size:1.25rem;font-weight:800;color:var(--secondary);margin-top:2.8rem;margin-bottom:1.2rem;position:relative;padding-left:1.25rem;display:flex;align-items:center}.legal-content h2:before{content:"";position:absolute;left:0;height:80%;width:5px;background:var(--primary-gradient);border-radius:4px}.legal-content p{margin-bottom:1.25rem;color:#334155}.legal-content ol,.legal-content ul{padding-left:1.5rem;margin-bottom:1.5rem;color:#334155}.legal-content li{margin-bottom:.5rem}.legal-content li>ul{margin-top:.5rem;margin-bottom:.5rem;padding-left:1.25rem}.legal-content .important-box{background:#fff9;border:1px solid rgba(0,0,0,.05);border-radius:16px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:inset 0 2px 4px #00000005}.legal-content .legal-dates{margin-top:3.5rem;padding-top:1.25rem;border-top:1px solid rgba(0,0,0,.06);text-align:right;color:#64748b;font-size:.85rem;line-height:1.8}.legal-content table{width:100%;border-collapse:collapse;margin-top:1.5rem;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 6px -1px #00000005;border:1px solid rgba(0,0,0,.06)}.legal-content th{background:#0f172a08;font-weight:700;color:var(--secondary);padding:1rem 1.25rem;border-bottom:1px solid rgba(0,0,0,.06);border-right:1px solid rgba(0,0,0,.06);width:35%;vertical-align:top}.legal-content td{padding:1rem 1.25rem;border-bottom:1px solid rgba(0,0,0,.06);color:#334155}.legal-content tr:last-child th,.legal-content tr:last-child td{border-bottom:none}@media(max-width:640px){.legal-glass-card{padding:2rem 1.25rem;border-radius:20px;box-sizing:border-box;width:100%}.legal-title{font-size:1.25rem;margin-bottom:1.5rem;padding-bottom:1rem;word-break:keep-all;overflow-wrap:anywhere}.legal-content{font-size:.9rem;line-height:1.7}.legal-content h2{font-size:1.1rem;margin-top:1.8rem}.legal-content th,.legal-content td{display:block;width:100%;border-right:none;box-sizing:border-box}.legal-content th{background:transparent;border-bottom:none;padding:1.25rem 1rem .25rem}.legal-content td{background:transparent;padding:0 1rem 1.25rem;border-bottom:1px solid rgba(0,0,0,.05)}.legal-content tr:last-child td{border-bottom:none}.legal-content .legal-table-retention thead,.legal-content .legal-table-info thead{display:none}.legal-content .legal-table-retention tr,.legal-content .legal-table-info tr{display:block;padding:.9rem 0;border-bottom:1px solid rgba(0,0,0,.06)}.legal-content .legal-table-retention td,.legal-content .legal-table-info td{padding:.15rem 1rem;border-bottom:none}.legal-content .legal-table-retention td:first-child,.legal-content .legal-table-info td:first-child{font-weight:700;color:var(--secondary);padding-bottom:.25rem}.legal-content .legal-table-retention td:nth-child(n+2):before{display:block;font-size:.75rem;font-weight:700;color:#64748b;margin-bottom:.1rem}.legal-content .legal-table-retention td:nth-child(2):before{content:"基本的な取扱い"}.legal-content .legal-table-retention td:nth-child(3):before{content:"今後定める事項"}}.footer-legal-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid rgba(0,0,0,.06)}.footer-legal-link{font-size:.8rem;color:var(--text-dim);text-decoration:none;font-weight:600;transition:all .2s ease;font-family:Noto Sans JP,sans-serif;white-space:nowrap}.footer-legal-link:hover{color:var(--primary);transform:translateY(-1px)}@media(min-width:640px){.footer-legal-links{gap:2rem}.footer-legal-link{font-size:.8rem}}.footer-copyright{text-align:center;font-size:.8rem;color:var(--text-subtle);margin-top:1.5rem;font-weight:500;font-family:Outfit,sans-serif;letter-spacing:.05em}.membership-status-banner{display:flex;align-items:center;gap:.7rem;margin:.65rem 0 0;padding:.8rem 1rem;border:1px solid;border-radius:12px;font-size:.85rem;font-weight:700;line-height:1.55}.membership-status-banner--grace{color:#854d0e;background:#fefce8;border-color:#fde047}.membership-status-banner--expired{color:#991b1b;background:#fef2f2;border-color:#fca5a5}.membership-status-banner__icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex:0 0 22px;border:2px solid currentColor;border-radius:50%;font-family:Outfit,sans-serif;font-weight:900}.membership-renewal-card,.team-renewal-panel{padding:1.5rem;border:1px solid #dbeafe;border-radius:20px;background:linear-gradient(145deg,#fff,#f8fbff);box-shadow:0 6px 24px #0f172a0f}.membership-renewal-card__heading,.team-renewal-panel__header,.admin-renewal-page__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.membership-renewal-card__heading h2,.team-renewal-panel__header h2,.admin-renewal-page__header h1{margin:0;color:#0f172a;font-size:1.2rem;font-weight:800}.membership-renewal-card__heading>div>p:last-child{margin:.35rem 0 0;color:#64748b;font-size:.78rem}.membership-renewal-card__eyebrow,.team-renewal-panel__eyebrow,.admin-renewal-page__eyebrow{margin:0 0 .25rem;color:#2563eb;font-family:Outfit,sans-serif;font-size:.7rem;font-weight:800;letter-spacing:.12em}.membership-effective-badge,.membership-renewal-status{display:inline-flex;align-items:center;padding:.3rem .65rem;border-radius:999px;font-size:.75rem;font-weight:800;white-space:nowrap}.membership-effective-badge--active,.membership-renewal-status--completed{color:#166534;background:#dcfce7}.membership-effective-badge--expired_grace,.membership-renewal-status--requested{color:#92400e;background:#fef3c7}.membership-effective-badge--expired,.membership-effective-badge--suspended,.membership-renewal-status--cancelled{color:#991b1b;background:#fee2e2}.membership-effective-badge--pending,.membership-renewal-status--unrenewed{color:#475569;background:#e2e8f0}.membership-renewal-card__details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1.25rem 0}.membership-renewal-card__details div{padding:.75rem;border-radius:12px;background:#f8fafc}.membership-renewal-card__details dt{color:#64748b;font-size:.72rem;font-weight:700}.membership-renewal-card__details dd{margin:.2rem 0 0;color:#0f172a;font-size:.88rem;font-weight:800}.membership-qualification-list{display:grid;gap:.9rem;margin-top:1.25rem}.membership-qualification-row{padding:1rem;border:1px solid #e2e8f0;border-radius:15px;background:#ffffffe0;box-shadow:0 3px 12px #0f172a09}.membership-qualification-row:first-child{border-color:#b48a276b;background:linear-gradient(145deg,#fffdf7,#fff 75%)}.membership-qualification-row__title{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.membership-qualification-row__title h3{margin:.15rem 0 0;color:#0f172a;font-size:.98rem}.membership-qualification-row__kind{color:#64748b;font-size:.68rem;font-weight:800}.membership-qualification-row__details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin:.9rem 0}.membership-qualification-row__details div{min-width:0;padding:.6rem;border-radius:10px;background:#f8fafc}.membership-qualification-row__details dt{color:#64748b;font-size:.68rem;font-weight:700}.membership-qualification-row__details dd{overflow-wrap:anywhere;margin:.15rem 0 0;color:#0f172a;font-size:.8rem;font-weight:800}.membership-renewal-card__button,.team-renewal-panel__submit,.admin-renewal-page__header>button{padding:.75rem 1rem;border:0;border-radius:12px;color:#fff;background:#2563eb;font-weight:800;cursor:pointer}.membership-renewal-card__button{width:100%}.membership-renewal-card__button:disabled,.team-renewal-panel__submit:disabled,.admin-renewal-page__header>button:disabled{cursor:not-allowed;opacity:.55}.membership-renewal-state{display:flex;flex-direction:column;gap:.2rem;padding:.8rem 1rem;border-radius:12px;font-size:.82rem}.membership-renewal-state--requested{color:#854d0e;background:#fefce8;border:1px solid #fde68a}.membership-renewal-state--completed{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.membership-renewal-card__note{margin:.75rem 0 0;color:#64748b;font-size:.75rem;line-height:1.55}.membership-renewal-card__error,.team-renewal-panel__error,.admin-renewal-page__error{margin:.75rem 0 0;padding:.75rem 1rem;border-radius:10px;color:#991b1b;background:#fef2f2;font-size:.82rem;font-weight:700}.team-renewal-panel__header p:not(.team-renewal-panel__eyebrow),.admin-renewal-page__header p:not(.admin-renewal-page__eyebrow){margin:.35rem 0 0;color:#64748b;font-size:.82rem}.team-renewal-panel__selected{padding:.4rem .7rem;border-radius:10px;color:#1e40af;background:#dbeafe;font-size:.8rem;font-weight:800}.team-renewal-stack{display:grid;gap:1.25rem}.team-renewal-target{display:grid;grid-template-columns:minmax(140px,220px) minmax(220px,1fr);align-items:end;gap:.35rem 1rem;margin-top:1.1rem;padding:.9rem 1rem;border:1px solid #bfdbfe;border-radius:13px;background:#eff6ff}.team-renewal-target label{grid-column:1;color:#1e3a8a;font-size:.72rem;font-weight:800}.team-renewal-target select{grid-column:1;padding:.65rem .75rem;border:1px solid #93c5fd;border-radius:9px;color:#0f172a;background:#fff;font-weight:700}.team-renewal-target>span{grid-column:2;grid-row:1 / span 2;align-self:center;color:#475569;font-size:.8rem}.membership-fee-editor{padding:1.5rem;border:1px solid #e2e8f0;border-radius:18px;background:#fff;box-shadow:0 6px 24px #0f172a0d}.membership-fee-editor__heading h3{margin:0;color:#0f172a;font-size:1.05rem}.membership-fee-editor__heading p:not(.membership-fee-editor__eyebrow){margin:.35rem 0 0;color:#64748b;font-size:.8rem}.membership-fee-editor__eyebrow{margin:0 0 .2rem;color:#b48a27;font-family:Outfit,sans-serif;font-size:.68rem;font-weight:800;letter-spacing:.12em}.membership-fee-editor__table-wrap{overflow-x:auto;margin-top:1rem;border:1px solid #e2e8f0;border-radius:12px}.membership-fee-editor__table{width:100%;border-collapse:collapse;font-size:.8rem}.membership-fee-editor__table th,.membership-fee-editor__table td{padding:.65rem;border-bottom:1px solid #e2e8f0;color:#334155;text-align:left}.membership-fee-editor__table thead th{color:#475569;background:#f8fafc;font-size:.7rem}.membership-fee-editor__table tr:last-child th,.membership-fee-editor__table tr:last-child td{border-bottom:0}.membership-fee-editor__table input[type=checkbox]{width:18px;height:18px;accent-color:#b48a27}.membership-fee-editor__table input[type=number],.membership-fee-editor__table input[type=text]{width:100%;min-width:110px;padding:.55rem .6rem;border:1px solid #cbd5e1;border-radius:8px;box-sizing:border-box}.membership-fee-editor__table input:disabled{color:#94a3b8;background:#f8fafc}.membership-fee-editor__amount{display:flex;align-items:center;gap:.35rem}.membership-fee-editor__amount span{color:#64748b;font-weight:700}.membership-fee-editor__empty{margin:1rem 0 0;color:#64748b;font-size:.82rem}.membership-fee-editor__error{margin:.75rem 0 0;color:#991b1b;font-size:.8rem;font-weight:700}.membership-fee-editor__notice{margin:.75rem 0 0;color:#166534;font-size:.8rem;font-weight:700}.membership-fee-editor__actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;margin-top:1rem;color:#64748b;font-size:.75rem}.membership-fee-editor__actions button{padding:.65rem 1rem;border:0;border-radius:10px;color:#fff;background:#0f172a;font-weight:800;cursor:pointer}.membership-fee-editor__actions button:disabled{cursor:not-allowed;opacity:.5}.team-renewal-table-wrap,.admin-renewal-table-wrap{overflow-x:auto;margin-top:1rem;border:1px solid #e2e8f0;border-radius:14px}.team-renewal-table,.admin-renewal-table{width:100%;border-collapse:collapse;background:#fff;font-size:.82rem}.team-renewal-table th,.team-renewal-table td,.admin-renewal-table th,.admin-renewal-table td{padding:.8rem;border-bottom:1px solid #e2e8f0;color:#334155;text-align:left;vertical-align:middle}.team-renewal-table th,.admin-renewal-table th{color:#475569;background:#f8fafc;font-size:.72rem;font-weight:800;white-space:nowrap}.team-renewal-table tr:last-child td,.admin-renewal-table tr:last-child td{border-bottom:0}.team-renewal-table tr.is-requested td,.admin-renewal-table tr.is-requested td{background:#fffdf0}.team-renewal-table td strong,.team-renewal-table td small,.admin-renewal-table td strong,.admin-renewal-table td small{display:block}.team-renewal-table td small,.admin-renewal-table td small{margin-top:.15rem;color:#64748b;font-size:.72rem}.team-renewal-table__check{width:38px;text-align:center!important}.team-renewal-panel__actions{display:flex;justify-content:flex-end;margin-top:1rem}.team-renewal-results{margin-top:1rem;padding:.9rem 1rem;border:1px solid #bfdbfe;border-radius:12px;background:#eff6ff;font-size:.8rem}.team-renewal-results ul{margin:.5rem 0 0;padding-left:1.2rem}.team-renewal-results .is-success{color:#166534}.team-renewal-results .is-error{color:#991b1b}.team-renewal-panel__empty,.admin-renewal-page__empty{padding:3rem;color:#64748b;text-align:center}.membership-renewal-modal{position:fixed;z-index:5000;inset:0;display:flex;align-items:center;justify-content:center;padding:1rem}.membership-renewal-modal__overlay{position:absolute;inset:0;background:#0f172a94}.membership-renewal-modal__body{position:relative;z-index:1;width:min(100%,430px);padding:1.5rem;border-radius:18px;background:#fff;box-shadow:0 24px 70px #0f172a47}.membership-renewal-modal__body h3{margin:0;color:#0f172a}.membership-renewal-modal__note{color:#64748b;font-size:.8rem}.membership-renewal-modal__actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1.25rem}.membership-renewal-modal__actions button{padding:.65rem 1rem;border:1px solid #cbd5e1;border-radius:10px;background:#fff;font-weight:700;cursor:pointer}.membership-renewal-modal__actions button.is-primary{color:#fff;background:#2563eb;border-color:#2563eb}.admin-renewal-page{padding:.5rem}.admin-renewal-page__header>button{flex:0 0 auto}.admin-renewal-filters{display:flex;align-items:flex-end;gap:1rem;margin:1.5rem 0 1rem;padding:1rem;border:1px solid #e2e8f0;border-radius:14px;background:#fff}.admin-renewal-filters label{display:flex;flex-direction:column;gap:.35rem;color:#475569;font-size:.75rem;font-weight:800}.admin-renewal-filters input,.admin-renewal-filters select{min-width:150px;padding:.6rem .7rem;border:1px solid #cbd5e1;border-radius:9px;background:#fff;font:inherit}.admin-renewal-filters__count{margin-left:auto;color:#475569;font-size:.85rem;font-weight:800}.admin-renewal-table__cancel{padding:.4rem .65rem;border:1px solid #fca5a5;border-radius:8px;color:#b91c1c;background:#fff;font-size:.75rem;font-weight:800;cursor:pointer}.admin-renewal-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1rem}.admin-renewal-pagination button{padding:.5rem .9rem;border:1px solid #cbd5e1;border-radius:8px;background:#fff;cursor:pointer}@media(max-width:640px){.membership-renewal-card__details,.membership-qualification-row__details{grid-template-columns:1fr}.membership-renewal-card__heading,.team-renewal-panel__header,.admin-renewal-page__header{flex-direction:column}.team-renewal-panel__submit,.admin-renewal-page__header>button{width:100%}.admin-renewal-filters{align-items:stretch;flex-direction:column}.admin-renewal-filters__count{margin-left:0}.team-renewal-target{grid-template-columns:1fr}.team-renewal-target label,.team-renewal-target select,.team-renewal-target>span{grid-column:1;grid-row:auto}}:root{--top-primary: #14532d;--top-primary-light: #166534;--top-primary-dark: #0f3d24;--top-primary-glow: rgba(20, 83, 45, .12);--top-secondary: #0f172a;--top-secondary-light: #1e293b;--top-accent: #b45309;--top-accent-glow: rgba(180, 83, 9, .12);--top-danger: #ef4444;--top-danger-light: #f87171;--top-success: #10b981;--top-warning: #f59e0b;--top-info: #3b82f6;--top-on-dark-accent: #34d399;--top-on-dark-accent-bg: rgba(52, 211, 153, .16);--top-win: #047857;--top-focus-ring: 0 0 0 2px rgba(20, 83, 45, .45);--top-text-main: #0f172a;--top-text-dim: #475569;--top-text-muted: #64748b;--top-text-on-primary: #ffffff;--top-bg-main: #faf9f6;--top-bg-card: #ffffff;--top-glass-bg: #ffffff;--top-glass-border: #e7e4dc;--top-glass-shadow: 0 1px 2px rgba(15, 23, 42, .05);--top-font-main: "Outfit", "Noto Sans JP", sans-serif;--top-font-jp: "Noto Sans JP", sans-serif;--top-font-display: "Archivo", "Zen Kaku Gothic New", sans-serif;--top-radius-sm: 4px;--top-radius-md: 6px;--top-radius-lg: 8px;--top-radius-xl: 10px;--top-ease-out-expo: cubic-bezier(.16, 1, .3, 1);--top-ease-spring: cubic-bezier(.16, 1, .3, 1)}.top-page-header{padding:1.5rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.top-page-header h1{display:flex;align-items:center;gap:.5rem;min-width:0;white-space:nowrap;flex-shrink:0;font-family:var(--top-font-display);letter-spacing:-.02em;font-weight:700;color:var(--top-secondary);line-height:1.3;font-size:1.75rem}.top-page-body{padding:0 2rem 2rem;flex:1}@media(max-width:768px){.top-page-body{padding:0 1rem 1.5rem}}.top-page-section{margin-bottom:1.5rem}.top-glass-panel{background:var(--top-glass-bg);border:1px solid var(--top-glass-border);border-radius:var(--top-radius-xl);box-shadow:var(--top-glass-shadow);transition:all .4s var(--top-ease-out-expo)}.top-glass-panel input:focus,.top-glass-panel select:focus,.top-glass-panel textarea:focus{outline:none;border-color:var(--top-primary)!important;box-shadow:var(--top-focus-ring),inset 0 1px 3px #0000000a!important;background:#fff!important}.top-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem 1.2rem;border-radius:var(--top-radius-md);font-family:var(--top-font-jp);font-size:.9rem;font-weight:600;border:none;cursor:pointer;transition:all .3s var(--top-ease-spring);text-decoration:none;white-space:nowrap;min-height:40px}.top-btn:active{transform:scale(.95)}.top-btn-primary{background:var(--top-primary);color:#fff;box-shadow:0 1px 2px #0f172a1f}.top-btn-primary:hover{box-shadow:0 2px 6px #0f172a2e;transform:translateY(-1px)}.top-btn-outline{background:transparent;color:var(--top-primary);border:1.5px solid var(--top-primary)}.top-btn-outline:hover{background:var(--top-primary-glow);transform:translateY(-1px)}.top-btn-ghost{background:transparent;color:var(--top-text-dim)}.top-btn-ghost:hover{background:#0000000f;color:var(--top-text-main)}.top-btn-danger{background:var(--top-danger);color:#fff}.top-btn-danger:hover{background:var(--top-danger-light);transform:translateY(-1px)}.top-btn-sm{padding:.45rem .9rem;font-size:.85rem;min-height:36px}.top-btn-md{padding:.65rem 1.2rem;font-size:.9rem;min-height:40px}.top-btn-lg{padding:.75rem 1.5rem;font-size:.95rem}.top-btn-icon{width:40px;height:40px;padding:0;border-radius:var(--top-radius-md);background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--top-text-dim);transition:all .2s ease}.top-btn-icon:hover{background:#0000000f;color:var(--top-text-main)}.top-form-group{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.top-form-label{display:block;font-size:.88rem;font-weight:600;color:var(--top-text-dim);font-family:var(--top-font-jp)}.top-form-input,.top-form-select,.top-form-textarea{padding:.7rem 1rem;border-radius:var(--top-radius-md);border:1.5px solid rgba(0,0,0,.08);font-family:var(--top-font-jp);font-size:.92rem;color:var(--top-text-main);background:#fff;transition:all .3s var(--top-ease-spring);outline:none;width:100%;box-shadow:inset 0 1px 2px #00000005;min-height:42px}.top-form-input::placeholder{color:var(--top-text-dim);opacity:.5}.top-form-input:hover,.top-form-select:hover,.top-form-textarea:hover{border-color:#00000026}.top-form-input:focus,.top-form-select:focus,.top-form-textarea:focus{border-color:var(--top-primary);box-shadow:inset 0 1px 2px #00000005,var(--top-focus-ring)}.top-form-input:disabled,.top-form-select:disabled{opacity:.5;cursor:not-allowed;background-color:#eef0f3}.top-form-textarea{min-height:80px;resize:vertical}.top-form-error{font-size:.78rem;color:var(--top-danger);font-family:var(--top-font-jp);margin-top:.2rem}.top-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;border-radius:24px;font-size:.82rem;font-weight:700;font-family:var(--top-font-jp);letter-spacing:.02em}.top-badge-primary{background:var(--top-primary-glow);color:var(--top-primary-dark);box-shadow:inset 0 0 0 1px #14532d1a}.top-badge-success{background:#22c55e1f;color:#15803d}.top-badge-warning{background:#f59e0b1f;color:#b45309}.top-badge-danger{background:#ef44441f;color:#dc2626}.top-badge-info{background:#3b82f61f;color:#2563eb}.top-badge-neutral{background:#0000000f;color:var(--top-text-dim)}.top-badge-scheduled{background:#3b82f61f;color:#2563eb}.top-badge-in-progress{background:#f59e0b1f;color:#b45309}.top-badge-completed{background:#22c55e1f;color:#15803d}.top-badge-cancelled{background:#ef44441f;color:#dc2626}.top-badge-draft{background:#0000000f;color:var(--top-text-dim)}.top-badge-ready{background:#14532d1f;color:var(--top-primary-dark)}.top-badge-bye{background:#0000000a;color:var(--top-text-muted)}.top-stats-grid{display:grid;grid-template-columns:repeat(4,auto);gap:.6rem}@media(max-width:900px){.top-stats-grid{grid-template-columns:repeat(2,1fr)}}.top-stat-card{background:var(--top-bg-card);border-radius:var(--top-radius-md);padding:.6rem .85rem;border:1px solid rgba(0,0,0,.04);display:flex;align-items:center;gap:.6rem;white-space:normal;min-width:0}.top-stat-card.is-clickable{cursor:pointer;transition:box-shadow .15s,transform .15s}@media(hover:hover){.top-stat-card.is-clickable:hover{transform:translateY(-1px);box-shadow:0 6px 18px #0f172a1f}}.top-stat-icon{width:36px;height:36px;border-radius:var(--top-radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.top-stat-icon.green{background:var(--top-primary-glow)}.top-stat-icon.blue{background:#3b82f61a}.top-stat-icon.amber{background:#f59e0b1a}.top-stat-icon.red{background:#ef44441a}.top-stat-icon.violet{background:#8b5cf61a}.top-stat-info{display:flex;flex-direction:column}.top-stat-value{font-size:1.5rem;font-weight:800;color:var(--top-secondary);line-height:1.2;font-variant-numeric:tabular-nums}.top-stat-label{font-size:.75rem;color:var(--top-text-muted);font-family:var(--top-font-jp)}.top-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;color:var(--top-text-muted)}.top-empty-state-icon{margin-bottom:1rem;opacity:.5}.top-empty-state h3{color:var(--top-text-dim);margin-bottom:.5rem;font-family:var(--top-font-display)}.top-empty-state p{font-family:var(--top-font-jp);font-size:.9rem}.top-data-table{width:100%;border-collapse:collapse;font-size:.85rem}.top-data-table thead th{padding:.75rem 1rem;text-align:left;font-weight:700;font-size:.75rem;color:var(--top-text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid rgba(15,23,42,.18);font-family:var(--top-font-jp);position:sticky;top:0;background:var(--top-bg-card);z-index:10}.top-data-table tbody td{padding:.75rem 1rem;border-bottom:1px solid rgba(0,0,0,.04);font-family:var(--top-font-jp);vertical-align:middle}.top-data-table tbody tr{transition:background .15s ease}.top-data-table tbody tr:hover{background:#0f172a08}.top-table-actions{display:flex;align-items:center;gap:.5rem}.top-modal-overlay{position:fixed;inset:0;background:#0006;z-index:500;display:flex;align-items:center;justify-content:center;animation:topFadeIn .2s ease}.top-modal-content{background:#fff;border-radius:var(--top-radius-xl);box-shadow:0 25px 50px #00000026;max-width:560px;width:90%;max-height:85vh;overflow-y:auto;animation:topSlideUp .3s var(--top-ease-out-expo)}.top-modal-header{padding:1.25rem 1.5rem;border-bottom:1px solid rgba(0,0,0,.06);display:flex;align-items:center;justify-content:space-between}.top-modal-body{padding:1.5rem}.top-modal-footer{padding:1rem 1.5rem;border-top:1px solid rgba(0,0,0,.06);display:flex;justify-content:flex-end;gap:.75rem}.top-event-tab-wrap{position:relative;display:flex;align-items:stretch}.top-event-tab-wrap .top-event-tab-arrow{position:absolute;top:0;bottom:0;width:40px;z-index:2;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.75rem;color:var(--top-text-muted);transition:all .15s;opacity:0;pointer-events:none}.top-event-tab-wrap .top-event-tab-arrow.visible{opacity:1;pointer-events:auto}.top-event-tab-wrap .top-event-tab-arrow-left{left:0;background:linear-gradient(to right,rgba(240,240,240,.95) 60%,transparent);border-radius:var(--top-radius-md) 0 0 var(--top-radius-md);padding-right:4px}.top-event-tab-wrap .top-event-tab-arrow-right{right:0;background:linear-gradient(to left,rgba(240,240,240,.95) 60%,transparent);border-radius:0 var(--top-radius-md) var(--top-radius-md) 0;padding-left:4px}.top-event-tab-wrap .top-event-tab-arrow:hover{color:var(--top-primary)}.top-event-tab-bar{display:flex;gap:.25rem;background:#0000000a;border-radius:var(--top-radius-md);padding:.25rem;overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none;-webkit-overflow-scrolling:touch;flex:1;min-width:0}.top-event-tab-bar::-webkit-scrollbar{display:none}.top-event-tab-btn{flex:0 0 auto;padding:.5rem .75rem;border-radius:var(--top-radius-sm);border:none;cursor:pointer;font-size:.875rem;font-weight:600;font-family:var(--top-font-jp);transition:all .2s;background:transparent;color:var(--top-text-muted);white-space:nowrap}.top-event-tab-btn.active{background:#fff;color:var(--top-primary);box-shadow:0 1px 3px #0000001a}.top-draw-event-tab{flex:0 0 auto;display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .8rem;border-radius:999px;border:1.5px solid transparent;cursor:pointer;font-size:.875rem;font-weight:600;font-family:var(--top-font-jp);transition:all .2s;background:transparent;color:var(--top-text-muted);white-space:nowrap;line-height:1.4}.top-draw-event-tab:hover{background:#0000000a;color:var(--top-text-main)}.top-draw-event-tab.active{background:var(--top-primary-glow);color:var(--top-primary-dark);border-color:var(--top-primary);font-weight:700}.top-event-tab-dot{display:inline-block;width:6px;height:6px;margin-left:.3rem;border-radius:50%;background:#ef4444;vertical-align:middle}.top-bracket-container{overflow-x:auto;overflow-y:auto;padding:2rem;-webkit-overflow-scrolling:touch}.top-bracket-match{background:#fff;border-radius:var(--top-radius-md);border:1px solid rgba(0,0,0,.08);min-width:200px;box-shadow:0 1px 3px #0000000a;overflow:hidden;transition:all .2s ease}.top-bracket-match:hover{box-shadow:0 4px 12px #00000014}.top-bracket-player{padding:.5rem .75rem .5rem 2.25rem;position:relative;display:flex;align-items:center;justify-content:space-between;font-size:.9rem;font-family:var(--top-font-jp);border-bottom:1px solid rgba(0,0,0,.05);transition:background .15s ease}.top-bracket-player:last-child{border-bottom:none}.top-bracket-player.winner{background:#14532d0f;font-weight:600}.top-bracket-player.loser{color:var(--top-text-muted)}.top-bracket-player-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-bracket-player-score{font-weight:700;font-size:.8rem;color:var(--top-secondary);margin-left:.5rem}.top-bracket-seed{width:22px;height:22px;border-radius:50%;background:var(--top-primary-glow);color:var(--top-primary-dark);font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center;position:absolute;left:.5rem;top:50%;transform:translateY(-50%);flex-shrink:0}@keyframes topFadeIn{0%{opacity:0}to{opacity:1}}@keyframes topSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes topPulse{0%,to{opacity:1}50%{opacity:.5}}.top-animate-fade-in{animation:topFadeIn .4s ease}.top-animate-slide-up{animation:topSlideUp .4s var(--top-ease-out-expo)}.top-draggable{cursor:grab;transition:all .2s ease}.top-draggable:active{cursor:grabbing}.top-dragging{opacity:.5;transform:scale(1.02);box-shadow:0 8px 24px #0000001f;z-index:999}.top-drop-target{border:2px dashed var(--top-primary);background:var(--top-primary-glow);border-radius:var(--top-radius-md)}.top-score-display{font-size:4rem;font-weight:900;letter-spacing:-.02em;font-family:var(--top-font-main);color:var(--top-secondary);line-height:1;font-variant-numeric:tabular-nums}.top-score-btn{width:80px;height:80px;border-radius:50%;border:none;font-size:1.5rem;font-weight:800;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.top-score-btn:active{transform:scale(.92)}.top-score-btn-plus{background:var(--top-primary);color:#fff;box-shadow:0 1px 3px #0f172a1a}.top-score-btn-minus{background:#0000000f;color:var(--top-text-dim)}.top-flex-center{display:flex;align-items:center;justify-content:center}.top-flex-between{display:flex;align-items:center;justify-content:space-between}.top-gap-sm{gap:.5rem}.top-gap-md{gap:1rem}.top-gap-lg{gap:1.5rem}.top-hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.top-hide-scrollbar::-webkit-scrollbar{display:none}.top-live-badge{background:var(--top-danger);color:#fff;font-size:.6rem;font-weight:700;padding:.15rem .5rem;border-radius:20px;text-transform:uppercase;letter-spacing:.05em;animation:topPulse 2s infinite}.top-schedule-grid{background:#fff}.top-schedule-cell{transition:background .15s}.top-schedule-cell:hover{background:#f8fafc}.top-schedule-cell-live{background:#3b82f624}.top-schedule-cell-done{background:#94a3b842}.top-schedule-cell-dragover{background:#3b82f61a}.top-schedule-chip.chip-live{box-shadow:0 0 0 2px #2563ebe6}.top-schedule-chip-mark{flex-shrink:0;font-size:.62rem;font-weight:900;line-height:1;padding:1px 3px;border-radius:3px;white-space:nowrap}.top-schedule-chip-mark.done{background:#16a34a;color:#fff}.top-schedule-chip-mark.live{background:#2563eb;color:#fff}.top-app-layout{display:flex;width:100%;min-height:100dvh}.top-sidebar{width:260px;background:var(--top-secondary);color:#fff;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100;transition:transform .3s var(--top-ease-out-expo)}.top-sidebar-header{padding:1.5rem 1rem;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:.5rem}.top-sidebar-logo{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;box-shadow:0 8px 18px #0000002e}.top-sidebar-logo-image{width:100%;height:100%;display:block;object-fit:cover}.top-sidebar-brand{display:flex;flex-direction:column;min-width:0}.top-sidebar-brand-title-row{display:flex;align-items:center;gap:.35rem;min-width:0}.top-sidebar-trial-badge{position:relative;flex:0 0 auto}.top-sidebar-header .top-sidebar-trial-badge .trial-badge__button{min-height:18px;padding:1px 5px;font-size:.52rem}.top-sidebar-trial-badge:empty{display:none}.top-sidebar-brand-name{font-size:1rem;font-weight:800;font-family:Outfit,Noto Sans JP,sans-serif;letter-spacing:-.01em;line-height:1.2;white-space:nowrap}.top-sidebar-brand-sub{font-size:.8rem;font-weight:700;color:#b48a27;letter-spacing:.05em}.top-sidebar-nav{flex:1;padding:.75rem 0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:transparent transparent}.top-sidebar-nav:hover{scrollbar-color:rgba(255,255,255,.15) transparent}.top-sidebar-section-title{padding:1rem 1.25rem .4rem;font-size:.7rem;font-weight:700;color:#fff6;text-transform:uppercase;letter-spacing:.1em}.top-sidebar-link{display:flex;align-items:center;gap:.75rem;padding:.7rem 1.25rem;color:#fff9;text-decoration:none;font-size:.95rem;font-weight:500;transition:all .2s ease;border-left:3px solid transparent;cursor:pointer;min-height:44px}.top-sidebar-link:hover{color:#ffffffd9;background:#ffffff0d}.top-sidebar-link.active{color:#fff;background:var(--top-on-dark-accent-bg);border-left-color:var(--top-on-dark-accent)}.top-sidebar-link svg{width:18px;height:18px;flex-shrink:0}.top-sidebar-link span{font-family:var(--top-font-jp)}.top-sidebar-footer{padding:1rem 1.25rem;border-top:1px solid rgba(255,255,255,.08);font-size:.7rem;color:#ffffff40;text-align:center}.top-sidebar-account{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.6rem}.top-sidebar-account-email{color:#ffffff73;font-size:.7rem;word-break:break-all}.top-sidebar-logout{align-self:center;padding:.3rem .9rem;border-radius:var(--top-radius-md);border:1px solid rgba(255,255,255,.15);background:transparent;color:#fff9;font-size:.7rem;cursor:pointer;transition:all .2s ease}.top-sidebar-logout:hover{color:#fff;border-color:#ffffff59;background:#ffffff0d}.top-main-content{flex:1;margin-left:260px;display:flex;flex-direction:column;min-height:100dvh;min-width:0;overflow-x:hidden}.top-mobile-menu-toggle{display:none;position:fixed;top:1rem;left:1rem;z-index:200;width:40px;height:40px;border-radius:var(--top-radius-md);background:#fff;border:1px solid rgba(0,0,0,.08);box-shadow:0 2px 8px #0000001a;align-items:center;justify-content:center;cursor:pointer;color:var(--top-secondary)}.top-mobile-trial-badge{display:none;position:fixed;top:1rem;right:1rem;z-index:200}@media(max-width:768px){.top-sidebar{transform:translate(-100%)}.top-sidebar.open{transform:translate(0)}.top-main-content{margin-left:0}.top-mobile-menu-toggle,.top-mobile-trial-badge{display:flex}.top-sidebar-trial-badge{display:none}}@media print{.no-print,.top-sidebar,.top-mobile-menu-toggle,.top-mobile-trial-badge{display:none!important}.top-main-content{margin:0!important}.top-schedule-grid{font-size:10px}}.referee-sheets-header{align-items:flex-start}.referee-sheets-header>div{display:flex;flex-direction:column;gap:.35rem}.referee-sheets-header h1{margin:0}.referee-sheets-header p{margin:0;color:var(--top-text-muted);font-size:.85rem;font-weight:700}.referee-sheets-print-tip{margin-top:.25rem!important;padding:.5rem .75rem;border-left:3px solid var(--top-accent, #2563eb);background:#2563eb0f;color:var(--top-text-main)!important;font-size:.78rem!important;font-weight:600!important;line-height:1.5;border-radius:4px}.referee-sheets-body{display:flex;flex-direction:column;gap:1rem}.referee-sheets-controls{display:grid;grid-template-columns:auto minmax(180px,260px) minmax(240px,1fr);align-items:center;gap:.75rem;padding:1rem}.referee-sheets-count strong{font-size:1.5rem;font-weight:900;margin-right:.25rem}.referee-sheets-count span{color:var(--top-text-muted);font-weight:800}.referee-sheets-controls select{width:100%;min-height:42px;padding:0 .85rem;border:1px solid rgba(15,23,42,.12);border-radius:var(--top-radius-md);background:#fff;color:var(--top-text-main);font-family:var(--top-font-jp);font-weight:800}.referee-sheets-search{display:flex;align-items:center;gap:.5rem;min-height:42px;padding:0 .75rem;border:1px solid rgba(15,23,42,.12);border-radius:var(--top-radius-md);background:#fff;color:var(--top-text-muted)}.referee-sheets-search input{width:100%;border:0;outline:0;background:transparent;color:var(--top-text-main);font-family:var(--top-font-jp);font-weight:700}.referee-sheets-print-root{display:flex;flex-direction:column;align-items:center;gap:1.25rem}.referee-sheets-empty{padding:2rem;color:var(--top-text-muted);font-weight:800;text-align:center}.referee-sheet{width:min(100%,210mm);min-height:297mm;padding:16mm 14mm;background:#fff;color:#111827;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 18px 48px #0f172a1f;font-family:var(--top-font-jp);display:flex;flex-direction:column;gap:8mm;page-break-after:always}@media print{body:has(.referee-sheets-page){background:#fff!important;color:#111827!important}body:has(.referee-sheets-page) .sidebar,body:has(.referee-sheets-page) .mobile-menu-toggle,body:has(.referee-sheets-page) .referee-sheets-header,body:has(.referee-sheets-page) .referee-sheets-controls,body:has(.referee-sheets-page) .no-print{display:none!important}body:has(.referee-sheets-page)>*:not(#root):not(script):not(style){display:none!important}body:has(.referee-sheets-page) .app-layout{display:block!important;min-height:0!important;height:auto!important}body:has(.referee-sheets-page) .main-content{margin:0!important;padding:0!important;overflow:visible!important;background:#fff!important;min-height:0!important;height:auto!important;display:block!important}body:has(.referee-sheets-page) .referee-sheets-page,body:has(.referee-sheets-page) .top-page-body,body:has(.referee-sheets-page) .referee-sheets-body{padding:0!important;margin:0!important;min-height:0!important;height:auto!important;display:block!important}body:has(.referee-sheets-page) .referee-sheets-print-root{display:block;min-height:0!important;height:auto!important;gap:0!important;padding:0!important}body:has(.referee-sheets-page),html:has(.referee-sheets-page){min-height:0!important;height:auto!important}@page referee-sheet-page{size:297mm 210mm;margin:0}body:has(.referee-sheets-page) .referee-sheet{page:referee-sheet-page;width:297mm;min-height:210mm;margin:0;border:0;border-radius:0;box-shadow:none;box-sizing:border-box;break-after:auto;page-break-after:auto}body:has(.referee-sheets-page) .referee-sheet:not(:last-child){break-after:page;page-break-after:always}}.referee-score-sheet{width:min(100%,297mm);min-height:210mm;padding:10mm 11mm;gap:4mm;color:#111827;background:#fff}.referee-score-sheet{width:min(100%,297mm);min-height:210mm;padding:8mm 9mm 7mm;gap:4mm;color:#000;font-family:var(--top-font-jp)}.referee-ref-header{display:grid;grid-template-columns:56mm 1fr 56mm;gap:5mm;align-items:start}.referee-ref-left-fields,.referee-ref-right-fields{display:grid;gap:1mm;padding-top:6mm}.referee-ref-field-line{display:grid;grid-template-columns:auto 1fr;align-items:end;gap:2mm;min-height:4.8mm;color:#000;font-size:10.5pt;font-weight:700;letter-spacing:.28em}.referee-ref-left-fields .referee-ref-field-line{grid-template-columns:22mm 1fr;gap:1mm;font-size:9.4pt;letter-spacing:.08em}.referee-ref-right-fields .referee-ref-field-line{grid-template-columns:25mm 1fr;gap:1mm;font-size:7.8pt;letter-spacing:.02em}.referee-ref-field-line span{white-space:nowrap}.referee-ref-field-line strong{min-height:3.9mm;border-bottom:1.6px solid #000;color:#000;font-size:9.8pt;font-weight:800;letter-spacing:0;text-align:center;white-space:nowrap;overflow:hidden}.referee-ref-fit-sm{font-size:7.6pt!important}.referee-ref-field-line strong.referee-ref-match-number{font-size:10.8pt!important}.referee-ref-fit-xs{font-size:6.2pt!important}.referee-ref-fit-xxs{font-size:5.2pt!important;letter-spacing:-.02em!important}.referee-ref-panel-affiliation.referee-ref-fit-xs,.referee-ref-panel-affiliation.referee-ref-fit-xxs{font-size:5.4pt!important;letter-spacing:-.05em!important}.referee-ref-center{display:flex;flex-direction:column;gap:2.4mm;align-items:stretch}.referee-ref-center h2{margin:0;text-align:center;color:#000;font-size:18.5pt;font-weight:900;letter-spacing:.3em;line-height:1;white-space:nowrap}.referee-ref-player-summary{display:grid;grid-template-columns:minmax(52mm,1fr) 40mm minmax(52mm,1fr);gap:4mm;align-items:stretch}.referee-ref-player-panel{min-height:20mm;border:1.8px solid #000;display:grid}.referee-ref-player-panel.left{grid-template-columns:8mm 1fr}.referee-ref-player-panel.right{grid-template-columns:1fr 8mm}.referee-ref-lr{display:grid;place-items:center;border-right:1.6px solid #000;color:#000;font-size:10pt;font-weight:900;line-height:1.05;text-align:center;width:100%;height:100%}.referee-ref-player-panel.right .referee-ref-lr{border-right:0;border-left:1.6px solid #000}.referee-ref-player-lines{display:grid;grid-auto-rows:1fr}.referee-ref-open{margin-left:1mm;font-size:min(8pt,1em);white-space:nowrap}.referee-ref-player-lines>div{min-height:6mm;padding:1mm 2mm;border-bottom:1.2px solid #000;display:flex;align-items:center;justify-content:center;color:#000;font-size:11pt;font-weight:900;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.referee-ref-player-lines>div.referee-ref-panel-affiliation{font-size:8.2pt;font-weight:800;letter-spacing:.02em}.referee-ref-player-lines>div:last-child{border-bottom:0}.referee-ref-final-score{min-height:20mm;border:1.8px solid #000;display:grid;grid-template-columns:10mm 1fr 10mm}.referee-ref-final-score>div{display:flex;align-items:center;justify-content:center}.referee-ref-final-score-lines{border-left:1.2px solid #000;border-right:1.2px solid #000;display:grid!important;grid-template-rows:repeat(3,1fr)}.referee-ref-final-score-lines span{display:flex;align-items:center;justify-content:center;border-bottom:1px solid #94a3b8;color:#000;font-size:10pt;font-weight:800;letter-spacing:.15em}.referee-ref-final-score-lines span:last-child{border-bottom:0}.referee-ref-rules{display:flex;align-items:baseline;gap:2mm;margin:0;color:#000;font-size:7.6pt;line-height:1.25}.referee-ref-rules span{flex-shrink:0;font-weight:700;letter-spacing:.08em}.referee-ref-rules-body{font-weight:800}.referee-ref-games{display:grid;gap:3.2mm}.referee-ref-game-grid{border:2px solid #000;display:grid;overflow:hidden}.referee-ref-game-grid.singles{grid-template-rows:repeat(4,10mm)}.referee-ref-game-grid.doubles{grid-template-rows:repeat(8,5.1mm)}.referee-ref-game-grid.triples{grid-template-rows:3fr 3fr 2.35fr 2.35fr;min-height:42mm}.referee-ref-game-row{display:grid;grid-template-columns:40mm 8mm repeat(32,minmax(0,1fr));min-width:0}.referee-ref-game-row:not(:last-child){border-bottom:1.5px solid #000}.referee-ref-game-row.green{background:#f2f2f2}.referee-ref-game-row.continuation .referee-ref-name-cell,.referee-ref-game-row.continuation .referee-ref-sr-cell{background:#fff;color:transparent}.referee-ref-game-row.section-start{border-top:2.6px solid #000}.referee-ref-game-row.continuation .referee-ref-name-cell{border-right:0}.referee-ref-game-row.continuation .referee-ref-sr-cell{border-right:2px solid #000}.referee-ref-name-cell,.referee-ref-sr-cell,.referee-ref-score-cell{min-width:0;border-right:1.2px solid #000;display:flex;align-items:center;justify-content:center;color:#000;line-height:1}.referee-ref-name-cell{padding:0 1mm;font-size:9pt;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.referee-ref-sr-cell{border-right:2px solid #000;font-size:10.5pt;font-weight:900}.referee-ref-score-cell{font-size:9pt}.referee-ref-score-cell:last-child{border-right:0}.referee-ref-triples-side{display:grid;grid-template-columns:40mm 8mm 1fr;min-width:0}.referee-ref-triples-side:not(:last-child){border-bottom:1.8px solid #000}.referee-ref-triples-side.section-end{border-bottom:2.6px solid #000}.referee-ref-triples-side.green{background:#f2f2f2}.referee-ref-triples-names{display:grid;grid-template-rows:repeat(3,1fr);min-width:0}.referee-ref-triples-name-cell{min-width:0;padding:0 1mm;border-right:1.2px solid #000;border-bottom:1.2px solid #000;display:flex;align-items:center;justify-content:center;color:#000;font-size:9pt;font-weight:900;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.referee-ref-triples-name-cell:last-child{border-bottom:0}.referee-ref-triples-sr{display:none}.referee-ref-triples-side-notes{display:grid;grid-template-rows:repeat(3,1fr);border-right:2px solid #000}.referee-ref-triples-note-cell{min-width:0;border-bottom:1.2px solid #000}.referee-ref-triples-note-cell:last-child{border-bottom:0}.referee-ref-triples-scores{display:grid;grid-template-rows:repeat(2,1fr);min-width:0}.referee-ref-triples-score-row{display:grid;grid-template-columns:repeat(32,minmax(0,1fr));min-width:0}.referee-ref-triples-score-row:not(:last-child){border-bottom:1.2px solid #000}.referee-ref-triples-continuation{display:grid;grid-template-columns:48mm 1fr;min-width:0}.referee-ref-triples-continuation:not(:last-child){border-bottom:1.8px solid #000}.referee-ref-triples-continuation.green{background:#f2f2f2}.referee-ref-triples-continuation-label{border-right:2px solid #000;background:#fff}.referee-ref-signatures{display:grid;grid-template-columns:repeat(3,1fr);gap:36mm;padding:4mm 6mm 0}.referee-ref-signatures .referee-ref-field-line{grid-template-columns:auto 1fr;min-height:8mm;font-size:10pt;letter-spacing:.16em}.referee-ref-signatures .referee-ref-field-line strong{min-height:6mm}@media print{body:has(.referee-sheets-page) .referee-score-sheet{width:297mm;min-height:210mm;padding:8mm 9mm 7mm}}body:has(.cert-page-body) .main-content{overflow-x:visible}.cert-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.cert-page-header-titles{display:flex;flex-direction:column;min-width:0}.cert-page-header-titles h1{display:inline-flex;align-items:center;gap:.5rem}.cert-page-header-actions{margin-left:auto}.cert-page-subtitle{margin:.35rem 0 0;color:var(--top-text-muted);font-size:.85rem;font-weight:700}.cert-page-body{display:flex;flex-direction:column;gap:1rem}.cert-workspace{display:grid;grid-template-columns:minmax(320px,390px) minmax(0,1fr);gap:1rem;align-items:start}.cert-controls,.cert-preview-panel{padding:1.15rem}.cert-controls{display:flex;flex-direction:column;gap:1.15rem}.cert-control-section{display:flex;flex-direction:column;gap:.75rem}.cert-section-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding-bottom:.45rem;border-bottom:1px solid var(--top-glass-border);color:var(--top-text-main);font-size:.83rem;font-weight:900}.cert-target-list{display:flex;flex-direction:column;gap:.45rem;max-height:260px;overflow-y:auto;padding-right:.25rem}.cert-target-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.65rem;width:100%;padding:.55rem .65rem;border:1px solid var(--top-glass-border);border-radius:var(--top-radius-sm);background:var(--top-bg-card);color:var(--top-text-main);cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease}.cert-target-card:hover,.cert-target-card.active{border-color:#10b981a6;background:#ecfdf5cc}.cert-placement{min-width:48px;padding:.2rem .42rem;border-radius:.45rem;font-size:.7rem;font-weight:900;text-align:center;white-space:nowrap}.cert-placement.gold{background:#fef3c7;color:#92400e}.cert-placement.silver{background:#eef2f7;color:#475569}.cert-placement.bronze{background:#ffedd5;color:#9a3412}.cert-target-main{display:flex;flex-direction:column;min-width:0;gap:.15rem}.cert-target-name,.cert-target-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cert-target-name{font-size:.85rem;font-weight:900}.cert-target-meta{color:var(--top-text-muted);font-size:.72rem;font-weight:700}.cert-mini-empty{padding:1rem;border:1px dashed var(--top-glass-border);border-radius:var(--top-radius-md);color:var(--top-text-muted);font-size:.82rem;font-weight:700;text-align:center}.cert-button-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.cert-button-grid .top-btn{justify-content:center}.cert-adjust-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.cert-stepper-field{display:flex;flex-direction:column;gap:.35rem}.cert-stepper-field>span{color:var(--top-text-muted);font-size:.72rem;font-weight:800}.cert-stepper-control{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;min-height:42px;overflow:hidden;border:1px solid rgba(148,163,184,.65);border-radius:var(--top-radius-sm);background:var(--top-bg-card)}.cert-stepper-control button{display:inline-flex;align-items:center;justify-content:center;border:0;background:#0f172a0a;color:var(--top-text-main);font-size:1rem;font-weight:900;cursor:pointer}.cert-stepper-control button:hover{background:#10b9811f;color:var(--top-primary)}.cert-stepper-control input{min-height:42px;padding:.4rem .35rem;border:0;border-left:1px solid rgba(148,163,184,.45);border-right:1px solid rgba(148,163,184,.45);background:transparent;color:var(--top-text-main);font-family:var(--top-font-jp);font-size:.85rem;font-weight:900;text-align:center}.cert-stepper-control input:focus{outline:none;box-shadow:inset 0 0 0 2px #10b98140}.cert-stepper-control input::-webkit-outer-spin-button,.cert-stepper-control input::-webkit-inner-spin-button{margin:0;appearance:none}.cert-reset-button{min-height:42px}.cert-adjust-grid label,.cert-form-group{display:flex;flex-direction:column;gap:.35rem}.cert-adjust-grid label span,.cert-form-group label{color:var(--top-text-muted);font-size:.72rem;font-weight:800}.cert-form-group input,.cert-form-group textarea,.cert-form-group select{width:100%;min-height:38px;padding:.5rem .65rem;border:1px solid var(--top-glass-border);border-radius:var(--top-radius-sm);background:var(--top-bg-card);color:var(--top-text-main);font-family:var(--top-font-jp);font-size:.85rem;font-weight:700}.cert-form-group textarea{min-height:94px;resize:vertical;line-height:1.6}.cert-form-group input:focus,.cert-form-group textarea:focus,.cert-form-group select:focus{outline:none;border-color:#10b981b8;box-shadow:0 0 0 3px #10b9811f}.cert-checkbox-row{display:inline-flex;align-items:center;gap:.5rem;color:var(--top-text-main);font-size:.82rem;font-weight:800}.cert-checkbox-row input{width:16px;height:16px}.cert-seal-upload{display:flex;flex-direction:column;gap:.45rem;padding:.65rem;border:1px dashed rgba(16,185,129,.35);border-radius:var(--top-radius-md);background:#ecfdf561;color:var(--top-primary);font-size:.78rem;font-weight:900;cursor:pointer}.cert-preview-panel{min-width:0}.cert-preview-scroll{display:flex;justify-content:center;min-height:560px;overflow:auto;padding:1rem;border-radius:var(--top-radius-md);background:linear-gradient(45deg,rgba(15,23,42,.035) 25%,transparent 25%),linear-gradient(-45deg,rgba(15,23,42,.035) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(15,23,42,.035) 75%),linear-gradient(-45deg,transparent 75%,rgba(15,23,42,.035) 75%);background-size:22px 22px;background-position:0 0,0 11px,11px -11px,-11px 0}.cert-frame{position:relative;box-sizing:border-box;flex:0 0 auto;max-width:100%;overflow:hidden;background:#fffdf2;color:#111827;font-family:HG正楷書体-PRO,HG正楷書体,HGP正楷書体,Klee One,Yu Mincho,YuMincho,Hiragino Mincho ProN,MS PMincho,Shippori Mincho B1,serif;font-weight:600;box-shadow:0 18px 48px #0f172a24;container-type:inline-size;-webkit-print-color-adjust:exact;print-color-adjust:exact}.cert-frame.landscape{width:780px;aspect-ratio:1.414 / 1}.cert-frame.portrait{width:520px;aspect-ratio:1 / 1.414}.cert-frame.paper-b5.landscape{width:700px}.cert-frame.paper-b5.portrait{width:470px}.cert-frame.full-design{background-color:#fff8dc;background-image:linear-gradient(#fffdf233,#fffae526),url(/cert-bg.png);background-position:center;background-repeat:no-repeat;background-size:100% 100%}.cert-frame.portrait.full-design{background-image:radial-gradient(ellipse at center,#fffdf2b8,#fcebbb73),url(/cert-bg_vertical.png)}.cert-frame.preprinted{background:#fff;border:1px solid rgba(148,163,184,.55)}.cert-paper-guide{position:absolute;inset:18mm;z-index:1;display:flex;align-items:flex-start;justify-content:flex-start;border:1px dashed rgba(148,163,184,.65);border-radius:2px;color:#64748bbf;font-family:var(--top-font-jp, "Noto Sans JP", sans-serif);font-size:12px;font-weight:800;padding:8px;pointer-events:none}.cert-content{position:absolute;z-index:2;transform:translate(var(--cert-offset-x),var(--cert-offset-y)) scale(var(--cert-scale));transform-origin:center}.cert-text-title,.cert-text-award,.cert-text-event,.cert-text-recipient,.cert-text-affiliation,.cert-text-date,.cert-text-organizer,.cert-text-representative,.cert-seal{transform:translate(var(--cert-field-offset-x, 0mm),var(--cert-field-offset-y, 0mm)) scale(var(--cert-field-scale, 1));transform-origin:center}.cert-text-body{transform:translate(var(--cert-field-offset-x, 0mm),var(--cert-field-offset-y, 0mm));transform-origin:center}.cert-content.vertical{inset:16% 9% 10%}.cert-content.horizontal{inset:17% 12% 12%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.cert-content.vertical .cert-text-title,.cert-content.vertical .cert-text-award,.cert-content.vertical .cert-text-event,.cert-content.vertical .cert-text-recipient,.cert-content.vertical .cert-text-affiliation,.cert-content.vertical .cert-text-body,.cert-content.vertical .cert-text-date,.cert-content.vertical .cert-text-organizer,.cert-content.vertical .cert-text-representative{position:absolute;writing-mode:vertical-rl;text-orientation:upright}.cert-content.vertical .cert-text-title{right:4%;top:5%;bottom:5%;display:flex;align-items:center;justify-content:center;font-size:5.5cqw;font-weight:700;letter-spacing:.45em}.cert-content.vertical .cert-text-award{right:14.5%;top:14%;font-size:4.45cqw;font-weight:700;letter-spacing:.2em}.cert-content.vertical .cert-text-event{right:21.5%;top:19%;font-size:3.35cqw;font-weight:700;letter-spacing:.1em}.cert-content.vertical .cert-text-recipient{right:27%;top:9%;display:flex;flex-direction:column;align-items:flex-start;gap:.75cqw;font-size:4.35cqw;font-weight:700;letter-spacing:.08em}.cert-text-recipient .recipient-person{display:inline-flex;align-items:flex-start;transform:translate(var(--cert-recipient-offset-x, 0mm),var(--cert-recipient-offset-y, 0mm)) scale(var(--cert-recipient-scale, 1));transform-origin:center;white-space:nowrap}.cert-text-recipient .recipient-honorific{transform:translate(var(--cert-field-offset-x, 0mm),var(--cert-field-offset-y, 0mm)) scale(var(--cert-field-scale, 1));transform-origin:center}.cert-content.vertical .cert-text-recipient .recipient-person{flex-direction:row;align-items:center}.cert-content.vertical .cert-text-recipient .recipient-name{white-space:pre-wrap}.cert-content.vertical.recipient-pair .cert-text-recipient{font-size:3.8cqw}.cert-content.vertical.recipient-many .cert-text-recipient{right:26%;font-size:3.15cqw;letter-spacing:.02em}.cert-content.vertical .cert-text-recipient .recipient-honorific{align-self:center;margin-top:.7em;margin-right:0;font-size:1em;font-weight:600}.cert-content.vertical .cert-text-affiliation{right:36%;top:14%;font-size:3.15cqw;font-weight:600;letter-spacing:.05em;color:#334155}.cert-content.vertical.recipient-many .cert-text-affiliation{right:35%}.cert-content.vertical .cert-text-body{inset:6% 42% 8% 17%;font-size:3.15cqw;font-weight:700;line-height:1.4;letter-spacing:.08em;white-space:pre-wrap;overflow:hidden}.cert-content.vertical .cert-text-date{left:20%;top:48%;font-size:2.55cqw;font-weight:600}.cert-content.vertical .cert-text-organizer{left:15%;top:48%;bottom:7%;font-size:2.85cqw;font-weight:600;white-space:nowrap}.cert-content.vertical .cert-text-representative{left:4%;top:48%;font-size:2.95cqw;font-weight:700;white-space:nowrap}.cert-content.horizontal .cert-text-title{margin-bottom:4.2cqw;font-size:5.2cqw;font-weight:700;letter-spacing:.75em;margin-right:-.75em}.cert-content.horizontal .cert-text-award{margin-bottom:.7cqw;font-size:3.3cqw;font-weight:700;letter-spacing:.16em}.cert-content.horizontal .cert-text-event{margin-bottom:2.8cqw;font-size:2.35cqw;font-weight:700}.cert-content.horizontal .cert-text-recipient{display:flex;flex-direction:column;align-items:center;gap:.35cqw;margin-bottom:.9cqw;font-size:4.1cqw;font-weight:700;letter-spacing:.06em;white-space:pre-wrap}.cert-content.horizontal .cert-text-recipient .recipient-person{align-items:baseline;justify-content:center}.cert-content.horizontal.recipient-pair .cert-text-recipient{font-size:3.55cqw}.cert-content.horizontal.recipient-many .cert-text-recipient{font-size:3.05cqw;line-height:1.45}.cert-content.horizontal .cert-text-recipient .recipient-honorific{margin-left:.5em;font-size:.7em;font-weight:600}.cert-content.horizontal .cert-text-affiliation{margin-bottom:2.6cqw;color:#334155;font-size:2.05cqw;font-weight:600}.cert-content.horizontal .cert-text-body{max-width:76%;margin:0 auto 4.5cqw;text-align:left;font-size:2.35cqw;font-weight:700;line-height:1.8;white-space:pre-wrap}.cert-content.horizontal .cert-text-date{margin-bottom:1.8cqw;font-size:2.1cqw;font-weight:600}.cert-content.horizontal .cert-text-organizer,.cert-content.horizontal .cert-text-representative{position:relative;display:flex;flex-direction:column;align-items:center;gap:.8cqw;font-size:2.3cqw;font-weight:600}.cert-content.horizontal .cert-text-representative{font-size:2.55cqw;font-weight:700}.cert-seal{position:absolute;left:3.8cqw;top:auto;bottom:4.2cqw;z-index:10;display:flex;align-items:center;justify-content:center;width:5.5cqw;height:5.5cqw;padding:.45cqw;border:.28cqw solid #c62828;border-radius:2px;box-sizing:border-box;color:#c62828;font-family:MS PMincho,Yu Mincho,serif;font-size:1.55cqw;font-weight:900;letter-spacing:.08em;line-height:1.05;writing-mode:vertical-rl;opacity:.82;mix-blend-mode:multiply}.cert-seal.image-seal{padding:0;border:0;background:transparent;opacity:1;writing-mode:horizontal-tb}.cert-seal.image-seal img{display:block;width:100%;height:100%;object-fit:contain}.cert-content.horizontal .cert-seal{left:calc(100% + 1cqw);top:1.2cqw;bottom:auto}.cert-frame.portrait .cert-content.horizontal .cert-seal{left:auto;right:4cqw;top:auto;bottom:5cqw}.cert-frame.portrait .cert-content.vertical .cert-text-title{font-size:4.5cqw;right:2%}.cert-frame.portrait .cert-content.vertical .cert-text-award{font-size:3.05cqw;right:11%}.cert-frame.portrait .cert-content.vertical .cert-text-event{font-size:2.2cqw;right:17%}.cert-frame.portrait .cert-content.vertical .cert-text-recipient{font-size:3.65cqw;right:23%}.cert-frame.portrait .cert-content.vertical .cert-text-affiliation{right:31%}.cert-frame.portrait .cert-content.vertical .cert-text-body{font-size:2.25cqw;right:40%}.cert-frame.portrait .cert-content.horizontal .cert-text-title{font-size:4.3cqw}.cert-frame.portrait .cert-content.horizontal .cert-text-recipient{font-size:3.5cqw}@media(min-width:1181px){.cert-preview-panel{position:sticky;top:1rem;display:flex;flex-direction:column;max-height:calc(100dvh - 2rem);align-self:start}.cert-preview-scroll{flex:1 1 auto;min-height:0;max-height:calc(100dvh - 6.5rem)}}@media(max-width:1180px){.cert-workspace{grid-template-columns:1fr}.cert-preview-panel{order:-1;position:static;max-height:none}}@media(max-width:720px){.cert-page-header{align-items:stretch}.cert-mode-panel{grid-template-columns:1fr}.cert-controls,.cert-preview-panel{padding:.9rem}.cert-form-row,.cert-adjust-grid{grid-template-columns:1fr}.cert-preview-toolbar{align-items:flex-start;flex-direction:column}.cert-preview-scroll{justify-content:flex-start;min-height:auto;padding:.75rem}.cert-frame.landscape{width:700px}}@media print{body:has(.certificates-page){background:#fff!important;color:#111827!important}body:has(.certificates-page) .sidebar,body:has(.certificates-page) .mobile-menu-toggle,body:has(.certificates-page) .cert-page-header,body:has(.certificates-page) .cert-controls,body:has(.certificates-page) .no-print{display:none!important}body:has(.certificates-page)>*:not(#root):not(script):not(style){display:none!important}body:has(.certificates-page) .app-layout{display:block!important;min-height:0!important;height:auto!important}body:has(.certificates-page) .main-content{margin:0!important;padding:0!important;overflow:visible!important;background:#fff!important;min-height:0!important;height:auto!important;display:block!important}body:has(.certificates-page) .certificates-page,body:has(.certificates-page) .top-page-body,body:has(.certificates-page) .cert-page-body,body:has(.certificates-page) .cert-workspace,body:has(.certificates-page) .cert-preview-panel,body:has(.certificates-page) .cert-preview-scroll{padding:0!important;margin:0!important;min-height:0!important;height:auto!important;display:block!important;background:none!important;border:0!important;box-shadow:none!important;overflow:visible!important}body:has(.certificates-page),html:has(.certificates-page){min-height:0!important;height:auto!important}body:has(.certificates-page) .cert-frame{page:certificate-page;margin:0 auto!important;max-width:none!important;box-shadow:none!important;border-radius:0!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}body:has(.certificates-page) .cert-frame.paper-a4.landscape{width:297mm!important;height:210mm!important;aspect-ratio:auto!important}body:has(.certificates-page) .cert-frame.paper-a4.portrait{width:210mm!important;height:297mm!important;aspect-ratio:auto!important}body:has(.certificates-page) .cert-frame.paper-b5.landscape{width:257mm!important;height:182mm!important;aspect-ratio:auto!important}body:has(.certificates-page) .cert-frame.paper-b5.portrait{width:182mm!important;height:257mm!important;aspect-ratio:auto!important}}
