:root{--font-family: "Arial", sans-serif}body{background:var(--background-image);color:var(--text-color);font-family:var(--font-family)}body.theme-default{--primary-color: #007bff;--color-primary: #007bff;--color-primary-light: #66b3ff;--color-primary-dark: #0056b3;--secondary-color: #6c757d;--color-secondary: #6c757d;--color-secondary-light: #adb5bd;--color-secondary-dark: #495057;--background-image: #ffffff;--color-background: #ffffff;--color-background-offset: #f8f9fa;--color-background-hover: #e9ecef;--color-background-dark: #dee2e6;--color-card-background: #ffffff;--text-color: #212529;--color-text: #212529;--color-text-primary: #212529;--color-text-secondary: #495057;--color-border: #dee2e6;--color-accent: #6f42c1;--color-success: #28a745;--color-success-bg: #d4edda;--color-success-border: #c3e6cb;--color-success-text: #155724;--color-warning: #ffc107;--color-warning-hover: #e0a800;--color-warning-text: #856404;--color-error: #dc3545;--color-error-light: #f8d7da;--color-error-dark: #721c24;--color-water-blue: #17a2b8;--card-background-image-for-tear: url(/textures/paper.png)}body.theme-grayj{--primary-color: #c0c0c0;--color-primary: #c0c0c0;--color-primary-light: #d4d4d4;--color-primary-dark: #a8a8a8;--secondary-color: #808080;--color-secondary: #808080;--color-secondary-light: #9a9a9a;--color-secondary-dark: #666666;--background-image: #e0e0e0;--color-background: #e0e0e0;--color-background-offset: #f0f0f0;--color-background-hover: #d0d0d0;--color-background-dark: #c8c8c8;--color-card-background: #ffffff;--text-color: #25211f;--color-text: #25211f;--color-text-primary: #25211f;--color-text-secondary: #666666;--color-border: #c0c0c0;--color-accent: #808080}body.theme-mizu{--primary-color: #89e6f5;--color-primary: #89e6f5;--color-primary-light: #b3f0f8;--color-primary-dark: #5fd9f0;--secondary-color: #03dac6;--color-secondary: #03dac6;--color-secondary-light: #66fff9;--color-secondary-dark: #00a896;--background-image: #006A79;--color-background: #006A79;--color-background-offset: #005a66;--color-background-hover: #007a8c;--color-background-dark: #004a53;--color-card-background: #ffffff;--text-color: #ffffff;--color-text: #ffffff;--color-text-primary: #ffffff;--color-text-secondary: #e0f7ff;--color-border: #89e6f5;--color-accent: #03dac6}body.theme-dark{--primary-color: #bb86fc;--color-primary: #bb86fc;--color-primary-light: #e1bee7;--color-primary-dark: #9c27b0;--secondary-color: #03dac6;--color-secondary: #03dac6;--color-secondary-light: #66fff9;--color-secondary-dark: #00a896;--background-image: #121212;--color-background: #121212;--color-background-offset: #1e1e1e;--color-background-hover: #2c2c2c;--color-background-dark: #0a0a0a;--color-card-background: #1e1e1e;--text-color: #ffffff;--color-text: #ffffff;--color-text-primary: #ffffff;--color-text-secondary: #adb5bd;--color-border: #495057;--color-accent: #343a40;--color-success: #20c997;--color-success-bg: #155724;--color-success-border: #1e7e34;--color-success-text: #d4edda;--color-warning: #ffc107;--color-warning-hover: #e0a800;--color-warning-text: #fff3cd;--color-error: #dc3545;--color-error-light: #721c24;--color-error-dark: #f8d7da;--color-water-blue: #6bb6ff;--card-background-image-for-tear: url(/textures/paper-dark.png)}body.theme-sakura-obsidian{--primary-color: #d9534f;--color-primary: #d9534f;--color-primary-light: #f0ad4e;--color-primary-dark: #c9302c;--secondary-color: #5bc0de;--color-secondary: #5bc0de;--color-secondary-light: #d9edf7;--color-secondary-dark: #31b0d5;--background-image: linear-gradient(135deg, #ffd1dc 0%, #a9a9a9 100%);--color-background: #ffffff;--color-background-offset: #f8f9fa;--color-background-hover: #e9ecef;--color-background-dark: #dee2e6;--color-card-background: #ffffff;--text-color: #212529;--color-text: #212529;--color-text-primary: #212529;--color-text-secondary: #495057;--color-border: #ced4da;--color-accent: #6f42c1;--color-success: #28a745;--color-success-bg: #d4edda;--color-success-border: #c3e6cb;--color-success-text: #155724;--color-warning: #ffc107;--color-warning-hover: #e0a800;--color-warning-text: #856404;--color-error: #dc3545;--color-error-light: #f8d7da;--color-error-dark: #721c24;--color-water-blue: #007bff;--card-background-image-for-tear: url(/textures/paper-sakura.png)}body.theme-forest{--primary-color: #228B22;--color-primary: #228B22;--color-primary-light: #32CD32;--color-primary-dark: #006400;--secondary-color: #90EE90;--color-secondary: #90EE90;--color-secondary-light: #98FB98;--color-secondary-dark: #7CFC00;--background-image: #F0FFF0;--color-background: #F0FFF0;--color-background-offset: #F5FFFA;--color-background-hover: #E0FFE0;--color-background-dark: #E8F5E8;--color-card-background: #F5FFFA;--text-color: #006400;--color-text: #006400;--color-text-primary: #006400;--color-text-secondary: #228B22;--color-border: #90EE90;--color-accent: #32CD32;--color-success: #228B22;--color-success-bg: #F0FFF0;--color-success-border: #90EE90;--color-success-text: #006400;--color-warning: #FFD700;--color-warning-hover: #FFA500;--color-warning-text: #B8860B;--color-error: #DC143C;--color-error-light: #FFB6C1;--color-error-dark: #8B0000;--color-water-blue: #20B2AA;--card-background-image-for-tear: url(/textures/paper-forest.png)}body.theme-ocean{--primary-color: #1E90FF;--color-primary: #1E90FF;--color-primary-light: #87CEEB;--color-primary-dark: #0000CD;--secondary-color: #87CEEB;--color-secondary: #87CEEB;--color-secondary-light: #B0E0E6;--color-secondary-dark: #4682B4;--background-image: #F0F8FF;--color-background: #F0F8FF;--color-background-offset: #F5F5FF;--color-background-hover: #E6F3FF;--color-background-dark: #E0E6FF;--color-card-background: #F5F5FF;--text-color: #000080;--color-text: #000080;--color-text-primary: #000080;--color-text-secondary: #4169E1;--color-border: #87CEEB;--color-accent: #1E90FF;--color-success: #20B2AA;--color-success-bg: #F0FFFF;--color-success-border: #AFEEEE;--color-success-text: #008B8B;--color-warning: #FFD700;--color-warning-hover: #FFA500;--color-warning-text: #B8860B;--color-error: #DC143C;--color-error-light: #FFB6C1;--color-error-dark: #8B0000;--color-water-blue: #1E90FF;--card-background-image-for-tear: url(/textures/paper-ocean.png)}body{margin:0;font-family:var(--font-family),-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-color);transition:background-color .3s ease,color .3s ease}#root{max-width:1280px;margin:0 auto;text-align:center}.card-grid-container{border:2px solid var(--color-border);border-radius:8px;padding:20px;margin:20px auto;background-color:var(--color-card-background);box-shadow:0 4px 8px #0000001a;display:flex;justify-content:center;align-items:center;min-height:300px;max-width:90%}.card-grid{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.card{transition:transform .2s ease-in-out,box-shadow .2s ease-in-out;border:3px solid transparent}.card.partial{animation:flash-blue .25s ease-in-out}.card.reset{animation:flash-red .25s ease-in-out}@keyframes flash-blue{50%{border-color:#0096ffb3;box-shadow:0 0 15px 5px #0096ff80}}@keyframes flash-red{50%{border-color:#ff3232b3;box-shadow:0 0 15px 5px #ff323280}}.app-layout{display:flex;flex-direction:column;min-height:100vh}.app-banner{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;background:var(--gradient-header, var(--primary-color));border-bottom:1px solid var(--color-border);box-shadow:0 2px 4px #0000001a;position:sticky;top:0;z-index:100}.app-banner.simple-header{background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:none}.app-title-link{text-decoration:none;color:var(--color-text-primary)}.app-title-link h1{margin:0;font-size:1.5em}.player-stats-link{text-decoration:none;color:inherit}.current-game-name{font-size:1.1em;color:var(--color-text-secondary);font-weight:700;position:absolute;right:50%;top:50%;transform:translateY(-50%);margin-right:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:40%}.header-actions{display:flex;align-items:center;gap:16px;margin-left:auto}.header-action-button,.theme-toggle-button{display:flex;justify-content:center;align-items:center;text-decoration:none;border:1px solid var(--color-border);border-radius:6px;background-color:var(--color-background-offset);color:var(--color-text-primary);transition:background-color .2s,transform .1s;cursor:pointer}.header-action-button:hover,.theme-toggle-button:hover{background-color:var(--color-background-hover);transform:translateY(-1px)}.create-deck-button{width:30px;height:40px;font-size:28px;font-weight:300;line-height:40px;padding-bottom:4px}.hiragana-button{width:40px;height:40px;font-size:18px;font-weight:700;background:linear-gradient(135deg,#ff6b6b,#4ecdc4);color:#fff;border:none;line-height:40px}.hiragana-button:hover{background:linear-gradient(135deg,#ff5252,#26c6da);transform:translateY(-1px)}.settings-button{width:40px;height:40px;font-size:24px;line-height:40px;padding:0}.theme-toggle-button{width:40px;height:40px;font-size:20px;line-height:40px}.app-body{flex-grow:1;display:flex;flex-direction:column;background:var(--background-image)}.app-content{flex-grow:1;padding:20px 0}@media (max-width: 800px){.app-banner{padding-top:8px;padding-bottom:8px;transition:padding .2s ease-in-out}.current-game-name,.header-actions{display:none}}.app-logo{width:32px;height:32px;border-radius:6px;border:2px solid var(--color-text, #333);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px;flex-shrink:0}.track-name-header{font-size:1.1rem;font-weight:600;margin-left:8px}.mobile-kb{display:none;position:fixed;bottom:0;left:0;right:0;background:#d1d5db;padding:6px 2px;z-index:1000}.player-stats,.play-all-button{display:none!important}@media (max-width: 768px){.mobile-kb{display:block}.track-content-layout{flex-direction:column!important}.track-grid-section{width:100%!important}.track-page:not(.gameplay-mode){padding:1rem!important}.track-page.gameplay-mode{height:calc(var(--vh, 100vh) - 46px - 180px);overflow:hidden;display:flex;flex-direction:column}.track-page.gameplay-mode .track-content,.track-page.gameplay-mode .gameplay-section{display:flex!important;flex-direction:column!important;flex:1!important;min-height:0!important}.track-page.gameplay-mode .gameplay-header{padding:4px 16px!important;flex-shrink:0}.track-page.gameplay-mode .card-container{flex:1;padding:8px!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:center!important;min-height:0!important}.track-page.gameplay-mode .card{width:min(300px,calc(100% - 16px))!important;height:unset!important;aspect-ratio:5 / 7!important;max-height:calc(100% - 8px)!important;margin:0 auto!important;overflow:hidden!important}@supports (height: 1cqh){.track-page.gameplay-mode .card-container{container-type:size}.track-page.gameplay-mode .card{width:min(300px,calc(100cqh * 5 / 7))!important;max-height:100cqh!important}}}.mobile-kb-row{display:flex;justify-content:center;gap:4px;margin-bottom:6px}.mobile-kb-key{min-width:38px;height:50px;border:none;border-radius:5px;background:#fff;font-size:22px;font-weight:500;color:#000;box-shadow:0 1px 2px #0000004d;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;text-transform:lowercase}.mobile-kb-key:active{background:#bbb}.game-progress-bar-container{display:flex;flex-direction:column;align-items:center;position:fixed;right:20px;top:50%;transform:translateY(-50%);gap:8px;z-index:10;background:var(--gradient-primary-vertical, var(--color-background));padding:12px 8px;border-radius:12px;border:2px solid var(--color-primary);box-shadow:0 4px 12px #0003}.game-progress-bar{width:12px;height:200px;background-color:var(--color-background);border-radius:6px;overflow:hidden;display:flex;flex-direction:column-reverse;border:1px solid var(--color-border)}.game-progress-bar-fill{width:100%;background:var(--gradient-accent, var(--color-primary));transition:height .3s ease}.game-progress-text{font-size:.9em;font-weight:700;color:var(--color-text)}.player-stats{position:absolute;left:50%;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:12px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;height:100%}.stat-item{display:flex;align-items:center;justify-content:center;padding:4px 12px;border-radius:16px;font-size:14px;box-shadow:0 2px 4px #0000001a;white-space:nowrap;cursor:default}.sp-stat{background:var(--gradient-accent, var(--color-secondary));border:2px solid var(--color-primary);color:var(--color-text)}.xp-stat{background:var(--gradient-primary, var(--color-primary));border:2px solid var(--color-secondary);color:var(--color-text)}.level-stat{width:38px;height:38px;border-radius:50%;position:relative;background:conic-gradient(from 180deg,var(--color-primary, #4a90e2) 0% 50%,var(--color-secondary, #b8e986) 50% 100%);box-shadow:0 2px 4px #00000026;color:var(--color-background, #fff);padding:0}.level-number{font-size:16px;font-weight:700;text-shadow:-1px -1px 0 rgba(0,0,0,.5),1px -1px 0 rgba(0,0,0,.5),-1px 1px 0 rgba(0,0,0,.5),1px 1px 0 rgba(0,0,0,.5)}.theme-grid-dropdown{position:absolute;top:100%;right:0;background:var(--gradient-primary-vertical, var(--color-background));border:2px solid var(--color-border);border-radius:8px;padding:12px;box-shadow:0 4px 12px #00000026;z-index:1000;min-width:280px}.theme-section-header{font-size:12px;font-weight:700;color:var(--color-text-secondary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px;display:flex;justify-content:space-between;align-items:center}.theme-editor-link{font-size:11px;color:var(--color-primary);text-decoration:none;font-weight:400;text-transform:none;letter-spacing:normal;padding:2px 6px;border-radius:3px;transition:all .2s ease}.theme-editor-link:hover{background-color:var(--color-primary);color:var(--color-background)}.theme-divider{height:1px;background:var(--color-border);margin:12px 0}.theme-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:8px}.theme-cell{width:48px;height:48px;border:3px solid var(--color-border);border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--color-background);position:relative;transition:all .2s ease;cursor:pointer;overflow:hidden}.theme-cell:hover{transform:scale(1.05);box-shadow:0 2px 8px #0003;border-color:var(--color-primary);border-width:4px}.theme-colors{width:100%;height:60%;display:flex;border-radius:2px;overflow:hidden}.theme-color-half{width:50%;height:100%}.theme-color-primary{border-right:1px solid rgba(255,255,255,.2)}.theme-tcid{font-size:.7em;font-weight:700;color:var(--color-text);margin-top:2px;text-align:center;line-height:1}.card{color:var(--color-text);border-radius:15px;padding:12px;margin:8px;box-shadow:inset 0 0 10px #0000001a,0 6px 12px #0003;width:300px;height:420px;text-align:center;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;box-sizing:border-box;position:relative;transition:all .3s ease}.card:hover{transform:translateY(-5px);box-shadow:0 10px 20px #0000004d}.card-image-container,.card-video-container{width:100%;height:200px;overflow:hidden;border-radius:10px;margin-bottom:10px}.card-video-container{height:0;padding-bottom:75%;position:relative;background-color:#000}.card-video-container iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}.card-image-instance{width:100%;height:100%;object-fit:cover;display:block}.card-text-as-image{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:10px;border-radius:10px;background-color:var(--color-background);box-sizing:border-box}.card-text-image-content{font-size:2.5em;font-weight:700;text-align:center;color:var(--color-text);text-shadow:2px 2px 4px rgba(0,0,0,.5)}.card-details-content{flex-grow:1;display:flex;flex-direction:column;padding:15px;border-radius:10px;margin-top:10px;background-color:var(--color-background)}.card-kanji-display{font-size:1.8em;font-weight:700;margin-bottom:10px;text-align:center;padding:5px;color:var(--color-text);line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;cursor:pointer}.card-kanji-display.kana-only-display{font-size:1.5em}.card-kanji-display.expanded{max-height:none;-webkit-line-clamp:unset;overflow:visible;white-space:normal}.card-description,.card-transcript{font-size:.9em;margin-top:10px;text-align:left;color:var(--color-text);padding:12px;border-radius:6px;background-color:var(--color-background-offset);border:1px solid var(--color-border);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;line-height:1.4;cursor:pointer}.card-transcript{-webkit-line-clamp:5;white-space:pre-wrap}.card-description.expanded,.card-transcript.expanded{-webkit-line-clamp:unset;max-height:none;overflow:visible;white-space:normal}.card-target-input-display{margin:12px 0;padding:10px;background-color:var(--color-background);border-radius:6px;border:2px solid var(--color-border);text-align:center;font-size:1.1em;color:var(--color-text);min-height:1.5em}.matched-phoneme{background-color:var(--color-primary);color:var(--color-background);font-weight:700;padding:2px 6px;border-radius:4px;text-shadow:none}.unmatched-phoneme{color:var(--color-text-secondary);opacity:.7}.debug-display{font-size:.9em;color:var(--color-text);margin:.5em 0;padding:.8em;background-color:var(--color-background-offset);border-radius:6px;text-align:center;border:1px solid var(--color-border)}.card-furigana{font-size:.8em;color:var(--color-text-secondary);margin-top:.2em;margin-bottom:.5em;line-height:1.2;font-weight:400}.furigana-container{display:flex;flex-direction:column;align-items:center}.furigana-text{font-size:.7em;color:var(--color-text-secondary);margin-bottom:-.2em}.kanji-text{font-size:1em}.card-pass-button{position:absolute;top:12px;right:12px;background-color:var(--color-background-offset);border:2px solid var(--color-border);color:var(--color-text);border-radius:50%;width:32px;height:32px;font-size:20px;line-height:28px;text-align:center;cursor:pointer;opacity:0;transition:all .2s ease-in-out;z-index:10}.card:hover .card-pass-button{opacity:1}.card-pass-button:hover{background-color:var(--color-error);color:var(--color-background);border-color:var(--color-error-dark);transform:scale(1.1)}.card-stars{position:absolute;bottom:12px;right:12px;display:flex;gap:2px;z-index:2;background-color:#0009;padding:4px 8px;border-radius:8px}.star{font-size:18px;line-height:1;color:gold;text-shadow:0 1px 2px rgba(0,0,0,.8);cursor:default}.star.empty{opacity:.5;color:#ccc}.card.card-presentation-name{justify-content:center}.card.card-presentation-name .card-kanji-display{font-size:2em;max-height:none}.card.video-card{width:100%;max-width:600px;height:auto;min-height:420px}.card-hint-upper{margin:12px 0 0;text-align:center;transition:opacity .3s ease}.card-hint-upper.visible{opacity:1}.card-hint-upper.hidden{opacity:0}.hint-content-upper{font-size:.6em;font-weight:700;color:var(--color-text-secondary);letter-spacing:.5px}.hint-toggle-instruction-bottom{font-size:.7em;color:var(--color-text-secondary);font-style:italic;margin-top:8px;opacity:.7}.hint-mobile-btn{display:none}@media (max-width: 768px){.hint-desktop{display:none}.hint-mobile-btn{display:block;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background:var(--color-background-offset, #f0f0f0);border:2px solid var(--color-border, #ddd);border-radius:6px;font-family:inherit;font-size:1em;color:var(--color-text-secondary);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.card-target-input-display{position:relative}}.card-ranked-indicator{position:absolute;top:8px;left:8px;z-index:10}.ranked-badge{font-size:.7em;font-weight:700;padding:4px 8px;border-radius:12px;box-shadow:0 2px 4px #0000004d;text-shadow:0 1px 2px rgba(255,255,255,.5)}.ranked-badge:not([data-type=cold]){background:linear-gradient(135deg,gold,#ffb347);color:#8b4513;border:2px solid #ffa500;animation:ranked-glow 2s ease-in-out infinite alternate}.ranked-badge[data-type=cold]{background:linear-gradient(135deg,#ff6b6b,#ff8e53);color:#fff;border:2px solid #ff4757;text-shadow:0 1px 2px rgba(0,0,0,.3);animation:cold-pulse 1.8s ease-in-out infinite alternate}.ranked-badge[data-type=new]{background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff;border:2px solid #43a047;text-shadow:0 1px 2px rgba(0,0,0,.3);animation:new-sparkle 2s ease-in-out infinite alternate}.card-second-chance-indicator{position:absolute;top:8px;right:8px;z-index:10}.second-chance-badge{background:linear-gradient(135deg,#87ceeb,#4682b4);color:#fff;font-size:.7em;font-weight:700;padding:4px 8px;border-radius:12px;border:2px solid #4169e1;box-shadow:0 2px 4px #0000004d;text-shadow:0 1px 2px rgba(0,0,0,.3);animation:second-chance-pulse 1.5s ease-in-out infinite}.card-clearing{animation:card-clear-animation .5s forwards}@keyframes card-clear-animation{0%{transform:scale(1);opacity:1}to{transform:scale(.8);opacity:0}}.card.flash-correct{animation:flash-correct .3s}.card.flash-incorrect{animation:flash-incorrect .3s}@keyframes flash-correct{0%,to{background-color:transparent}50%{background-color:#0f03}}@keyframes flash-incorrect{0%,to{background-color:transparent}50%{background-color:#f003}}.text-flash{animation:text-flash-animation .6s}@keyframes text-flash-animation{0%,to{color:var(--color-text)}50%{color:var(--color-primary)}}@keyframes ranked-glow{0%{box-shadow:0 2px 4px #0000004d,0 0 8px #ffd70066}to{box-shadow:0 2px 4px #0000004d,0 0 16px #ffd700cc}}@keyframes cold-pulse{0%{box-shadow:0 2px 4px #0000004d,0 0 8px #ff6b6b66;transform:scale(1)}to{box-shadow:0 2px 4px #0000004d,0 0 16px #ff6b6bcc;transform:scale(1.02)}}@keyframes new-sparkle{0%{transform:scale(1);box-shadow:0 0 8px #4caf5066}to{transform:scale(1.05);box-shadow:0 0 12px #4caf5099}}@keyframes second-chance-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}@media (max-width: 768px){.card{width:calc(100% - 16px);max-width:300px;margin:12px auto}}.card.effect-dissolve{animation:dissolveEffect .7s ease-out forwards}.card.effect-fast-dissolve{animation:fastDissolveEffect .08s ease-out forwards}@keyframes dissolveEffect{0%{opacity:1;transform:scale(1) rotate(0);border-color:var(--color-border)}to{opacity:0;transform:scale(.8) rotate(5deg);border-color:var(--color-primary);filter:blur(4px)}}@keyframes fastDissolveEffect{0%{opacity:1;transform:scale(1);border-color:var(--color-border)}to{opacity:0;transform:scale(.9);border-color:var(--color-primary)}}.card.effect-fly-off-up{animation:flyOffUpEffect .8s ease-in forwards}.card.effect-fast-fly-off-up{animation:fastFlyOffUpEffect .08s ease-in forwards}@keyframes flyOffUpEffect{0%{opacity:1;transform:translateY(0) rotate(0) scale(1);box-shadow:0 4px 8px #0000001a}to{opacity:0;transform:translateY(-600px) rotate(25deg) scale(.7);box-shadow:0 20px 30px #0003}}@keyframes fastFlyOffUpEffect{0%{opacity:1;transform:translateY(0) scale(1);box-shadow:0 4px 8px #0000001a}to{opacity:0;transform:translateY(-20px) scale(.9);box-shadow:0 8px 16px #0003}}.card.effect-torn-in-half{position:relative;animation:hideCardContentForTear .01s .1s forwards}.card.effect-fast-torn-in-half{position:relative;animation:fastHideCardContentForTear .01s .01s forwards}.card.effect-torn-in-half:before,.card.effect-torn-in-half:after{content:"";position:absolute;top:0;width:50%;height:100%;background-color:var(--color-card-background);border:2px solid var(--color-border);border-radius:8px;box-sizing:border-box;background-image:var(--card-background-image-for-tear);background-size:200% 100%;opacity:0}.card.effect-torn-in-half:before{left:0;border-right:none;border-top-right-radius:0;border-bottom-right-radius:0;animation:tearLeftHalf .8s ease-out .1s forwards;background-position:left center}.card.effect-torn-in-half:after{right:0;border-left:none;border-top-left-radius:0;border-bottom-left-radius:0;animation:tearRightHalf .8s ease-out .1s forwards;background-position:right center}.card.effect-fast-torn-in-half:before,.card.effect-fast-torn-in-half:after{content:"";position:absolute;top:0;width:50%;height:100%;background-color:var(--color-card-background);border:2px solid var(--color-border);border-radius:8px;box-sizing:border-box;opacity:0}.card.effect-fast-torn-in-half:before{left:0;border-right:none;border-top-right-radius:0;border-bottom-right-radius:0;animation:fastTearLeftHalf .08s ease-out .01s forwards}.card.effect-fast-torn-in-half:after{right:0;border-left:none;border-top-left-radius:0;border-bottom-left-radius:0;animation:fastTearRightHalf .08s ease-out .01s forwards}@keyframes hideCardContentForTear{to{color:transparent;border-color:transparent;box-shadow:none}}@keyframes fastHideCardContentForTear{to{color:transparent;border-color:transparent;box-shadow:none}}.card.effect-torn-in-half>*{animation:hideCardContentForTearChildren .01s .1s forwards}@keyframes hideCardContentForTearChildren{to{opacity:0}}@keyframes tearLeftHalf{0%{opacity:1;transform:translate(0) rotate(0);border-color:var(--color-border)}50%{border-color:var(--color-secondary)}to{opacity:0;transform:translate(-100px) translateY(50px) rotate(-25deg) scale(.8);border-color:var(--color-secondary)}}@keyframes tearRightHalf{0%{opacity:1;transform:translate(0) rotate(0);border-color:var(--color-border)}50%{border-color:var(--color-secondary)}to{opacity:0;transform:translate(100px) translateY(30px) rotate(15deg) scale(.8);border-color:var(--color-secondary)}}@keyframes fastTearLeftHalf{0%{opacity:1;transform:translate(0);border-color:var(--color-border)}to{opacity:0;transform:translate(-20px) translateY(10px) scale(.9);border-color:var(--color-secondary)}}@keyframes fastTearRightHalf{0%{opacity:1;transform:translate(0);border-color:var(--color-border)}to{opacity:0;transform:translate(20px) translateY(5px) scale(.9);border-color:var(--color-secondary)}}.card.effect-sinks-in-water{animation:sinksInWaterEffect 1.2s ease-in-out forwards}.card.effect-fast-sinks-in-water{animation:fastSinksInWaterEffect .08s ease-in-out forwards}@keyframes sinksInWaterEffect{0%{opacity:1;transform:translateY(0) scale(1);filter:blur(0px);border-color:var(--color-border);box-shadow:0 4px 8px #0000001a}60%{opacity:.8;transform:translateY(100px) scale(.9);border-color:var(--color-water-blue);box-shadow:0 4px 20px var(--color-water-blue)}to{opacity:0;transform:translateY(250px) scale(.5);filter:blur(5px);box-shadow:0 4px 40px var(--color-water-blue)}}@keyframes fastSinksInWaterEffect{0%{opacity:1;transform:translateY(0) scale(1);border-color:var(--color-border);box-shadow:0 4px 8px #0000001a}to{opacity:0;transform:translateY(20px) scale(.9);border-color:var(--color-water-blue);box-shadow:0 4px 20px var(--color-water-blue)}}.card.effect-explodes{animation:explodesEffect .7s ease-out forwards;transform-origin:center center}.card.effect-fast-explodes{animation:fastExplodesEffect .08s ease-out forwards;transform-origin:center center}@keyframes explodesEffect{0%{opacity:1;transform:scale(1) rotate(0);border-color:var(--color-border);background-color:var(--color-card-background)}40%{opacity:.8;transform:scale(1.3) rotate(15deg);border-color:var(--color-primary);background-color:var(--color-primary-light)}to{opacity:0;transform:scale(.1) rotate(-10deg);filter:blur(4px)}}@keyframes fastExplodesEffect{0%{opacity:1;transform:scale(1);border-color:var(--color-border);background-color:var(--color-card-background)}to{opacity:0;transform:scale(.8);border-color:var(--color-primary);background-color:var(--color-primary-light)}}.card.effect-shot-full-of-holes{position:relative;animation:shotShakeAndFade 1s ease-out forwards}.card.effect-fast-shot-full-of-holes{position:relative;animation:fastShotShakeAndFade .08s ease-out forwards}.card.effect-shot-full-of-holes:before,.card.effect-shot-full-of-holes:after{content:"";position:absolute;background-color:#000000a0;border-radius:50%;opacity:0;animation:appearAndGrowHole .8s ease-out .1s forwards}.card.effect-fast-shot-full-of-holes:before,.card.effect-fast-shot-full-of-holes:after{content:"";position:absolute;background-color:#000000a0;border-radius:50%;opacity:0;animation:fastAppearAndGrowHole .06s ease-out .01s forwards}.card.effect-shot-full-of-holes:before{width:30px;height:30px;top:20%;left:30%;animation-delay:.1s}.card.effect-shot-full-of-holes:after{width:40px;height:40px;top:50%;left:60%;animation-delay:.25s}.card.effect-fast-shot-full-of-holes:before{width:20px;height:20px;top:30%;left:40%;animation-delay:.01s}.card.effect-fast-shot-full-of-holes:after{width:25px;height:25px;top:60%;left:60%;animation-delay:.02s}@keyframes appearAndGrowHole{0%{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}@keyframes fastAppearAndGrowHole{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes shotShakeAndFade{0%,20%,40%,60%,80%{transform:translate(0) rotate(0);opacity:1;border-color:var(--color-border)}10%{transform:translate(-5px) rotate(-2deg);border-color:var(--color-secondary)}30%{transform:translate(5px) rotate(2deg);border-color:var(--color-border)}50%{transform:translate(-3px) rotate(-1deg);border-color:var(--color-secondary)}70%{transform:translate(3px) rotate(1deg);border-color:var(--color-border)}to{transform:translate(0) translateY(30px) scale(.9);opacity:0;filter:blur(2px)}}@keyframes fastShotShakeAndFade{0%{transform:translate(0);opacity:1;border-color:var(--color-border)}to{transform:translateY(10px) scale(.9);opacity:0;border-color:var(--color-secondary)}}.kanji-with-furigana{display:flex;flex-direction:column;align-items:center;margin-bottom:.5em}.furigana-text{font-size:.8em;color:var(--color-secondary);line-height:1.4;margin-bottom:.2em}.kanji-text{font-size:1.2em;line-height:1.4}.card-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin:16px 0}.card-grid.has-video-cards{display:flex;flex-direction:column;align-items:center}@media (max-width: 768px){.card-grid{justify-content:center}.card-grid.has-video-cards .video-card{width:100%;max-width:none}}@media (min-width: 769px){.card-grid.has-video-cards .video-card{max-width:600px}}.debug-menu-container{position:fixed;bottom:10px;right:10px;z-index:1000;background-color:var(--color-card-background);border:1px solid var(--color-border);border-radius:5px;padding:10px;box-shadow:0 2px 10px #0003;max-width:250px}.debug-menu-toggle-button{background-color:var(--color-primary);color:var(--color-background);border:none;padding:8px 12px;border-radius:4px;cursor:pointer;margin-bottom:10px;width:100%}.debug-menu-toggle-button:hover{opacity:.9}.debug-menu{max-height:300px;overflow-y:auto}.debug-menu h4{margin-top:0;margin-bottom:8px;font-size:1em;color:var(--color-text)}.debug-menu ul{list-style-type:none;padding:0;margin:0}.debug-menu li{margin-bottom:5px}.debug-menu label{display:flex;align-items:center;cursor:pointer;font-size:.9em;color:var(--color-text)}.debug-menu input[type=checkbox]{margin-right:8px}.debug-menu-warning{color:#ffc107;font-size:.85em;margin-top:10px}.game-results-container{display:flex;flex-direction:column;align-items:center;justify-content:center;flex-grow:1;padding:20px}.game-results-card{background-color:var(--color-background-offset);border:1px solid var(--color-border);border-radius:12px;padding:32px 48px;width:100%;max-width:500px;text-align:center;box-shadow:0 8px 24px #00000026}.results-deck-header{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--color-border);text-align:center}.results-deck-link{font-size:1.4em;font-weight:600;color:var(--color-text-secondary);text-decoration:none;transition:color .2s ease}.results-deck-link:hover{color:var(--color-primary)}.results-title{font-size:2.5em;font-weight:700;color:var(--color-primary);margin-top:0;margin-bottom:24px}.results-summary{margin-bottom:32px;display:flex;flex-direction:column;gap:16px}.result-item{display:flex;justify-content:space-between;align-items:center;font-size:1.2em;padding:12px;background-color:var(--color-background);border-radius:8px}.result-label{color:var(--color-text-secondary)}.result-value{font-weight:700}.xp-value{color:var(--color-secondary-dark)}.sp-value{color:#e69100}.level-up{justify-content:center;font-size:1.4em;font-weight:700;color:#fff;background:conic-gradient(from 180deg,var(--color-primary, #4a90e2) 0% 50%,var(--color-secondary, #b8e986) 50% 100%);padding:16px;animation:levelUpPulse 2s infinite}@keyframes levelUpPulse{0%{transform:scale(1);box-shadow:0 0 #ffd700b3}70%{transform:scale(1.02);box-shadow:0 0 10px 20px #ffd70000}to{transform:scale(1);box-shadow:0 0 #ffd70000}}.results-actions{display:flex;flex-direction:column;gap:12px}.results-button{display:inline-block;padding:12px 24px;border-radius:8px;font-weight:700;font-size:1.1em;text-decoration:none;border:none;cursor:pointer;transition:background-color .2s ease,transform .2s ease}.replay-button{background-color:var(--color-primary);color:#fff}.replay-button:hover{background-color:var(--color-primary-dark);transform:translateY(-2px)}.next-deck-button,.home-button{background-color:var(--color-background);color:var(--color-text);border:1px solid var(--color-border)}.next-deck-button:hover,.home-button:hover{background-color:var(--color-background-hover)}.home-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:2rem;background:var(--background-color, #f9fafb)}.home-loading{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:1.5rem}.home-content{width:100%;max-width:1200px}.hand-size-control{margin-bottom:3rem;text-align:center}.hand-size-control label{display:block;margin-bottom:1rem;font-size:1.2rem;color:var(--text-primary, #000)}.hand-size-slider{width:100%;max-width:400px;height:8px;border-radius:4px;background:var(--border-color, #e5e7eb);outline:none;cursor:pointer}.hand-size-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;background:var(--primary-color, #3b82f6);cursor:pointer}.hand-size-slider::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:var(--primary-color, #3b82f6);cursor:pointer;border:none}.deck-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}@media (min-width: 768px){.deck-grid{grid-template-columns:repeat(4,1fr)}}.deck-preview-card{background:#fff;border:2px solid var(--border-color, #e5e7eb);border-radius:12px;padding:2rem;display:flex;flex-direction:column;align-items:center;gap:1rem;transition:all .2s;cursor:pointer}.deck-preview-card:hover{border-color:var(--primary-color, #3b82f6);transform:translateY(-4px);box-shadow:0 8px 16px #0000001a}.deck-preview-character{font-size:4rem;font-weight:300;color:var(--text-primary, #000);min-height:5rem;display:flex;align-items:center;justify-content:center}.deck-preview-info{text-align:center}.deck-preview-info h3{font-size:1.5rem;margin:0 0 .5rem;color:var(--text-primary, #000)}.deck-preview-info p{font-size:.9rem;margin:0;color:var(--text-secondary, #666)}.deck-play-button{width:60px;height:60px;border-radius:50%;background:var(--primary-color, #3b82f6);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.deck-play-button:hover{background:var(--primary-hover, #2563eb);transform:scale(1.1)}.play-icon{color:#fff;font-size:1.5rem;margin-left:4px}.deck-card{position:relative;display:flex;flex-direction:column;box-sizing:border-box;min-width:220px;max-width:220px;height:150px;background-color:var(--color-background-offset);border:1px solid var(--color-border);border-radius:8px;padding:16px;box-shadow:0 2px 4px #0000001a;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out;overflow:hidden;cursor:default}.deck-card:hover{transform:translateY(-4px);box-shadow:0 6px 12px #00000026}.deck-card.suggestion{opacity:.6}.deck-card.attempted{border-left:4px solid var(--color-primary);padding-left:13px}.deck-card-full-link{position:absolute;top:0;left:0;width:100%;height:100%;text-decoration:none;color:inherit;z-index:1;display:block}.deck-card-content{position:relative;z-index:1;width:100%;height:100%;display:flex;flex-direction:column;transition:filter .2s ease-in-out}.deck-card:hover .deck-card-content{filter:blur(1px) brightness(.7)}.deck-card-title{margin-bottom:8px;color:var(--color-text)}.deck-card-base-name{font-size:.9em;color:var(--color-text-secondary);margin-bottom:4px;opacity:.8}.deck-card-variant-name{font-size:1.1em;font-weight:700;color:var(--color-text)}.deck-card-description{font-size:.9em;color:var(--color-text-secondary);margin:0;flex-grow:1;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;opacity:.9}.deck-card-proficiency{position:absolute;bottom:12px;right:16px;display:flex;gap:2px;z-index:5;opacity:1;transition:opacity .2s ease-in-out;margin-top:auto;padding-top:8px}.deck-card:hover .deck-card-proficiency{opacity:0}.star{font-size:18px;line-height:1;color:gold;text-shadow:0 1px 2px rgba(0,0,0,.7);cursor:default;margin-right:2px}.star.empty{color:#ccc;opacity:.6}.play-button{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.8);width:64px;height:64px;background-color:var(--color-primary);border-radius:50%;display:flex;justify-content:center;align-items:center;opacity:0;transition:opacity .2s ease-in-out,transform .2s ease-in-out;z-index:10;border:2px solid white;box-shadow:0 4px 8px #0000004d}.deck-card:hover .play-button{opacity:1;transform:translate(-50%,-50%) scale(1)}.play-button-triangle{width:0;height:0;border-style:solid;border-width:12px 0 12px 20px;border-color:transparent transparent transparent #ffffff;margin-left:5px}.track-row{margin-bottom:32px}.track-row h2{font-size:1.5em;text-align:left;margin-bottom:12px;border-bottom:1px solid var(--color-border);padding-bottom:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:20px;padding-right:20px}.track-description{font-size:.9em;text-align:left;margin-top:-8px;margin-bottom:12px;color:var(--color-text-secondary);padding-left:20px;padding-right:20px}.decks-scroll-container{display:flex;overflow-x:auto;overflow-y:hidden;gap:16px;padding:8px 20px;-webkit-overflow-scrolling:touch;-ms-overflow-style:none;scrollbar-width:none}.game-attempt-row{display:flex;padding:8px 12px;background-color:var(--color-background-offset);border-radius:4px;font-size:.9em;color:var(--color-text-secondary);margin-bottom:4px}.game-attempt-row.with-deck-name{flex-direction:column;align-items:flex-start;gap:4px}.game-attempt-row:not(.with-deck-name){align-items:center}.attempt-deck-name{font-weight:700;color:var(--color-text-primary)}.attempt-details{display:flex;justify-content:space-between;align-items:center;width:100%}.attempt-date{flex-basis:100px}.attempt-score{flex-basis:100px;font-weight:700}.attempt-duration{flex-basis:80px}.deck-history-container{margin-top:12px;padding:8px;background-color:var(--color-background);border-top:1px solid var(--color-border)}.most-recent-attempt{display:flex;align-items:center;gap:8px}.most-recent-attempt .game-attempt-row{flex-grow:1}.history-toggle{background-color:transparent;border:1px solid var(--color-secondary);color:var(--color-secondary);padding:4px 8px;border-radius:4px;cursor:pointer;font-size:.8em;white-space:nowrap}.older-attempts{margin-top:8px}.my-decks-track{margin-bottom:24px;padding:0 20px}.my-decks-track h2{font-size:1.5em;color:var(--color-text-primary);margin-bottom:12px;padding-bottom:4px;border-bottom:1px solid var(--color-border)}.decks-scroll-container{display:flex;overflow-x:auto;overflow-y:hidden;gap:16px;padding:8px 4px;-webkit-overflow-scrolling:touch;-ms-overflow-style:none;scrollbar-width:none}.decks-scroll-container::-webkit-scrollbar{display:none}.deck-page{padding:20px 40px;max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:32px}.deck-page-loading,.deck-page-error{padding:40px;text-align:center;font-size:1.2em;color:var(--color-text-secondary)}.deck-page-error{color:var(--color-error)}.deck-page-header{text-align:center;border-bottom:1px solid var(--color-border);padding-bottom:24px}.deck-page-header h1{font-size:2.5em;color:var(--color-text-primary);margin-bottom:8px}.deck-page-header p{font-size:1.1em;color:var(--color-text-secondary);margin-bottom:24px;max-width:600px;margin-left:auto;margin-right:auto}.play-deck-button{display:inline-block;padding:12px 24px;background-color:var(--color-primary);color:#fff;text-decoration:none;border-radius:8px;font-weight:700;font-size:1.1em;transition:background-color .2s ease,transform .2s ease}.play-deck-button:hover{background-color:var(--color-primary-dark);transform:translateY(-2px)}.deck-page-content{display:flex;flex-direction:column;gap:24px}.deck-history-section h2{margin-top:0;margin-bottom:16px;font-size:1.5em;color:var(--color-text-primary);border-bottom:1px solid var(--color-border);padding-bottom:8px}.card-list-container{display:flex;flex-wrap:wrap;gap:24px;margin-top:16px}.card-list{flex:3;min-width:300px;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;align-content:start}.card-list-item{background-color:var(--color-background-offset);border:1px solid var(--color-border);border-radius:6px;padding:12px 8px;font-family:inherit;font-size:1em;color:var(--color-text-primary);text-align:center;cursor:pointer;transition:background-color .2s,transform .2s,box-shadow .2s;min-height:60px;display:flex;align-items:center;justify-content:center}.card-list-item.video-card{position:relative}.card-list-item.video-card:after{content:"▶";position:absolute;bottom:5px;right:5px;font-size:12px;color:var(--color-primary)}.card-list-item:hover{background-color:var(--color-background-hover);transform:translateY(-2px);box-shadow:0 2px 5px #0000001a}.card-list-item.selected{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary-dark);font-weight:700;transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.card-details-pane{flex:2;min-width:280px;background-color:var(--color-background-offset);border:1px solid var(--color-border);border-radius:8px;padding:20px;align-self:flex-start}.card-details-pane .video-preview{width:100%;max-width:100%;margin-bottom:16px;border-radius:4px;overflow:hidden;position:relative;padding-bottom:75%}.card-details-pane .video-preview>*{position:absolute;top:0;left:0;width:100%;height:100%}.card-details-pane h3{margin-top:0;font-size:1.5em;color:var(--color-primary);border-bottom:1px solid var(--color-border);padding-bottom:10px;margin-bottom:16px}.card-details-pane p{margin:0 0 12px;line-height:1.6}.card-stats{margin-top:24px;padding-top:16px;border-top:1px solid var(--color-border)}.card-stats h4{margin-top:0;margin-bottom:12px;font-size:1.1em;color:var(--color-text-secondary)}.card-stats p{margin:4px 0;font-size:.9em}.game-page .card-container{display:flex;justify-content:center;align-items:center;flex-wrap:wrap}.game-page .video-card{margin:0 auto}.deck-builder-page{display:flex;flex-direction:column;height:calc(100vh - 100px);padding:20px 40px;gap:16px;max-width:1200px;margin:0 auto}.deck-builder-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--color-border);padding-bottom:16px;flex-shrink:0}.deck-builder-header h1{margin:0;font-size:2em}.deck-builder-actions{display:flex;gap:12px}.deck-builder-actions .save-button,.deck-builder-actions .cancel-button{padding:8px 16px;border:none;border-radius:6px;font-weight:700;cursor:pointer;transition:background-color .2s,transform .1s}.deck-builder-actions .save-button:hover,.deck-builder-actions .cancel-button:hover{transform:translateY(-1px)}.deck-builder-actions .save-button{background-color:var(--color-primary);color:#fff}.deck-builder-actions .save-button:hover{background-color:var(--color-primary-dark)}.deck-builder-actions .cancel-button{background-color:var(--color-background-offset);color:var(--color-text-primary);border:1px solid var(--color-border)}.deck-builder-actions .cancel-button:hover{background-color:var(--color-background-hover)}.deck-meta-editor{display:flex;flex-direction:column;gap:8px;flex-shrink:0}.deck-meta-editor input,.deck-meta-editor textarea{width:100%;padding:10px;border-radius:6px;border:1px solid var(--color-border);background-color:var(--color-background-offset);color:var(--color-text-primary);font-family:inherit;font-size:1em}.deck-meta-editor .deck-description-input{min-height:60px;resize:vertical}.deck-builder-content{display:flex;gap:16px;flex-grow:1;overflow:hidden}.source-cards-panel,.custom-deck-panel{flex:1;display:flex;flex-direction:column;background-color:var(--color-background-offset);border:1px solid var(--color-border);border-radius:8px;padding:16px;overflow:hidden}.source-cards-panel h2,.custom-deck-panel h2{margin-top:0;margin-bottom:12px;font-size:1.2em;border-bottom:1px solid var(--color-border);padding-bottom:8px;flex-shrink:0}.card-search-input{width:100%;padding:8px;margin-bottom:12px;border-radius:6px;border:1px solid var(--color-border);background-color:var(--color-background);color:var(--color-text-primary);flex-shrink:0}.card-selection-list{list-style:none;padding:0;margin:0;overflow-y:auto;flex-grow:1}.card-selection-list li{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid var(--color-border)}.card-selection-list li:last-child{border-bottom:none}.card-selection-list li span{flex-grow:1;margin-right:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-card-button,.remove-card-button{padding:4px 8px;border:1px solid var(--color-border);border-radius:4px;background-color:var(--color-background);color:var(--color-text-primary);cursor:pointer;transition:background-color .2s;margin-left:16px;flex-shrink:0}.add-card-button:hover:not(:disabled){background-color:var(--color-primary-light);color:#000}.add-card-button:disabled{background-color:var(--color-background-offset);color:var(--color-text-secondary);cursor:not-allowed}.remove-card-button{background-color:var(--color-error-light);border-color:var(--color-error)}.remove-card-button:hover{background-color:var(--color-error);color:#fff}.empty-deck-message{color:var(--color-text-secondary);text-align:center;margin-top:20px}.error-message{color:var(--color-error)}.settings-page{max-width:800px;margin:0 auto;padding:0 20px;color:var(--color-text)}.settings-page h1{border-bottom:2px solid var(--color-border);padding-bottom:10px;margin-bottom:20px}.settings-content{background-color:var(--color-background-offset);padding:20px;border-radius:8px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px}.stat-card{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:8px;padding:16px;text-align:center;box-shadow:0 2px 4px #0000000d}.stat-card h3{margin:0 0 8px;font-size:1em;color:var(--color-text-secondary);font-weight:400}.stat-card .stat-value{margin:0;font-size:2.2em;font-weight:700;color:var(--color-primary)}.stat-card .stat-detail{margin:4px 0 0;font-size:.8em;color:var(--color-text-secondary)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}.stat-card{background-color:var(--color-background);padding:16px;border-radius:6px;border:1px solid var(--color-border);text-align:center}.stat-card h3{margin:0 0 8px;font-size:1em;color:var(--color-text-secondary)}.stat-card .stat-value{margin:0;font-size:2em;font-weight:700}.stat-card .stat-detail{margin:4px 0 0;font-size:.9em;color:var(--color-text-secondary)}.settings-section{margin-top:24px;padding-top:16px}.settings-section h2{margin-top:0;margin-bottom:8px;font-size:1.5em;color:var(--color-text-secondary);text-align:left}.setting-row{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-top:1px solid var(--color-border)}.setting-label{font-size:1.1em;font-weight:600}.setting-description{font-size:.9em;font-weight:400;color:var(--color-text-secondary);margin-top:4px}.setting-control .theme-toggle-button,.setting-control .psychedelic-toggle-button{display:flex;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;border:1px solid var(--color-border);border-radius:6px;background-color:var(--color-background);color:var(--color-text-primary);cursor:pointer;transition:background-color .2s,transform .1s}.setting-control .psychedelic-toggle-button.active{background-color:var(--color-primary);color:#fff;animation:psychedelic-pulse 2s infinite}@keyframes psychedelic-pulse{0%,to{background-color:var(--color-primary);transform:scale(1)}25%{background-color:#ff6b6b;transform:scale(1.05)}50%{background-color:#4ecdc4;transform:scale(1)}75%{background-color:#45b7d1;transform:scale(1.05)}}.hiragana-learning-page{min-height:100vh;background:var(--gradient-background, var(--color-background))}.hiragana-learning-page.gameplay-mode{padding-top:0;background:var(--gradient-background, var(--color-background));min-height:100vh}.learning-content{display:flex;gap:30px;max-width:1400px;margin:0 auto;padding:0 20px 20px}.main-learning-area{flex:1;min-height:500px}.sidebar{width:300px;display:flex;flex-direction:column;gap:20px}.loading-section{background-color:var(--color-background-offset);border-radius:12px;padding:48px 24px;text-align:center;box-shadow:0 4px 12px #0000001a;display:flex;flex-direction:column;align-items:center;gap:24px}.loading-spinner{width:40px;height:40px;border:4px solid var(--color-border);border-top:4px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-message h2{margin:0 0 16px;color:var(--color-text);font-size:1.5em}.loading-message p{margin:0;color:var(--color-text-secondary);font-size:1.1em}.current-deck-section{background-color:var(--color-background-offset);border-radius:12px;padding:24px;box-shadow:0 4px 12px #0000001a}.deck-header{text-align:center;margin-bottom:24px}.deck-header h2{margin:0 0 8px;color:var(--color-text);font-size:1.8em}.deck-header p{margin:0 0 12px;color:var(--color-text-secondary);font-size:1.1em}.deck-progress{font-size:.9em;color:var(--color-primary);font-weight:600}.card-container{display:flex;justify-content:center;margin:24px 0}.deck-completion-notice{text-align:center;margin-top:20px;padding:16px;background-color:var(--color-success-bg, #d4edda);border:1px solid var(--color-success-border, #c3e6cb);border-radius:8px;color:var(--color-success-text, #155724)}.deck-selection-section{background-color:var(--color-background-offset);border-radius:12px;padding:24px}.deck-selection-section h2{text-align:center;margin:0 0 24px;color:var(--color-text)}.deck-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-bottom:32px}.deck-card{background-color:var(--color-background);border:2px solid var(--color-border);border-radius:8px;padding:20px;cursor:pointer;transition:all .2s ease;position:relative}.deck-card:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.deck-card.completed{border-color:var(--color-success, #28a745);background-color:var(--color-success-bg, #d4edda)}.deck-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.deck-card-header h3{margin:0;color:var(--color-text);font-size:1.2em}.completion-badge{background-color:var(--color-success, #28a745);color:#fff;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:.8em;font-weight:700}.deck-card p{margin:0 0 12px;color:var(--color-text-secondary);line-height:1.4}.deck-card-footer{display:flex;justify-content:space-between;align-items:center;font-size:.9em}.character-count{color:var(--color-text-secondary)}.deck-type{padding:4px 8px;border-radius:4px;font-size:.8em;font-weight:600;text-transform:uppercase}.deck-type.basic{background-color:var(--color-primary);color:#fff}.deck-type.intermediate{background-color:var(--color-warning, #ffc107);color:var(--color-warning-text, #856404)}.skill-tests-section{margin-top:32px;padding-top:24px;border-top:2px solid var(--color-border)}.skill-tests-section h3{margin:0 0 8px;color:var(--color-text)}.skill-tests-section>p{margin:0 0 16px;color:var(--color-text-secondary)}.skill-test-card{background-color:var(--color-background);border:2px solid var(--color-warning, #ffc107);border-radius:8px;padding:20px;margin-bottom:16px}.skill-test-card h4{margin:0 0 8px;color:var(--color-text)}.skill-test-card p{margin:0 0 12px;color:var(--color-text-secondary)}.test-requirements{margin-bottom:16px}.test-requirements strong{color:var(--color-text)}.test-requirements ul{margin:8px 0 0;padding-left:20px}.test-requirements li{color:var(--color-text-secondary);margin-bottom:4px}.start-test-button{background-color:var(--color-warning, #ffc107);color:var(--color-warning-text, #856404);border:none;padding:10px 20px;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s ease}.start-test-button:hover{background-color:var(--color-warning-hover, #e0a800);transform:translateY(-1px)}.learning-stats,.session-stats{background-color:var(--color-background-offset);border-radius:8px;padding:16px}.learning-stats h3,.session-stats h3{margin:0 0 12px;color:var(--color-text);font-size:1.1em}.stat-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding:4px 0}.stat-label{color:var(--color-text-secondary);font-size:.9em}.stat-value{color:var(--color-text);font-weight:600}@media (max-width: 1024px){.learning-content{flex-direction:column}.sidebar{width:100%;flex-direction:row;flex-wrap:wrap}.sidebar>*{flex:1;min-width:250px}}@media (max-width: 768px){.learning-header{padding:16px 16px 12px}.learning-header h1{font-size:2em}.progress-summary{flex-direction:column;gap:8px}.learning-content{gap:20px;padding:0 16px 16px}.current-deck-section,.deck-selection-section{padding:16px}.deck-list{grid-template-columns:1fr}.sidebar{flex-direction:column}.sidebar>*{min-width:auto}}@media (max-width: 480px){.learning-header{padding:12px 12px 8px}.learning-content{padding:0 12px 12px}.deck-card-header{flex-direction:column;align-items:flex-start;gap:8px}.completion-badge{align-self:flex-end}}.hiragana-learning-page.gameplay-mode{padding-top:0;background-color:var(--color-background)!important;min-height:100vh}body:has(.hiragana-learning-page.gameplay-mode) .app-banner{height:30px!important;min-height:30px!important;padding:5px 20px!important}body:has(.hiragana-learning-page.gameplay-mode) .app-banner h1{font-size:16px!important;margin:0!important}body:has(.hiragana-learning-page.gameplay-mode) .header-actions{gap:8px!important}body:has(.hiragana-learning-page.gameplay-mode) .header-action-button{width:24px!important;height:24px!important;font-size:12px!important;padding:2px!important}body:has(.hiragana-learning-page.gameplay-mode) .player-stats-link{font-size:12px!important}.hiragana-learning-page.gameplay-mode .learning-content{margin-top:10px;height:calc(100vh - 40px);display:flex;align-items:flex-start}.gameplay-header{display:flex;justify-content:flex-start;margin-bottom:20px}.back-to-overview-button{background:var(--color-secondary);color:var(--color-background);border:none;padding:8px 12px;border-radius:6px;cursor:pointer;font-size:18px;font-weight:700;transition:background-color .2s;min-width:40px;display:flex;align-items:center;justify-content:center}.back-to-overview-button:hover{background:var(--color-primary)}.hiragana-learning-page.gameplay-mode .main-learning-area{flex:1;display:flex;align-items:flex-start;justify-content:center;min-width:0;height:100%;padding-top:20px}.hiragana-learning-page.gameplay-mode .sidebar{width:300px;padding:20px 10px 10px;display:flex;align-items:flex-start;justify-content:center}.hiragana-learning-page.gameplay-mode .current-deck-section{width:100%;max-width:600px;text-align:center}.hiragana-learning-page.gameplay-mode .card-container{display:flex;justify-content:center;align-items:center}.hiragana-learning-page.gameplay-mode .card-container .card{width:auto!important;max-width:500px!important;min-width:300px!important;flex-shrink:0!important}@media (max-width: 1024px){.hiragana-learning-page.gameplay-mode .learning-content{flex-direction:column;align-items:center}.hiragana-learning-page.gameplay-mode .sidebar{width:100%;max-width:600px;padding:20px 10px;display:flex;justify-content:center}}.hiragana-learning-page.gameplay-mode .deck-header{margin-bottom:20px}.hiragana-learning-page.gameplay-mode .deck-header h2{font-size:24px;margin-bottom:5px}.hiragana-learning-page.gameplay-mode .deck-header p{font-size:14px;color:#666;margin-bottom:10px}.hiragana-learning-page.gameplay-mode .deck-progress{font-size:16px;font-weight:700;color:var(--color-primary)}.hiragana-deck-stories{width:100%;padding:16px 0;background-color:var(--color-background-offset);border-bottom:1px solid var(--color-border);margin-bottom:20px}.stories-container{display:flex;gap:16px;padding:0 20px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.stories-container::-webkit-scrollbar{display:none}.story-circle{display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;transition:transform .2s ease;flex-shrink:0;position:relative}.story-circle:hover:not(.locked){transform:scale(1.05)}.story-circle.locked{cursor:not-allowed;opacity:.5}.story-circle-inner{width:70px;height:70px;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border:3px solid var(--color-border);transition:all .3s ease}.story-circle.new .story-circle-inner{border:3px solid #ffd700;box-shadow:0 0 12px #ffd70066;background:linear-gradient(135deg,#fff9c4,#f7e98e)}.story-circle.current .story-circle-inner{border:3px solid var(--color-primary);box-shadow:0 0 12px #4a90e266;background:linear-gradient(135deg,#e3f2fd,#bbdefb)}.story-circle.completed .story-circle-inner{border:3px solid #4caf50;background:linear-gradient(135deg,#e8f5e8,#c8e6c9)}.story-circle.locked .story-circle-inner{border:3px solid #ccc;background:linear-gradient(135deg,#f5f5f5,#e0e0e0)}.story-character{font-size:24px;font-weight:700;color:var(--color-text);line-height:1}.story-circle.locked .story-character{font-size:20px;color:#999}.completion-check{position:absolute;bottom:-2px;right:-2px;width:20px;height:20px;background-color:#4caf50;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:700;border:2px solid var(--color-background)}.cold-indicator{position:absolute;top:-2px;right:-2px;width:24px;height:24px;background-color:#ff5722;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:700;border:2px solid var(--color-background);animation:pulse-cold 2s infinite;z-index:10}@keyframes pulse-cold{0%{box-shadow:0 0 #ff5722b3}70%{box-shadow:0 0 0 8px #ff572200}to{box-shadow:0 0 #ff572200}}.story-circle.has-cold .story-circle-inner{box-shadow:0 0 8px #ff57224d}.story-label{font-size:12px;color:var(--color-text-secondary);text-align:center;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.story-circle.current .story-label{color:var(--color-primary);font-weight:600}.story-circle.new .story-label{color:#b8860b;font-weight:600}.story-circle.new .story-circle-inner{animation:pulse-gold 2s infinite}@keyframes pulse-gold{0%{box-shadow:0 0 12px #ffd70066}50%{box-shadow:0 0 20px #ffd700b3}to{box-shadow:0 0 12px #ffd70066}}@media (max-width: 768px){.hiragana-deck-stories{padding:12px 0}.stories-container{gap:12px;padding:0 16px}.story-circle-inner{width:60px;height:60px}.story-character{font-size:20px}.story-circle.locked .story-character{font-size:16px}.completion-check{width:18px;height:18px;font-size:10px}.story-label{font-size:11px;max-width:70px}}@media (max-width: 480px){.stories-container{gap:10px;padding:0 12px}.story-circle-inner{width:55px;height:55px}.story-character{font-size:18px}.story-circle.locked .story-character{font-size:14px}}[data-theme=dark] .story-circle-inner{background:linear-gradient(135deg,#2d3748,#4a5568)}[data-theme=dark] .story-circle.new .story-circle-inner{background:linear-gradient(135deg,#744210,#975a16)}[data-theme=dark] .story-circle.current .story-circle-inner{background:linear-gradient(135deg,#1e3a8a,#3b82f6)}[data-theme=dark] .story-circle.completed .story-circle-inner{background:linear-gradient(135deg,#166534,#22c55e)}[data-theme=dark] .story-circle.locked .story-circle-inner{background:linear-gradient(135deg,#374151,#6b7280)}.learning-header{text-align:center;padding:20px 20px 16px}.learning-header h1{margin:0 0 16px;color:var(--color-text);font-size:2.5em}.progress-summary{display:flex;align-items:center;justify-content:center;gap:16px;max-width:400px;margin:0 auto}.progress-bar{flex:1;height:8px;background-color:var(--color-border);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--color-primary),#4ecdc4);transition:width .3s ease}.progress-text{font-size:.9em;color:var(--color-text-secondary);white-space:nowrap}.deck-header{margin-bottom:20px;text-align:center}.deck-header h2{font-size:24px;margin-bottom:5px;color:var(--color-text)}.deck-header p{font-size:14px;color:var(--color-text-secondary);margin-bottom:10px}.deck-progress{font-size:16px;font-weight:700;color:var(--color-primary)}.learning-stats{margin-bottom:20px}.learning-stats h3{margin:0 0 12px;font-size:1.1em;color:var(--color-text)}.stat-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--color-border)}.stat-item:last-child{border-bottom:none}.stat-label{font-size:.9em;color:var(--color-text-secondary)}.stat-value{font-weight:700;color:var(--color-primary)}.session-stats{margin-bottom:20px}.session-stats h3{margin:0 0 12px;font-size:1.1em;color:var(--color-text)}.session-stats .stat-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--color-border)}.session-stats .stat-item:last-child{border-bottom:none}.session-stats .stat-label{font-size:.9em;color:var(--color-text-secondary)}.session-stats .stat-value{font-weight:700;color:var(--color-primary)}.reset-controls{margin-top:20px;padding:15px;background-color:#f5f5f5;border-radius:8px}.reset-controls h4{margin:0 0 10px;font-size:14px;color:#666}.reset-health-btn{background-color:#ff9800;color:#fff;border:none;padding:8px 12px;border-radius:4px;cursor:pointer;font-size:12px;margin-right:8px;margin-bottom:8px}.reset-progress-btn{background-color:#f44336;color:#fff;border:none;padding:8px 12px;border-radius:4px;cursor:pointer;font-size:12px}.reset-health-btn:hover,.reset-progress-btn:hover{opacity:.9}.tracks-page{padding:2rem;max-width:1200px;margin:0 auto}.tracks-header{text-align:center;margin-bottom:3rem}.tracks-header h1{font-size:2.5rem;margin-bottom:.5rem}.tracks-header p{font-size:1.2rem;color:var(--text-secondary, #666)}.tracks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem}.track-card{background:var(--card-bg, white);border-radius:12px;padding:2rem;text-decoration:none;color:inherit;border:2px solid var(--border-color, #e5e7eb);transition:transform .2s,box-shadow .2s}.track-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0000001a}.track-card h2{margin:0 0 1rem;font-size:1.5rem}.track-card p{margin:0 0 1.5rem;line-height:1.6;color:var(--text-secondary, #666)}.track-meta{font-size:.9rem;color:var(--text-tertiary, #999)}.tracks-page-loading,.tracks-page-error{text-align:center;padding:4rem;font-size:1.2rem}.tracks-page-error{color:var(--error-color, #dc2626)}.track-page{padding:2rem;max-width:1200px;margin:0 auto}.track-page.gameplay-mode{padding:0;max-width:100%}.track-header{margin-bottom:3rem}.back-link{display:inline-block;margin-bottom:1rem;color:var(--primary-color, #3b82f6);text-decoration:none}.back-link:hover{text-decoration:underline}.track-header h1{font-size:2.5rem;margin-bottom:.5rem}.track-header p{font-size:1.2rem;color:var(--text-secondary, #666)}.track-content{display:flex;flex-direction:column;gap:3rem}.track-content-layout{display:flex;gap:2rem;align-items:flex-start;flex-wrap:wrap}.track-decks-section{flex:0 0 auto;min-width:0}.track-grid-section{flex:1;min-width:460px}.track-grid-section .data-grid{display:flex;justify-content:center}.track-grid-section .grid-container{margin:0 auto}.track-grid-section h2,.track-decks-section h2{font-size:1.5rem;margin-bottom:1.5rem}.decks-grid{display:grid;grid-template-columns:repeat(4,85.6px);gap:4px}.deck-card-wrapper{display:contents}.track-page .deck-card{width:85.6px;min-width:85.6px;max-width:85.6px;height:85.6px;min-height:85.6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:6px;border:2px solid var(--border-color, #e5e7eb);border-radius:8px;transition:all .2s;box-sizing:border-box;overflow:hidden;box-shadow:none}.deck-card:hover{border-color:var(--primary-color, #3b82f6);background-color:var(--hover-bg, #f9fafb)}.deck-card.attempted{border-color:var(--success-color, #10b981)}.play-button-circle{width:24px;height:24px;border-radius:50%;background:var(--primary-color, #3b82f6);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.play-button-circle:hover{background:var(--primary-hover, #2563eb);transform:scale(1.05)}.play-triangle{width:0;height:0;border-left:8px solid white;border-top:5px solid transparent;border-bottom:5px solid transparent;margin-left:2px}.deck-card-content{width:100%;display:flex;flex-direction:column;align-items:center;gap:.5rem;text-decoration:none;color:inherit;text-align:center}.deck-info{display:flex;flex-direction:column;align-items:center}.deck-name{font-size:.55rem;font-weight:600;line-height:1.2;text-align:center}.deck-card-count{display:none}.attempted-badge{color:var(--success-color, #10b981);font-size:1.5rem}.play-all-button{width:100%;padding:.75rem 1.5rem;background:var(--secondary-color, #8b5cf6);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s}.play-all-button:hover{background:var(--secondary-hover, #7c3aed);transform:translateY(-1px)}.gameplay-section{min-height:100vh;display:flex;flex-direction:column}.gameplay-header{padding:1rem 2rem;display:flex;align-items:center;gap:2rem;border-bottom:1px solid var(--border-color, #e5e7eb)}.back-to-overview-button{background:none;border:none;font-size:2rem;cursor:pointer;padding:.5rem;color:var(--text-primary, #000);transition:transform .2s}.back-to-overview-button:hover{transform:scale(1.1)}.deck-progress{font-size:1.1rem;color:var(--text-secondary, #666)}.card-container{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}.track-page-loading,.track-page-error{text-align:center;padding:4rem;font-size:1.2rem}.track-page-error{color:var(--error-color, #dc2626)}.track-page-error a{display:inline-block;margin-top:1rem;color:var(--primary-color, #3b82f6);text-decoration:none}.track-page-error a:hover{text-decoration:underline}.card-display{width:300px;height:420px;border-radius:15px;padding:12px;box-shadow:inset 0 0 10px #0000001a,0 6px 12px #0003;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;box-sizing:border-box;position:relative;transition:all .3s ease}.card-display:hover{transform:translateY(-5px);box-shadow:0 10px 20px #0000004d}.card-display-image-container{width:100%;height:200px;overflow:hidden;border-radius:10px;margin-bottom:10px}.card-display-image{width:100%;height:100%;object-fit:cover;display:block}.card-display-text-as-image{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:10px;border-radius:10px}.card-display-text-content{font-size:2.5em;font-weight:700;text-align:center;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.card-display-details{flex-grow:1;display:flex;flex-direction:column;padding:15px;border-radius:10px;margin-top:10px}.card-display-name{font-size:1.8em;font-weight:700;margin-bottom:10px;text-align:center}.card-display-description{font-size:.9em;text-align:left;line-height:1.4}.color-picker-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.color-picker-panel{background:#fff;border-radius:12px;padding:20px;box-shadow:0 8px 32px #0000004d;max-width:500px;max-height:80vh;overflow-y:auto}.color-picker-section{margin-bottom:12px}.color-grid.standard{display:grid;grid-template-columns:repeat(10,1fr);gap:4px}.color-square{width:28px;height:28px;border-radius:4px;cursor:pointer;border:2px solid #ddd;transition:all .2s ease}.color-square:hover{transform:scale(1.1);border-color:#333;box-shadow:0 2px 8px #0003}.color-square.empty{cursor:default;opacity:.3}.color-square.empty:hover{transform:none;border-color:#ddd;box-shadow:none}.spectrum-palette-grid{display:grid;grid-template-columns:repeat(100,1fr);gap:0;background:#f0f0f0;padding:2px;border-radius:4px;max-width:460px}.spectrum-pixel{width:4px;height:4px;cursor:pointer;transition:transform .1s ease}.spectrum-pixel:hover{transform:scale(2);z-index:1;position:relative;border:1px solid #333}.theme-card{max-width:600px;margin:0 auto;padding:30px;border-radius:16px;border:2px solid;box-shadow:0 8px 32px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.theme-preview-card{display:flex;justify-content:center;margin-bottom:24px}.preview-card{width:280px;height:180px;border-radius:12px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 4px 16px #0003;border:8px solid;padding:12px;box-sizing:border-box}.preview-card-upper{flex:1;display:flex;align-items:center;justify-content:center;padding:20px}.preview-card-name{font-size:24px;font-weight:700;text-align:center;line-height:1.2}.preview-card-lower{flex:1;display:flex;align-items:center;justify-content:center;padding:16px}.preview-card-description{font-size:14px;font-weight:400;opacity:.8;text-align:center;line-height:1.4}.color-palette-section{margin-bottom:24px}.color-swatches{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:16px;margin-bottom:24px}.color-swatch-container{display:flex;flex-direction:column;align-items:center;gap:8px}.color-swatch{width:60px;height:60px;border-radius:12px;cursor:pointer;border:3px solid rgba(255,255,255,.3);transition:all .2s ease;position:relative;display:flex;align-items:center;justify-content:center}.color-swatch:hover{transform:scale(1.05);box-shadow:0 4px 16px #0003}.color-picker-input{position:absolute;width:100%;height:100%;border:none;border-radius:8px;cursor:pointer;opacity:0}.color-label{font-size:14px;font-weight:400;text-align:center;opacity:.8}.theme-card-header{display:flex;gap:16px;margin-bottom:20px;align-items:center}.theme-input{border:none;border-radius:8px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.2);font-family:inherit;font-size:14px;font-weight:400}.theme-input:focus{outline:none;box-shadow:0 0 0 2px #ffffff4d}.theme-input::placeholder{font-size:14px;font-weight:400;opacity:.7}.theme-name-input{flex:1;padding:12px 16px}.theme-id-input{width:80px;text-align:center;padding:12px 8px;text-transform:uppercase}.theme-description-input{width:100%;padding:12px 16px;margin-bottom:24px;resize:vertical;box-sizing:border-box}.theme-card-actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.action-button{padding:12px 24px;border-radius:8px;border:2px solid;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:120px}.action-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #0003}.action-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.action-button:active:not(:disabled){transform:translateY(0)}@media (max-width: 600px){.theme-card{margin:20px;padding:20px}.theme-card-header{flex-direction:column;align-items:stretch}.theme-id-input{width:100%}.color-swatches{grid-template-columns:repeat(2,1fr)}.theme-card-actions{flex-direction:column}}.palette-editor{border:2px solid #ddd;border-radius:12px;margin:20px 0;overflow:hidden;box-shadow:0 4px 12px #0000001a}.palette-editor-header{padding:16px}.palette-header-content{display:flex;align-items:center;gap:12px}.palette-name-input{flex:1;font-size:18px;font-weight:700;border:none;background:transparent;outline:none}.palette-save-button{padding:8px 16px;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:opacity .2s ease}.palette-save-button:hover{opacity:.8}.palette-name-input::placeholder{opacity:.7}.palette-preview-section{display:flex;justify-content:center;padding:20px;background:#f0f0f0}.palette-colors-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;padding:20px;background:#f8f9fa}.palette-color-swatch-container{display:flex;flex-direction:column;align-items:center;gap:8px}.palette-color-swatch{width:50px;height:50px;border-radius:8px;cursor:pointer;border:3px solid #ddd;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.palette-color-swatch:hover{transform:scale(1.05);border-color:#333;box-shadow:0 4px 12px #0003}.palette-color-label{font-size:12px;font-weight:500;color:#666;text-align:center}.theme-editor-card .card{width:150px;height:210px;padding:8px;border-radius:10px}.theme-editor-card .card-image-container{height:100px}.theme-editor-card .card-text-image-content{font-size:1.5em}.theme-editor-card .card-details-content{padding:8px}
