body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8f9fa;background-attachment:fixed;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;min-height:100vh}body,html{overflow-x:hidden;width:100%}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.glass-panel{background:#ffffffb3;border:1px solid #fff9;border-radius:12px;box-shadow:0 8px 32px #0000000f}.glass-panel,.glass-panel-dark{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.glass-panel-dark{background:#3c465ae6;border:1px solid #ffffff1a;border-radius:12px;box-shadow:0 8px 32px #0000001a}.App{max-width:100%;position:relative;text-align:center;width:100%}.App:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)' opacity='.03'/%3E%3C/svg%3E");bottom:0;content:"";left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:-1}.App-light-background{background:radial-gradient(circle at 25% 25%,#ffffff1f 0,#0000 50%),radial-gradient(circle at 75% 75%,#ffffff14 0,#0000 50%),linear-gradient(135deg,#f8f9fa,#e9ecef 50%,#f1f3f4);background-position:0 0,100px 100px,50%;background-repeat:repeat,repeat,no-repeat;background-size:400px 400px,300px 300px,100% 100%}@media (max-width:1024px){.App{max-width:100vw;overflow-x:hidden;width:100vw}header button{font-size:13px!important;padding:6px 12px!important}header h1{font-size:26px!important}header h1 span:last-child{font-size:16px!important}}@media (max-width:480px){header h1{font-size:22px!important}header h1 span:last-child{display:none}header button{font-size:12px!important;padding:5px 10px!important}header button svg{margin-right:3px}}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.hover-link{opacity:.8;transition:opacity .2s ease,transform .2s ease}.hover-link:hover{opacity:1;transform:translateY(-1px)}.go-game-image{-webkit-font-smoothing:subpixel-antialiased;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0);transition:transform .3s ease,filter .3s ease;will-change:transform}.go-game-image:hover{filter:brightness(1.05);transform:scale(1.02)}.go-image-container{-webkit-backface-visibility:hidden;backface-visibility:hidden;cursor:pointer;perspective:1000px;position:relative;transform:translateZ(0);will-change:transform,box-shadow}.go-image-container:hover{box-shadow:0 15px 40px #00000026;transform:translateY(-3px)}.game-library{background-color:#fafafa;border-radius:8px;display:flex;flex-direction:column;height:100%;overflow:hidden;padding:20px}.game-library-header{border-bottom:1px solid #eaeaea;color:#333;margin:0 0 20px;padding-bottom:10px}.game-library-container{display:flex;height:calc(100% - 60px)}.game-library-sidebar{border-right:1px solid #eaeaea;height:100%;overflow:auto;padding-right:10px;width:280px}.game-library-content{flex:1 1;height:100%;overflow:hidden;padding-left:10px;scroll-margin-top:20px}.game-library-content,.game-list{display:flex;flex-direction:column}.game-list{gap:15px;max-height:600px;overflow-y:auto;padding:20px}.game-item{background-color:#f9f9f9;border:1px solid #eaeaea;border-radius:6px;cursor:pointer;padding:15px;transition:all .2s ease}.game-item:hover{background-color:#e3f2fd;border-color:#90caf9;box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.game-list-controls{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.sort-control label{margin-right:5px}.sort-control select{border-radius:4px;padding:6px 10px}.search-container{padding:6px 12px;width:250px}.search-container input{padding:0 10px;width:90%}.pagination{align-items:center;display:flex;gap:10px;justify-content:center;margin:20px 0 15px;text-align:center;width:100%}.pagination button{background-color:#fff;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;padding:6px 12px;transition:all .2s ease}.pagination button:hover:not(:disabled){background-color:#e3f2fd;border-color:#90caf9}.pagination button:disabled{cursor:not-allowed;opacity:.5}.games-per-page{align-items:center;display:flex;gap:5px;justify-content:center;margin-left:15px}.games-per-page-text{font-size:14px}.games-per-page select{background-color:#fff;border:1px solid #ddd;border-radius:4px;font-size:14px;padding:4px 8px}.category-buttons button{border:none;border-radius:4px;cursor:pointer;font-size:14px;padding:8px 12px}.category-buttons button.selected{background-color:#555!important;color:#fff}.category-buttons button:not(.selected){background-color:#f0f0f0;color:#333}@media (max-width:1024px){.game-library-container{flex-direction:column}.game-library-sidebar{margin-bottom:20px;max-width:100%;width:100%}.game-library-content{width:100%}.game-list{max-height:500px}}@media (max-width:768px){.game-library-container{flex-direction:column}.game-library-sidebar{margin-bottom:20px;max-width:100%;width:100%}.game-library-content{padding-left:0;width:100%}.game-list-controls{align-items:flex-start;flex-direction:column;gap:10px}.search-container,.sort-control,.sort-control select{width:100%}.game-list{max-height:400px;padding:15px}.game-item{padding:12px}.pagination{flex-wrap:wrap;justify-content:center}.games-per-page{justify-content:center;margin-left:0;margin-top:10px;width:100%}}@media (max-width:480px){.game-list{max-height:350px}.game-item,.game-list{padding:10px}.pagination{gap:5px}.pagination button{font-size:12px;padding:4px 8px}.games-per-page-text{display:none}}.go-board-container{aspect-ratio:1/1;margin:0 auto;max-width:100%;padding:20px;position:relative}.go-board{aspect-ratio:1/1;background-color:#e6c588;border-radius:8px;box-shadow:0 6px 12px #00000040,inset 0 -3px 6px #0000001a;transition:all .3s ease}.go-board text{pointer-events:none;-webkit-user-select:none;user-select:none}.go-board:before{background:linear-gradient(135deg,#987648,#6b4423);border-radius:10px;bottom:-2px;box-shadow:0 8px 20px #0006;content:"";left:-2px;position:absolute;right:-2px;top:-2px;z-index:-1}.go-board .stone-overlay:hover{cursor:pointer;opacity:.3}.go-board .captured-stone{opacity:.7;transition:all .3s ease}.kifu-fullscreen .go-board-container{height:calc(100vh - 120px);margin:0 auto;padding:0}.kifu-fullscreen .go-board{box-shadow:0 8px 24px #0000004d,inset 0 -4px 8px #00000026}@media (max-width:1024px){.kifu-reader-mobile.kifu-fullscreen .go-board-container{align-items:center;display:flex;height:min(96vw,calc(100vh - 120px));justify-content:center;left:50%;margin:0;padding:0;position:absolute;top:50%;transform:translate(-50%,-50%);width:min(96vw,calc(100vh - 120px))}.kifu-reader-mobile.kifu-fullscreen .go-board-wrapper{align-items:center;display:flex;height:100%;justify-content:center;margin:0 auto;min-height:0;min-height:auto;min-width:0;min-width:auto;width:100%}.kifu-reader-mobile.kifu-fullscreen .go-board{aspect-ratio:1/1;height:100%!important;max-height:100%;max-width:100%;width:100%!important}.go-board-container{padding:15px}}@media (max-width:768px){.go-board-container{padding:10px}.go-board{--cell-size:20px}.kifu-fullscreen .go-board-container{height:calc(100vh - 100px)}}@media (max-width:480px){.go-board-container{padding:5px}.go-board{--cell-size:15px}.kifu-fullscreen .go-board-container{height:calc(100vh - 90px)}.kifu-reader-mobile.kifu-fullscreen .go-board-container{align-items:center;display:flex;height:min(96vw,calc(100vh - 90px));justify-content:center;left:50%;margin:0;padding:0;position:absolute;top:50%;transform:translate(-50%,-50%);width:min(96vw,calc(100vh - 90px))}.kifu-reader-mobile.kifu-fullscreen .go-board{aspect-ratio:1/1;height:100%!important;width:100%!important}}@media (max-width:360px){.go-board-container{padding:3px}.go-board{--cell-size:13px}.kifu-fullscreen .go-board-container{height:calc(100vh - 80px)}.kifu-reader-mobile.kifu-fullscreen .go-board-container{align-items:center;display:flex;height:min(96vw,calc(100vh - 80px));justify-content:center;left:50%;margin:0;padding:0;position:absolute;top:50%;transform:translate(-50%,-50%);width:min(96vw,calc(100vh - 80px))}.kifu-reader-mobile.kifu-fullscreen .go-board{aspect-ratio:1/1;height:100%!important;width:100%!important}}@keyframes pulsate{0%{opacity:.7}50%{opacity:1}to{opacity:.7}}.latest-move-indicator{animation:pulsate 2s infinite}.go-board-wrapper{max-width:800px;min-height:300px;min-width:300px;width:100%}@media (max-width:768px){.go-board-wrapper{min-height:250px;min-width:250px}}@media (max-width:480px){.go-board-wrapper{min-height:200px;min-width:200px}}.joseki-label-group{cursor:pointer}.joseki-label-circle,.joseki-label-group{transform-origin:center;transition:all .3s cubic-bezier(.4,0,.2,1)}.joseki-label-text{font-weight:600;transition:all .3s ease}.joseki-label-group.recommended-label .joseki-label-circle{fill:#ffffffd9;stroke:#4caf50;stroke-width:2}.joseki-label-group.recommended-label:hover .joseki-label-circle{fill:#4caf5026;stroke:#388e3c;stroke-width:3}.joseki-label-group.regular-label .joseki-label-circle{fill:#fffc;stroke:#667eea;stroke-width:2}.joseki-label-group.regular-label:hover .joseki-label-circle{fill:#667eea1f;stroke:#5a67d8;stroke-width:3}.joseki-label-group.mistake-label .joseki-label-circle{fill:#ffffffd9;stroke:#f44336;stroke-width:2}.joseki-label-group.mistake-label:hover .joseki-label-circle{fill:#f443361f;stroke:#d32f2f;stroke-width:3}.joseki-label-group:active{opacity:.8}.joseki-label-group:active .joseki-label-circle{stroke-width:4}@media (max-width:768px){.joseki-label-group{transition:none}.joseki-label-group:hover{transform:none}.joseki-label-group:hover .joseki-label-circle{filter:none;transform:none}.joseki-label-group:hover .joseki-label-text{font-weight:600;text-shadow:none}.joseki-label-circle{fill:#ffffffbf!important}}@media (max-width:1024px) and (min-width:769px){.joseki-label-group:hover{transform:none}.joseki-label-group:hover .joseki-label-circle{filter:none;transform:none}.joseki-label-group:hover .joseki-label-text{font-weight:600;text-shadow:none}.joseki-label-circle{fill:#fffc!important}}@media (hover:none) and (pointer:coarse){.joseki-label-group:active{transform:none}.joseki-label-group:active .joseki-label-circle{filter:none;transform:none}.joseki-label-group{animation:none}}.joseki-label-group:focus{outline:none}@media (max-width:1024px){.joseki-label-group:focus{border-radius:none;outline:none}}@media (prefers-contrast:high){.joseki-label-circle{fill:#fffffff2!important;stroke-width:3!important}.joseki-label-group text{font-weight:700!important}}@media (prefers-reduced-motion:reduce){.joseki-label-circle,.joseki-label-group,.joseki-label-text{animation:none!important;transition:none!important}.joseki-label-group:hover{transform:none}.joseki-label-group:hover .joseki-label-circle{filter:none;transform:none}}@media (min-width:1025px) and (hover:hover) and (pointer:fine){.joseki-label-group:hover .joseki-label-circle{stroke-width:3;filter:drop-shadow(0 6px 12px rgba(0,0,0,.25))}.joseki-label-group:hover .joseki-label-text{font-weight:700;text-shadow:0 1px 2px #fffc}}.liberty-analysis{background:#fffffff2;border-radius:12px;box-shadow:0 4px 15px #0000001a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;margin:15px 0;padding:20px;transition:all .3s ease}.liberty-analysis:hover{box-shadow:0 6px 20px #00000026}.liberty-heading{align-items:center;border-bottom:1px solid #0000001a;color:#333;display:flex;font-size:18px;font-weight:600;gap:10px;margin-bottom:20px;padding-bottom:10px}.liberty-heading svg{opacity:.8}.chart-row{align-items:center;display:flex;margin-bottom:15px;padding:6px 0}.chart-label{color:#444;font-size:15px;font-weight:600;margin-right:15px;width:80px}.bar-container{background:#f0f0f0;border:1px solid #00000014;border-radius:4px;box-shadow:inset 0 1px 2px #0000001a;flex:1 1;height:24px;overflow:hidden;position:relative}.black-bar{background:#333;left:0}.black-bar,.white-bar{border-radius:0;height:100%;position:absolute;top:0;transition:width .5s ease}.white-bar{background:#f8f8f8;border-left:1px solid #0000001a;right:0}.stat-values{font-size:15px;font-weight:500;margin-left:15px;min-width:60px;text-align:right}.black-value{color:#000;font-weight:600}.white-value{color:#555}.advantage-value,.white-value{font-weight:600}.win-ratio{align-items:center;background:#f0f0f080;border-radius:8px;color:#444;display:flex;font-size:15px;font-weight:500;justify-content:center;margin-top:15px;padding:10px;text-align:center}.win-indicator{border-radius:50%;display:inline-block;height:10px;margin-right:8px;width:10px}.value-changed{animation:pulse .5s ease}.win-rate-chart{background:#1e1e32f2;border-radius:8px;box-shadow:0 2px 10px #0003;margin-top:15px;padding:15px;transition:all .3s ease}.win-rate-chart:hover{box-shadow:0 4px 15px #0000004d}.win-rate-chart.expanded{padding-bottom:20px}.chart-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.chart-title-container{align-items:center;display:flex;gap:10px}.chart-title{align-items:center;color:#fff;display:flex;font-size:16px;font-weight:700;gap:8px}@media (max-width:768px){.chart-title{max-width:60%}}.expand-button{background:none;border:none;border-radius:4px;color:#2196f3;cursor:pointer;font-size:14px;padding:4px 8px;transition:all .2s}.expand-button:hover{background:#2196f333}.analysis-mode-toggle{background:#14142880;border:1px solid #ffffff1a;border-radius:4px;display:flex;margin-left:15px;padding:2px;z-index:5}.mode-button{background:none;border:none;border-radius:3px;color:#ffffffb3;font-size:10px;padding:3px 6px;width:55px}.mode-button:hover{background:#ffffff1a;color:#fff}.mode-button.active{background:#2196f399;font-weight:500}.current-win-rate{display:flex;gap:15px}.win-rate-indicator{align-items:center;background-color:#0000004d;border-radius:6px;color:#fff;display:flex;font-size:16px;font-weight:600;gap:5px;padding:6px 10px;transition:background-color .3s ease}.win-rate-indicator.win-rate-updating{animation:pulse-bg .5s ease}.black-indicator{background:#333;border-radius:50%;box-shadow:0 0 2px #ffffff80}.black-indicator,.white-indicator{align-items:center;display:flex;height:14px;justify-content:center;width:14px}.white-indicator{background:#fff;border:1px solid #ddd;border-radius:50%;box-shadow:0 0 2px #00000080}.chart-container{background:#1a1a2e;border-radius:4px;box-shadow:inset 0 1px 3px #0000004d;height:150px;overflow:hidden;position:relative;transition:height .3s ease}.chart-container.expanded{height:300px}.win-rate-canvas{display:block;height:100%;width:100%}.move-marker{background:#f33;position:absolute;width:2px}.move-marker.black{height:10px;top:0}.move-marker.white{bottom:0;height:10px}.current-move-indicator{background:#2196f3;height:100%;position:absolute;width:2px}.loading-overlay{align-items:center;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#1a1a2eb3;display:flex;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%;z-index:10}.loading-spinner{animation:spin 1s ease-in-out infinite;border:4px solid #ffffff4d;border-top-color:#2196f3;height:40px;width:40px}@media (max-width:768px){.chart-header{align-items:flex-start;flex-direction:column;gap:10px;position:relative}.current-win-rate{margin-top:5px;width:100%}.chart-container{height:120px}.chart-container.expanded{height:200px}.analysis-mode-toggle{background:#1e1e32f2;border-radius:3px;box-shadow:0 1px 3px #0000004d;margin-left:0;margin-top:0;position:absolute;right:10px;top:15px;transform:scale(.8)}.mode-button{font-size:9px;min-width:35px;padding:2px 4px;width:45px}}@keyframes flash{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}@keyframes pulse-bg{0%{background-color:#2196f34d}50%{background-color:#2196f380}to{background-color:initial}}.win-rate-updating{animation:flash .8s ease}.kifu-reader{font-family:inherit}.error{align-items:center;background-color:#fdedeb;border-radius:6px;color:#e74c3c;display:flex;font-size:14px;gap:10px;margin-bottom:20px;padding:12px 15px}.test-mode-indicator{align-self:center;background-color:#e8f5e9;border:1px solid #4caf50;border-radius:6px;display:flex;flex-direction:column;gap:8px;margin:12px 0;max-width:300px;padding:12px;width:100%}.go-board-wrapper .test-mode-indicator{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#e8f5e9e6;border-radius:6px;bottom:60px;box-shadow:0 2px 6px #0000001a;margin:0;padding:8px 12px;position:absolute;right:10px;width:auto;z-index:10}.test-mode-label{align-items:center;color:#2e7d32;display:flex;font-weight:600;gap:8px}.test-mode-label:before{background-color:#4caf50;border-radius:50%;content:"";display:inline-block;height:10px;width:10px}.next-move{align-items:center;color:#333;display:flex;font-size:14px;gap:10px}.stone-indicator{border-radius:50%;box-shadow:0 2px 4px #0003;height:18px;position:relative;width:18px}.stone-indicator.black{background:radial-gradient(circle at 35% 35%,#555,#222 60%,#000);border:1px solid #111}.stone-indicator.black:after{background-color:#ffffff4d;border-radius:50%;content:"";height:5px;left:3px;position:absolute;top:3px;width:5px}.stone-indicator.white{background:radial-gradient(circle at 35% 35%,#fff,#f0f0f0 60%,#ddd);border:1px solid #ccc}.stone-indicator.white:after{background-color:#fffc;border-radius:50%;content:"";height:5px;left:3px;position:absolute;top:3px;width:5px}.kifu-content{gap:20px}.board-container,.kifu-content{display:flex;flex-direction:column}.board-container{background-color:#f9f9f980;border-radius:8px;box-shadow:0 1px 4px #0000001a;gap:15px;padding:20px}.go-board-container{align-items:center;display:flex;justify-content:center;order:1;overflow:auto;width:100%}.controls-container{display:flex;flex-direction:column;gap:20px;width:100%}.game-info{box-shadow:0 1px 4px #0000001a;margin-bottom:20px;overflow:hidden}.game-info-header{border-bottom:1px solid #eee;display:flex;justify-content:space-between}.game-info-player{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;min-height:80px;padding:12px 15px;text-align:center}.game-info-player:first-child{border-right:1px solid #eee}.stone-icon{border-radius:50%;box-shadow:0 2px 4px #0003;height:24px;margin-bottom:8px;overflow:hidden;position:relative;width:24px}.stone-icon.black{background:radial-gradient(circle at 35% 35%,#555,#222 60%,#000);border:1px solid #111}.stone-icon.black:after{background-color:#fff3;border-radius:50%;content:"";height:8px;left:4px;position:absolute;top:4px;width:8px}.stone-icon.white{background:radial-gradient(circle at 35% 35%,#fff,#f0f0f0 60%,#ddd);border:1px solid #ccc}.stone-icon.white:after{background-color:#fff9;border-radius:50%;content:"";height:8px;left:4px;position:absolute;top:4px;width:8px}.game-info-player-name{align-items:center;display:flex;flex-direction:column;font-size:15px;gap:6px;width:100%}.game-info-player-name .player-name{color:#333;font-weight:500;max-width:100%;overflow:hidden;padding:0 10px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.game-info-player-captures{color:#666;font-size:13px;margin-top:5px;text-align:center}.game-info-details{background-color:#f9f9f9;display:flex;flex-wrap:wrap;font-size:14px;gap:10px;padding:10px 15px}.game-info-detail{background-color:#eee;border-radius:4px;color:#444;display:inline-block;padding:3px 8px;white-space:nowrap}.game-info-comment{background-color:#fff8e1;border-top:1px solid #ffe0b2;color:#555;font-size:14px;line-height:1.5;margin-top:10px;padding:10px 15px}.game-info-comment-title{color:#795548;font-weight:500;margin-bottom:5px}.navigation-container{background-color:#fff;border-radius:8px;box-shadow:0 1px 4px #0000001a;padding:15px}.move-slider{align-items:center;display:flex;gap:15px;justify-content:center;margin-bottom:15px;width:100%}.move-button{padding:12px}.autoplay-button,.move-button{align-items:center;background-color:#f0f0f0;border:none;border-radius:6px;box-shadow:0 1px 3px #0000001a;cursor:pointer;display:flex;justify-content:center}.autoplay-button{color:#333;font-size:16px;font-weight:500;gap:8px;padding:12px 16px}.autoplay-button.active{background-color:#4caf50;color:#fff}.move-range{-webkit-appearance:none;appearance:none;background-color:#e0e0e0;border-radius:6px;cursor:pointer;height:12px;outline:none;width:100%}.move-range-info{color:#333;display:flex;font-size:16px;font-weight:500;gap:25px;justify-content:center;margin-top:10px}@media (min-width:1025px){.kifu-content{align-items:flex-start;flex-direction:row}.board-container{flex:3 1}.controls-container{flex:2 1;position:-webkit-sticky;position:sticky;top:20px}}@media (max-width:1024px){.kifu-content{flex-direction:column;gap:15px}.board-container{min-width:0;order:1;padding:20px;width:100%}.controls-container{min-width:0;order:2;width:100%}.game-info-header{flex-direction:column}.game-info-player:first-child{border-bottom:1px solid #eee;border-right:none}.game-info-player{align-items:center;flex-direction:row;gap:15px;text-align:left}.stone-icon{margin-bottom:0}.game-info-player-name{align-items:flex-start;flex:1 1}.game-info-player-name .player-name{max-width:100%;padding:0;text-align:left}.game-info-player-captures{text-align:left}.game-info-details{justify-content:space-between}.navigation-container{padding:15px}.move-slider{gap:10px;justify-content:center}.autoplay-button,.move-button{padding:10px}}@media (max-width:768px){.board-container{padding:10px}}@media (max-width:480px){.board-container{padding:15px}.game-info{padding:12px}.game-info-player{padding:10px}.game-info-player-name .player-name{margin-bottom:2px}.game-info-details{align-items:flex-start;flex-direction:column;gap:5px}.game-info-detail{width:100%}.navigation-container{padding:12px}.autoplay-button,.move-button{font-size:14px;padding:8px}.move-range-info{font-size:14px;gap:15px}.game-info-player-name .player-name{max-width:100%}}@media (max-width:360px){.board-container,.game-info,.navigation-container{padding:10px}.game-info-header{flex-direction:column;gap:10px;margin-bottom:10px;padding-bottom:10px}.game-info-player{gap:10px;padding:8px}.stone-icon{height:20px;width:20px}.game-info-player-name .player-name{font-size:14px}.game-info-details,.game-info-player-captures{font-size:12px}.game-info-detail{padding:6px 8px}.move-slider{gap:5px}.autoplay-button,.move-button{font-size:12px;padding:6px}.move-range-info{font-size:12px;gap:10px}}.kifu-reader-mobile .board-container{display:flex;flex-direction:column;margin-bottom:10px}.kifu-reader-mobile .game-info-header{flex-direction:column;gap:10px}.kifu-reader-mobile .game-info-player{width:100%}.kifu-reader-mobile .move-slider{flex-wrap:wrap;justify-content:center}.kifu-reader-mobile .move-range-info{justify-content:space-between;width:100%}.kifu-reader-mobile .autoplay-button{flex:1 1;min-width:80px}@media (max-width:360px){.kifu-reader-mobile .game-info-detail:nth-child(2){display:none}.kifu-reader-mobile .game-info-comment{max-height:120px;overflow-y:auto}}.mobile-navigation{background-color:#fff;border-radius:8px;box-shadow:0 1px 4px #0000001a;margin-bottom:15px;margin-top:10px;order:2;padding:12px;width:100%}.kifu-reader-mobile .board-container .go-board-container{order:1}.kifu-reader-mobile .mobile-navigation{order:2}.kifu-reader-mobile .board-container .liberty-analysis{order:3}.kifu-reader-mobile .board-container .win-rate-chart{order:4}.kifu-reader-mobile .mobile-navigation .move-slider{flex-wrap:wrap;gap:8px;margin-bottom:10px}.kifu-reader-mobile .mobile-navigation .move-button{min-width:40px;padding:8px}.kifu-reader-mobile .mobile-navigation .autoplay-button{flex:1 1;min-width:80px;padding:8px 12px}.kifu-reader-mobile .mobile-navigation .move-range{height:10px;margin:5px 0}.kifu-reader-mobile .mobile-navigation .move-range-info{font-size:14px;margin-top:5px}@media (max-width:360px){.kifu-reader-mobile .mobile-navigation{padding:8px}.kifu-reader-mobile .mobile-navigation .move-slider{gap:4px}.kifu-reader-mobile .mobile-navigation .autoplay-button,.kifu-reader-mobile .mobile-navigation .move-button{font-size:12px;padding:6px}}.liberty-analysis{order:3}.win-rate-chart{order:4}.ko-explanation{background-color:#ff45000d;border:1px dashed #ff4500;border-radius:4px;margin-top:8px;padding:8px}.ko-alert{color:#ff4500;display:block;font-weight:700;margin-bottom:4px}.ko-explanation p{color:#333;font-size:.9em;margin:0}.fullscreen-toggle{align-items:center;background-color:#ffffffe6;border:1px solid #ddd;border-radius:4px;box-shadow:0 1px 3px #0000001a;color:#333;cursor:pointer;display:flex;font-size:14px;justify-content:center;padding:6px 10px;transition:all .2s ease}.fullscreen-toggle:hover{background-color:#f0f0f0}.kifu-fullscreen .board-container{background-color:#f9f9f9;bottom:0;display:flex;flex-direction:column;left:0;margin:0;max-height:100vh;overflow:auto;padding:20px 20px 80px;position:fixed;right:0;top:0;z-index:9999}.kifu-fullscreen .go-board-container{align-items:center;display:flex;flex:1 1;justify-content:center;min-height:80vh}.kifu-fullscreen .mobile-navigation{background-color:#fffffff2;border-radius:12px 12px 0 0;border-top:1px solid #ddd;bottom:0;left:0;margin:0;padding:15px 15px 20px;position:fixed;right:0;z-index:10000}.hidden-on-fullscreen{display:none!important}.kifu-fullscreen .go-board{transform:scale(1.5);transform-origin:center center;transition:transform .3s ease}@media (max-width:1366px){.kifu-fullscreen .go-board{transform:scale(1.3)}}@media (max-width:1024px){.kifu-fullscreen .go-board{transform:scale(1.2)}.kifu-reader-mobile.kifu-fullscreen .go-board{transform:none}}@media (max-width:480px){.kifu-fullscreen .go-board{transform:scale(1.1)}.kifu-reader-mobile.kifu-fullscreen .go-board{transform:none}.fullscreen-toggle{font-size:12px;padding:5px 8px}}@media (max-width:360px){.kifu-fullscreen .go-board{transform:scale(1)}.kifu-reader-mobile.kifu-fullscreen .go-board{transform:none}}.fullscreen-controls{display:flex;flex-wrap:wrap;gap:8px;left:10px;position:absolute;right:10px;top:10px;z-index:10001}.engine-settings-button{align-items:center;background-color:#ffffffe6;border:1px solid #ddd;border-radius:4px;box-shadow:0 1px 3px #0000001a;color:#333;cursor:pointer;display:flex;font-size:14px;justify-content:center;padding:6px 10px;transition:all .2s ease}.engine-settings-button:hover{background-color:#f0f0f0}.fullscreen-mode-button{align-items:center;background-color:#ffffffe6;border:1px solid #ddd;border-radius:4px;box-shadow:0 1px 3px #0000001a;color:#333;cursor:pointer;display:flex;font-size:14px;justify-content:center;padding:6px 10px;transition:all .2s ease;white-space:nowrap}.fullscreen-mode-button:hover{background-color:#f0f0f0}.fullscreen-mode-button.active{background-color:#4a6fa5;border-color:#385d8a;color:#fff}.fullscreen-mode-button:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.fullscreen-mode-button{font-size:12px;padding:5px 8px}}@media (max-width:480px){.fullscreen-mode-button{font-size:11px;padding:4px 6px}}.engine-settings-panel{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #0003;left:10px;max-width:90vw;overflow:hidden;position:absolute;top:50px;width:280px;z-index:10001}.engine-settings-header{align-items:center;background-color:#f5f5f5;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:12px 15px}.engine-settings-header h3{color:#333;font-size:16px;font-weight:500;margin:0}.close-settings{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:20px;height:24px;justify-content:center;padding:0;width:24px}.close-settings:hover{background-color:#0000000d;color:#333}.engine-settings-content{padding:15px}.settings-group{margin-bottom:20px}.settings-group:last-child{margin-bottom:0}.settings-label{align-items:center;color:#333;cursor:pointer;display:flex;font-size:14px;gap:8px;margin-bottom:12px}.settings-label:last-of-type{margin-bottom:0}.settings-slider{-webkit-appearance:none;appearance:none;background-color:#e0e0e0;border-radius:5px;cursor:pointer;height:10px;margin:10px 0;outline:none;width:100%}.slider-labels{color:#666;display:flex;font-size:12px;justify-content:space-between}.theme-selector{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr;margin-top:8px}.theme-option{background-color:#f5f5f5;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:13px;padding:8px;transition:all .2s ease}.theme-option:hover{background-color:#e8e8e8}.theme-option.active{background-color:#4285f4;border-color:#2c6cd9;color:#fff}@media (max-width:1024px){.fullscreen-controls{gap:6px;left:8px;top:8px}.engine-settings-button{font-size:12px;padding:5px 8px}.engine-settings-panel{left:8px;top:40px;width:260px}.fullscreen-mode-button{font-size:12px;padding:5px 8px}}@media (max-width:480px){.fullscreen-controls{gap:5px;left:5px;top:5px}.engine-settings-button{font-size:11px}.engine-settings-panel{left:5px;top:35px;width:240px}.engine-settings-header h3{font-size:14px}.settings-label,.theme-option{font-size:12px}}.go-board-wrapper{margin:0 auto;position:relative;transition:all .3s ease}.mobile-test-mode-toggle{background-color:#fff;border-radius:8px;box-shadow:0 1px 4px #0000001a;display:flex;margin-bottom:12px;padding:12px}.fullscreen-controls .test-mode-button{align-items:center;background-color:#ffffffe6;border:1px solid #ddd;border-radius:4px;box-shadow:0 1px 3px #0000001a;color:#333;cursor:pointer;display:flex;font-size:14px;justify-content:center;padding:6px 10px;transition:all .2s ease}.fullscreen-controls .test-mode-button:hover{background-color:#f0f0f0}.fullscreen-controls .test-mode-button.active{background-color:#4caf50;border-color:#2e7d32;color:#fff}@media (max-width:480px){.fullscreen-controls .test-mode-button{font-size:12px;padding:5px 8px}}.buttons-row.mode-buttons{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:12px}.mode-button{background-color:#f0f0f0;border:2px solid #ccc;border-radius:6px;box-shadow:0 2px 4px #0000001a;color:#444;cursor:pointer;font-size:15px;font-weight:500;min-width:140px;padding:10px 16px;transition:all .2s ease}.mode-button.active{background-color:#4a6fa5;border-color:#385d8a;box-shadow:0 2px 8px #0003;color:#fff}.mode-button:hover:not(:disabled){background-color:#e0e0e0;box-shadow:0 3px 6px #00000026;transform:translateY(-1px)}.mode-button.active:hover:not(:disabled){background-color:#385d8a}.mode-button:disabled{cursor:not-allowed;opacity:.5}.highlighted-move{animation:pulse 1.5s infinite}@keyframes pulse{0%{opacity:.4}50%{opacity:.8}to{opacity:.4}}.dual-mode-indicator{background:linear-gradient(135deg,#4a6fa51a,#4caf501a);border:2px solid;border-image:linear-gradient(135deg,#4a6fa5,#4caf50) 1;border-radius:6px;box-shadow:0 2px 6px #00000014;margin:10px 0;padding:8px 12px;text-align:center}.dual-mode-text{align-items:center;display:flex;font-size:16px;font-weight:600;gap:8px;justify-content:center}.practice-mode-text{color:#4a6fa5}.test-mode-text{color:#4caf50}.dual-mode-hint{color:#666;font-size:14px;margin-top:5px}.settings-mode-buttons{display:flex;gap:10px;margin-bottom:15px;width:100%}.settings-mode-button{background-color:#f0f0f0;border:1px solid #ddd;border-radius:6px;color:#333;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:8px 12px;transition:all .2s ease}.settings-mode-button:hover:not(:disabled){background-color:#e0e0e0}.settings-mode-button.active{background-color:#4caf50;border-color:#388e3c;color:#fff}.settings-mode-button.active:hover:not(:disabled){background-color:#388e3c}.settings-mode-button:disabled{cursor:not-allowed;opacity:.5}@media (max-width:480px){.settings-mode-buttons{flex-direction:column}}.game-viewer{align-items:center;animation:fadeIn .3s ease-in-out;background-color:#000000d9;bottom:0;box-sizing:border-box;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;transition:all .3s ease;z-index:1000}.game-viewer.fullscreen{padding:0}.game-viewer.fullscreen .game-viewer-modal{border-radius:0;height:100%;max-height:none;max-width:none;width:100%}.game-viewer-modal{background-color:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;box-sizing:border-box;max-height:90vh;max-width:1250px;overflow:auto;padding:25px;position:relative;transition:all .3s ease;width:90%}.game-viewer-actions{display:flex;gap:10px;position:absolute;right:15px;top:15px;z-index:10}.game-viewer-close,.game-viewer-fullscreen{align-items:center;background:#ffffffe6;border:none;border-radius:50%;box-shadow:0 2px 10px #0000001a;color:#333;cursor:pointer;display:flex;font-size:24px;height:40px;justify-content:center;transition:all .2s ease;width:40px}.game-viewer-close:hover,.game-viewer-fullscreen:hover{background-color:#f0f0f0;transform:scale(1.05)}.game-viewer-close{font-size:28px}.game-viewer-header{align-items:center;color:#2a3f6a;display:flex;flex-wrap:wrap;font-size:24px;font-weight:600;gap:10px;margin-bottom:20px;margin-top:0}.header-tip{color:#777;font-size:14px;font-weight:400;opacity:.8}.game-viewer-loading{align-items:center;display:flex;flex-direction:column;height:400px;justify-content:center}.loading-spinner{animation:spin 1s linear infinite;border:5px solid #0000001a;border-radius:50%;border-top-color:#2a3f6a;height:50px;margin-bottom:20px;width:50px}.game-viewer-loading p{color:#555;font-size:16px}.game-viewer-content{display:flex;flex:1 1;gap:20px}.game-viewer-board{flex:1 1;min-width:0}.game-viewer-controls{display:flex;flex-direction:column;gap:20px;width:300px}.game-controls,.game-info{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:15px}@media (max-width:1024px){.game-viewer{padding:15px}.game-viewer-modal{padding:20px}.game-viewer-content{flex-direction:column;gap:15px}.game-viewer-board{display:flex;justify-content:center;order:1;width:100%}.game-viewer-controls{order:2;width:100%}.game-controls,.game-info{padding:12px}.game-viewer-header{justify-content:center;text-align:center}}@media (max-width:768px){.game-viewer{padding:10px}.game-viewer-modal{max-height:95vh;padding:15px;width:95%}.game-viewer-content{flex-direction:column;gap:15px}.game-viewer-board{display:flex;justify-content:center;order:1;width:100%}.game-viewer-controls{order:2;width:100%}.game-controls,.game-info{padding:12px}.game-viewer-header{justify-content:center;text-align:center}}@media (max-width:480px){.game-viewer{padding:8px}.game-viewer-modal{max-height:98vh;padding:12px;width:98%}.game-viewer-header{font-size:18px;margin-bottom:10px}.game-viewer-content{gap:10px}.game-controls,.game-info{padding:10px}.game-viewer-actions{gap:5px}.game-viewer-close,.game-viewer-fullscreen{font-size:20px;height:32px;width:32px}}@media (max-width:360px){.game-viewer{padding:5px}.game-viewer-modal{max-height:99vh;padding:10px;width:99%}.game-viewer-content{gap:8px}.game-controls,.game-info{padding:8px}.game-viewer-actions{gap:3px}.game-viewer-close,.game-viewer-fullscreen{font-size:18px;height:28px;width:28px}.game-viewer-header{font-size:16px;margin-bottom:8px}}.game-viewer-close{background:#fffffff2;color:#d32f2f;font-size:32px}.game-viewer-close:hover{background-color:#ffebee;color:#b71c1c;transform:scale(1.05)}.game-viewer .go-board-wrapper{align-items:center;display:flex;justify-content:center;width:100%}.game-viewer .go-board,.game-viewer.fullscreen .go-board{height:95%!important;max-height:95%;max-width:95%;width:95%!important}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.music-player-panel{animation:fadeIn .3s ease}.music-player-button{transition:all .2s ease}.music-player-button:hover{box-shadow:0 4px 12px #00000040;transform:scale(1.05)}input[type=range]{-webkit-appearance:none;background:#e0e0e0;border-radius:3px;height:6px;outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:#3a3a3a;border:none;border-radius:50%;cursor:pointer;height:16px;width:16px}input[type=range]::-moz-range-thumb{background:#3a3a3a;border:none;border-radius:50%;cursor:pointer;height:16px;width:16px}.music-playlist-item{transition:all .2s ease}.music-playlist-item:hover{background-color:#f0f0f0!important}@media (max-width:768px){.music-player-panel{width:250px!important}.music-player-button{height:45px!important;width:45px!important}}@media (max-width:480px){.music-player-panel{padding:12px!important;width:220px!important}.music-player-button{height:40px!important;width:40px!important}}.book-library{background-color:#ffffffe6;border-radius:12px;box-shadow:0 4px 20px #0000001a;margin:0 auto;max-width:1200px;padding:20px;width:100%}.book-library-header{margin-bottom:30px;text-align:center}.book-library-header h2{color:#283246;font-size:28px;margin-bottom:8px}.book-library-header p{color:#666;font-size:16px}.book-controls{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin-bottom:30px}.search-container{align-items:center;background-color:#fff;border:1px solid #e0e0e0;border-radius:6px;display:flex;padding:8px 12px;transition:all .2s ease;width:300px}.search-container:focus-within{border-color:#90caf9;box-shadow:0 0 0 2px #90caf933}.search-container svg{color:#777;margin-right:8px}.search-container input{background-color:initial;border:none;color:#333;font-size:14px;outline:none;padding:0;width:100%}.search-container input::placeholder{color:#999}.sort-control{align-items:center;display:flex;gap:8px}.sort-control label{color:#555;font-size:14px;white-space:nowrap}.sort-control select{background-color:#fff;border:1px solid #e0e0e0;border-radius:6px;color:#333;cursor:pointer;font-size:14px;min-width:150px;outline:none;padding:8px 12px;transition:all .2s ease}.sort-control select:focus{border-color:#90caf9;box-shadow:0 0 0 2px #90caf933}.book-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.book-card{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #00000014;border-radius:10px;box-shadow:0 2px 10px #0000000d;cursor:pointer;display:flex;flex-direction:column;padding:20px;transition:all .3s ease}.book-card:hover{background:linear-gradient(135deg,#fff,#f0f4ff);border-color:#465a9633;box-shadow:0 10px 20px #0000001a;transform:translateY(-5px)}.book-icon{align-items:center;background-color:#465a961a;border-radius:50%;color:#283246;display:flex;height:80px;justify-content:center;margin-bottom:16px;padding:15px;width:80px}.book-icon svg{height:100%;width:100%}.book-info{text-align:center;width:100%}.book-info h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#283246;display:-webkit-box;font-size:18px;font-weight:600;margin-bottom:8px;overflow:hidden;text-overflow:ellipsis}.book-size{color:#666;font-size:14px;margin:0 0 4px}.book-date{color:#888;font-size:12px;font-style:italic;margin:0 0 2px}.book-loading{align-items:center;display:flex;flex-direction:column;height:300px;justify-content:center}.book-loading-spinner{animation:spin 1s linear infinite;border:5px solid #465a961a;border-radius:50%;border-top-color:#465a96cc;height:50px;margin-bottom:20px;width:50px}@media (max-width:768px){.book-controls{align-items:stretch;flex-direction:column;gap:15px}.search-container,.sort-control{width:100%}.sort-control select{flex:1 1}.book-grid{gap:16px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.book-card{padding:16px}.book-icon{height:60px;width:60px}.book-info h3{font-size:16px}}@media (max-width:480px){.book-grid{grid-template-columns:1fr}.book-library-header h2{font-size:24px}}:root{--react-pdf-text-layer:1;--highlight-bg-color:#b400aa;--highlight-selected-bg-color:#006400}@media screen and (forced-colors:active){:root{--highlight-bg-color:Highlight;--highlight-selected-bg-color:ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translateX(-100%)}.textLayer{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;inset:0;line-height:1;overflow:hidden;position:absolute;text-align:left;text-align:initial;transform-origin:0 0;z-index:2}.textLayer :is(span,br){color:#0000;cursor:text;margin:0;position:absolute;transform-origin:0 0;white-space:pre}.textLayer span.markedContent{height:0;top:0}.textLayer .highlight{background-color:#b400aa;background-color:var(--highlight-bg-color);border-radius:4px;margin:-1px;padding:1px}.textLayer .highlight.appended{position:static}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:#006400;background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:#0000}.textLayer .endOfContent{cursor:default;display:block;inset:100% 0 0;position:absolute;-webkit-user-select:none;user-select:none;z-index:-1}.textLayer .endOfContent.active{top:0}:root{--react-pdf-annotation-layer:1;--annotation-unfocused-field-background:url('data:image/svg+xml;charset=utf-8,<svg width="1" height="1" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" style="fill:rgba(0,54,255,.13)"/></svg>');--input-focus-border-color:Highlight;--input-focus-outline:1px solid Canvas;--input-unfocused-border-color:#0000;--input-disabled-border-color:#0000;--input-hover-border-color:#000;--link-outline:none}@media screen and (forced-colors:active){:root{--input-focus-border-color:CanvasText;--input-unfocused-border-color:ActiveText;--input-disabled-border-color:GrayText;--input-hover-border-color:Highlight;--link-outline:1.5px solid LinkText}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .textWidgetAnnotation :is(input,textarea):required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{left:0;pointer-events:none;position:absolute;top:0;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translateX(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{height:100%;position:absolute;width:100%}.annotationLayer section{box-sizing:border-box;margin:0;pointer-events:auto;position:absolute;text-align:left;text-align:initial;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:none;outline:var(--link-outline)}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{font-size:1em;height:100%;left:0;position:absolute;top:0;width:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{background:#ff0;box-shadow:0 2px 10px #ff0;opacity:.2}.annotationLayer .textAnnotation img{cursor:pointer;height:100%;left:0;position:absolute;top:0;width:100%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input,.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .textWidgetAnnotation :is(input,textarea){background-image:url('data:image/svg+xml;charset=utf-8,<svg width="1" height="1" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" style="fill:rgba(0,54,255,.13)"/></svg>');background-image:var(--annotation-unfocused-field-background);border:2px solid #0000;border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px*var(--scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .textWidgetAnnotation :is(input,textarea):required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled]{background:none;border:2px solid #0000;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .textWidgetAnnotation :is(input,textarea):hover{border:2px solid #000;border:2px solid var(--input-hover-border-color)}.annotationLayer .buttonWidgetAnnotation.checkBox input:hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .textWidgetAnnotation :is(input,textarea):hover{border-radius:2px}.annotationLayer .choiceWidgetAnnotation select:focus,.annotationLayer .textWidgetAnnotation :is(input,textarea):focus{background:none;border:2px solid Highlight;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:1px solid Canvas;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-color:initial;background-image:none}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid Highlight;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:1px solid Canvas;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid Highlight;border:2px solid var(--input-focus-border-color);outline:1px solid Canvas;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{-webkit-appearance:none;appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{font-size:calc(9px*var(--scale-factor));min-width:calc(180px*var(--scale-factor));pointer-events:none;position:absolute;width:100%}.annotationLayer .popup{word-wrap:break-word;background-color:#ff9;border-radius:calc(2px*var(--scale-factor));box-shadow:0 calc(2px*var(--scale-factor)) calc(5px*var(--scale-factor)) #888;cursor:pointer;font:message-box;margin-left:calc(5px*var(--scale-factor));max-width:calc(180px*var(--scale-factor));padding:calc(6px*var(--scale-factor));pointer-events:auto;position:absolute;white-space:normal}.annotationLayer .popup>*{font-size:calc(9px*var(--scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px*var(--scale-factor))}.annotationLayer .popupContent{border-top:1px solid #333;margin-top:calc(2px*var(--scale-factor));padding-top:calc(2px*var(--scale-factor))}.annotationLayer .richText>*{font-size:calc(9px*var(--scale-factor));white-space:pre-wrap}.annotationLayer .caretAnnotation,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .fileAttachmentAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .highlightAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .lineAnnotation svg line,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .squareAnnotation svg rect,.annotationLayer .squigglyAnnotation,.annotationLayer .stampAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .underlineAnnotation{cursor:pointer}.annotationLayer section svg{height:100%;left:0;position:absolute;top:0;width:100%}.annotationLayer .annotationTextContent{color:#0000;height:100%;opacity:0;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;width:100%}.annotationLayer .annotationTextContent span{display:inline-block;width:100%}.pdf-viewer-overlay{align-items:center;background-color:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;transition:all .3s ease;z-index:1000}.pdf-viewer-overlay.fullscreen{background-color:#000;padding:0}.pdf-viewer-container{background-color:#fff;border-radius:8px;box-shadow:0 10px 30px #0000004d;display:flex;flex-direction:column;height:90vh;max-width:1200px;overflow:hidden;width:90%}.fullscreen .pdf-viewer-container{border-radius:0;height:100vh;max-width:none;width:100%}.pdf-viewer-header{align-items:center;background-color:#f8f9fa;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:15px 20px}.pdf-viewer-header h2{color:#333;font-size:18px;font-weight:500;margin:0;max-width:80%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-header-controls{align-items:center;display:flex;gap:10px}.header-button{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:20px;height:40px;justify-content:center;transition:background-color .3s;width:40px}.header-button:hover{background-color:#0000001a;color:#333}.close-button{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:24px;height:40px;justify-content:center;transition:background-color .3s;width:40px}.close-button:hover{background-color:#0000001a;color:#333}.pdf-document-container{background-color:#f0f0f0;flex:1 1;overflow:hidden}.pdf-controls,.pdf-document-container{align-items:center;display:flex;justify-content:center;position:relative}.pdf-controls{background-color:#f8f9fa;border-top:1px solid #eee;gap:10px;padding:15px 20px}.pdf-nav-button{background-color:#283246;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:8px 15px;transition:background-color .3s}.pdf-nav-button:hover:not(:disabled){background-color:#364c70}.pdf-nav-button:disabled{background-color:#ccc;cursor:not-allowed}.pdf-page-info{color:#666;font-size:14px;left:20px;position:absolute}.pdf-mobile-controls{align-items:center;display:flex;gap:15px}.pdf-nav-buttons{display:flex;gap:10px}.go-to-page-form{align-items:center;display:flex;gap:5px}.page-input{border:1px solid #ccc;border-radius:4px;font-size:14px;padding:6px 8px;width:80px}.go-button{background-color:#283246;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:6px 10px;transition:background-color .3s}.go-button:hover{background-color:#364c70}.pdf-loading{align-items:center;background-color:#fffc;display:flex;flex-direction:column;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%;z-index:10}.pdf-loading-spinner{animation:spin 1s linear infinite;border:4px solid #0000001a;border-radius:50%;border-top-color:#283246;height:40px;margin-bottom:15px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.pdf-error{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;padding:20px}.pdf-spread{height:100%;position:relative;transform-origin:center;width:100%;will-change:transform,opacity}.pdf-page,.pdf-spread{align-items:center;display:flex;justify-content:center;transition:transform .5s}.pdf-page{padding:20px}.left-page,.right-page{align-items:center;display:flex;flex:1 1;justify-content:center;padding:20px}.left-page{border-right:1px solid #ddd}@media (max-width:768px){.pdf-viewer-overlay{padding:0}.pdf-viewer-container{border-radius:0;height:100vh;max-width:none;width:100%}.pdf-viewer-header{padding:10px 15px}.pdf-viewer-header h2{font-size:16px}.pdf-header-controls{gap:5px}.pdf-controls{align-items:stretch;background-color:#f8f9faf2;flex-direction:column;justify-content:flex-start;padding:10px}.pdf-page-info{left:auto;margin-bottom:10px;position:static;text-align:center}.pdf-mobile-controls{display:flex;flex-direction:column;gap:10px;width:100%}.pdf-nav-buttons{display:flex;gap:8px;width:100%}.pdf-nav-button{align-items:center;display:flex;flex:1 1;font-size:16px;justify-content:center;min-height:44px}.go-to-page-form{display:flex;gap:8px;margin-bottom:5px;width:100%}.page-input{flex:1 1;min-width:0;padding:8px}.go-button,.page-input{font-size:16px;height:36px}.go-button{min-width:60px}.close-button,.header-button{height:44px;width:44px}.zoom-controls{bottom:70px;right:10px}.zoom-button{font-size:20px;height:44px;width:44px}}.zoom-controls{background-color:#fffc;border-radius:4px;bottom:20px;box-shadow:0 2px 5px #0003;display:flex;gap:5px;padding:5px;position:absolute;right:20px;z-index:20}.zoom-button{align-items:center;background-color:#283246;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:16px;height:30px;justify-content:center;transition:background-color .3s;width:30px}.zoom-button:hover{background-color:#364c70}.joseki-learning{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);background-color:#ffffffe6;border-radius:12px;box-shadow:0 4px 20px #0000001a;display:flex;flex-direction:column;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;height:100vh;margin:0 auto;max-width:1200px;min-height:calc(100vh - 40px);padding:20px}.joseki-main{display:flex;flex:1 1;gap:20px;overflow:hidden;padding:20px}.joseki-main-lines-top{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000001a;margin:0 20px;overflow:hidden}.main-lines-horizontal{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;padding:8px}.main-line-item-horizontal{align-items:center;background:#f8f9ff;border:2px solid #0000;border-radius:8px;cursor:pointer;display:flex;gap:12px;min-width:280px;padding:16px 20px;transition:all .2s ease}.main-line-item-horizontal:hover{background:#f0f4ff;border-color:#667eea}.main-line-item-horizontal.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff}.joseki-main-horizontal{display:flex;flex:1 1;gap:20px;overflow:hidden;padding:20px}.joseki-board-container-main{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000001a;display:flex;flex:2 1;flex-direction:column;min-height:600px;overflow:hidden}.joseki-board-wrapper-main{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);display:flex;flex:1 1;justify-content:center;min-height:500px;overflow:auto;padding:20px}.joseki-sidebar{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000001a;display:flex;flex-direction:column;overflow:hidden;width:300px}.main-lines-list{flex:1 1;overflow-y:auto}.main-line-item{align-items:center;border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;gap:12px;padding:16px 20px;transition:all .2s ease}.main-line-item:hover{background:#f8f9ff}.main-line-item.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.main-line-code{align-items:center;background:#e3f2fd;border-radius:50%;color:#1976d2;display:flex;font-size:14px;font-weight:700;height:32px;justify-content:center;width:32px}.main-line-item.active .main-line-code{background:#fff3;color:#fff}.main-line-info h3{font-size:16px;font-weight:600;margin:0 0 4px}.main-line-info p{font-size:12px;margin:0;opacity:.7}.joseki-board-container{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000001a;display:flex;flex:1 1;flex-direction:column;overflow:hidden}.joseki-controls{background:#f8f9fa;border-top:1px solid #f0f0f0;display:flex;flex-direction:column;gap:16px;padding:20px}.toggles-row{align-items:center;display:flex;flex-wrap:wrap;gap:24px}.navigation-buttons-row{align-items:center;display:flex;gap:12px;justify-content:center}.navigation-buttons-row button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;min-width:80px;padding:8px 16px;transition:all .2s ease}.navigation-buttons-row button:hover:not(:disabled){box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.navigation-buttons-row button:disabled{background:#ccc;box-shadow:none;cursor:not-allowed;transform:none}.joseki-board-wrapper{align-items:center;display:flex;flex:1 1;justify-content:center;overflow:auto;padding:20px}.joseki-info-panel{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000001a;display:flex;flex-direction:column;height:100%;overflow:hidden;width:350px}.info-panel-header{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:linear-gradient(135deg,#465a96d9,#3c508ce6);border-bottom:1px solid #ffffff1a;color:#fff;padding:16px 20px}.info-panel-header h3{font-size:18px;font-weight:600;margin:0}.info-panel-content{flex:1 1;overflow-y:auto}.current-position{border-bottom:1px solid #f0f0f0;padding:20px}.current-position h4{color:#333;font-size:16px;margin:0 0 12px}.move-sequence{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.move-chip{border-radius:16px;font-size:12px;font-weight:500;padding:4px 8px}.move-chip.black{background:#333;color:#fff}.move-chip.white{background:#f0f0f0;color:#333}.description-section{padding:20px}.description-section h4{color:#333;font-size:16px;margin:0 0 12px}.description-text{color:#666;font-size:14px;line-height:1.6}.joseki-badge{border-radius:12px;display:inline-block;font-size:11px;font-weight:600;margin:8px 8px 0 0;padding:4px 8px;text-transform:uppercase}.joseki-badge.joseki{background:#e8f5e8;color:#2e7d32}.joseki-badge.trick-play{background:#fff3e0;color:#f57c00}.next-moves{border-top:1px solid #f0f0f0;padding:20px}.next-moves h4{color:#333;font-size:16px;margin:0 0 12px}.next-move-list{display:flex;flex-direction:column;gap:8px}.next-move-item{align-items:center;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:12px;transition:all .2s ease}.next-move-item:hover{background:#f8f9ff;border-color:#667eea}.next-move-stone{align-items:center;border-radius:50%;color:#fff;display:flex;font-size:10px;font-weight:700;height:20px;justify-content:center;width:20px}.next-move-stone.black{background:#333}.next-move-stone.white{background:#f0f0f0;border:1px solid #ddd;color:#333}.next-move-info{flex:1 1}.next-move-coord{color:#333;font-weight:600}.next-move-desc{color:#666;font-size:12px;margin-top:2px}.joseki-controls button{backdropFilter:blur(5px);background:#465a9699;border:1px solid #ffffff4d;border-radius:6px;box-shadow:0 2px 8px #0000001a;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.joseki-controls button:hover:not(:disabled){background:#6478b4cc;box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.joseki-controls button:disabled{background:#8c8c8c66;box-shadow:0 2px 8px #0000001a;cursor:not-allowed;opacity:.6;transform:none}.joseki-controls button[title*="Next Move"]{background:#4caf5099;border:1px solid #ffffff4d}.joseki-controls button[title*="Next Move"]:hover:not(:disabled){background:#4caf50cc}@media (max-width:1200px){.joseki-main-horizontal{flex-direction:column}.joseki-board-container-main{flex:none;min-height:550px}.joseki-board-wrapper-main{align-items:center;aspect-ratio:1/1;display:flex;justify-content:center;margin:0 auto;max-width:min(82vw,82vh);padding:16px;width:100%}.joseki-info-panel{max-height:300px;overflow-y:auto;width:100%}.joseki-variations,.next-moves{display:none}.main-lines-horizontal{flex-wrap:wrap;justify-content:center}.main-line-item-horizontal{flex:1 1;max-width:300px;min-width:240px}}@media (max-width:768px){.joseki-controls{align-items:stretch;flex-direction:column;gap:12px;padding:16px}.navigation-buttons-row{margin-bottom:8px;order:1}.toggles-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;order:2;width:100%}.control-group{align-items:center;flex-direction:row;gap:8px;justify-content:space-between;width:100%}.control-group label{flex:1 1;font-size:14px;font-weight:500;white-space:nowrap}.toggle-switch{flex-shrink:0;height:20px;width:36px}.toggle-switch:after{height:16px;width:16px}.toggle-switch.active:after{transform:translateX(16px)}.joseki-main-horizontal{flex-direction:column;gap:16px;height:auto!important;min-height:auto!important;padding:10px}.joseki-main-lines-top{margin:0 10px}.main-lines-horizontal{flex-direction:column;gap:4px}.main-line-item-horizontal{flex-direction:column;min-width:auto;text-align:center}.joseki-board-container-main{flex:none;height:auto!important;margin:0;min-height:auto!important}.joseki-board-wrapper-main{align-items:center;aspect-ratio:1/1;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:8px;display:flex;height:auto!important;justify-content:center;margin:0 auto;max-width:min(90vw,calc(100vh - 400px));min-height:auto!important;padding:8px;width:100%}.joseki-variations{padding:12px}.variation-button{font-size:13px;padding:8px 10px}.variation-code{font-size:11px;height:20px;width:20px}.joseki-info-panel{flex:1 1;height:auto!important;max-height:none!important;min-height:500px!important}.joseki-variations,.next-moves{display:none}.info-panel-content{padding:0}.current-position,.description-section,.next-moves{padding:12px}.info-panel-header{padding:12px 16px}}.practice-mode-indicator{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:linear-gradient(135deg,#4caf50e6,#388e3ce6);border:2px solid #4caf50;border-radius:8px;box-shadow:0 4px 12px #4caf504d;color:#fff;margin:12px 0;padding:12px 16px}.practice-mode-label{align-items:center;display:flex;font-size:16px;font-weight:600;gap:8px;margin-bottom:8px}.practice-mode-label:before{animation:pulse-green 2s infinite;background-color:#81c784;border-radius:50%;content:"";display:inline-block;height:12px;width:12px}@keyframes pulse-green{0%{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}to{opacity:.6;transform:scale(1)}}.next-move-hint{font-size:14px;line-height:1.4;opacity:.9}.toggle-switch{background-color:#ccc;border-radius:12px;cursor:pointer;height:24px;position:relative;transition:background-color .3s ease;width:44px}.toggle-switch:after{background-color:#fff;border-radius:50%;box-shadow:0 2px 4px #0003;content:"";height:20px;left:2px;position:absolute;top:2px;transition:transform .3s ease;width:20px}.toggle-switch.active{background-color:#4caf50}.toggle-switch.active:after{transform:translateX(20px)}.practice-next-moves{background:linear-gradient(135deg,#4caf500d,#388e3c0d);border:1px solid #4caf5033;border-radius:8px;margin-top:16px;padding:16px}.practice-next-moves h4{color:#2e7d32;font-size:16px;font-weight:600;margin:0 0 12px}.practice-hint{color:#388e3c;font-size:14px;font-style:italic;line-height:1.5}@media (max-width:768px){.practice-mode-indicator{margin:8px 0;padding:10px 12px}.practice-mode-label{font-size:14px}.next-move-hint{font-size:13px}}.next-move-item.forcing-sequence{background:linear-gradient(135deg,#fff8e1,#fff3e0);border-color:#ff9800}.next-move-item.forcing-sequence:hover{background:linear-gradient(135deg,#fff3e0,#ffe0b2);border-color:#f57c00}.forcing-indicator{color:#ff9800;font-size:11px;font-weight:700;margin-left:8px}.sequence-preview{display:flex;flex-direction:column;gap:6px}.sequence-description{color:#666;font-size:11px;font-style:italic}.sequence-moves{align-items:center;display:flex;flex-wrap:wrap;gap:4px}.sequence-move{border-radius:12px;display:inline-block;font-size:11px;font-weight:600;min-width:24px;padding:2px 6px;text-align:center}.sequence-move.black{background:#333;color:#fff}.sequence-move.white{background:#f0f0f0;border:1px solid #ddd;color:#333}.sequence-more{color:#999;font-size:11px;font-weight:700}@media (max-width:768px){.forcing-indicator{display:block;margin-left:0;margin-top:2px}.sequence-moves{align-items:flex-start;flex-direction:column;gap:2px}.sequence-move{margin-right:4px}}.joseki-board-wrapper-main .go-board{aspect-ratio:1/1;background:#deb887;border:3px solid #8b7355;border-radius:8px;box-shadow:0 8px 24px #00000026;height:100%;max-height:100%;max-width:100%;width:100%}.joseki-board-wrapper-main .go-board canvas{border-radius:4px}.joseki-board-wrapper-main .go-board-container{align-items:center;display:flex;height:100%;justify-content:center;margin:0;padding:0;width:100%}.joseki-board-wrapper-main .go-board-wrapper{align-items:center;display:flex;height:100%;justify-content:center;margin:0;min-height:0;min-height:auto;min-width:0;min-width:auto;width:100%}.joseki-variations{border-bottom:1px solid #f0f0f0;display:none;padding:20px}.joseki-variations h4{color:#333;font-size:16px;font-weight:600;margin:0 0 16px}.variation-buttons{display:flex;flex-direction:column;gap:8px}.variation-button{backdropFilter:blur(5px);align-items:center;background:#465a9699;border:1px solid #ffffff4d;border-radius:6px;box-shadow:0 2px 8px #0000001a;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;padding:12px 16px;text-align:left;transition:all .2s ease}.variation-button:hover{background:#6478b4cc;box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.variation-button.active{background:#6478b4e6;border-color:#ffffff80;box-shadow:0 4px 16px #6478b44d}.variation-code{align-items:center;background:#fff3;border-radius:50%;display:flex;flex-shrink:0;font-size:12px;font-weight:700;height:24px;justify-content:center;width:24px}.variation-button.active .variation-code{background:#ffffff4d}.variation-name{flex:1 1;font-weight:500}.control-group{align-items:center;display:flex;gap:12px}.control-group label{min-width:80px}@media (max-width:480px){.joseki-learning{min-height:100vh;padding:10px}.joseki-main-horizontal{gap:10px;padding:5px}.joseki-board-container-main{border-radius:8px;min-height:calc(100vh - 280px)}.joseki-board-wrapper-main{align-items:center;aspect-ratio:1/1;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:6px;display:flex;justify-content:center;margin:0 auto;max-width:min(95vw,calc(100vh - 350px));padding:4px;width:100%}.joseki-controls{gap:8px;padding:10px}.navigation-buttons-row{margin-bottom:6px;order:1}.toggles-row{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;order:2;width:100%}.control-group{align-items:center;flex-direction:row;gap:6px;justify-content:space-between;width:100%}.control-group label{flex:1 1;font-size:14px;font-weight:500;white-space:nowrap}.toggle-switch{height:18px;width:32px}.toggle-switch:after{height:14px;width:14px}.toggle-switch.active:after{transform:translateX(14px)}.joseki-info-panel{max-height:720px!important;min-height:500px!important}.info-panel-header{padding:12px 16px}.navigation-buttons-row button{font-size:13px;min-width:70px;padding:6px 12px}}@media (max-width:768px) and (orientation:landscape){.joseki-board-container-main{min-height:calc(100vh - 200px)}.joseki-board-wrapper-main{align-items:center;aspect-ratio:1/1;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:6px;display:flex;justify-content:center;margin:0 auto;max-width:min(70vh,90vw);padding:6px;width:100%}.joseki-info-panel{max-height:180px}.joseki-variations,.next-moves{display:none}}@media (max-width:360px) and (min-width:321px){.toggles-row{grid-gap:6px;display:grid;gap:6px;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;width:100%}.control-group{align-items:center;background:#ffffff80;border-radius:4px;flex-direction:row;gap:4px;justify-content:space-between;padding:4px 6px;width:100%}.control-group label{flex:1 1;font-size:11px;font-weight:600;min-width:0;white-space:nowrap}.toggle-switch{height:16px;width:28px}.toggle-switch:after{height:12px;left:2px;top:2px;width:12px}.toggle-switch.active:after{transform:translateX(12px)}}.joseki-learning.joseki-fullscreen{background:#f9f9f9;border-radius:0;bottom:0;box-shadow:none;height:100vh;left:0;margin:0;max-width:none;min-height:100vh;padding:0;position:fixed;right:0;top:0;z-index:9999}.joseki-learning.joseki-fullscreen .joseki-main-horizontal{gap:0;height:100%;padding:10px}.joseki-learning.joseki-fullscreen .joseki-board-container-main{flex:1 1;height:100%;min-height:0;min-height:auto}.joseki-learning.joseki-fullscreen .joseki-board-wrapper-main{height:calc(100vh - 120px);min-height:0;min-height:auto;padding:10px}.joseki-learning.joseki-fullscreen .joseki-info-panel{display:none}.joseki-learning.joseki-fullscreen .joseki-board-wrapper-main .go-board{aspect-ratio:1/1;height:98vw!important;margin:0 auto;max-height:calc(100vh - 140px);max-width:calc(100vh - 140px);width:98vw!important}.joseki-learning.joseki-fullscreen .joseki-board-wrapper-main .go-board-container{align-items:center;display:flex;height:98vw;justify-content:center;margin:0 auto;max-height:calc(100vh - 140px);max-width:calc(100vh - 140px);padding:0;width:98vw}.joseki-learning.joseki-fullscreen .joseki-board-wrapper-main .go-board-wrapper{align-items:center;display:flex;height:100%;justify-content:center;margin:0;min-height:0;min-height:auto;min-width:0;min-width:auto;width:100%}.joseki-learning-mobile.joseki-fullscreen{padding:0}.joseki-learning-mobile.joseki-fullscreen .joseki-main-horizontal{flex-direction:column;padding:0}.joseki-learning-mobile.joseki-fullscreen .joseki-board-wrapper-main{align-items:center;display:flex;height:calc(100vh - 80px);justify-content:center;padding:0}.joseki-learning-mobile.joseki-fullscreen .joseki-board-wrapper-main .go-board{height:98vw!important;max-height:min(98vw,calc(100vh - 100px));max-width:min(98vw,calc(100vh - 100px));width:98vw!important}.joseki-learning-mobile.joseki-fullscreen .joseki-board-wrapper-main .go-board-container{align-items:center;display:flex;height:98vw;justify-content:center;margin:0 auto;max-height:min(98vw,calc(100vh - 100px));max-width:min(98vw,calc(100vh - 100px));padding:0;width:98vw}.joseki-learning-mobile.joseki-fullscreen .joseki-board-wrapper-main .go-board-wrapper{align-items:center;display:flex;height:100%;justify-content:center;margin:0;min-height:0;min-height:auto;min-width:0;min-width:auto;width:100%}.joseki-learning-mobile.joseki-fullscreen .joseki-controls{background:#fffffff2;border-top:1px solid #ddd;bottom:0;left:0;padding:10px;position:fixed;right:0;z-index:10000}.joseki-zen-controls{display:flex;gap:8px;left:10px;position:absolute;top:10px;z-index:10001}.zen-toggle-button{background-color:#ffffffe6;border:1px solid #ddd;border-radius:4px;box-shadow:0 1px 3px #0000001a;color:#333;cursor:pointer;font-size:14px;padding:6px 12px;transition:all .2s ease}.zen-toggle-button:hover{background-color:#f0f0f0}@media (max-width:768px){.joseki-learning.joseki-fullscreen .joseki-board-wrapper-main .go-board{height:96vw!important;max-height:min(96vw,calc(100vh - 120px));max-width:min(96vw,calc(100vh - 120px));width:96vw!important}.joseki-learning-mobile.joseki-fullscreen .joseki-board-wrapper-main .go-board{height:96vw!important;max-height:min(96vw,calc(100vh - 100px));max-width:min(96vw,calc(100vh - 100px));width:96vw!important}.zen-toggle-button{font-size:12px;padding:5px 8px}}@media (max-width:1024px) and (min-width:769px){.joseki-learning.joseki-fullscreen .joseki-main-horizontal{margin:0!important;max-width:100vw!important;padding:0!important;width:100vw!important}.joseki-learning.joseki-fullscreen .joseki-board-wrapper-main{height:calc(100vh - 120px);margin:0;max-width:100vw!important;padding:0;width:100vw!important}.joseki-learning.joseki-fullscreen .joseki-board-wrapper-main .go-board{height:98vw!important;max-height:min(98vw,calc(100vh - 140px));max-width:min(98vw,calc(100vh - 140px));width:98vw!important}.joseki-learning.joseki-fullscreen .joseki-board-wrapper-main .go-board-container{height:98vw;margin:0;max-height:min(98vw,calc(100vh - 140px));max-width:min(98vw,calc(100vh - 140px));padding:0;width:98vw}}@media (max-width:1024px) and (max-height:1024px){.joseki-learning.joseki-fullscreen .joseki-main-horizontal{margin:0!important;max-width:100vw!important;padding:0!important;width:100vw!important}.joseki-learning.joseki-fullscreen .joseki-board-wrapper-main{align-items:center;display:flex;height:calc(100vh - 80px);justify-content:center;margin:0;max-width:100vw!important;padding:0;width:100vw!important}.joseki-learning.joseki-fullscreen .joseki-board-wrapper-main .go-board{height:98vw!important;max-height:min(98vw,calc(100vh - 100px));max-width:min(98vw,calc(100vh - 100px));width:98vw!important}.joseki-learning.joseki-fullscreen .joseki-board-wrapper-main .go-board-container{align-items:center;display:flex;height:98vw;justify-content:center;margin:0 auto;max-height:min(98vw,calc(100vh - 100px));max-width:min(98vw,calc(100vh - 100px));padding:0;width:98vw}.joseki-learning.joseki-fullscreen .joseki-board-wrapper-main .go-board-wrapper{align-items:center;display:flex;height:100%;justify-content:center;margin:0;min-height:0;min-height:auto;min-width:0;min-width:auto;width:100%}}.control-group:has(.toggle-switch){align-items:center;display:flex;gap:8px}.control-group label{color:#333;font-size:14px;font-weight:500;white-space:nowrap}@media (max-width:480px){.joseki-learning.joseki-fullscreen .joseki-board-wrapper-main .go-board{height:95vw!important;max-height:min(95vw,calc(100vh - 100px));max-width:min(95vw,calc(100vh - 100px));width:95vw!important}.joseki-learning-mobile.joseki-fullscreen .joseki-board-wrapper-main .go-board{height:95vw!important;max-height:min(95vw,calc(100vh - 90px));max-width:min(95vw,calc(100vh - 90px));width:95vw!important}.joseki-learning-mobile.joseki-fullscreen .joseki-controls{padding:8px}.joseki-zen-controls{left:5px;top:5px}.zen-toggle-button{font-size:11px;padding:4px 6px}}.joseki-learning-mobile .joseki-info-panel{height:100%;height:auto;max-height:720px!important;min-height:500px}.joseki-learning-mobile{height:auto!important;max-height:none!important;min-height:100vh!important;padding:10px}.joseki-learning-mobile .joseki-main-horizontal{flex-direction:column;gap:16px;height:auto!important;min-height:calc(100vh - 40px)!important;overflow:visible!important;padding:10px}.joseki-learning-mobile .joseki-board-container-main{flex:none;height:auto!important;min-height:auto!important}@media (max-width:400px) and (min-width:361px){.joseki-controls{gap:8px;padding:12px}.toggles-row{gap:10px}.control-group{background:#fff9;border-radius:6px;padding:4px 6px}.control-group label{flex:1 1;font-size:12px;font-weight:600;white-space:nowrap}.toggle-switch{height:18px;width:32px}.toggle-switch:after{height:14px;width:14px}.toggle-switch.active:after{transform:translateX(14px)}}@media (max-width:320px){.joseki-controls{flex-shrink:0;gap:6px;min-height:auto;overflow:visible;padding:8px}.toggles-row{display:flex;flex-direction:column;gap:8px;overflow:visible;width:100%}.control-group{align-items:center;background:#ffffffb3;border:1px solid #0000001a;border-radius:6px;flex-direction:row;gap:8px;justify-content:space-between;padding:6px 8px;width:100%}.control-group label{flex:1 1;font-size:12px;font-weight:600;min-width:0;white-space:nowrap}.toggle-switch{flex-shrink:0;height:18px;width:32px}.toggle-switch:after{height:14px;left:2px;top:2px;width:14px}.toggle-switch.active:after{transform:translateX(14px)}.navigation-buttons-row{gap:6px;margin-bottom:6px}.navigation-buttons-row button{font-size:11px;min-width:50px;padding:4px 8px}.joseki-main-horizontal{gap:8px;padding:4px}.joseki-board-wrapper-main{max-width:min(98vw,calc(100vh - 200px));padding:4px}}
/*# sourceMappingURL=main.afae738a.css.map*/