@import url(https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap);@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;200;300;400;500;600;700;900&family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap);@import url(https://fonts.googleapis.com/css2?family=Klee+One:wght@400;600&display=swap);body{background-color:#fff;font-family:Roboto,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root,.App,html{background-color:#fff}body{background-color:#000;color:#fff}.scp-container{background:linear-gradient(135deg,#000,#1a1a1a 50%,#000);min-height:100vh;overflow:hidden;position:relative;width:100%}.feather-canvas{height:100%;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:1}.content-wrapper{display:flex;flex-direction:column;min-height:100vh;z-index:2}.logo-section{display:none;padding:40px 20px 20px;text-align:center}.logo-container{animation:fadeInDown 1s ease-out;display:inline-block}.main-logo{color:#fff;font-family:Noto Sans JP,Helvetica Neue,Arial,sans-serif;font-size:clamp(24px,5vw,48px);font-weight:500;letter-spacing:.1em;margin-bottom:10px}.logo-subtitle{color:#ccc;font-family:Noto Sans JP,sans-serif;font-size:clamp(11px,1.5vw,13px);font-weight:300;letter-spacing:.4em}.main-content{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;min-height:100vh;padding:60px 20px 40px;text-align:center}.coming-soon-section{animation:fadeIn 1.5s ease-out .5s both;max-width:800px;width:100%}.group-name{margin-bottom:60px}.group-pre{color:#ccc;display:block;font-family:Noto Sans JP,sans-serif;font-size:clamp(10px,1.5vw,12px);font-weight:300;letter-spacing:.5em;margin-bottom:20px}.group-title{color:#fff;display:inline-block;font-family:Noto Sans JP,Helvetica Neue,Arial,sans-serif;font-size:clamp(32px,6vw,56px);font-weight:600;letter-spacing:.15em;margin-bottom:30px;position:relative}.group-title-logo{align-items:center;display:flex;justify-content:center;margin-bottom:0}.group-logo{filter:brightness(2) contrast(3);height:auto;max-width:clamp(300px,80vw,600px);object-fit:contain;width:100%}.group-divider{background:linear-gradient(90deg,#0000,#fff,#0000);height:2px;margin:0 auto;width:60px}.coming-soon-text{border-bottom:1px solid #ffffff1a;border-top:1px solid #ffffff1a;margin:60px 0;padding:40px 0}.soon-label{color:#fff;font-size:clamp(18px,3vw,28px);font-weight:300;margin-bottom:15px}.soon-date,.soon-label{font-family:Noto Sans JP,sans-serif;letter-spacing:.4em}.soon-date{color:#ccc;font-size:clamp(14px,2vw,18px);font-weight:400}.description{margin-top:60px}.description p{color:#ddd;font-family:Noto Sans JP,sans-serif;font-size:clamp(13px,2vw,15px);font-weight:300;letter-spacing:.1em;line-height:2;margin-bottom:10px}.social-section{animation:fadeIn 2s ease-out 1s both;margin-top:60px}.social-links{gap:30px}.social-link,.social-links{align-items:center;display:flex;justify-content:center}.social-link{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #fff3;border-radius:50%;color:#fff;height:40px;text-decoration:none;transition:all .3s ease;width:40px}.social-link svg{height:20px;width:20px}.social-link:hover{background:#ffffff1a;border-color:#fff9;box-shadow:0 5px 20px #ffffff4d;transform:translateY(-3px)}.footer{animation:fadeIn 2s ease-out 1.5s both;border-top:1px solid #ffffff1a}.footer-nav{margin-bottom:30px}.footer-nav a{color:#fff!important;font-size:12px;letter-spacing:.25em}.footer-nav a:hover{color:#fff;opacity:.7}.copyright{color:#e5e5e5!important;font-size:11px;letter-spacing:.12em}.coming-soon-bubble{animation:bubbleFadeIn .3s ease-out forwards;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:linear-gradient(135deg,#fffffff2,#ffffffd9);border:1px solid #ffffff4d;border-radius:25px;box-shadow:0 8px 32px #fff3,0 2px 8px #0000001a,inset 0 1px 0 #ffffff80;color:#000;font-family:Noto Sans JP,sans-serif;font-size:13px;font-weight:500;letter-spacing:.15em;padding:12px 24px;pointer-events:none;position:fixed;transform:translate(-50%,-50%);white-space:nowrap;z-index:9999}.coming-soon-bubble[data-type=click]{animation:bubbleClickAnimation 2s cubic-bezier(.68,-.55,.265,1.55) forwards}@keyframes bubbleFadeIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}to{opacity:1;transform:translate(-50%,-55%) scale(1)}}@keyframes bubbleClickAnimation{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}5%{opacity:1;transform:translate(-50%,-60%) scale(1.05)}10%{transform:translate(-50%,-58%) scale(1)}90%{opacity:1;transform:translate(-50%,-58%) scale(1)}to{opacity:0;transform:translate(-50%,-70%) scale(.8)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@media screen and (max-width:768px){.logo-section{padding:30px 15px 15px}.main-content{padding:30px 15px}.group-name{margin-bottom:40px}.group-logo{max-width:clamp(250px,80vw,450px)}.coming-soon-text{margin:40px 0;padding:30px 0}.description,.social-section{margin-top:40px}.social-links{gap:20px}.social-link{height:36px;width:36px}.social-link svg{height:18px;width:18px}.footer{padding:30px 15px}.footer-nav{flex-direction:column;gap:20px}.footer-nav a{color:#fff!important;font-size:11px}.copyright{color:#e5e5e5!important;font-size:10px}}@media screen and (max-width:480px){.main-logo{letter-spacing:.1em}.logo-subtitle{letter-spacing:.2em}.group-pre{letter-spacing:.3em}.group-title{letter-spacing:.05em}.group-logo{max-width:clamp(200px,90vw,350px)}.soon-label{letter-spacing:.2em}.soon-date{letter-spacing:.3em}.description p{letter-spacing:.05em;line-height:1.8}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.group-title,.main-logo{font-weight:800}}@media (prefers-color-scheme:dark){.scp-container{background:linear-gradient(135deg,#2a2a2a,#8a8a8ab9 50%,#000000dd)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.feather-canvas{display:none}}@media print{.feather-canvas{display:none}.scp-container{background:#fff;color:#000}.description p,.group-title,.main-logo,.soon-label{color:#000;text-shadow:none}.footer-nav a{color:#000}}body,html{height:100%;overflow-x:hidden;width:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"palt" 1;background-color:#f5f5f5;color:#333;font-family:Noto Sans JP,Hiragino Kaku Gothic ProN,Hiragino Sans,Yu Gothic Medium,Yu Gothic,YuGothic,メイリオ,Meiryo,sans-serif;letter-spacing:.05em;line-height:1.8}.song-ref-container{background:linear-gradient(135deg,#fff,#f8f8f8 50%,#fff);min-height:100vh;position:relative;width:100%}.content-wrapper{margin:0 auto;max-width:1200px;padding:40px 20px;position:relative}.page-header{border-bottom:2px solid #e0e0e0;margin-bottom:40px;padding:60px 20px 40px;text-align:center}.header-container{margin:0 auto;max-width:800px}.main-title{color:#1a1a1a;font-size:clamp(28px,5vw,42px);font-weight:600;letter-spacing:.1em;margin-bottom:15px}.main-title,.subtitle{font-family:Noto Sans JP,sans-serif}.subtitle{color:#666;font-size:clamp(14px,2vw,18px);letter-spacing:.15em;margin-bottom:10px}.date{color:#999;font-size:clamp(12px,1.5vw,14px);font-weight:300;margin-top:20px}.language-toggle{display:flex;gap:15px;justify-content:center;margin-bottom:40px}.lang-btn{background:#fff;border:2px solid #ccc;border-radius:4px;color:#666;cursor:pointer;font-family:Noto Sans JP,sans-serif;font-size:14px;font-weight:500;letter-spacing:.1em;padding:12px 30px;transition:all .3s ease}.lang-btn:hover{background:#f5f5f5;border-color:#999}.lang-btn.active{background:#333;border-color:#333;color:#fff}.ranking-section{background:#fff;border-left:4px solid #333;border-radius:8px;box-shadow:0 2px 8px #0000000d;margin-bottom:40px;padding:30px}.section-heading{color:#1a1a1a;font-size:clamp(18px,3vw,24px);letter-spacing:.1em;margin-bottom:15px}.ranking-text,.section-heading{font-family:Noto Sans JP,sans-serif}.ranking-text{color:#555;font-size:clamp(13px,2vw,15px);letter-spacing:.05em;line-height:1.8}.main-content{margin-bottom:60px}.categories-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin-bottom:40px}.category-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000000d;overflow:hidden;padding:20px;transition:all .3s ease}.category-card.collapsed{cursor:pointer}.category-card.collapsed:hover{border-color:#ccc;box-shadow:0 4px 8px #00000014;transform:translateY(-2px)}.category-card.expanded{box-shadow:0 4px 12px #0000001a}.category-header{align-items:center;cursor:pointer;display:flex;gap:15px;padding:5px 0;position:relative;-webkit-user-select:none;user-select:none}.category-header:hover .category-title{color:#06c}.category-header:focus{border-radius:4px;outline:2px solid #06c;outline-offset:2px}.category-number{color:#999;font-size:24px;font-weight:300;min-width:40px}.category-number,.category-title{font-family:Noto Sans JP,sans-serif}.category-title{color:#1a1a1a;flex:1 1;font-size:clamp(16px,2.5vw,18px);font-weight:600;letter-spacing:.08em}.category-rating{color:#ff9800;font-size:14px;white-space:nowrap}.category-meta{align-items:center;display:flex;gap:10px;margin-left:auto}.song-count{background:#f0f0f0;border-radius:12px;color:#666;font-size:12px;font-weight:500;padding:4px 10px}.expand-icon{color:#666;flex-shrink:0;height:20px;transition:transform .3s ease;width:20px}.category-card.expanded .expand-icon{transform:rotate(180deg)}.category-content{animation:slideDown .3s ease-out;border-top:1px solid #f0f0f0;margin-top:15px;padding-top:20px}.category-description{color:#555;font-family:Noto Sans JP,sans-serif;font-size:clamp(13px,1.8vw,14px);letter-spacing:.05em;line-height:1.9;margin-bottom:15px}.category-links{border-top:1px solid #f0f0f0;display:flex;flex-direction:column;gap:10px;margin-top:15px;padding-top:15px}.video-link{align-items:center;background:#f8f9fa;border-radius:4px;color:#06c;display:flex;font-size:13px;font-weight:400;gap:8px;letter-spacing:.03em;padding:8px 12px;position:relative;text-decoration:none;transition:all .2s ease}.video-link:hover{background:#e9ecef;color:#0052a3}.video-link svg{flex-shrink:0}.video-title{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loading-indicator{animation:blink 1.5s ease-in-out infinite;color:#999;font-size:11px;margin-left:4px}@keyframes blink{0%,to{opacity:.3}50%{opacity:1}}.footer{border-top:2px solid #e0e0e0;margin-top:60px;padding:40px 20px}.footer-content{margin:0 auto;max-width:1200px;text-align:center}.footer-nav{display:flex;flex-wrap:wrap;gap:30px;justify-content:center;margin-bottom:20px}.footer-nav a{color:#666;font-family:Noto Sans JP,sans-serif;font-size:13px;font-weight:400;letter-spacing:.15em;text-decoration:none;transition:color .3s ease}.footer-nav a:hover{color:#333}.copyright{color:#999;font-family:Noto Sans JP,sans-serif;font-size:12px;font-weight:300;letter-spacing:.1em}@media screen and (max-width:768px){.home-button{font-size:13px;left:10px;padding:10px 16px;top:10px}.home-button svg{height:16px;width:16px}.content-wrapper{padding:60px 15px 20px}.page-header{margin-bottom:30px;padding:20px 15px 30px}.language-toggle{gap:10px;margin-bottom:30px}.lang-btn{font-size:13px;padding:10px 20px}.ranking-section{margin-bottom:30px;padding:20px}.categories-grid{gap:20px;grid-template-columns:1fr}.category-card{padding:15px}.category-header{gap:10px}.category-number{font-size:20px;min-width:35px}.category-title{font-size:16px}.category-meta{gap:8px}.song-count{font-size:11px;padding:3px 8px}.expand-icon{height:18px;width:18px}.category-content{margin-top:10px;padding-top:15px}.footer{margin-top:40px;padding:30px 15px}.footer-nav{flex-direction:column;gap:20px}}@media screen and (max-width:480px){.home-button{padding:8px 12px}.home-button span{display:none}.main-title{letter-spacing:.08em}.subtitle{letter-spacing:.1em}.section-heading{letter-spacing:.08em}.category-title{letter-spacing:.05em}.video-link{font-size:12px;padding:6px 10px}}@media print{.home-button{display:none}.song-ref-container{background:#fff}.language-toggle{display:none}.category-card{border:1px solid #ccc;box-shadow:none;break-inside:avoid;page-break-inside:avoid}.video-link{color:#06c;text-decoration:underline}}@media (prefers-contrast:high){.category-card,.lang-btn{border-width:2px}}.footer-nav a:focus,.lang-btn:focus,.video-link:focus{outline:2px solid #06c;outline-offset:2px}::selection{background:#333;color:#fff}::-moz-selection{background:#333;color:#fff}.costume-design-container{align-items:center;background:#f5f5f5;display:flex;justify-content:center;min-height:100vh;overflow:auto;padding:20px;position:relative;width:100%}.home-button{align-items:center;background:#fffffff2;border:2px solid #333;border-radius:8px;box-shadow:0 2px 8px #0000001a;color:#333;cursor:pointer;display:flex;font-family:Noto Sans JP,sans-serif;font-size:14px;font-weight:600;gap:8px;left:20px;letter-spacing:.05em;padding:12px 20px;position:fixed;top:20px;transition:all .3s ease;z-index:1000}.home-button:hover{background:#333;box-shadow:0 4px 12px #0003;color:#fff;transform:translateY(-2px)}.home-button:active{transform:translateY(0)}.home-button svg{flex-shrink:0;height:18px;width:18px}.home-button:focus{outline:2px solid #06c;outline-offset:2px}.image-wrapper{align-items:center;display:flex;justify-content:center;max-width:1400px;width:100%}.costume-image{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;display:block;height:auto;width:100%}@media screen and (max-width:768px){.costume-design-container{padding:60px 10px 10px}.home-button{font-size:13px;left:10px;padding:10px 16px;top:10px}.home-button svg{height:16px;width:16px}.home-button span{display:none}}@media screen and (max-width:480px){.home-button{padding:8px 12px}}@media print{.home-button{display:none}.costume-design-container{background:#fff;padding:0}.costume-image{border-radius:0;box-shadow:none}}.translation-content{max-width:1600px}@media (max-width:1024px){.translation-content{flex-direction:column}.translation-panel{min-width:100%}}@media (max-width:768px){.translation-header h1{font-size:2rem}.subtitle{font-size:1.2rem}.panel-header h2{font-size:1.4rem}.mic-button,.text-content{font-size:1rem}.mic-button{padding:15px 30px}.instructions p{font-size:.9rem}.language-selection{flex-direction:column;gap:15px}.language-selector{justify-content:space-between;width:100%}.language-dropdown{flex:1 1;min-width:200px}.translation-mode-toggle{font-size:.8rem;padding:10px 16px;right:10px;top:10px}.toggle-icon{font-size:1rem}}.realtime-translation-container{background:linear-gradient(135deg,#1a1a1a,#2d2d2d);box-sizing:border-box;min-height:100vh;overflow-x:hidden;padding:20px;position:relative;width:100%}.translation-mode-toggle{align-items:center;background:#fffffff2;border:2px solid #333;border-radius:50px;box-shadow:0 4px 12px #0000004d;color:#333;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:8px;padding:12px 20px;position:fixed;right:20px;top:20px;transition:all .3s ease;z-index:1000}.translation-mode-toggle:hover{background:#fff;box-shadow:0 6px 16px #0006;transform:translateY(-2px)}.translation-mode-toggle:active{transform:translateY(0)}.toggle-icon{font-size:1.2rem;line-height:1}.toggle-text{white-space:nowrap}.translation-header{color:#fff;margin-bottom:30px;padding:20px;text-align:center}.translation-header h1{font-size:2.5rem;margin-bottom:10px;text-shadow:2px 2px 4px #0000004d}.subtitle{font-size:1.5rem;font-weight:300;opacity:.9}.language-selection{align-items:center;background:#ffffff1a;border-radius:10px;display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin-bottom:30px;margin-left:auto;margin-right:auto;max-width:800px;padding:20px}.language-selector{align-items:center;display:flex;gap:10px}.language-selector label{color:#fff;font-size:1rem;font-weight:500;white-space:nowrap}.language-dropdown{-webkit-appearance:none;appearance:none;background:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%23333' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;border:2px solid #e0e0e0;border-radius:6px;color:#333;cursor:pointer;font-size:1rem;font-weight:500;min-width:180px;padding:10px 40px 10px 15px;transition:all .2s ease}.language-dropdown:hover:not(:disabled){border-color:#333;box-shadow:0 2px 8px #0000001a}.language-dropdown:focus{border-color:#333;box-shadow:0 0 0 3px #3333331a;outline:none}.language-dropdown:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.6}.language-dropdown option{font-size:1rem;padding:10px}.translation-content{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin:0 auto;max-width:1200px}.translation-panel{background:#fff;border:2px solid #e0e0e0;box-shadow:0 4px 12px #00000026;display:flex;flex:1 1;flex-direction:column;max-width:800px;min-width:400px;padding:30px;transition:all .2s ease}.translation-panel.unified-panel{max-width:800px;width:100%}.translation-panel:hover{border-color:#333;box-shadow:0 6px 16px #00000040}.panel-header{border-bottom:2px solid #333;margin-bottom:20px;padding-bottom:15px;position:relative;text-align:center}.panel-header h2{color:#1a1a1a;font-size:1.8rem;font-weight:600;letter-spacing:.05em;margin:0 0 10px}.header-controls{align-items:center;display:flex;gap:15px;justify-content:center;margin-top:10px}.expand-button{background:#0000;border:2px solid #666;color:#333;cursor:pointer;font-size:.9rem;font-weight:500;letter-spacing:.05em;padding:6px 15px;position:absolute;right:0;top:0;transition:all .2s ease}.expand-button:hover{background:#f5f5f5;border-color:#333;color:#1a1a1a}.status-indicator{align-items:center;display:flex;gap:10px;justify-content:center;margin-top:10px}.status-dot{background:#666;display:inline-block;height:10px;transition:all .3s ease;width:10px}.status-dot.active{animation:statusPulse 2s infinite;background:#333;box-shadow:0 0 8px #00000080}@keyframes statusPulse{0%,to{box-shadow:0 0 8px #00000080}50%{box-shadow:0 0 12px #000000b3}}.status-text{color:#666;font-size:.9rem;font-weight:500}.language-badge{background:#e8f4f8;border-radius:4px;color:#333;font-size:.85rem;font-weight:600;margin-left:8px;padding:2px 8px}.text-display{display:flex;flex:1 1;flex-direction:column;gap:20px;margin-bottom:30px;min-height:400px}.original-text,.translated-text{background:#fafafa;border:1px solid #e0e0e0;flex:1 1;max-height:300px;overflow-y:auto;padding:20px}.original-text h3,.translated-text h3{border-bottom:2px solid #e0e0e0;color:#333;font-size:1.2rem;margin:0 0 15px;padding-bottom:10px}.text-content{word-wrap:break-word;color:#333;font-size:1.1rem;line-height:1.8;white-space:pre-wrap}.text-content p{margin:10px 0;padding:5px 0}.text-content .placeholder{color:#999;font-style:italic}.final-text{color:#333}.non-final-text{background:#f0f0f0;color:#666;font-style:normal;opacity:.6;padding:0 2px}.control-section{border-top:2px solid #e0e0e0;gap:15px;justify-content:center;padding-top:20px}.control-section,.mic-button{align-items:center;display:flex}.mic-button{background:#666;border:2px solid #666;box-shadow:0 2px 8px #0003;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;gap:12px;letter-spacing:.05em;overflow:hidden;padding:15px 35px;position:relative;transition:all .2s ease}.mic-button:before{background:#ffffff4d;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.mic-button:hover:before{height:0;width:0}.mic-button:hover{background:#555;border-color:#555;box-shadow:0 4px 12px #0000004d}.mic-button.active{animation:pulse 2s infinite;background:#333;border-color:#333;box-shadow:0 2px 8px #0000004d}.mic-button.active:hover{background:#222;border-color:#222;box-shadow:0 4px 12px #0006}.mic-icon{font-size:1.5rem;z-index:1}.button-text{z-index:1}.mic-button:active{transform:scale(.98)}.instructions{background:#0000004d;border:1px solid #ffffff1a;color:#e0e0e0;margin-left:auto;margin-right:auto;margin-top:30px;max-width:800px;padding:20px;text-align:center}.instructions p{font-size:1.1rem;margin:10px 0;text-shadow:1px 1px 2px #0003}@media (max-width:1024px){.translation-content{flex-direction:column}.translation-panel{min-width:100%}.language-selection{flex-direction:column;gap:15px}.language-selector{justify-content:space-between;width:100%}.language-dropdown{flex:1 1;min-width:200px}}@media (max-width:768px){.translation-header h1{font-size:2rem}.subtitle{font-size:1.2rem}.panel-header h2{font-size:1.4rem}.mic-button,.text-content{font-size:1rem}.mic-button{padding:15px 30px}.instructions p{font-size:.9rem}.language-selection{padding:15px}.language-selector{align-items:flex-start;flex-direction:column;width:100%}.language-selector label{font-size:.9rem}.language-dropdown{min-width:100%;width:100%}.translation-mode-toggle{font-size:.8rem;padding:10px 16px;right:10px;top:10px}.toggle-icon{font-size:1rem}}.original-text::-webkit-scrollbar,.translated-text::-webkit-scrollbar{width:6px}.original-text::-webkit-scrollbar-track,.translated-text::-webkit-scrollbar-track{background:#f0f0f0}.original-text::-webkit-scrollbar-thumb,.translated-text::-webkit-scrollbar-thumb{background:#999}.original-text::-webkit-scrollbar-thumb:hover,.translated-text::-webkit-scrollbar-thumb:hover{background:#666}.mic-button.active .mic-icon{animation:bounce 1s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.clear-button{background:#0000;border:2px solid #999;color:#666;cursor:pointer;font-size:.95rem;font-weight:500;letter-spacing:.05em;padding:12px 25px;transition:all .2s ease}.clear-button:hover:not(:disabled){background:#f5f5f5;border-color:#666;color:#333}.clear-button:active:not(:disabled){transform:scale(.98)}.clear-button:disabled{cursor:not-allowed;opacity:.5}.expanded-modal-overlay{align-items:center;animation:fadeIn .3s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#000000b3;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.expanded-modal{animation:slideUp .3s ease;background:#fff;border:2px solid #333;box-shadow:0 8px 32px #0006;display:flex;flex-direction:column;height:80%;overflow:hidden;position:relative;width:80%}.close-expanded-button{align-items:center;background:#333;border:2px solid #333;color:#fff;cursor:pointer;display:flex;font-size:28px;font-weight:300;height:40px;justify-content:center;line-height:1;position:absolute;right:15px;top:15px;transition:all .2s ease;width:40px;z-index:1001}.close-expanded-button:hover{background:#1a1a1a;border-color:#1a1a1a;transform:scale(1.1)}.expanded-content{box-sizing:border-box;display:flex;flex-direction:column;height:100%;padding:60px 40px 40px}.expanded-original{border-bottom:2px solid #e0e0e0;height:20%;margin-bottom:20px;overflow-y:auto;padding-bottom:20px}.expanded-translated{height:80%;overflow-y:auto}.expanded-original h3,.expanded-translated h3{color:#1a1a1a;font-size:1.8rem;font-weight:600;letter-spacing:.05em;margin:0 0 20px}.expanded-text-content{word-wrap:break-word;color:#333;font-size:2rem;line-height:1.8;white-space:pre-wrap}.expanded-text-content .final-text{color:#1a1a1a;font-size:2rem}.expanded-text-content .non-final-text{background:#f0f0f0;color:#666;font-size:2rem;font-style:normal;opacity:.6;padding:0 4px}.expanded-text-content .placeholder{color:#999;font-size:1.5rem;font-style:italic}.expanded-text-content p{font-size:2rem;margin:15px 0;padding:5px 0}.expanded-original::-webkit-scrollbar,.expanded-translated::-webkit-scrollbar{width:8px}.expanded-original::-webkit-scrollbar-track,.expanded-translated::-webkit-scrollbar-track{background:#f0f0f0}.expanded-original::-webkit-scrollbar-thumb,.expanded-translated::-webkit-scrollbar-thumb{background:#999}.expanded-original::-webkit-scrollbar-thumb:hover,.expanded-translated::-webkit-scrollbar-thumb:hover{background:#666}@media (max-width:1024px){.expanded-modal{height:90%;width:90%}.expanded-text-content,.expanded-text-content .final-text,.expanded-text-content .non-final-text,.expanded-text-content p{font-size:1.5rem}}@media (max-width:768px){.expanded-modal{height:95%;width:95%}.expanded-content{padding:50px 20px 20px}.expanded-text-content,.expanded-text-content .final-text,.expanded-text-content .non-final-text,.expanded-text-content p{font-size:1.2rem}.expanded-original h3,.expanded-translated h3{font-size:1.4rem}}.xdf-class-arranger.apple-style{--apple-blue:#007aff;--apple-red:#ff3b30;--apple-orange:#ff9500;--apple-yellow:#fc0;--apple-green:#34c759;--apple-teal:#5ac8fa;--apple-indigo:#5856d6;--apple-purple:#af52de;--bg-primary:#fff;--bg-secondary:#f5f5f7;--bg-tertiary:#fafafa;--text-primary:#1d1d1f;--text-secondary:#86868b;--border-color:#d2d2d7;--shadow-light:0 1px 3px #0000000a;--shadow-medium:0 4px 16px #00000014;--shadow-large:0 8px 32px #0000001f;--transition-fast:0.15s ease-out;--transition-medium:0.25s ease-out;--transition-slow:0.35s ease-out;--spring:cubic-bezier(0.175,0.885,0.32,1.275);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-secondary);box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Inter,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;margin:0;min-height:100vh;overflow:hidden;padding:0}.xdf-class-arranger.apple-style *,.xdf-class-arranger.apple-style :after,.xdf-class-arranger.apple-style :before{box-sizing:border-box}.xdf-class-arranger.apple-style .apple-calendar-container{background:var(--bg-secondary);display:flex;height:100vh}.xdf-class-arranger.apple-style .calendar-sidebar{background:var(--bg-primary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;flex-shrink:0;gap:20px;padding:20px 16px;width:240px}.xdf-class-arranger.apple-style .sidebar-header h2{color:var(--text-primary);font-size:26px;font-weight:600;letter-spacing:-.5px;margin:0}.xdf-class-arranger.apple-style .calendar-list{display:flex;flex-direction:column;gap:8px}.xdf-class-arranger.apple-style .calendar-item{align-items:center;border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;gap:10px;padding:8px 12px;transition:background var(--transition-fast)}.xdf-class-arranger.apple-style .calendar-item:hover{background:#f3f4f6}.xdf-class-arranger.apple-style .calendar-item.active{background:#f3f4f6;font-weight:500}.xdf-class-arranger.apple-style .color-dot{border-radius:50%;flex-shrink:0;height:10px;width:10px}.xdf-class-arranger.apple-style .calendar-main{background:var(--bg-primary);flex:1 1;overflow:auto;padding:20px 32px}.xdf-class-arranger.apple-style .fc{font-family:inherit;font-size:14px}.xdf-class-arranger.apple-style .fc .fc-toolbar{gap:16px;padding:12px 0 24px}.xdf-class-arranger.apple-style .fc .fc-toolbar-title{color:var(--text-primary);font-size:22px;font-weight:600;letter-spacing:-.4px}.xdf-class-arranger.apple-style .fc .fc-button{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;box-shadow:var(--shadow-light);color:var(--text-primary);font-size:13px;font-weight:500;padding:6px 14px;text-transform:none;transition:all var(--transition-fast)}.xdf-class-arranger.apple-style .fc .fc-button:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db;box-shadow:var(--shadow-medium);transform:translateY(-1px)}.xdf-class-arranger.apple-style .fc .fc-button:active:not(:disabled){box-shadow:var(--shadow-light);transform:translateY(0)}.xdf-class-arranger.apple-style .fc .fc-button:disabled{cursor:not-allowed;opacity:.4}.xdf-class-arranger.apple-style .fc .fc-button-primary:not(:disabled).fc-button-active,.xdf-class-arranger.apple-style .fc .fc-button-primary:not(:disabled):active{background:var(--apple-blue);border-color:var(--apple-blue);box-shadow:0 2px 8px #007aff4d;color:#fff}.xdf-class-arranger.apple-style .fc .fc-button-group{border:1px solid var(--border-color);border-radius:6px;box-shadow:var(--shadow-light);overflow:hidden}.xdf-class-arranger.apple-style .fc .fc-button-group .fc-button{border:none;border-radius:0;border-right:1px solid var(--border-color);box-shadow:none}.xdf-class-arranger.apple-style .fc .fc-button-group .fc-button:last-child{border-right:none}.xdf-class-arranger.apple-style .fc-theme-standard .fc-scrollgrid{border-color:var(--border-color);border-width:1px}.xdf-class-arranger.apple-style .fc-theme-standard td,.xdf-class-arranger.apple-style .fc-theme-standard th{border-color:var(--border-color)}.xdf-class-arranger.apple-style .fc .fc-col-header-cell{background:var(--bg-tertiary);border-bottom:2px solid var(--border-color);color:var(--text-secondary);font-size:11px;font-weight:600;letter-spacing:.5px;padding:12px 8px;text-transform:uppercase}.xdf-class-arranger.apple-style .fc .fc-daygrid-day-number{color:var(--text-primary);font-size:13px;font-weight:500;padding:8px;transition:all var(--transition-fast)}.xdf-class-arranger.apple-style .fc .fc-daygrid-day-top{justify-content:center}.xdf-class-arranger.apple-style .fc .fc-day-today{background:#007aff08!important}.xdf-class-arranger.apple-style .fc .fc-day-today .fc-daygrid-day-number{align-items:center;background:var(--apple-blue);border-radius:50%;color:#fff;display:flex;font-weight:600;height:28px;justify-content:center;width:28px}.xdf-class-arranger.apple-style .fc .fc-day-other .fc-daygrid-day-number{color:#9ca3af}.xdf-class-arranger.apple-style .fc .fc-daygrid-day:hover{background:#f9fafb;cursor:pointer}.xdf-class-arranger.apple-style .fc-event{border:none!important;border-radius:5px;box-shadow:0 1px 3px #0000001a;cursor:pointer;font-size:12px;font-weight:500;overflow:hidden;padding:4px 8px;transition:all var(--transition-medium) var(--spring)}.xdf-class-arranger.apple-style .fc-event:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px) scale(1.02);z-index:10}.xdf-class-arranger.apple-style .fc-event:active{transform:translateY(0) scale(.98);transition:all .1s ease-out}.xdf-class-arranger.apple-style .fc-event.fc-event-dragging{box-shadow:0 8px 24px #00000040;opacity:.8;transform:scale(1.05);z-index:999}.xdf-class-arranger.apple-style .fc-event.fc-event-resizing{opacity:.9}.xdf-class-arranger.apple-style .fc-daygrid-event{margin:2px 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xdf-class-arranger.apple-style .fc-timegrid-event{border-left:3px solid!important;border-radius:6px;padding:6px 8px}.xdf-class-arranger.apple-style .fc-timegrid-event:hover{transform:translateX(2px)}.xdf-class-arranger.apple-style .apple-event-content{display:flex;flex-direction:column;gap:2px;pointer-events:none}.xdf-class-arranger.apple-style .event-time{font-size:11px;font-weight:600;opacity:.9}.xdf-class-arranger.apple-style .event-title{font-size:13px;font-weight:500;line-height:1.3;overflow:hidden;text-overflow:ellipsis}.xdf-class-arranger.apple-style .event-location{font-size:11px;opacity:.8;overflow:hidden;text-overflow:ellipsis}.xdf-class-arranger.apple-style .fc-timegrid-slot{border-color:#e5e7eb;height:48px}.xdf-class-arranger.apple-style .fc-timegrid-slot-label{color:var(--text-secondary);font-size:11px;font-weight:500;padding:0 8px}.xdf-class-arranger.apple-style .fc .fc-timegrid-now-indicator-line{border-color:var(--apple-red);border-width:2px}.xdf-class-arranger.apple-style .fc .fc-timegrid-now-indicator-arrow{border-color:var(--apple-red);border-width:6px}.xdf-class-arranger.apple-style .modal-backdrop{animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0000004d;bottom:0;left:0;position:fixed;right:0;top:0;z-index:9998}.xdf-class-arranger.apple-style .apple-event-modal{animation:modalSlideIn .3s var(--spring);background:var(--bg-primary);border-radius:16px;box-shadow:0 20px 60px #00000040;max-width:420px;min-width:320px;overflow:hidden;position:fixed;transform:translate(-50%,-50%);z-index:9999}.xdf-class-arranger.apple-style .modal-header{border-bottom:1px solid var(--border-color);padding:24px 24px 16px;position:relative}.xdf-class-arranger.apple-style .modal-color-bar{height:4px;left:0;position:absolute;right:0;top:0}.xdf-class-arranger.apple-style .modal-header h3{color:var(--text-primary);font-size:18px;font-weight:600;letter-spacing:-.3px;margin:0;padding-right:32px}.xdf-class-arranger.apple-style .modal-close{align-items:center;background:#f3f4f6;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;height:28px;justify-content:center;position:absolute;right:20px;top:20px;transition:all var(--transition-fast);width:28px}.xdf-class-arranger.apple-style .modal-close:hover{background:#e5e7eb;color:var(--text-primary);transform:scale(1.1)}.xdf-class-arranger.apple-style .modal-close:active{transform:scale(.95)}.xdf-class-arranger.apple-style .modal-body{display:flex;flex-direction:column;gap:16px;padding:20px 24px}.xdf-class-arranger.apple-style .modal-row{align-items:flex-start;display:flex;gap:12px}.xdf-class-arranger.apple-style .modal-icon{align-items:center;display:flex;flex-shrink:0;font-size:18px;height:24px;justify-content:center;width:24px}.xdf-class-arranger.apple-style .modal-info{display:flex;flex:1 1;flex-direction:column;gap:4px}.xdf-class-arranger.apple-style .modal-label{color:var(--text-secondary);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.xdf-class-arranger.apple-style .modal-value{color:var(--text-primary);font-size:14px;font-weight:500}.xdf-class-arranger.apple-style .modal-footer{background:var(--bg-tertiary);border-top:1px solid var(--border-color);display:flex;gap:12px;padding:16px 24px}.xdf-class-arranger.apple-style .modal-button{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:10px 20px;transition:all var(--transition-fast)}.xdf-class-arranger.apple-style .modal-button-danger{background:var(--apple-red);color:#fff}.xdf-class-arranger.apple-style .modal-button-danger:hover{background:#ff2d20;box-shadow:0 4px 12px #ff3b304d;transform:translateY(-1px)}.xdf-class-arranger.apple-style .modal-button-danger:active{transform:translateY(0)}.xdf-class-arranger.apple-style .fc-highlight{background:#007aff1a;border-radius:4px}.xdf-class-arranger.apple-style .calendar-main::-webkit-scrollbar{height:10px;width:10px}.xdf-class-arranger.apple-style .calendar-main::-webkit-scrollbar-track{background:var(--bg-secondary)}.xdf-class-arranger.apple-style .calendar-main::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:5px;-webkit-transition:background var(--transition-fast);transition:background var(--transition-fast)}.xdf-class-arranger.apple-style .calendar-main::-webkit-scrollbar-thumb:hover{background:#9ca3af}.xdf-class-arranger.apple-style .fc-list{border-color:var(--border-color)}.xdf-class-arranger.apple-style .fc-list-event:hover{background:#f9fafb!important}.xdf-class-arranger.apple-style .fc-list-event-time{color:var(--apple-blue);font-weight:600}.xdf-class-arranger.apple-style .fc-list-day-cushion{background:var(--bg-tertiary);color:var(--text-primary);font-weight:600}@media (max-width:1024px){.xdf-class-arranger.apple-style .calendar-sidebar{width:200px}.xdf-class-arranger.apple-style .calendar-main{padding:16px 20px}}@media (max-width:768px){.xdf-class-arranger.apple-style .apple-calendar-container{flex-direction:column}.xdf-class-arranger.apple-style .calendar-sidebar{border-bottom:1px solid var(--border-color);border-right:none;padding:16px;width:100%}.xdf-class-arranger.apple-style .sidebar-header h2{font-size:22px}.xdf-class-arranger.apple-style .calendar-main{padding:12px 16px}.xdf-class-arranger.apple-style .fc .fc-toolbar{flex-direction:column;gap:12px}.xdf-class-arranger.apple-style .fc .fc-toolbar-chunk{display:flex;justify-content:center;width:100%}.xdf-class-arranger.apple-style .fc .fc-toolbar-title{font-size:18px}.xdf-class-arranger.apple-style .apple-event-modal{max-width:90vw;min-width:280px}}.xdf-erp-layout{background:#fafafa;display:flex;font-family:Noto Sans,Noto Sans JP,Noto Sans SC,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;height:100vh;overflow:hidden}.mobile-header{align-items:center;background:#fff;border-bottom:1px solid #e8e8e8;box-shadow:0 1px 2px #00000008;display:none;height:60px;left:0;padding:0 16px;position:fixed;right:0;top:0;z-index:100}.mobile-menu-toggle{align-items:center;background:#0000;border:none;border-radius:6px;color:#5a6c7d;cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .2s;width:40px}.mobile-menu-toggle:hover{background:#f5f5f0}.mobile-title{color:#2d3748;flex:1 1;font-size:18px;font-weight:500;text-align:center}.mobile-avatar{height:40px;width:40px}.avatar-circle{align-items:center;background:#5a6c7d;border-radius:50%;color:#fff;display:flex;font-size:12px;font-weight:500;height:100%;justify-content:center;width:100%}.erp-sidebar{background:#fff;border-right:1px solid #e8e8e8;display:flex;flex-direction:column;flex-shrink:0;height:100vh;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:260px;z-index:50}.erp-sidebar.collapsed{width:80px}.sidebar-header{border-bottom:1px solid #e8e8e8;height:70px;justify-content:space-between;padding:0 20px}.logo-area,.sidebar-header{align-items:center;display:flex}.logo-area{gap:12px}.logo-icon{flex-shrink:0}.logo-text{color:#3a4750;font-size:18px;letter-spacing:.02em;white-space:nowrap}.sidebar-toggle{align-items:center;background:#f5f5f0;border:none;border-radius:6px;color:#5a6c7d;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s;width:32px}.sidebar-toggle:hover{background:#e8e8e8;color:#3a4750}.erp-sidebar.collapsed .sidebar-toggle svg{transform:rotate(180deg)}.sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:4px;overflow-y:auto;padding:20px 12px}.nav-item{align-items:center;background:#0000;border:none;border-radius:6px;color:#718096;cursor:pointer;display:flex;font-size:14px;font-weight:400;gap:12px;padding:12px 16px;position:relative;text-align:left;transition:all .2s;width:100%}.nav-item:hover{background:#f5f5f0;color:#4a5568}.nav-item.active{background:#3a4750;color:#fff;font-weight:500}.nav-icon{align-items:center;display:flex;flex-shrink:0;height:20px;justify-content:center;width:20px}.nav-text{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.active-indicator{background:#5a6c7d;border-radius:2px 0 0 2px;height:20px;position:absolute;right:0;top:50%;transform:translateY(-50%);width:3px}.erp-sidebar.collapsed .nav-item{justify-content:center;padding:12px}.erp-sidebar.collapsed .active-indicator,.erp-sidebar.collapsed .nav-text{display:none}.sidebar-footer{border-top:1px solid #e8e8e8;display:flex;flex-direction:column;gap:12px;padding:16px}.test-data-toggle{align-items:center;background:#fff;border:1px solid #e8e8e8;border-radius:6px;color:#718096;cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:10px;padding:10px 12px;text-align:left;transition:all .2s;width:100%}.test-data-toggle:hover{background:#f5f5f0;border-color:#5a6c7d}.test-data-toggle.active{background:#e8f0e9;border-color:#6b7c6e;color:#6b7c6e}.test-data-toggle .toggle-icon{align-items:center;display:flex;flex-shrink:0;justify-content:center}.test-data-toggle .toggle-text{flex:1 1;white-space:nowrap}.erp-sidebar.collapsed .test-data-toggle{justify-content:center;padding:10px}.erp-sidebar.collapsed .test-data-toggle .toggle-text{display:none}.user-info{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:12px;padding:8px;transition:all .2s}.user-info:hover{background:#f5f5f0}.user-avatar{flex-shrink:0;height:40px;width:40px}.user-details{flex:1 1;min-width:0}.user-name{font-size:13px}.user-name,.user-role{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-role{font-size:11px}.erp-sidebar.collapsed .user-info{justify-content:center}.erp-sidebar.collapsed .user-details{display:none}.erp-main-content{background:#fafafa;display:flex;flex:1 1;flex-direction:column;height:100vh;min-width:0;overflow:hidden;transition:margin-left .3s cubic-bezier(.4,0,.2,1)}.erp-main-content::-webkit-scrollbar,.sidebar-nav::-webkit-scrollbar{height:6px;width:6px}.erp-main-content::-webkit-scrollbar-track,.sidebar-nav::-webkit-scrollbar-track{background:#0000}.erp-main-content::-webkit-scrollbar-thumb,.sidebar-nav::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.erp-main-content::-webkit-scrollbar-thumb:hover,.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media (max-width:1024px){.erp-sidebar{width:240px}.erp-sidebar.collapsed{width:70px}}@media (max-width:768px){.mobile-header{display:flex}.erp-sidebar{box-shadow:2px 0 8px #0000001a;height:calc(100vh - 60px);left:-100%;position:fixed;top:60px;transition:left .3s cubic-bezier(.4,0,.2,1);width:280px;z-index:101}.erp-sidebar.mobile-open{left:0}.erp-sidebar.collapsed{width:280px}.desktop-only{display:none!important}.erp-main-content{height:calc(100vh - 60px);margin-top:60px;width:100%}.mobile-overlay{animation:fadeIn .2s;background:#00000080;bottom:0;left:0;position:fixed;right:0;top:60px;z-index:100}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}}@media (max-width:480px){.mobile-title{font-size:16px}.erp-sidebar{width:100%}}.dashboard-container{box-sizing:border-box;font-family:Noto Sans,Noto Sans JP,Noto Sans SC,sans-serif;height:100%;margin:0 auto;max-width:1400px;overflow-y:auto;padding:32px}.page-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:32px}.page-title{color:#2d3748;font-size:28px;font-weight:500;letter-spacing:.01em;margin:0 0 8px}.page-subtitle{color:#718096;font-size:14px;font-weight:400;margin:0}.header-right{display:flex;gap:12px}.refresh-btn{align-items:center;background:#fff;border:1px solid #e8e8e8;border-radius:6px;color:#5a6c7d;cursor:pointer;display:flex;font-size:13px;font-weight:400;gap:8px;padding:10px 20px;transition:all .2s}.refresh-btn:hover{background:#f5f5f0;border-color:#d8d8d8}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-bottom:32px}.stat-card{align-items:flex-start;background:#fff;border:1px solid #e8e8e8;border-radius:8px;display:flex;gap:16px;padding:24px;transition:all .2s}.stat-card:hover{box-shadow:0 2px 8px #0000000a;transform:translateY(-1px)}.stat-icon{align-items:center;border-radius:8px;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.stat-content{flex:1 1;min-width:0}.stat-label{font-size:12px;font-weight:400;margin-bottom:4px}.stat-value{font-size:26px;line-height:1.2;margin-bottom:4px}.stat-change{align-items:center;display:flex;font-size:12px;font-weight:400;gap:4px}.stat-change.up{color:#6b7c6e}.stat-change.down{color:#9e7676}.change-icon{font-size:14px}.dashboard-content{grid-gap:24px;display:grid;gap:24px;grid-template-columns:2fr 1fr}.content-section{background:#fff;border:1px solid #e8e8e8;border-radius:8px;padding:24px}.section-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.section-title{font-size:16px;margin:0}.view-all-btn{background:none;border:none;color:#5a6c7d;cursor:pointer;font-size:13px;font-weight:400;transition:all .2s}.view-all-btn:hover{color:#3a4750}.classes-list{display:flex;flex-direction:column;gap:12px}.class-item{background:#fafafa;border-radius:6px;display:flex;gap:16px;padding:16px;transition:all .2s}.class-item:hover{background:#f5f5f0}.class-time{flex-shrink:0}.time-badge{background:#5a6c7d;border-radius:6px;color:#fff;font-size:12px;font-weight:500;padding:8px 12px;white-space:nowrap}.class-info{align-items:center;display:flex;gap:16px;justify-content:space-between}.class-info,.class-main{flex:1 1;min-width:0}.class-title{color:#2d3748;font-size:14px;font-weight:500;margin:0 0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.class-meta{display:flex;flex-wrap:wrap;gap:16px}.meta-item{align-items:center;color:#718096;display:flex;font-size:12px;gap:6px}.meta-item svg{opacity:.7}.class-status{border-radius:4px;flex-shrink:0;font-size:11px;font-weight:500;padding:6px 12px;white-space:nowrap}.status-ongoing{background:#e8f0e9;color:#6b7c6e}.status-scheduled{background:#e8edf2;color:#5a6c7d}.status-completed{background:#f0f0f0;color:#718096}.actions-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}.action-card{align-items:center;background:#fafafa;border:1px solid #f0f0f0;border-radius:6px;cursor:pointer;display:flex;flex-direction:column;gap:12px;padding:24px;transition:all .2s}.action-card:hover{background:#fff;border-color:#e8e8e8;box-shadow:0 2px 6px #0000000a;transform:translateY(-1px)}.action-icon{align-items:center;border-radius:8px;display:flex;height:48px;justify-content:center;width:48px}.action-text{color:#4a5568;font-size:13px;font-weight:500}@media (max-width:1200px){.dashboard-content{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.dashboard-container{padding:20px}.page-header{flex-direction:column;gap:16px}.page-title{font-size:24px}.stats-grid{grid-template-columns:1fr}.class-info,.class-item{align-items:flex-start;flex-direction:column}.class-info{width:100%}.actions-grid{grid-template-columns:1fr}}@media (max-width:480px){.dashboard-container{padding:16px}.page-title{font-size:20px}.stat-card{padding:16px}.stat-value{font-size:24px}}.function-page{box-sizing:border-box;display:flex;flex-direction:column;font-family:Noto Sans,Noto Sans JP,Noto Sans SC,sans-serif;height:100%;margin:0 auto;max-width:1600px;overflow:hidden;padding:32px}.function-header{align-items:flex-start;display:flex;gap:20px;justify-content:space-between;margin-bottom:24px}.header-left{flex:1 1}.function-title{color:#2d3748;font-size:28px;font-weight:500;letter-spacing:.01em;margin:0 0 8px}.function-subtitle{color:#718096;font-size:14px;font-weight:400;margin:0}.header-actions{display:flex;flex-shrink:0;gap:12px}.ai-schedule-btn,.clear-all-btn,.tutorial-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;padding:10px 20px;transition:all .2s}.tutorial-btn{background:#fff;border:2px solid #5a6c7d;color:#5a6c7d}.tutorial-btn:hover{background:#5a6c7d;color:#fff;transform:translateY(-1px)}.tutorial-btn.active{background:#5a6c7d}.ai-schedule-btn,.tutorial-btn.active{box-shadow:0 2px 6px #5a6c7d4d;color:#fff}.ai-schedule-btn{background:linear-gradient(135deg,#5a6c7d,#6b7c6e)}.ai-schedule-btn:hover:not(:disabled){box-shadow:0 4px 10px #5a6c7d66;transform:translateY(-1px)}.ai-schedule-btn:disabled{cursor:not-allowed;opacity:.6}.clear-all-btn{background:#fff;border:1px solid #e8e8e8;color:#718096}.clear-all-btn:hover{background:#f5f5f0;border-color:#d8d8d8}.spinner{animation:spin .6s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:14px;width:14px}@keyframes spin{to{transform:rotate(1turn)}}.tutorial-panel{background:#fff;border:2px solid #5a6c7d;border-radius:8px;box-shadow:0 4px 12px #5a6c7d26;margin-bottom:24px;overflow:hidden}.tutorial-header{align-items:center;background:linear-gradient(135deg,#5a6c7d,#6b7c6e);color:#fff;display:flex;justify-content:space-between;padding:20px 24px}.tutorial-header h3{font-size:18px;font-weight:500;margin:0}.tutorial-badge{background:#fff3;border-radius:12px;font-size:11px;font-weight:500;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.tutorial-content{padding:24px}.tutorial-intro{background:#f5f5f0;border-left:3px solid #5a6c7d;border-radius:6px;margin-bottom:24px;padding:16px}.tutorial-intro p{color:#4a5568;font-size:14px;line-height:1.6;margin:0}.tutorial-steps{display:flex;flex-direction:column;gap:20px;margin-bottom:24px}.tutorial-step{background:#fafafa;border:1px solid #e8e8e8;border-radius:8px;display:flex;gap:16px;padding:20px;transition:all .2s}.tutorial-step:hover{background:#f5f5f0;border-color:#5a6c7d;box-shadow:0 2px 8px #5a6c7d1a}.step-number{align-items:center;background:linear-gradient(135deg,#5a6c7d,#6b7c6e);border-radius:50%;box-shadow:0 2px 6px #5a6c7d4d;display:flex;flex-shrink:0;font-size:16px;height:36px;justify-content:center;width:36px}.step-content{flex:1 1}.step-content h4{color:#2d3748;font-size:15px;font-weight:600;margin:0 0 8px}.step-content p{color:#718096;font-size:13px;line-height:1.6;margin:0 0 12px}.step-example{background:#fff;border-left:2px solid #5a6c7d;border-radius:4px;color:#5a6c7d;font-family:Monaco,Consolas,monospace;font-size:12px;padding:8px 12px}.tutorial-footer{background:#edf1f5;border-radius:6px;padding:16px}.tutorial-tip{color:#4a5568;font-size:13px;line-height:1.6}.tutorial-tip strong{color:#2d3748}.ai-panel{background:#fff;border:1px solid #e8e8e8;border-radius:8px;box-shadow:0 2px 8px #0000000a;margin-bottom:24px;overflow:hidden}.ai-panel-header{align-items:center;background:linear-gradient(135deg,#5a6c7d,#6b7c6e);color:#fff;display:flex;justify-content:space-between;padding:16px 24px}.ai-panel-header h3{font-size:16px;font-weight:500;margin:0}.panel-close{align-items:center;background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:24px;height:28px;justify-content:center;padding:0;transition:all .2s;width:28px}.panel-close:hover{background:#fff3}.ai-panel-body{padding:24px}.generation-progress{padding:20px;text-align:center}.progress-label{color:#5a6c7d;font-size:14px;font-weight:500;margin-bottom:12px}.progress-bar{background:#f5f5f0;border-radius:4px;height:8px;margin-bottom:8px;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,#5a6c7d,#6b7c6e);border-radius:4px;height:100%;transition:width .3s ease}.progress-text{color:#718096;font-size:12px}.generation-result{animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.result-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.result-badge{align-items:center;border-radius:4px;display:inline-flex;font-size:12px;font-weight:500;padding:6px 12px}.result-badge.success{background:#e8f0e9;color:#6b7c6e}.result-badge svg{opacity:.9}.result-fitness{color:#5a6c7d;font-size:14px;font-weight:500}.result-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr);margin-bottom:20px}.stat-item{display:flex;flex-direction:column;gap:4px}.stat-label{color:#718096;font-size:11px;font-weight:500;text-transform:uppercase}.stat-value{color:#2d3748;font-size:20px;font-weight:500}.conflicts-section h4{color:#2d3748;font-size:14px;font-weight:500;margin:0 0 12px}.conflicts-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}.conflict-item{align-items:center;background:#fafafa;border-radius:6px;display:flex;gap:8px;padding:12px}.conflict-item.success{background:#e8f0e9}.conflict-item.warning{background:#fff4e6}.conflict-item.info{background:#edf1f5}.conflict-icon{align-items:center;display:flex;flex-shrink:0;height:28px;justify-content:center;width:28px}.conflict-icon svg{display:block;opacity:.8}.conflict-label{color:#4a5568;flex:1 1;font-size:12px;font-weight:500}.conflict-count{color:#2d3748;font-size:16px;font-weight:600}.ai-intro{padding:20px 0}.ai-intro p{color:#2d3748;font-size:14px;font-weight:500;margin:0 0 16px}.ai-intro ul{list-style:none;margin:0;padding:0}.ai-intro li{align-items:center;color:#718096;display:flex;font-size:13px;padding:8px 0}.ai-intro li svg{color:#6b7c6e;flex-shrink:0;opacity:.9}.main-content-area{display:flex;flex:1 1;gap:20px;min-height:0;overflow:hidden}.student-panel{background:#fff;border:1px solid #e8e8e8;border-radius:8px;display:flex;flex-direction:column;min-width:280px;overflow:hidden;width:280px}.student-panel-header{background:#fafafa;border-bottom:1px solid #e8e8e8;display:flex;flex-wrap:wrap;gap:8px;padding:12px}.panel-action-btn{align-items:center;background:#fff;border:1px solid #e8e8e8;border-radius:6px;color:#4a5568;cursor:pointer;display:flex;flex-basis:calc(50% - 4px);flex-grow:1;flex-shrink:1;font-family:Noto Sans,Noto Sans JP,Noto Sans SC,sans-serif;font-size:12px;font-weight:500;gap:5px;justify-content:center;padding:8px 10px;transition:all .2s;white-space:nowrap}.panel-action-btn:hover{background:#f5f5f0;border-color:#5a6c7d;color:#2d3748}.panel-action-btn.add-btn{background:#fff!important;border-color:#e8e8e8!important;color:#5a6c7d!important;font-size:12px!important;padding:8px 10px!important}.panel-action-btn.add-btn:hover{background:#f5f5f0!important;border-color:#6b7c6e!important;color:#6b7c6e!important}.panel-action-btn.batch-btn{background:#fff!important;border-color:#e8e8e8!important;color:#5a6c7d!important;font-size:12px!important;padding:8px 10px!important}.panel-action-btn.batch-btn:hover{background:#f5f5f0!important;border-color:#5a6c7d!important;color:#5a6c7d!important}.panel-action-btn.availability-btn,.panel-action-btn.filter-btn{flex:1 1 100%}.panel-action-btn svg{color:inherit;flex-shrink:0}.panel-action-btn.add-btn svg,.panel-action-btn.batch-btn svg{color:#5a6c7d}.panel-action-btn.add-btn:hover svg{color:#6b7c6e}.panel-action-btn.batch-btn:hover svg{color:#5a6c7d}.panel-action-btn.toggle-all-btn{background:#f5f5f0;border:1px solid #e8e8e8;color:#5a6c7d}.panel-action-btn.toggle-all-btn:hover:not(:disabled){background:#6b7c6e;border-color:#6b7c6e;color:#fff}.panel-action-btn.toggle-all-btn:disabled{cursor:not-allowed;opacity:.4}.panel-action-btn.toggle-all-btn svg{flex-shrink:0}.availability-legend{background:#fafafa;border:1px solid #e8e8e8;border-radius:6px;margin:0 12px;padding:12px}.legend-title{color:#5a6c7d;font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.legend-items{display:flex;flex-direction:column;gap:6px}.legend-item{align-items:center;color:#2d3748;display:flex;font-size:11px;gap:8px}.legend-color{border:1px solid #0000001a;border-radius:3px;flex-shrink:0;height:16px;width:24px}.student-list{flex:1 1;overflow-x:hidden;overflow-y:auto;padding:12px}.student-empty{align-items:center;color:#94a3b1;display:flex;flex-direction:column;justify-content:center;padding:40px 20px;text-align:center}.student-empty p{font-size:14px;margin:8px 0 0}.student-empty .hint{color:#b8c4ce;font-size:12px}.student-card{align-items:center;background:#fafafa;border:1px solid #e8e8e8;border-left:3px solid #5a6c7d;border-radius:6px;display:flex;gap:8px;margin-bottom:8px;padding:12px;position:relative;transition:all .2s}.student-card:hover{background:#f5f5f0;border-color:#d8d8d8}.student-visibility-toggle{align-items:center;background:#e8e8e8;border:none;border-radius:4px;color:#94a3b1;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;transition:all .2s;width:28px}.student-visibility-toggle:hover{background:#d8d8d8;color:#5a6c7d}.student-visibility-toggle.active{background:#6b7c6e;color:#fff}.student-visibility-toggle.active:hover{background:#5a6c7d}.student-visibility-toggle svg{flex-shrink:0}.student-card-content{align-items:center;display:flex;flex:1 1;gap:10px;min-width:0}.student-avatar{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:13px;font-weight:500;height:32px;justify-content:center;width:32px}.student-info{flex:1 1;min-width:0}.student-name{color:#2d3748;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-meta{color:#94a3b1;font-size:11px;margin-top:2px}.student-delete-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:#94a3b1;cursor:pointer;display:flex;height:24px;justify-content:center;opacity:0;transition:all .2s;width:24px}.student-card:hover .student-delete-btn{opacity:1}.student-delete-btn:hover{background:#fee2e2;color:#dc2626}.student-card-actions{align-items:center;display:flex;gap:4px;opacity:0;transition:opacity .2s}.student-card:hover .student-card-actions{opacity:1}.student-edit-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:#94a3b1;cursor:pointer;display:flex;height:24px;justify-content:center;transition:all .2s;width:24px}.student-edit-btn:hover{background:#e8f0e9;color:#6b7c6e}.student-card.has-data{background:#f8faf8;border-color:#d8e8d8}.student-card.has-data .student-meta{color:#6b7c6e}.modal-overlay{background:#0006;z-index:10000}.student-edit-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #00000026;display:flex;flex-direction:column;font-family:Noto Sans,Noto Sans JP,Noto Sans SC,sans-serif;height:85vh;left:50%;max-height:800px;max-width:90vw;overflow:hidden;position:fixed;top:50%;transform:translate(-50%,-50%);width:650px;z-index:10001}.student-edit-modal .modal-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;flex-shrink:0;justify-content:space-between;padding:20px 24px}.student-edit-modal .modal-header h3{color:#2d3748;font-size:16px;font-weight:500;margin:0}.student-edit-modal .modal-close{align-items:center;background:#0000;border:none;border-radius:6px;color:#94a3b1;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s;width:32px}.student-edit-modal .modal-close:hover{background:#f5f5f0;color:#5a6c7d}.student-edit-modal .modal-body{-webkit-overflow-scrolling:touch;flex:1 1 auto;min-height:0;overflow:auto;padding:24px}.edit-instruction{align-items:flex-start;background:#f8f9fa;border-radius:8px;color:#5a6c7d;display:flex;font-size:13px;gap:8px;line-height:1.5;margin-bottom:20px;padding:12px 16px}.edit-instruction strong{color:#2d3748;font-weight:500}.column-reference{margin-bottom:20px}.column-title{color:#718096;font-size:12px;font-weight:500;margin-bottom:10px}.column-list{display:flex;flex-wrap:wrap;gap:6px}.column-tag{background:#f0f0f0;border:1px solid #e8e8e8;border-radius:4px;color:#5a6c7d;font-size:11px;padding:4px 8px}.student-data-input{border:1px solid #e8e8e8;border-radius:8px;box-sizing:border-box;color:#2d3748;font-family:Noto Sans Mono,Menlo,monospace;font-size:12px;line-height:1.6;min-height:120px;padding:14px 16px;resize:vertical;transition:all .2s;width:100%}.student-data-input:focus{border-color:#5a6c7d;box-shadow:0 0 0 3px #5a6c7d1a;outline:none}.student-data-input::placeholder{color:#b8c4ce}.data-preview{background:#f8faf8;border:1px solid #d8e8d8;border-radius:8px;margin-bottom:8px;margin-top:16px}.preview-header{align-items:center;background:#f0f4f0;border-bottom:1px solid #d8e8d8;border-radius:8px 8px 0 0;display:flex;justify-content:space-between;padding:12px 16px}.preview-title{color:#6b7c6e;font-size:13px;font-weight:500}.preview-count{background:#fff;border:1px solid #e8e8e8;border-radius:12px;color:#94a3b1;font-size:12px;padding:4px 10px}.preview-table{padding:8px 0}.multi-student-badge{background:#6b7c6e;border-radius:12px;color:#fff;font-weight:500;padding:4px 10px}.student-preview-section{border-bottom:2px solid #e8e8e8;margin-bottom:8px}.student-preview-section:last-child{border-bottom:none;margin-bottom:0}.student-preview-header{align-items:center;background:linear-gradient(135deg,#5a6c7d,#6b7c6e);color:#fff;display:flex;gap:12px;padding:12px 16px}.student-number{background:#fff3;border-radius:4px;font-size:12px;font-weight:600;padding:4px 10px}.student-preview-name{font-size:14px;font-weight:500}.preview-row{border-bottom:1px solid #f0f0f0;display:flex;padding:8px 16px;transition:background .15s}.preview-row:last-child{border-bottom:none}.preview-row:hover{background:#fff}.preview-row.empty{opacity:.5}.preview-label{color:#5a6c7d;flex-shrink:0;font-size:12px;font-weight:500;padding-right:12px;width:110px}.preview-value{color:#2d3748;flex:1 1;font-size:13px;line-height:1.4;word-break:break-all}.preview-value .no-data{color:#b8c4ce;font-style:italic}.student-edit-modal .modal-footer{background:#fafafa;border-radius:0 0 12px 12px;border-top:1px solid #f0f0f0;display:flex;flex-shrink:0;gap:12px;justify-content:flex-end;padding:16px 24px}.modal-button{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:13px;font-weight:500;padding:10px 20px;transition:all .2s}.modal-button-secondary{background:#fff;border:1px solid #e8e8e8;color:#5a6c7d}.modal-button-secondary:hover{background:#f5f5f0;border-color:#d8d8d8}.modal-button-primary{background:#5a6c7d;color:#fff}.modal-button-primary:hover{background:#4a5c6d;box-shadow:0 2px 6px #5a6c7d4d;transform:translateY(-1px)}.calendar-wrapper{background:#fff;border:1px solid #e8e8e8;border-radius:8px;flex:1 1;min-width:0;overflow:auto;padding:24px}.function-page .fc{font-family:inherit;font-size:14px;height:100%}.function-page .fc .fc-toolbar{gap:16px;padding:0 0 20px}.function-page .fc .fc-toolbar-title{color:#2d3748;font-size:20px;font-weight:500}.function-page .fc .fc-button{background:#fff;border:1px solid #e8e8e8;border-radius:6px;color:#5a6c7d;font-size:13px;font-weight:400;padding:6px 14px;transition:all .2s}.function-page .fc .fc-button:hover:not(:disabled){background:#f5f5f0;border-color:#d8d8d8}.function-page .fc .fc-button-primary:not(:disabled).fc-button-active{background:#3a4750;border-color:#3a4750;color:#fff}.function-page .fc .fc-button-group{border:1px solid #e8e8e8;border-radius:6px;overflow:hidden}.function-page .fc .fc-button-group .fc-button{border:none;border-radius:0;border-right:1px solid #e8e8e8}.function-page .fc .fc-button-group .fc-button:last-child{border-right:none}.function-page .fc .fc-col-header-cell{background:#fafafa;border-bottom:1px solid #e8e8e8;color:#718096;font-size:11px;font-weight:500;padding:12px 8px;text-transform:uppercase}.function-page .fc .fc-daygrid-day-number{color:#2d3748;font-size:13px;font-weight:400;padding:8px}.function-page .fc .fc-day-today{background:#5a6c7d0d!important}.function-page .fc .fc-day-today .fc-daygrid-day-number{align-items:center;background:#5a6c7d;border-radius:50%;color:#fff;display:flex;height:28px;justify-content:center;width:28px}.function-page .fc-event{border:none!important;border-radius:4px;box-shadow:0 1px 2px #00000014;cursor:pointer;font-size:12px;font-weight:400;padding:4px 8px;transition:all .25s cubic-bezier(.4,0,.2,1)}.function-page .fc-event:hover{box-shadow:0 2px 6px #0000001f;transform:translateY(-1px);z-index:10}.function-page .fc-timegrid-event{border-left:3px solid!important;border-radius:6px}.function-page .apple-event-content{display:flex;flex-direction:column;gap:2px}.function-page .event-time{font-size:11px;font-weight:600;opacity:.9}.function-page .event-title{font-size:13px;font-weight:500;line-height:1.3}.function-page .event-location{font-size:11px;opacity:.8}.function-page .fc-timegrid-slot{border-color:#f5f5f0;height:48px}.function-page .fc-timegrid-slot[data-time$=":00:00"]{border-top:2px solid #5a6c7d!important}.function-page .fc-timegrid-slot-label{color:#718096;font-size:11px;font-weight:400}.function-page .fc-timegrid-slot-label-frame{font-weight:600}.function-page .fc .fc-timegrid-now-indicator-line{border-color:#9e7676;border-width:2px}.function-page .modal-backdrop{animation:fadeIn .2s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0000004d;bottom:0;left:0;position:fixed;right:0;top:0;z-index:9998}.function-page .apple-event-modal{animation:modalSlideIn .3s cubic-bezier(.175,.885,.32,1.275);background:#fff;border-radius:8px;box-shadow:0 10px 30px #00000026;max-width:420px;min-width:320px;overflow:hidden;position:fixed;transform:translate(-50%,-50%);z-index:9999}@keyframes modalSlideIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.function-page .modal-header{border-bottom:1px solid #e8e8e8;padding:24px 24px 16px;position:relative}.function-page .modal-color-bar{height:3px;left:0;position:absolute;right:0;top:0}.function-page .modal-header h3{color:#2d3748;font-size:17px;font-weight:500;margin:0;padding-right:32px}.function-page .modal-close{align-items:center;background:#f5f5f0;border:none;border-radius:50%;color:#718096;cursor:pointer;display:flex;height:28px;justify-content:center;position:absolute;right:20px;top:20px;transition:all .2s;width:28px}.function-page .modal-close:hover{background:#e8e8e8;color:#3a4750}.function-page .modal-body{display:flex;flex-direction:column;gap:16px;padding:20px 24px}.function-page .modal-row{align-items:flex-start;display:flex;gap:12px}.function-page .modal-icon{font-size:18px;text-align:center;width:24px}.function-page .modal-info{flex:1 1}.function-page .modal-label{color:#718096;font-size:11px;font-weight:500;margin-bottom:4px;text-transform:uppercase}.function-page .modal-value{color:#2d3748;font-size:14px;font-weight:400}.function-page .modal-footer{background:#fafafa;border-top:1px solid #e8e8e8;padding:16px 24px}.function-page .modal-button{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s;width:100%}.function-page .modal-button-danger{background:#9e7676;color:#fff}.function-page .modal-button-danger:hover{background:#8b6565}.function-page .fc-highlight{background:#5a6c7d14;border-radius:4px}@media (max-width:768px){.function-page{height:100%;padding:20px}.function-header{flex-direction:column;gap:16px}.header-actions{flex-wrap:wrap;width:100%}.clear-all-btn{flex:1 1;justify-content:center;min-width:0}.function-title{font-size:24px}.main-content-area{flex-direction:column;gap:16px}.student-panel{max-height:250px;min-width:0;min-width:auto;width:100%}.student-panel-header{padding:12px}.panel-action-btn{font-size:11px;padding:7px 10px}.student-list{padding:8px}.student-card{padding:10px}.student-avatar{font-size:12px;height:28px;width:28px}.tutorial-content{padding:16px}.tutorial-step{flex-direction:column;gap:12px;padding:16px}.step-number{height:32px;width:32px}.step-content h4,.step-number{font-size:14px}.step-content p{font-size:12px}.ai-panel-body{padding:16px}.conflicts-grid,.result-stats{grid-template-columns:1fr}.calendar-wrapper{padding:16px}.function-page .fc .fc-toolbar{flex-direction:column;gap:12px}.function-page .apple-event-modal{max-width:90vw;min-width:280px}}.availability-btn.active{background:#5a6c7d!important;border-color:#5a6c7d!important;color:#fff!important}.availability-btn.active:hover{background:#4a5c6d!important}.function-page .fc .fc-bg-event{border-radius:2px;opacity:1!important}.availability-legend{align-items:center;background:#f8f9fa;border-radius:8px;color:#5a6c7d;display:flex;font-size:12px;gap:16px;margin-bottom:16px;padding:12px 16px}.legend-title{color:#2d3748;font-weight:500}.legend-gradient{align-items:center;display:flex;gap:8px}.legend-bar{background:linear-gradient(90deg,#5a6c7d1a 0,#5a6c7d59 50%,#5a6c7d99);border:1px solid #e8e8e8;border-radius:3px;height:16px;width:100px}.legend-labels{color:#94a3b1;display:flex;font-size:10px;justify-content:space-between}.legend-count{background:#e8f0e9;border-radius:12px;color:#6b7c6e;font-weight:500;padding:4px 10px}.student-availability-indicator{align-items:center;display:flex;gap:4px;margin-top:4px}.availability-dot{background:#6b7c6e;border-radius:50%;height:8px;width:8px}.availability-text{color:#6b7c6e;font-size:10px}.availability-panel{animation:panelSlideIn .3s ease-out;background:#fff;border:1px solid #e8e8e8;border-radius:12px;box-shadow:0 12px 32px #00000026;display:flex;flex-direction:column;font-family:Noto Sans,Noto Sans JP,Noto Sans SC,sans-serif;max-height:600px;position:fixed;right:20px;top:50%;transform:translateY(-50%);width:340px;z-index:10002}@keyframes panelSlideIn{0%{opacity:0;transform:translateY(-50%) translateX(20px)}to{opacity:1;transform:translateY(-50%) translateX(0)}}.panel-header{background:#f8f9fa;border-bottom:1px solid #e8e8e8;border-radius:12px 12px 0 0;padding:16px}.panel-title-row{align-items:flex-start;display:flex;gap:0;margin-bottom:8px}.panel-title-content{display:flex;flex:1 1;flex-direction:column;gap:2px}.panel-date{color:#2d3748;font-size:14px;font-weight:600}.panel-time{color:#718096;font-size:12px;font-weight:500}.panel-close-btn{background:none;border:none;border-radius:4px;color:#718096;cursor:pointer;flex-shrink:0;margin-left:8px;padding:4px;transition:all .2s}.panel-close-btn:hover{background:#5a6c7d1a;color:#2d3748}.panel-count{background:#e8f0e9;border-radius:12px;color:#6b7c6e;display:inline-block;font-size:11px;margin-left:24px;padding:4px 10px}.panel-content{flex:1 1;overflow-y:auto;padding:12px}.panel-student{background:#fafafa;border-left:3px solid #5a6c7d;border-radius:8px;margin-bottom:10px;padding:12px}.panel-student:last-child{margin-bottom:0}.panel-student-header{align-items:center;display:flex;gap:8px;margin-bottom:8px}.panel-student-dot{border-radius:50%;flex-shrink:0;height:10px;width:10px}.panel-student-name{color:#2d3748;font-size:13px;font-weight:600}.panel-constraints{display:flex;flex-direction:column;gap:6px}.constraint-item{display:flex;font-size:11px;gap:8px;line-height:1.4}.constraint-label{color:#718096;flex-shrink:0;font-weight:500;width:75px}.constraint-value{color:#2d3748;flex:1 1;word-break:break-all}@media (max-width:768px){.availability-panel{left:10px;max-height:70vh;right:10px;width:auto}}.mypage-container{box-sizing:border-box;font-family:Noto Sans,Noto Sans JP,Noto Sans SC,sans-serif;height:100%;margin:0 auto;max-width:1200px;overflow-y:auto;padding:32px}.mypage-header{margin-bottom:32px}.mypage-title{color:#2d3748;font-size:28px;font-weight:500;letter-spacing:.01em;margin:0 0 8px}.mypage-subtitle{color:#718096;font-size:14px;font-weight:400;margin:0}.user-card{background:#fff;border:1px solid #e8e8e8;border-radius:8px;box-shadow:0 1px 2px #00000008;margin-bottom:24px;padding:32px}.user-card-header{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;gap:20px;margin-bottom:32px;padding-bottom:32px}.user-avatar-large{flex-shrink:0}.user-card-info{flex:1 1}.user-name{color:#2d3748;font-size:22px;font-weight:500;margin:0 0 6px}.user-role{color:#718096;font-size:14px;font-weight:400;margin:0}.edit-profile-btn{align-items:center;background:#5a6c7d;border:none;border-radius:6px;box-shadow:0 2px 6px #5a6c7d40;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;padding:10px 20px;transition:all .2s}.edit-profile-btn:hover{background:#4a5c6d;box-shadow:0 4px 10px #5a6c7d4d;transform:translateY(-1px)}.edit-profile-btn:active{transform:translateY(0)}.user-details-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.detail-item{background:#fafafa;border-radius:6px;display:flex;gap:16px;padding:16px;transition:all .2s}.detail-item:hover{background:#f5f5f0}.detail-icon{align-items:center;background:#fff;border-radius:8px;color:#5a6c7d;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.detail-content{flex:1 1;min-width:0}.detail-label{color:#718096;font-size:11px;font-weight:500;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.detail-value{color:#2d3748;font-size:14px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stats-section{margin-bottom:24px}.section-title{color:#2d3748;font-size:18px;font-weight:500;margin:0 0 20px}.stats-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.mini-stat-card{background:#fff;border:1px solid #e8e8e8;border-radius:8px;padding:24px;text-align:center;transition:all .2s}.mini-stat-card:hover{box-shadow:0 2px 8px #0000000a;transform:translateY(-1px)}.mini-stat-value{font-size:34px;font-weight:500;line-height:1;margin-bottom:8px}.mini-stat-label{color:#718096;font-size:13px;font-weight:400}.activity-section{background:#fff;border:1px solid #e8e8e8;border-radius:8px;padding:24px}.activities-list{display:flex;flex-direction:column;gap:12px;margin-top:20px}.activity-item{background:#fafafa;border-radius:6px;gap:16px;padding:16px;transition:all .2s}.activity-item:hover{background:#f5f5f0}.activity-icon{align-items:center;border-radius:8px;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.activity-content{flex:1 1;min-width:0}.activity-action{color:#2d3748;font-size:14px;font-weight:500;margin-bottom:4px}.activity-detail{color:#718096;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-time{color:#94a3b1;flex-shrink:0;font-size:12px;font-weight:400}@media (max-width:1024px){.user-details-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.mypage-container{padding:20px}.mypage-title{font-size:24px}.user-card{padding:24px}.user-card-header{flex-direction:column;text-align:center}.edit-profile-btn{justify-content:center;width:100%}.user-details-grid{grid-template-columns:1fr}.stats-cards{grid-template-columns:repeat(2,1fr)}.activity-item{align-items:flex-start;flex-direction:column}.activity-time{align-self:flex-end}}@media (max-width:480px){.mypage-container{padding:16px}.mypage-title{font-size:20px}.user-card{padding:20px}.stats-cards{grid-template-columns:1fr}.mini-stat-value{font-size:28px}}.empty-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.empty-state svg{color:#94a3b1;margin-bottom:20px}.empty-text{color:#4a5568;font-size:16px;font-weight:500;margin:0 0 8px}.empty-hint{color:#94a3b1;font-size:13px;margin:0}.xdf-dev-timeline{background-color:#fff;padding:20px}:root{--base-vw:1vw;--base-vh:1vh;--base-vmin:1vmin;--color-bg-primary:#e8f0f2;--color-bg-secondary:#f8fbfc;--color-bg-dark:#d1dfe3;--color-accent-blue:#7eb8d3;--color-accent-mint:#a8d5ba;--color-accent-lavender:#b8c5d6;--color-accent-grey:#9eadb5;--color-text-primary:#3e5c68;--color-text-secondary:#7a8e99;--color-text-light:#b0bec5;--color-border:#d4e2e8;--color-hover:#c8dce4;--color-success:#a8d5ba;--color-warning:#e8c4a8;--color-danger:#e8b4b8;--color-info:#b8d5e8;--cell-size-vw:0.8vw;--gap-size-vw:0.1vw;--frame-thickness-vw:6vw;--button-padding-v:1.2vh;--button-padding-h:2.5vw;--button-font-size:1.8vmin;--button-border-radius:0.6vmin;--spacing-small:1vmin;--spacing-medium:1.5vmin;--spacing-large:2vmin;--shadow-subtle:0 0.1vmin 0.3vmin #3e5c6814;--shadow-light:0 0.2vmin 0.6vmin #3e5c681f;--shadow-medium:0 0.3vmin 0.9vmin #3e5c6826}@media (max-width:768px){:root{--cell-size-vw:1.2vw;--gap-size-vw:0.15vw;--frame-thickness-vw:8vw;--button-font-size:2.5vmin}}@media (max-width:430px){:root{--cell-size-vw:1.8vw;--gap-size-vw:0.2vw;--frame-thickness-vw:12vw;--button-font-size:3vmin}}.pixelflow-simulator{align-items:center;background:linear-gradient(180deg,#e8f0f2,#f8fbfc 50%,#e3eef1);display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Sans,Hiragino Kaku Gothic ProN,メイリオ,Meiryo,sans-serif;gap:2vmin;gap:var(--spacing-large);min-height:100vh;overflow-x:auto;overflow-y:auto;padding:2vmin;padding:var(--spacing-large);width:100%}.control-panel{flex-direction:column;margin-bottom:1vmin;margin-bottom:var(--spacing-small);max-width:90vw;width:90%}.control-buttons,.control-panel{display:flex;gap:1.5vmin;gap:var(--spacing-medium)}.control-buttons{align-items:center;background:#f8fbfc;background:var(--color-bg-secondary);border:1px solid #d4e2e8;border:1px solid var(--color-border);border-radius:.6vmin;border-radius:var(--button-border-radius);box-shadow:0 .1vmin .3vmin #3e5c6814;box-shadow:var(--shadow-subtle);flex-wrap:wrap;padding:1.2vh 2.5vw;padding:var(--button-padding-v) var(--button-padding-h)}.level-selector,.shooter-selector{align-items:center;background:#f8fbfc;background:var(--color-bg-secondary);border:1px solid #d4e2e8;border:1px solid var(--color-border);border-radius:.6vmin;border-radius:var(--button-border-radius);box-shadow:0 .1vmin .3vmin #3e5c6814;box-shadow:var(--shadow-subtle);display:flex;flex-wrap:wrap;gap:1.5vmin;gap:var(--spacing-medium);padding:1.2vh 2.5vw;padding:var(--button-padding-v) var(--button-padding-h)}.level-label,.shooter-label{color:#3e5c68;color:var(--color-text-primary);font-size:1.8vmin;font-size:var(--button-font-size);font-weight:500;letter-spacing:.05em}.level-dropdown,.shooter-dropdown{background:#f8fbfc;background:var(--color-bg-secondary);border:1px solid #d4e2e8;border:1px solid var(--color-border);border-radius:.6vmin;border-radius:var(--button-border-radius);box-shadow:0 .1vmin .3vmin #3e5c6814;box-shadow:var(--shadow-subtle);color:#3e5c68;color:var(--color-text-primary);cursor:pointer;font-size:1.62vmin;font-size:calc(var(--button-font-size)*.9);font-weight:400;min-width:20vw;padding:.8vh 1.5vw;transition:all .2s ease}.level-dropdown:hover,.shooter-dropdown:hover{background:#c8dce4;background:var(--color-hover);border-color:#7eb8d3;border-color:var(--color-accent-blue)}.level-dropdown:focus,.shooter-dropdown:focus{border-color:#7eb8d3;border-color:var(--color-accent-blue);box-shadow:0 0 0 .2vmin #7eb8d333;outline:none}.level-dropdown option,.shooter-dropdown option{background:#f8fbfc;background:var(--color-bg-secondary);color:#3e5c68;color:var(--color-text-primary)}.load-level-btn,.load-shooter-btn{background:#b8c5d6;background:var(--color-accent-lavender);border:1px solid #d4e2e8;border:1px solid var(--color-border);color:#3e5c68;color:var(--color-text-primary);transition:all .2s ease}.load-level-btn:hover,.load-shooter-btn:hover{background:#7eb8d3;background:var(--color-accent-blue);color:#fff}.control-btn{background:#f8fbfc;background:var(--color-bg-secondary);border:1px solid #d4e2e8;border:1px solid var(--color-border);border-radius:.6vmin;border-radius:var(--button-border-radius);box-shadow:0 .1vmin .3vmin #3e5c6814;box-shadow:var(--shadow-subtle);color:#3e5c68;color:var(--color-text-primary);cursor:pointer;font-size:1.8vmin;font-size:var(--button-font-size);font-weight:500;letter-spacing:.03em;padding:1.2vh 2.5vw;padding:var(--button-padding-v) var(--button-padding-h);transition:all .2s ease}.control-btn:hover:not(:disabled){box-shadow:0 .2vmin .6vmin #3e5c681f;box-shadow:var(--shadow-light);transform:translateY(-.1vmin)}.control-btn:active:not(:disabled){transform:translateY(0)}.control-btn:disabled{background:#d1dfe3;background:var(--color-bg-dark);cursor:not-allowed;opacity:.4}.start-btn{background:#a8d5ba;background:var(--color-success);border-color:#a8d5ba;border-color:var(--color-success);color:#3e5c68;color:var(--color-text-primary)}.start-btn:hover:not(:disabled){background:#95c9a8}.pause-btn{background:#e8c4a8;background:var(--color-warning);border-color:#e8c4a8;border-color:var(--color-warning);color:#3e5c68;color:var(--color-text-primary)}.pause-btn:hover:not(:disabled){background:#dfb896}.reset-btn{background:#e8b4b8;background:var(--color-danger);border-color:#e8b4b8;border-color:var(--color-danger);color:#3e5c68;color:var(--color-text-primary)}.reset-btn:hover:not(:disabled){background:#dfa4a8}.game-info{border-left:1px solid #d4e2e8;border-left:1px solid var(--color-border);display:flex;flex-direction:column;gap:.5vmin;margin-left:2vw;padding-left:2vw}.game-state,.game-time{color:#3e5c68;color:var(--color-text-primary);font-size:1.62vmin;font-size:calc(var(--button-font-size)*.9);font-weight:400;letter-spacing:.02em}.game-state{color:#7eb8d3;color:var(--color-accent-blue)}.game-time{color:#7a8e99;color:var(--color-text-secondary)}.top-bar{justify-content:space-between;margin-bottom:20px;max-width:700px;width:100%}.settings-btn,.top-bar{align-items:center;display:flex}.settings-btn{border-radius:50%;cursor:pointer;font-size:32px;height:60px;justify-content:center;width:60px}.level-badge,.settings-btn{background:linear-gradient(145deg,#9b6dd6,#7d4fb8);box-shadow:0 4px 8px #0000004d}.level-badge{border-radius:25px;color:#fff;font-size:24px;font-weight:700;padding:12px 35px}.coins-container{align-items:center;background:#0003;border-radius:25px;display:flex;gap:8px;padding:8px 12px}.coin-icon{font-size:32px}.coin-count{color:#fff;font-size:24px;font-weight:700}.add-btn{background:linear-gradient(145deg,#f96,#f74);border-radius:10px;box-shadow:0 3px 6px #0000004d;color:#fff;cursor:pointer;font-size:28px;font-weight:700;height:40px;width:40px}.add-btn,.game-container{align-items:center;display:flex;justify-content:center}.game-container{gap:1vmin;margin:2vmin 0}.center-section{flex-direction:column;gap:1vmin}.center-section,.yellow-frame{align-items:center;display:flex}.yellow-frame{background:#f8fbfc;background:var(--color-bg-secondary);border:1px solid #7eb8d3;border:1px solid var(--color-accent-blue);border-radius:.6vmin;border-radius:var(--button-border-radius);box-shadow:0 .1vmin .3vmin #3e5c6814;box-shadow:var(--shadow-subtle);justify-content:center;overflow:hidden}.yellow-bottom,.yellow-top{padding:.5vmin 0}.yellow-left,.yellow-right{padding:0 .5vmin}.belt-container{align-items:center;display:flex;gap:1px;gap:var(--gap-size,1px);justify-content:center}.belt-horizontal{flex-direction:row;width:100%}.belt-vertical{flex-direction:column;height:100%}.belt-cell{align-items:center;border:1px solid #7eb8d333;border-radius:.6vmin;border-radius:var(--button-border-radius);display:flex;flex-shrink:0;justify-content:center;position:relative;transition:all .15s ease}.belt-cell-text{color:#7a8e99;color:var(--color-text-secondary);font-size:.5vmin;font-weight:400;line-height:1;pointer-events:none;-webkit-user-select:none;user-select:none}.belt-cell-bottom .belt-cell-text,.belt-cell-left .belt-cell-text,.belt-cell-right .belt-cell-text,.belt-cell-top .belt-cell-text{writing-mode:horizontal-tb}.game-board-wrapper{background:#f8fbfc;background:var(--color-bg-secondary);border:1px solid #d4e2e8;border:1px solid var(--color-border);border-radius:1.2vmin;border-radius:calc(var(--button-border-radius)*2);box-shadow:0 .2vmin .6vmin #3e5c681f;box-shadow:var(--shadow-light);padding:2vmin;position:relative;width:-webkit-fit-content;width:fit-content}.game-board{background:#e8f0f2;background:var(--color-bg-primary);border-radius:.6vmin;border-radius:var(--button-border-radius);flex-direction:column;padding:1vmin}.game-board,.grid-row{display:flex;gap:.1vmin;gap:var(--gap-size,.1vmin)}.grid-cell{border:1px solid #7eb8d326;border-radius:.18vmin;border-radius:calc(var(--button-border-radius)*.3);height:1.2vmin;height:var(--cell-size,1.2vmin);width:1.2vmin;width:var(--cell-size,1.2vmin)}.bomb-container{bottom:15px;display:flex;gap:80px;left:50%;position:absolute;transform:translateX(-50%)}.bomb-btn{align-items:center;border-radius:15px 15px 20px 20px;box-shadow:0 4px 8px #0000004d;cursor:pointer;display:flex;height:70px;justify-content:center;position:relative;width:60px}.blue-bomb{background:linear-gradient(145deg,#4af,#28d)}.green-bomb{background:linear-gradient(145deg,#6d6,#4b4)}.bomb-count{color:#fff;font-size:22px;font-weight:700;text-shadow:0 2px 4px #0000004d}.progress-indicator{align-items:center;display:flex;flex-direction:column;gap:10px}.progress-icon{align-items:center;background:linear-gradient(145deg,#8b9dc3,#6d7fa5);border-radius:10px;box-shadow:0 4px 8px #0000004d;display:flex;font-size:24px;height:60px;justify-content:center;width:60px}.progress-text{color:#fff;font-size:24px;font-weight:700}.blocks-area{display:flex;flex-direction:column;gap:15px;margin-bottom:20px;max-width:700px;width:100%}.blocks-preview{display:flex;gap:10px;justify-content:center}.block-slot{background:#0003;border-radius:15px;box-shadow:inset 0 2px 8px #0000004d;height:80px;width:80px}.blocks-queue{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(4,1fr);justify-items:center}.block-group{align-items:center;display:flex;justify-content:center}.block-pieces{grid-gap:3px;display:grid;gap:3px;grid-template-columns:repeat(3,35px);grid-template-rows:repeat(3,35px)}.block-piece{align-items:center;border-radius:8px;box-shadow:0 3px 6px #0000004d,inset 0 -2px 4px #0003;cursor:pointer;display:flex;justify-content:center}.piece-count{color:#fff;font-size:16px;font-weight:700;text-shadow:0 2px 3px #0006}.bottom-buttons{background:linear-gradient(145deg,#9b6dd6,#7d4fb8);border-radius:25px;gap:20px;max-width:700px;padding:15px;width:100%}.bottom-buttons,.function-btn{box-shadow:0 4px 8px #0000004d;display:flex;justify-content:center}.function-btn{align-items:center;background:linear-gradient(145deg,#b88eec,#9b6dd6);border-radius:50%;cursor:pointer;height:70px;position:relative;width:70px}.btn-icon{font-size:32px}.btn-badge{align-items:center;background:linear-gradient(145deg,#fff,#e0e0e0);border-radius:50%;bottom:-5px;box-shadow:0 2px 4px #0000004d;color:#7d4fb8;display:flex;font-size:16px;font-weight:700;height:28px;justify-content:center;position:absolute;right:-5px;width:28px}.area-b-slots{background:#e8b4b814;border:1px solid #e8b4b8;border:1px solid var(--color-danger);border-radius:.6vmin;border-radius:var(--button-border-radius);box-shadow:0 .1vmin .3vmin #3e5c6814;box-shadow:var(--shadow-subtle);max-width:90vw;padding:1.5vmin;position:relative;width:90%}.slots-label{background:#e8f0f2;background:var(--color-bg-primary);color:#e8b4b8;color:var(--color-danger);font-size:2.4vmin;font-weight:500;left:1vmin;letter-spacing:.05em;padding:0 1vmin;position:absolute;top:-1.5vmin}.slots-container{display:flex;gap:1.5vmin;justify-content:space-evenly;padding:1vmin}.black-slot{align-items:center;background:#d1dfe3;background:var(--color-bg-dark);border:1px solid #d4e2e8;border:1px solid var(--color-border);border-radius:.6vmin;border-radius:var(--button-border-radius);box-shadow:0 .1vmin .3vmin #3e5c6814;box-shadow:var(--shadow-subtle);display:flex;height:8vmin;justify-content:center;position:relative;transition:all .2s ease;width:8vmin}.black-slot.has-shooter:hover{border-color:#e8b4b8;border-color:var(--color-danger);box-shadow:0 .2vmin .6vmin #3e5c681f;box-shadow:var(--shadow-light);transform:scale(1.03)}.black-slot.has-shooter:active{transform:scale(.98)}.shooter-info{align-items:center;border-radius:.48vmin;border-radius:calc(var(--button-border-radius)*.8);display:flex;height:100%;justify-content:center;width:100%}.shooter-bullet-num{color:#fff;font-size:2.4vmin;font-weight:500}.area-c-table{background:#7eb8d30d;border:1px solid #7eb8d3;border:1px solid var(--color-accent-blue);border-radius:.6vmin;border-radius:var(--button-border-radius);box-shadow:0 .1vmin .3vmin #3e5c6814;box-shadow:var(--shadow-subtle);margin-bottom:3vmin;max-width:90vw;padding:1.5vmin;position:relative;width:90%}.table-label{background:#e8f0f2;background:var(--color-bg-primary);color:#7eb8d3;color:var(--color-accent-blue);font-size:2.4vmin;font-weight:500;left:1vmin;letter-spacing:.05em;padding:0 1vmin;position:absolute;top:-1.5vmin}.table-grid{flex-direction:column}.table-grid,.table-row{display:flex;gap:0}.table-cell{background:#f8fbfc;background:var(--color-bg-secondary);border:1px solid #d4e2e8;border:1px solid var(--color-border);flex:1 1;height:4vmin}.shooter-cell{align-items:center;border-radius:.3vmin;border-radius:calc(var(--button-border-radius)*.5);display:flex;justify-content:center;min-height:4vmin;transition:all .2s ease}.shooter-cell.clickable:hover{box-shadow:0 .2vmin .6vmin #3e5c681f;box-shadow:var(--shadow-light);transform:scale(1.05);z-index:10}.shooter-cell.clickable:active{transform:scale(1.01)}.table-placeholder{color:#b0bec5;color:var(--color-text-light);font-size:1.6vmin;padding:2vmin;text-align:center}@keyframes gentlePulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes ripple{0%{box-shadow:0 0 0 0 #7eb8d366}to{box-shadow:0 0 0 1vmin #7eb8d300}}.area-b-slots,.area-c-table,.control-panel,.game-container{animation:fadeIn .6s ease-out}.control-btn:active{animation:ripple .5s ease-out}@media only screen and (max-width:768px){html{-webkit-text-size-adjust:none!important;height:100%!important}body,html{overflow-y:auto!important;touch-action:auto!important;width:100%!important}body{-webkit-overflow-scrolling:touch!important;height:auto!important;margin:0!important;min-height:100vh!important;padding:0!important}.pixelflow-simulator{left:auto!important;margin:0 auto!important;max-width:100vw!important;min-width:100%!important;overflow-x:visible!important;overflow-y:visible!important;padding:1vmin!important;position:relative!important;right:auto!important;top:0!important;transform:none!important;-webkit-transform:none!important;transform-origin:center!important;-webkit-transform-origin:center!important;width:100%!important}body,html{overflow-x:auto!important;width:100vw!important}.area-b-slots,.area-c-table,.control-panel,.game-container{max-width:none!important;overflow-x:visible!important;width:100%!important}.ui-button,button{font-size:1.8vmin!important;font-size:var(--button-font-size)!important;min-height:4.4vmin!important;min-width:4.4vmin!important;padding:1.2vh 2.5vw!important;padding:var(--button-padding-v) var(--button-padding-h)!important;touch-action:manipulation!important;-webkit-user-select:none!important;user-select:none!important}.ui-dropdown,select{min-height:4.4vmin!important;padding:.8vh 1.5vw!important}.ui-dropdown,input,select,textarea{font-size:1.62vmin!important;font-size:calc(var(--button-font-size)*.9)!important}input,textarea{-webkit-user-select:text!important;user-select:text!important}.game-board-wrapper{max-width:100%!important}.game-board,.game-board-wrapper{overflow:visible!important}.belt-cell,.black-slot,.shooter-cell{touch-action:manipulation!important;-webkit-user-select:none!important;user-select:none!important}.black-slot,.shooter-cell{cursor:pointer!important}.belt-cell-text,.grid-cell,.shooter-bullet-num{-webkit-user-select:none!important;user-select:none!important}}@media only screen and (max-width:430px) and (max-height:932px){.pixelflow-simulator{transform:none!important;-webkit-transform:none!important}}@media only screen and (max-width:375px){.pixelflow-simulator{transform:none!important;-webkit-transform:none!important}}@media only screen and (max-height:500px) and (orientation:landscape){.pixelflow-simulator{transform:none!important;-webkit-transform:none!important}}@supports (-webkit-touch-callout:none){@media only screen and (max-width:768px){body,html{-webkit-overflow-scrolling:touch!important}.belt-cell,.black-slot,.shooter-cell,.ui-button,button{-webkit-tap-highlight-color:transparent!important}}}@media only screen and (max-width:768px){.control-buttons button,.ui-button{font-size:2.16vmin!important;font-size:calc(var(--button-font-size)*1.2)!important}.level-dropdown,.shooter-dropdown,.ui-dropdown{font-size:1.98vmin!important;font-size:calc(var(--button-font-size)*1.1)!important}}.pixelflow-generator,.pixelflow-solver{background-color:beige;min-height:100vh;width:100%}.theme-sakura{--color-primary:#ff9ec7;--color-secondary:#ffb7d5;--color-accent:#ffd4e5;--color-light:#fff0f5;--color-text:#8b4789}.theme-sky{--color-primary:#87ceeb;--color-secondary:#b0e0e6;--color-accent:#e0f4ff;--color-light:#f0f8ff;--color-text:#2c5f7c}.theme-mint{--color-primary:#98d8c8;--color-secondary:#b8e6d8;--color-accent:#d5f4e6;--color-light:#f0fdf4;--color-text:#2d6a5c}.theme-violet{--color-primary:#b19cd9;--color-secondary:#d4c5f9;--color-accent:#e8dcff;--color-light:#f5f0ff;--color-text:#6b4c9a}.theme-coral{--color-primary:#ff9f80;--color-secondary:#ffc4a3;--color-accent:#ffe0d1;--color-light:#fff5f0;--color-text:#8b5a3c}.theme-wabisabi{--color-primary:#a8a8a8;--color-secondary:#c8c8c8;--color-accent:#e0e0e0;--color-light:#f5f5f5;--color-text:#4a4a4a}.theme-lemon{--color-primary:#fff59d;--color-secondary:#fff9c4;--color-accent:#fffde7;--color-light:ivory;--color-text:#8b7d3a}.theme-lavender{--color-primary:#c5b9d7;--color-secondary:#ddd5ea;--color-accent:#ede7f6;--color-light:#f9f7fc;--color-text:#6b5b8e}.theme-peach{--color-primary:#ff8a80;--color-secondary:#ffb4a9;--color-accent:#ffd8d1;--color-light:#fff5f3;--color-text:#8b3a3a}.theme-azure{--color-primary:#7db8de;--color-secondary:#a8d5f0;--color-accent:#d1e9f6;--color-light:#f0f8ff;--color-text:#3a5f7d}.hero-theme-selector{left:40px;position:absolute;top:30px;z-index:10}.hero-theme-selector .theme-main-button{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffd9;border:2px solid var(--color-primary);border-radius:25px;box-shadow:0 2px 8px #00000026;color:var(--color-text);cursor:pointer;display:flex;font-family:Klee One,cursive;font-size:14px;font-weight:600;gap:10px;letter-spacing:.05em;padding:12px 24px;transition:all .3s ease}.hero-theme-selector .theme-main-button:hover{background:#fffffff2;box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.hero-theme-selector .theme-buttons{animation:slideDown .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:2px solid var(--color-accent);border-radius:12px;box-shadow:0 8px 24px #0003;display:flex;flex-wrap:wrap;gap:8px;left:0;margin-top:10px;max-width:600px;padding:15px;position:absolute;top:100%;z-index:11}.theme-label{color:var(--color-text);font-weight:600;letter-spacing:.1em}.current-theme{font-weight:600;letter-spacing:.08em}.arrow,.current-theme{color:var(--color-primary)}.arrow{font-size:10px;margin-left:5px;transition:transform .3s ease}.arrow.open{transform:rotate(180deg)}.theme-button{background:#ffffffe6;border:2px solid var(--color-primary);border-radius:20px;color:var(--color-text);cursor:pointer;font-family:Klee One,cursive;font-size:13px;font-weight:500;letter-spacing:.05em;padding:8px 16px;transition:all .3s ease;white-space:nowrap}.theme-button:hover{background:var(--color-accent);box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.theme-button.active{background:var(--color-primary);box-shadow:0 4px 12px #0003;color:#fff}*{box-sizing:border-box;margin:0;padding:0}.audition-page{font-family:Klee One,cursive;min-height:100vh;overflow-x:hidden;width:100%}.hero-section{align-items:center;background:linear-gradient(180deg,var(--color-primary) 0,var(--color-secondary) 50%,var(--color-light) 100%);display:flex;height:100vh;justify-content:center;overflow:hidden;position:relative;width:100%}.hero-section:before{background:radial-gradient(ellipse at center,var(--color-accent) 0,#0000 70%);content:"";filter:blur(60px);height:400px;left:20%;width:300px}.hero-overlay,.hero-section:before{bottom:0;pointer-events:none;position:absolute}.hero-overlay{background:radial-gradient(circle at 30% 40%,#fff3 0,#0000 50%);left:0;right:0;top:0}.hero-content{height:100%;max-width:1200px;padding:40px;position:relative;width:100%}.vertical-text{font-size:16px;font-weight:400;letter-spacing:.15em;line-height:1.8;opacity:.85;right:40px;top:50px;writing-mode:vertical-rl}.main-announcement,.vertical-text{color:var(--color-text);position:absolute}.main-announcement{bottom:120px;left:40px}.debut-year{font-family:Klee One,cursive;font-size:clamp(20px,3vw,28px);font-weight:400;letter-spacing:.05em;margin-bottom:8px}.group-type{letter-spacing:.08em;margin-bottom:8px}.audition-title,.group-type{font-size:clamp(24px,4vw,36px);font-weight:500}.audition-title{letter-spacing:.25em;margin-bottom:0}.lumilumi-intro-section{background:linear-gradient(180deg,var(--color-light) 0,#fff 100%);padding:80px 40px}.lumilumi-content{background:#ffffffe6;border:2px solid var(--color-secondary);border-radius:12px;box-shadow:0 4px 20px #00000014;margin:0 auto;max-width:900px;padding:50px 40px}.lumilumi-title{border-bottom:2px solid var(--color-secondary);color:var(--color-text);font-size:clamp(26px,4vw,36px);font-weight:600;letter-spacing:.15em;margin-bottom:40px;padding-bottom:20px;text-align:center}.lumilumi-text{color:var(--color-text);letter-spacing:.05em;line-height:2}.lumilumi-text p{font-size:clamp(14px,2vw,16px);margin-bottom:25px;text-align:justify}.lumilumi-text p:last-child{margin-bottom:0}.lumilumi-text strong{color:var(--color-text);font-weight:600}.period-section{background:linear-gradient(180deg,#fff 0,var(--color-light) 100%);padding:80px 40px 100px;text-align:center}.section-heading{color:var(--color-text);font-family:Klee One,cursive;font-size:clamp(22px,3.5vw,32px);font-weight:600;letter-spacing:.15em;margin-bottom:40px}.section-heading.dark{color:#fff}.period-details{margin:0 auto;max-width:600px}.period-date{color:var(--color-text);font-size:clamp(16px,2.5vw,20px);font-weight:400;letter-spacing:.08em;line-height:1.8;margin-bottom:10px}.requirements-section{background:linear-gradient(180deg,var(--color-primary) 0,var(--color-secondary) 100%);padding:80px 40px 100px;text-align:center}.requirements-list{display:flex;flex-direction:column;gap:20px;margin:0 auto;max-width:800px;padding-top:20px}.requirement-box{background:#fffffff2;border:2px solid var(--color-accent);border-radius:8px;padding:25px 30px;text-align:center}.requirement-main{font-size:clamp(18px,2.8vw,24px);font-weight:600;letter-spacing:.08em}.requirement-main,.requirement-sub{color:var(--color-text);line-height:1.6}.requirement-sub{font-size:clamp(13px,2vw,16px);font-weight:400;letter-spacing:.05em;margin-top:8px;opacity:.75}.cta-section{background:linear-gradient(180deg,var(--color-secondary) 0,var(--color-light) 100%);padding:60px 40px 80px;text-align:center}.apply-button{background:#fffffff2;border:2px solid var(--color-primary);border-radius:50px;box-shadow:0 4px 15px #00000026;color:var(--color-text);cursor:pointer;font-family:Klee One,cursive;font-size:clamp(18px,2.8vw,22px);font-weight:600;letter-spacing:.15em;padding:18px 80px;transition:all .3s ease}.apply-button:hover{background:var(--color-primary);box-shadow:0 6px 20px #00000040;color:#fff;transform:translateY(-2px)}.apply-button:active{transform:translateY(0)}.application-method-section{background:linear-gradient(180deg,var(--color-light) 0,#fff 50%,var(--color-light) 100%);padding:80px 40px 100px;text-align:center}.application-details{background:#ffffffe6;border:2px solid var(--color-accent);border-radius:20px;box-shadow:0 8px 30px #0000001a;margin:0 auto;max-width:900px;padding:40px}.method-intro{font-size:clamp(15px,2.2vw,18px);letter-spacing:.05em}.method-intro,.method-line-notice{color:var(--color-text);font-weight:500;line-height:1.9;margin-bottom:40px}.method-line-notice{background:linear-gradient(135deg,var(--color-accent),var(--color-light));border-left:4px solid var(--color-primary);border-radius:10px;font-size:clamp(14px,2vw,17px);letter-spacing:.04em;padding:20px 30px}.requirements-list-detailed{background:var(--color-light);border:2px solid var(--color-accent);border-radius:15px;margin:30px auto;max-width:700px;padding:30px 40px;text-align:left}.requirements-list-detailed ol{counter-reset:item;list-style:none;padding:0}.requirements-list-detailed li{color:var(--color-text);counter-increment:item;font-size:clamp(14px,2vw,17px);letter-spacing:.05em;line-height:2.2;padding-left:30px;position:relative}.requirements-list-detailed li:before{align-items:center;background:var(--color-primary);border-radius:50%;color:#fff;content:counter(item);display:flex;font-size:13px;font-weight:600;height:24px;justify-content:center;left:0;position:absolute;top:0;width:24px}.application-notes{background:#fff3e099;border-left:4px solid var(--color-primary);border-radius:8px;margin-top:30px;padding:25px 30px;text-align:left}.application-notes p{color:var(--color-text);font-size:clamp(12px,1.8vw,15px);letter-spacing:.03em;line-height:1.9;margin:8px 0}.contact-info{border-top:2px solid var(--color-accent);margin-top:40px;padding-top:30px}.contact-label{font-size:clamp(14px,2vw,17px);margin-bottom:12px}.contact-name{font-size:clamp(15px,2.2vw,18px)}.contact-email{font-size:clamp(14px,2vw,17px)}.process-section{background:linear-gradient(180deg,var(--color-light) 0,#fff 100%);padding:80px 40px 100px}.section-heading-blue{background:var(--color-primary);color:#fff;font-size:clamp(22px,3.5vw,32px);font-weight:600;letter-spacing:.2em;margin:0 auto 60px;max-width:600px;padding:20px;position:relative;text-align:center}.section-heading-blue:after{background:var(--color-primary);bottom:-10px;content:"";height:40px;left:50%;position:absolute;transform:translateX(-50%);width:2px}.process-timeline{margin:0 auto;max-width:600px;padding:0 20px}.process-item{background:#fffffff2;border:2px solid var(--color-secondary);border-radius:8px;margin-bottom:30px;padding:20px 25px;position:relative}.process-item:after{background:var(--color-secondary);bottom:-30px;content:"";height:30px;left:50%;position:absolute;transform:translateX(-50%);width:2px}.process-item.final:after{display:none}.process-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:12px}.process-number{background:var(--color-accent);border-radius:20px;font-size:clamp(15px,2.5vw,18px);padding:8px 16px}.process-name,.process-number{color:var(--color-text);font-weight:600}.process-name{font-size:clamp(16px,2.8vw,20px);letter-spacing:.1em}.process-date{background:var(--color-primary);border-radius:20px;color:#fff;font-size:clamp(13px,2vw,16px);font-weight:400;letter-spacing:.05em;padding:10px 20px;text-align:center}.training-period{margin-bottom:30px;padding:30px 0;text-align:center}.training-label{background:var(--color-accent);border-radius:20px;color:var(--color-text);display:inline-block;font-size:clamp(14px,2.2vw,16px);font-weight:400;letter-spacing:.1em;padding:10px 25px}.debut-announcement{background:var(--color-light);border:2px solid var(--color-accent);border-radius:12px;margin-left:auto;margin-right:auto;margin-top:80px;max-width:600px;padding:60px 20px;text-align:center}.debut-year-text{font-size:clamp(20px,3.5vw,28px);font-weight:600;letter-spacing:.2em}.debut-event,.debut-year-text{color:var(--color-text);margin-bottom:10px}.debut-event{font-weight:500;letter-spacing:.15em;opacity:.85}.debut-event,.debut-text{font-size:clamp(18px,3vw,24px)}.debut-text{color:var(--color-text);font-weight:600;letter-spacing:.2em}.after-passing-section{background:linear-gradient(180deg,#fff 0,var(--color-secondary) 50%,var(--color-primary) 100%);padding:80px 40px 100px}.section-heading-blue-dark{background:var(--color-primary);color:#fff;font-size:clamp(22px,3.5vw,32px);font-weight:600;letter-spacing:.2em;margin:0 auto 60px;max-width:600px;padding:20px;position:relative;text-align:center}.section-heading-blue-dark:after{background:var(--color-primary);bottom:-10px;content:"";height:40px;left:50%;position:absolute;transform:translateX(-50%);width:2px}.activities-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(2,1fr);margin:0 auto 60px;max-width:600px;padding:0 20px}.activity-item{align-items:center;background:#fffffff2;border:2px solid var(--color-accent);border-radius:8px;display:flex;gap:10px;padding:18px 15px}.activity-icon{color:var(--color-primary);font-size:clamp(16px,2.5vw,20px);font-weight:700}.activity-text{color:var(--color-text);font-size:clamp(13px,2vw,16px);font-weight:600;letter-spacing:.05em}.and-more{font-size:clamp(16px,2.5vw,20px);font-style:italic;font-weight:600;letter-spacing:.1em;margin-bottom:30px;text-shadow:0 1px 3px #00000026}.and-more,.no-cost-notice{color:#fff;text-align:center}.no-cost-notice{font-size:clamp(12px,2vw,14px);font-weight:400;letter-spacing:.05em;line-height:1.8;text-shadow:0 1px 2px #00000026}.performance-section{background:linear-gradient(180deg,var(--color-primary) 0,var(--color-light) 100%);padding:80px 40px 100px}.performance-intro{color:#fff;font-size:clamp(14px,2.2vw,16px);font-weight:500;letter-spacing:.08em;margin-bottom:50px;padding-top:20px;text-align:center;text-shadow:0 1px 2px #0000001a}.performance-list{margin:0 auto;max-width:600px;padding:0 20px}.performance-items{list-style:none;margin-bottom:40px;padding:0}.performance-items li{color:var(--color-text);font-size:clamp(13px,2vw,15px);font-weight:400;letter-spacing:.05em;line-height:1.8;padding:12px 0 12px 20px;position:relative}.performance-items li:before{color:var(--color-secondary);content:"・";font-weight:700;left:0;position:absolute}.terms-section{background:linear-gradient(180deg,var(--color-light) 0,#fff 100%);padding:80px 20px 100px}.terms-container{background:#fffffff2;border:3px solid var(--color-secondary);border-radius:12px;box-shadow:0 4px 20px #0000001a;margin:0 auto;max-width:700px;padding:40px 30px}.terms-heading{border-bottom:2px solid var(--color-accent);color:var(--color-text);font-size:clamp(20px,3vw,26px);font-weight:600;letter-spacing:.15em;margin-bottom:35px;padding-bottom:20px;text-align:center}.terms-content{color:var(--color-text);font-size:clamp(11px,1.8vw,13px);font-weight:400;letter-spacing:.03em;line-height:2}.terms-content p{margin-bottom:15px;text-align:left}.terms-content p:last-child{margin-bottom:0}.floating-apply-button{align-items:center;animation:pulse 2s infinite;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-secondary) 100%);border:none;border-radius:20px;bottom:30px;box-shadow:0 8px 28px #0000004d;color:#fff;cursor:pointer;display:flex;flex-direction:column;font-family:Klee One,cursive;gap:8px;height:140px;justify-content:center;padding:15px;position:fixed;right:30px;text-align:center;transition:all .3s ease;width:140px;z-index:999}.floating-apply-button .line-icon{color:#fff;height:50px;width:50px}.floating-apply-button .apply-text{font-size:16px;font-weight:600;letter-spacing:.1em;line-height:1.4}.floating-apply-button:hover{box-shadow:0 10px 36px #0006;transform:translateY(-4px) scale(1.05)}.floating-apply-button:active{transform:translateY(-2px) scale(1.02)}.modal-overlay{align-items:center;animation:fadeIn .3s ease;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:20px;position:fixed;right:0;top:0;z-index:1100}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .4s ease;background:#fff;border-radius:16px;box-shadow:0 12px 48px #0000004d;max-height:90vh;max-width:700px;overflow-y:auto;position:relative;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#999;cursor:pointer;display:flex;font-size:32px;height:40px;justify-content:center;position:absolute;right:15px;top:15px;transition:all .3s ease;width:40px}.modal-close:hover{background:#f0f0f0;color:#333}.modal-title{border-bottom:2px solid var(--color-accent);color:var(--color-text);font-size:clamp(24px,4vw,32px);font-weight:600;letter-spacing:.15em;margin:0;padding:40px 20px 30px;text-align:center}.modal-intro{padding:30px 40px 20px;text-align:center}.modal-intro p{color:var(--color-text);font-size:clamp(14px,2vw,16px);letter-spacing:.04em;line-height:1.8;margin-bottom:15px}.modal-line-notice{background:linear-gradient(135deg,var(--color-accent),var(--color-light));border-left:4px solid var(--color-primary);border-radius:10px;margin-top:20px!important;padding:20px 25px}.modal-requirements{background:var(--color-light);border:2px solid var(--color-accent);border-radius:15px;margin:20px 30px;padding:30px 40px}.requirements-title{color:var(--color-text);font-size:clamp(16px,2.5vw,20px);font-weight:600;letter-spacing:.1em;margin-bottom:20px;text-align:center}.modal-requirements ol{counter-reset:item;list-style:none;padding:0}.modal-requirements li{color:var(--color-text);counter-increment:item;font-size:clamp(13px,1.8vw,15px);letter-spacing:.04em;line-height:2;margin-bottom:8px;padding-left:30px;position:relative}.modal-requirements li:before{align-items:center;background:var(--color-primary);border-radius:50%;color:#fff;content:counter(item);display:flex;font-size:12px;font-weight:600;height:22px;justify-content:center;left:0;position:absolute;top:2px;width:22px}.modal-notes{background:#fff3e099;border-left:4px solid var(--color-primary);border-radius:8px;margin:0 30px 20px;padding:20px 40px}.modal-notes p{color:var(--color-text);font-size:clamp(11px,1.6vw,13px);letter-spacing:.03em;line-height:1.8;margin:6px 0}.modal-download{padding:25px 40px;text-align:center}.download-form-button{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));border-radius:50px;box-shadow:0 4px 15px #0003;color:#fff;cursor:pointer;display:inline-block;font-size:clamp(15px,2.2vw,18px);font-weight:600;letter-spacing:.08em;padding:18px 40px;text-decoration:none;transition:all .3s ease}.download-form-button:hover{box-shadow:0 6px 20px #0000004d;transform:translateY(-3px)}.download-form-button:active{transform:translateY(-1px)}.modal-steps{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1fr 1fr;padding:20px 40px}.modal-step{background:var(--color-light);border:2px solid var(--color-accent);border-radius:12px;padding:25px;text-align:center}.step-title{color:var(--color-primary);font-size:clamp(16px,2.2vw,18px);font-weight:600;letter-spacing:.08em;margin-bottom:15px}.step-detail{color:var(--color-text);font-size:clamp(14px,2vw,16px);font-weight:500;letter-spacing:.04em;margin:10px 0}.step-note{color:var(--color-text);font-size:clamp(11px,1.6vw,13px);letter-spacing:.03em;line-height:1.6;margin-top:12px;opacity:.8}.qr-code-container{align-items:center;display:flex;flex-direction:column;margin:20px 0;position:relative}.qr-code{background:#fff;border:2px solid var(--color-accent);border-radius:8px;height:120px;padding:8px;width:120px}.qr-code-blurred{filter:blur(8px);opacity:.9}.qr-code-overlay{align-items:center;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:hsla(0,0%,100%,.362);border:1px solid #ffffff80;border-radius:8px;box-shadow:0 4px 16px #0000001a;display:flex;height:120px;justify-content:center;left:50%;position:absolute;top:0;transform:translateX(-50%);width:120px}.qr-coming-soon{color:#30303080;font-size:clamp(12px,1.8vw,14px);font-weight:700;letter-spacing:.05em;line-height:1.6;margin:0;padding:10px;text-align:center;text-shadow:0 1px 2px #fffc}.qr-label{color:var(--color-text);font-size:clamp(11px,1.6vw,13px);letter-spacing:.04em;margin-top:8px}.modal-contact{border-top:2px solid var(--color-accent);margin-top:20px;padding:25px 40px 40px;text-align:center}.contact-label{font-size:clamp(14px,2vw,16px);letter-spacing:.08em;margin-bottom:10px}.contact-label,.contact-name{color:var(--color-text);font-weight:600}.contact-name{font-size:clamp(15px,2.2vw,17px);letter-spacing:.05em;margin:8px 0}.contact-email{color:var(--color-primary);font-size:clamp(14px,2vw,16px);font-weight:500;letter-spacing:.03em;margin:8px 0}.modal-step{margin-bottom:40px}.modal-step:last-child{margin-bottom:0}.step-number{background:var(--color-primary);border-radius:20px;color:#fff;display:inline-block;font-size:14px;font-weight:600;letter-spacing:.1em;margin-bottom:15px;padding:8px 20px}.step-content h3{font-size:clamp(18px,3vw,22px);letter-spacing:.08em;margin-bottom:20px}.download-button,.step-content h3{color:var(--color-text);font-weight:600}.download-button{background:var(--color-secondary);border:2px solid var(--color-primary);border-radius:25px;cursor:pointer;font-family:Klee One,cursive;font-size:15px;letter-spacing:.05em;padding:12px 28px;transition:all .3s ease}.download-button:hover{background:var(--color-primary);box-shadow:0 4px 12px #0003;color:#fff;transform:translateY(-2px)}.submit-options{display:flex;flex-direction:column;gap:25px}.submit-option{background:var(--color-light);border:2px solid var(--color-accent);border-radius:12px;padding:25px}.option-title{color:var(--color-text);font-size:18px;font-weight:600;letter-spacing:.05em;margin-bottom:10px;padding-left:0}.option-detail{color:var(--color-primary);font-size:15px;font-weight:500;letter-spacing:.03em;margin-bottom:8px}.option-note{color:#666;font-size:12px;line-height:1.6;margin-top:8px}.modal-footer{background:var(--color-light);border-radius:0 0 16px 16px;border-top:2px solid var(--color-accent);padding:25px;text-align:center}.modal-footer p{color:var(--color-text);font-size:16px;font-weight:600;letter-spacing:.1em;margin:0}@media screen and (max-width:768px){.vertical-text{font-size:14px;right:20px;top:40px}.main-announcement{bottom:80px;left:20px}.hero-theme-selector{left:20px;top:20px}.hero-theme-selector .theme-main-button{font-size:13px;padding:10px 18px}.hero-theme-selector .theme-buttons{left:0;max-width:calc(100vw - 40px);right:auto}.theme-button{font-size:12px;padding:7px 14px}.floating-apply-button{border-radius:18px;bottom:20px;gap:6px;height:120px;padding:12px;right:20px;width:120px}.floating-apply-button .line-icon{height:45px;width:45px}.floating-apply-button .apply-text{font-size:14px}.modal-content{border-radius:12px;max-height:95vh}.modal-title{font-size:22px;padding:30px 15px 20px}.modal-steps{padding:20px}.step-content h3{font-size:18px}.submit-options{gap:20px}.submit-option{padding:20px}.lumilumi-intro-section{padding:60px 20px}.lumilumi-content{padding:35px 25px}.lumilumi-title{margin-bottom:30px}.lumilumi-text p{margin-bottom:20px}.after-passing-section,.application-method-section,.cta-section,.performance-section,.period-section,.process-section,.requirements-section,.terms-section{padding:60px 20px}.application-details{padding:25px 20px}.requirements-list-detailed{padding:20px 25px}.requirements-list-detailed li{font-size:14px;line-height:2}.requirements-list{gap:15px}.requirement-box{padding:20px}.apply-button{max-width:400px;padding:16px 60px;width:100%}.process-timeline{padding:0 10px}.process-item{padding:18px 20px}.activities-grid{gap:12px;grid-template-columns:1fr}.performance-list{padding:0 10px}.terms-container{padding:30px 20px}.terms-content{font-size:11px;line-height:1.9}}@media screen and (max-width:480px){.vertical-text{font-size:12px;letter-spacing:.1em;right:15px}.main-announcement{bottom:60px;left:20px}.lumilumi-content{padding:30px 20px}.lumilumi-title{letter-spacing:.08em}.lumilumi-text p{text-align:left}.floating-apply-button{border-radius:16px;bottom:15px;gap:4px;height:100px;padding:10px;right:15px;width:100px}.floating-apply-button .line-icon{height:38px;width:38px}.floating-apply-button .apply-text{font-size:12px;letter-spacing:.05em}.modal-content{max-height:85vh}.modal-contact,.modal-intro,.modal-notes,.modal-requirements{padding-left:20px;padding-right:20px}.modal-notes,.modal-requirements{margin-left:15px;margin-right:15px}.modal-steps{gap:20px;grid-template-columns:1fr;padding:15px}.modal-step{padding:20px}.submit-option{padding:15px}.qr-code{height:100px;width:100px}.audition-title,.debut-year,.group-type{letter-spacing:.05em}.requirement-box{padding:18px 15px}}@media print{.hero-section{height:auto;min-height:60vh}.apply-button{display:none}}.sidebar{align-items:center;background-color:hsla(0,8%,9%,.924);display:flex;flex-direction:column;font-family:Arial,sans-serif;font-weight:700;height:100%;justify-content:space-between;left:0;overflow-x:hidden;position:fixed;top:0;transition:width .8s ease-in-out;width:0;z-index:10000}.sidebar.open{width:38.2%}.sidebar ul{align-items:flex-start;display:flex;flex-direction:column;flex-grow:1;justify-content:center;list-style-type:none;margin:20px 0 0 20px;padding:0;width:100%}.sidebar ul li{border-bottom:1px solid #fff;color:#fff;cursor:pointer;font-size:20px;padding:20px 10px;text-align:left;transition:all .3s ease,padding-left .12s ease,transform .12s ease;width:100%}.sidebar ul li:active,.sidebar ul li:hover{background-color:#727272;padding-left:30px;transform:translateX(10px);transition:all .12s ease}.sidebar ul li:hover{background-color:#545454}.body-container{position:relative;width:150vw}.overflow-container{overflow-x:auto;white-space:nowrap;width:100vw}.button-top-right{background-color:#00000050;border:none;border-radius:20px;box-shadow:0 4px 6px #0000001a;color:#fff;cursor:pointer;font-size:16px;outline:none;padding:8px 15px;position:fixed;right:10px;top:10px;z-index:10000}.button-top-right:hover{background-color:#434141}.button-top-left-menu{background-color:initial;border:none;cursor:pointer;height:24px;left:10px;outline:none;position:fixed;top:12.5px;width:30px;z-index:10010}.button-top-left-menu:after,.button-top-left-menu:before{background-color:var(--text-black-color);content:"";height:4.5px;left:0;position:absolute;transition:background-color .12s ease}.button-top-left-menu:before{top:4px;width:30px}.button-top-left-menu:after{bottom:4px;width:25px}.button-top-left-menu.active:after,.button-top-left-menu.active:before{background-color:#fff}.sidebar-language-selector{color:#ffffffa8;padding:20px;text-align:center}.sidebar-language-selector p{font-size:16px;margin-bottom:10px}.sidebar-language-selector select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:#ffffffa0;background-image:url("data:image/svg+xml;utf8,<svg fill=%27black%27 height=%2724%27 viewBox=%270 0 24 24%27 width=%2724%27 xmlns=%27http://www.w3.org/2000/svg%27><path d=%27M7 10l5 5 5-5z%27/><path d=%27M0 0h24v24H0z%27 fill=%27none%27/></svg>");background-position:right 8px top 50%;background-repeat:no-repeat;background-size:16px;border:none;border-radius:20px;color:#333;cursor:pointer;font-size:14px;outline:none;padding:8px 30px 8px 12px;width:100%}.sidebar-language-selector select:hover{background-color:#f0f0f0}.sidebar-language-selector select option{background-color:#fff;color:#333}.layout{display:flex;min-height:100vh}.main-content{flex-grow:1;margin-left:0;transition:margin-left .8s ease-in-out}.sidebar.open+.main-content{margin-left:38.2%}.global-state-display{background-color:#ffffff1a;border-radius:5px;font-size:10px;margin:10px;padding:15px}.global-state-title{color:#fff;font-weight:700;margin-bottom:10px}.global-state-items{display:flex;flex-direction:column;gap:5px}.global-state-item{color:#fff;font-size:.9em;word-break:break-all}.global-state-key{font-weight:700;margin-right:5px}.global-state-value{color:#aaa}.global-state-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.refresh-button{background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:16px;padding:4px;transition:transform .3s ease}.refresh-button:hover{background-color:#ffffff1a;transform:rotate(180deg)}.refresh-button:active{transform:rotate(1turn)}.password-protection-overlay{align-items:center;background:linear-gradient(135deg,#000,#1a1a1a 50%,#000);display:flex;height:100%;justify-content:center;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:9999}.password-container{max-width:450px;padding:20px;position:relative;width:100%}.password-content{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:16px;box-shadow:0 8px 32px #0000004d;padding:60px 40px;position:relative;z-index:2}.password-logo{flex-direction:column;gap:20px;margin-bottom:50px;text-align:center}.lock-icon,.password-logo{align-items:center;display:flex}.lock-icon{animation:pulse 2s ease-in-out infinite;background:#ffffff1a;border:2px solid #fff3;border-radius:50%;color:#fff;height:60px;justify-content:center;width:60px}.lock-icon svg{height:30px;width:30px}@keyframes pulse{0%,to{box-shadow:0 0 0 0 #fff6}50%{box-shadow:0 0 0 10px #fff0}}.logo-text{color:#fff;font-family:Noto Sans JP,Helvetica Neue,Arial,sans-serif;font-size:clamp(24px,5vw,32px);font-weight:500;letter-spacing:.15em;text-shadow:0 2px 10px #ffffff4d}.password-form{margin-bottom:30px}.input-group{display:flex;gap:10px;position:relative}.password-input{background:#ffffff14;border:2px solid #fff3;border-radius:8px;color:#fff;flex:1 1;font-family:Noto Sans JP,sans-serif;font-size:16px;letter-spacing:.05em;outline:none;padding:16px 20px;transition:all .3s ease}.password-input::placeholder{color:#ffffff80}.password-input:focus{background:#ffffff1f;border-color:#ffffff80;box-shadow:0 0 20px #ffffff1a}.password-input.error{animation:inputError .3s ease;border-color:#f44}.password-submit{align-items:center;background:#ffffff26;border:2px solid #fff3;border-radius:8px;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:16px 20px;transition:all .3s ease}.password-submit svg{height:20px;width:20px}.password-submit:hover{background:#ffffff40;border-color:#ffffff80;transform:translateX(2px)}.password-submit:active{transform:translateX(0)}.error-message{align-items:center;animation:slideDown .3s ease-out;background:#ff444426;border:1px solid #ff44444d;border-radius:8px;color:#f88;display:flex;font-size:14px;gap:8px;margin-top:15px;padding:12px 16px}.error-message svg{flex-shrink:0;height:18px;width:18px}.password-hint{text-align:center}.password-hint p{color:#fff9;font-family:Noto Sans JP,sans-serif;font-size:13px;letter-spacing:.05em}.feather-decoration{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:1}.feather{background:radial-gradient(ellipse at center,#ffffff26 0,#0000 70%);border-radius:50% 0 50% 50%;height:40px;opacity:.3;position:absolute;width:40px}.feather-1{animation:float 6s ease-in-out infinite;left:10%;top:20%}.feather-2{animation:float 8s ease-in-out 1s infinite;right:15%;top:60%}.feather-3{animation:float 7s ease-in-out 2s infinite;bottom:25%;left:20%}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes inputError{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.shake{animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-8px)}20%,40%,60%,80%{transform:translateX(8px)}}@keyframes float{0%,to{transform:translate(0) rotate(0deg)}33%{transform:translate(10px,-15px) rotate(120deg)}66%{transform:translate(-10px,-10px) rotate(240deg)}}@media screen and (max-width:768px){.password-content{padding:40px 30px}.lock-icon{height:55px;width:55px}.lock-icon svg{height:28px;width:28px}}@media screen and (max-width:480px){.password-container{padding:15px}.password-content{padding:40px 25px}.lock-icon{height:50px;width:50px}.lock-icon svg{height:25px;width:25px}.password-logo{gap:15px;margin-bottom:40px}.password-input{font-size:15px}.password-input,.password-submit{padding:14px 16px}}.password-input::selection{background:#ffffff4d;color:#fff}.password-input::-moz-selection{background:#ffffff4d;color:#fff}