*{margin:0;padding:0;box-sizing:border-box}body{font-family:'Hiragino Sans','Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;line-height:1.6;color:#333;background:#fff;min-height:100vh}.orientation-notice{display:none}@media (orientation:portrait) and (max-width:768px){.orientation-notice{display:block;margin:0 0 8px 0;font-size:.8125rem;color:#666}}.app{max-width:1200px;margin:0 auto;padding:0;background-color:#fff;min-height:100vh;box-shadow:0 0 30px rgba(0,0,0,.2)}header{text-align:center;padding:16px 20px;background:#000;color:#fff;box-shadow:0 4px 6px rgba(0,0,0,.1)}header h1{color:#fff;font-size:2.5rem;font-weight:300;text-shadow:2px 2px 4px rgba(0,0,0,.3);margin:0}.section{display:block;padding:30px}.section.hidden{display:none}.btn-danger,.btn-primary,.btn-secondary{padding:12px 24px;border:none;border-radius:9999px;cursor:pointer;font-size:1rem;font-weight:500;margin:8px;transition:all .3s ease;box-shadow:0 2px 4px rgba(0,0,0,.1);text-transform:uppercase;letter-spacing:.5px}.btn-primary{background:#000;color:#fff}.btn-primary:hover{background:#333;transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.2)}.btn-black{background:#000;color:#fff}.btn-black:hover{background:#333}.btn-outlined{background:0 0;color:#000;border:1px solid #000;border-radius:9999px}.btn-outlined:hover{background:#f0f0f0}.btn-small{padding:6px 12px;font-size:.8125rem}.game-detail-url-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}.game-detail-url-row .game-detail-date-inline,.game-detail-url-row .game-detail-expire-note{white-space:nowrap;margin:0}.game-detail-info .btn-outlined{margin-top:0}.btn-add-round{background:#000}.btn-add-round:hover{background:#333}.btn-create-game{background:#000}.btn-create-game:hover{background:#333}.btn-secondary{background:#000;color:#fff}.btn-secondary:hover{background:#333;transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.2)}.btn-danger{background:#000;color:#fff}.btn-danger:hover{background:#333;transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.2)}.top-actions{display:flex;justify-content:center;gap:10px;margin:30px 0}.game-actions{display:flex;gap:10px;justify-content:center;margin-top:15px}.setup-form{max-width:600px;margin:0 auto}.game-settings,.players-setup{margin-bottom:30px;padding:20px;background-color:#f8f9fa;border-radius:8px}.player-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-top:15px}.player-inputs input{padding:10px;border:1px solid #ddd;border-radius:4px;font-size:1rem}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-top:15px}.settings-grid label{display:flex;flex-direction:column;gap:5px}.settings-grid input,.uma-selection select{padding:8px;border:1px solid #ddd;border-radius:4px}.codeword-setup{margin-bottom:30px;padding:20px;background-color:#f8f9fa;border-radius:8px}.codeword-setup label{display:block;margin-bottom:8px;font-weight:500}.codeword-setup input{width:100%;max-width:300px;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:1rem}.form-actions{text-align:center;margin-top:30px}#shared-entry-section{max-width:400px;margin:0 auto}.shared-entry-description{margin-bottom:16px;color:#333}.shared-entry-form{display:flex;gap:10px;margin-bottom:12px}.shared-entry-form input{flex:1;padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:1rem}.shared-entry-error{color:#dc3545;font-size:.9rem}.share-url-box{margin-bottom:20px;padding:16px;background:#f8f9fa;border-radius:8px;border:1px solid #dee2e6}.share-url-box label{display:block;margin-bottom:8px;font-weight:500}.share-url-row{display:flex;gap:10px}.share-url-row input{flex:1;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:.9rem}.game-detail-info{margin-bottom:12px}.game-detail-info-text{margin:0 0 8px 0;font-size:1rem;color:#333}.game-detail-expire-note{font-size:.75rem;color:#666}.game-detail-info .btn-black{margin-top:8px}.game-info-summary{margin-bottom:20px}.info-item{display:inline-block;margin-right:20px;margin-bottom:10px}.info-label{font-weight:700;margin-right:5px}.info-value{color:#007bff}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.section-header h3{margin:0;color:#2c3e50}.score-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin:30px 0}.score-input{display:flex;flex-direction:column;gap:10px;padding:20px;background-color:#f8f9fa;border-radius:8px}.score-input label{font-weight:700;color:#007bff}.score-input input{padding:12px;border:2px solid #ddd;border-radius:4px;font-size:1.2rem;text-align:center}.score-input input:focus{border-color:#007bff;outline:0}.score-input input[readonly]{background-color:#e9ecef;border-color:#6c757d}@media (max-width:768px){#game-section.section{padding-left:8px;padding-right:8px}.score-inputs{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:12px 0}.score-input{padding:4px;gap:2px;min-width:0}.score-input label{font-size:.85rem}.score-input input{padding:4px 2px;font-size:1.25rem;min-width:0}}.overall-ranking-table,.results-table,.round-detail-table{width:100%;border-collapse:collapse;margin:20px 0;background-color:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 6px rgba(0,0,0,.07)}.overall-ranking-table td,.overall-ranking-table th,.results-table td,.results-table th,.round-detail-table td,.round-detail-table th{padding:15px 12px;text-align:center;border:none;border-bottom:1px solid #e9ecef;height:49px;box-sizing:border-box}.overall-ranking-table th,.results-table th,.round-detail-table th{background:linear-gradient(135deg,#34495e 0,#2c3e50 100%);color:#fff;font-weight:500;text-transform:uppercase;letter-spacing:.5px;font-size:.85rem}.overall-ranking-table tbody tr:hover,.results-table tbody tr:hover,.round-detail-table tbody tr:hover{background-color:#f8f9fa;transform:scale(1.01);transition:all .2s ease}.positive{color:#28a745;font-weight:700}.negative{color:#dc3545;font-weight:700}.game-actions{text-align:center;margin:30px 0}.add-round-button-container{text-align:center;margin:12px 0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.back-to-top-button-container{text-align:center;margin:12px 0}.empty-message{text-align:center;color:#6c757d;font-style:italic;padding:40px 20px}.detail-column,.overall-ranking-table td.detail-column,.overall-ranking-table th.detail-column,.results-table td.detail-column,.results-table th.detail-column,.round-detail-table td.detail-column,.round-detail-table th.detail-column,table td.detail-column,table th.detail-column{display:none!important}.detail-column.visible,.overall-ranking-table td.detail-column.visible,.overall-ranking-table th.detail-column.visible,.results-table td.detail-column.visible,.results-table th.detail-column.visible,.round-detail-table td.detail-column.visible,.round-detail-table th.detail-column.visible,table td.detail-column.visible,table th.detail-column.visible{display:table-cell!important}.toggle-switch{display:flex;align-items:center;gap:.5rem;cursor:pointer}.toggle-switch input[type=checkbox]{display:none!important;opacity:0!important;width:0!important;height:0!important;position:absolute!important}.toggle-slider{position:relative;width:50px;height:24px;background-color:#ccc;border-radius:12px;transition:background-color .3s}.toggle-slider:before{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background-color:#fff;border-radius:50%;transition:transform .3s}.toggle-switch input[type=checkbox]:checked+.toggle-slider{background-color:#007bff}.toggle-switch input[type=checkbox]:checked+.toggle-slider:before{transform:translateX(26px)}.toggle-label{font-size:.8rem;color:#333}.ranking-with-comments{position:relative;margin-right:320px}.overall-ranking-table{width:100%;position:relative}.ranking-comments{position:absolute;left:100%;top:0;padding-left:20px;width:300px}.comment-bubble{position:absolute;background:#f8f9fa;border-radius:15px;padding:12px 16px;box-shadow:0 2px 8px rgba(0,0,0,.1);border-left:4px solid #ddd;max-width:250px;word-wrap:break-word;animation:fadeInBounce .5s ease-out;left:0}.bubble-content{font-size:.9rem;line-height:1.4}.bubble-arrow{position:absolute;left:-8px;top:50%;transform:translateY(-50%);width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-right:8px solid #f8f9fa}.rank-1-comment{background:#fff3cd;border-left-color:#ffc107;top:73px}.rank-1-comment .bubble-arrow{border-right-color:#fff3cd}.rank-2-comment{background:#d1ecf1;border-left-color:#17a2b8;top:122px}.rank-2-comment .bubble-arrow{border-right-color:#d1ecf1}.rank-3-comment{background:#d4edda;border-left-color:#28a745;top:171px}.rank-3-comment .bubble-arrow{border-right-color:#d4edda}.rank-4-comment{background:#f8d7da;border-left-color:#dc3545;top:220px}.rank-4-comment .bubble-arrow{border-right-color:#f8d7da}@keyframes fadeInBounce{0%{opacity:0;transform:translateX(-20px) scale(.8)}50%{opacity:.8;transform:translateX(5px) scale(1.05)}100%{opacity:1;transform:translateX(0) scale(1)}}.kiroku-hyo{background:#fff;border:2px solid #000;padding:0;margin:8px 0;font-family:'Hiragino Sans','Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;color:#000;max-width:100%}.kiroku-hyo-header{position:relative;display:flex;align-items:center;padding:8px 12px;border-bottom:1px solid #000;font-size:.95rem}.kiroku-hyo-header .header-date{text-align:left}.kiroku-hyo-header .header-title{position:absolute;left:50%;transform:translateX(-50%);text-align:center;font-size:1.25rem;font-weight:700}.kiroku-hyo-header .header-no{flex:1;text-align:right}.kiroku-hyo table{width:100%;border-collapse:collapse;table-layout:fixed}.kiroku-hyo td,.kiroku-hyo th{border:1px solid #000;padding:6px 8px;text-align:center;background:#fff;color:#000;font-size:.9rem}.kiroku-hyo .corner-cell{width:3.5em;vertical-align:middle;position:relative}.kiroku-hyo .corner-cell .label-name{position:absolute;top:4px;right:4px;font-size:.75rem}.kiroku-hyo .corner-cell .label-kaisu{position:absolute;bottom:4px;left:4px;font-size:.75rem}.kiroku-hyo .player-name-cell{font-weight:500;min-width:4em}.kiroku-rank-badge{display:inline-block;margin-left:6px;padding:4px 12px;font-size:.75rem;font-weight:700;line-height:1.2;border:1px solid rgba(0,0,0,.2);border-radius:9999px;background:#fff;color:#000;min-width:2.4em;text-align:center}.kiroku-rank-badge-1{background:#d4af37;color:#5c4a00;border-color:#b8960c}.kiroku-rank-badge-2{background:silver;color:#333;border-color:#909090}.kiroku-rank-badge-3{background:#cd7f32;color:#3d2817;border-color:#8b5a2b}.kiroku-rank-badge-4{background:#000;color:#fff;border-color:#000}.kiroku-hyo .plus-minus-header{width:2.2em;font-size:.8rem}.kiroku-hyo .round-num-cell{font-weight:500;width:2.5em}.kiroku-hyo .score-plus{color:#000}.kiroku-hyo .score-minus{color:#000}.kiroku-hyo .row-goukei .round-num-cell,.kiroku-hyo .row-shokei .round-num-cell{font-weight:700}.kiroku-hyo .row-goukei td{border-top:2px solid #000}.kiroku-detail-section{margin-top:24px}.kiroku-detail-section h3{font-size:1rem;margin-bottom:10px;color:#000}.results.kiroku-results{margin-top:20px}.kiroku-hyo .round-num-cell.round-num-clickable{cursor:pointer;text-decoration:underline;font-weight:700}.kiroku-hyo .round-num-cell.round-num-clickable:hover{background-color:#f0f0f0}.round-detail-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.round-detail-modal.hidden{display:none!important}.round-detail-modal-overlay{position:absolute;inset:0;background:rgba(0,0,0,.5)}.round-detail-modal-content{position:relative;background:#fff;border:2px solid #000;border-radius:0;max-width:90vw;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:none}.round-detail-modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #ddd;flex-shrink:0;gap:12px}.round-detail-modal-header h3{margin:0;font-size:1.1rem;flex:1}.round-detail-modal-toggle{margin:0}.round-detail-modal-close{background:0 0;border:none;font-size:1.5rem;line-height:1;cursor:pointer;padding:0 4px;color:#333;flex-shrink:0}.round-detail-modal-close:hover{color:#000}.round-detail-modal-body{overflow:auto;padding:16px}.round-detail-modal .round-detail-table{border-radius:0;box-shadow:none}.round-detail-modal .round-detail-table th{background:#000;color:#fff;font-weight:500;text-transform:none;letter-spacing:0}@media (max-width:768px){.app{padding:10px}header h1{font-size:2rem}.game-detail-header{flex-direction:column;gap:1rem;align-items:flex-start}.game-detail-actions{width:100%;justify-content:center}.ranking-with-comments{margin-right:0}.ranking-comments{position:static;padding-left:0;width:100%;margin-top:20px}.comment-bubble{position:static;max-width:100%;margin:10px 0}.bubble-arrow{display:none}.rank-1-comment,.rank-2-comment,.rank-3-comment,.rank-4-comment{top:auto}}.app-footer{margin-top:auto;padding:20px;text-align:center;font-size:.875rem;color:#666;border-top:1px solid #eee}.app-footer-copyright{margin:0 0 8px 0}.app-footer-copyright a{color:#333;text-decoration:none}.app-footer-copyright a:hover{text-decoration:underline}.app-footer-links{margin:0}.app-footer-links a{color:#333;text-decoration:none}.app-footer-links a:hover{text-decoration:underline}.app-footer-sep{margin:0 .5em;color:#999}