.visual-editor[data-v-f160ed3f]{margin-bottom:24px}.box-grid[data-v-f160ed3f]{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.box-card[data-v-f160ed3f]{background:var(--panel);border:1px solid var(--border-light);border-radius:var(--radius-lg);overflow:hidden;transition:transform .2s,box-shadow .2s}.box-card[data-v-f160ed3f]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.box-card-header[data-v-f160ed3f]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg-soft);border-bottom:1px solid var(--border-light)}.box-id[data-v-f160ed3f]{font-weight:700;font-size:1.1rem;color:var(--primary)}.box-image[data-v-f160ed3f]{width:100%;max-height:200px;overflow:hidden;background:#f8f9fa}.box-image img[data-v-f160ed3f]{width:100%;height:auto;object-fit:contain}.box-info[data-v-f160ed3f]{padding:12px 16px;border-bottom:1px solid var(--border-light)}.box-info-row[data-v-f160ed3f]{display:flex;justify-content:space-between;font-size:.88rem;margin-bottom:4px}.box-info-row .label[data-v-f160ed3f]{color:var(--text-muted)}.character-list[data-v-f160ed3f]{padding:12px 16px;display:flex;flex-wrap:wrap;gap:8px}.character-item[data-v-f160ed3f]{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg-soft);border-radius:var(--radius-md);font-size:.85rem}.character-avatar[data-v-f160ed3f]{width:32px;height:32px;border-radius:50%;object-fit:cover}.character-name[data-v-f160ed3f]{font-weight:600}.hot-badge[data-v-f160ed3f]{color:#e74c3c}.character-price[data-v-f160ed3f]{color:var(--text-muted);font-size:.78rem}.character-info[data-v-f160ed3f]{display:flex;flex-direction:column;gap:2px}.searchword-grid[data-v-f160ed3f]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.searchword-card[data-v-f160ed3f]{background:var(--panel);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:16px}.searchword-header[data-v-f160ed3f]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.searchword-name[data-v-f160ed3f]{font-weight:700;font-size:1.05rem}.searchword-info[data-v-f160ed3f]{font-size:.9rem}.searchword-row[data-v-f160ed3f]{margin-bottom:6px}.searchword-row .label[data-v-f160ed3f]{color:var(--text-muted);margin-right:8px}.searchword-tags[data-v-f160ed3f]{display:inline-flex;flex-wrap:wrap;gap:4px}.tag[data-v-f160ed3f]{display:inline-block;padding:2px 8px;background:var(--bg-soft);border-radius:12px;font-size:.8rem}.modal-overlay[data-v-f160ed3f]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content[data-v-f160ed3f]{background:var(--panel);border-radius:var(--radius-xl);padding:24px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.character-edit-item[data-v-f160ed3f]{padding:12px;background:var(--bg-soft);border-radius:var(--radius-md);margin-bottom:8px}@media (max-width: 768px){.box-grid[data-v-f160ed3f],.searchword-grid[data-v-f160ed3f]{grid-template-columns:1fr}.modal-content[data-v-f160ed3f]{max-width:100%;margin:10px}}:root{--bg: #ffffff;--bg-soft: #f4f4f4;--bg-dark: #2c2c2c;--panel: #ffffff;--panel-strong: #e8e8e8;--border: #d0d0d0;--border-light: #e0e0e0;--text: #333333;--text-muted: #666666;--text-light: #999999;--primary: #0078d4;--primary-hover: #0066b8;--secondary: #5b8a3c;--accent-blue: #4298b4;--accent-teal: #00a6a6;--accent-orange: #e67e22;--accent-red: #e74c3c;--accent-yellow: #f1c40f;--accent-purple: #88619a;--trait-energy: #4298b4;--trait-mind: #0078d4;--trait-nature: #5b8a3c;--trait-tactics: #e67e22;--success: #5b8a3c;--danger: #d32f2f;--warning: #e67e22;--shadow: 0 2px 8px rgba(0, 0, 0, .08);--shadow-md: 0 4px 16px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .12);--radius-xl: 16px;--radius-lg: 12px;--radius-md: 8px;--radius-sm: 4px;--max-width: 1080px;--content-width: 720px;--body-font: "Open Sans", "Helvetica Neue", Helvetica, Arial, "Noto Sans SC", "Noto Sans JP", sans-serif;--display-font: "Montserrat", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{scroll-behavior:smooth}body{margin:0;min-width:320px;font-family:var(--body-font);color:var(--text);background:var(--bg);line-height:1.6}a{color:inherit;text-decoration:none}button,a{outline:none}button:focus-visible,a:focus-visible{outline:2px solid var(--primary);outline-offset:2px}button,input,textarea,select{font:inherit}#app{min-height:100vh}.site-shell{position:relative;width:100%;max-width:none;margin:0;min-height:100vh;display:flex;flex-direction:column}.site-main{flex:1;padding:72px 0 0;background:var(--bg)}.site-header{width:100%;display:flex;justify-content:space-between;align-items:center;padding:12px 28px;min-height:72px;background:#fff;border-bottom:1px solid #e7eaed;position:fixed;top:0;left:0;z-index:50;box-shadow:0 2px 12px #2836400f}.brand-lockup{display:flex;align-items:center;gap:12px}.brand-logo{position:relative;width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#e8f4fd,#d0e8f7);display:flex;align-items:center;justify-content:center;border:2px solid #4298b4}.brand-logo-icon{font-size:20px;color:#0078d4}.dot{position:absolute;width:8px;height:8px;border-radius:999px}.dot-1{top:6px;left:14px;background:#4298b4}.dot-2{bottom:6px;left:14px;background:#5b8a3c}.dot-3{left:6px;top:14px;background:#0078d4}.dot-4{right:6px;top:14px;background:#88619a}.brand-name{font-family:var(--display-font);font-size:1.25rem;font-weight:700;color:var(--text);letter-spacing:0}.site-nav{display:flex;align-items:center;gap:4px}.mobile-nav-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid #dbe2e7;border-radius:12px;background:#fff;color:#3f4b54;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}.mobile-nav-toggle:hover{border-color:#0078d4;color:#0078d4;box-shadow:0 0 0 3px #0078d41a}.lang-dropdown{position:relative;display:inline-flex;align-items:center;margin:0 4px}.lang-dropdown-trigger{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#f8f9fa;border:1px solid #e1e6ea;border-radius:20px;color:var(--text-muted);font-family:inherit;font-size:.9rem;font-weight:600;padding:8px 32px 8px 16px;cursor:pointer;transition:all .2s ease;outline:none;position:relative;display:flex;align-items:center;gap:8px}.lang-dropdown-trigger .arrow{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid #8e9da8;pointer-events:none;transition:border-color .2s}.lang-dropdown-trigger:hover,.lang-dropdown-trigger:focus,.lang-dropdown.is-open .lang-dropdown-trigger{background:#fff;border-color:#0078d4;color:#0078d4;box-shadow:0 0 0 3px #0078d41a}.lang-dropdown-trigger:hover .arrow,.lang-dropdown.is-open .arrow{border-top-color:#0078d4}.lang-dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border-radius:12px;border:1px solid #dbe2e7;box-shadow:0 8px 24px #00000014;list-style:none;padding:8px;margin:0;min-width:120px;z-index:100;display:flex;flex-direction:column;gap:4px;transform-origin:top right}.dropdown-enter-active,.dropdown-leave-active{transition:opacity .2s,transform .2s}.dropdown-enter-from,.dropdown-leave-to{opacity:0;transform:scale(.95)}.lang-dropdown-menu li{padding:8px 12px;border-radius:8px;font-size:.9rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all .15s ease;text-align:center}.lang-dropdown-menu li:hover{background:#f4f6f8;color:var(--text)}.lang-dropdown-menu li.active{background:#e8f4fd;color:#0078d4}.site-nav a{padding:9px 12px;border-radius:999px;color:var(--text-muted);font-size:.92rem;font-weight:600;transition:background-color .18s ease,color .18s ease}.site-nav a:hover,.site-nav a.active{color:var(--text);background:#f4f6f8}.nav-cta{margin-left:8px;min-height:42px;padding:0 20px;background:var(--primary);color:#fff!important;border-radius:999px}.nav-cta:hover,.nav-cta.active{background:var(--primary-hover);color:#fff!important}.hero-section{position:relative;background:linear-gradient(180deg,#f8f9fa,#fff);padding:80px 24px 60px;text-align:center;border-bottom:1px solid var(--border-light);overflow:hidden}.hero-section:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--accent-purple) 0%,var(--accent-blue) 25%,var(--accent-teal) 50%,var(--primary) 75%,var(--secondary) 100%)}.hero-title{font-family:var(--display-font);font-size:clamp(2rem,5vw,2.8rem);font-weight:700;color:var(--text);margin:0 0 16px;line-height:1.2}.hero-subtitle{font-size:1.1rem;color:var(--text-muted);max-width:600px;margin:0 auto 40px;line-height:1.6}.hero-cta{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 40px;background:var(--primary);color:#fff;font-size:1.05rem;font-weight:600;border-radius:var(--radius-lg);border:none;cursor:pointer;transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease;box-shadow:0 4px 12px #0078d44d}.hero-cta:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 6px 20px #0078d466}.container{max-width:var(--max-width);margin:0 auto;padding:0 24px}.panel{background:var(--panel);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:24px}.section{padding:48px 24px;max-width:var(--max-width);margin:0 auto}.section-header{text-align:center;max-width:700px;margin:0 auto 48px}.section-eyebrow{display:inline-block;padding:6px 12px;background:#0078d41a;color:var(--primary);font-size:.85rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;border-radius:var(--radius-sm);margin-bottom:16px}.section-title{font-family:var(--display-font);font-size:clamp(1.8rem,4vw,2.4rem);font-weight:700;color:var(--text);margin:0 0 16px;line-height:1.2}.section-description{font-size:1.05rem;color:var(--text-muted);line-height:1.7}.auth-section{max-width:520px;margin:48px auto;padding:40px;background:var(--panel);border:1px solid var(--border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow)}.auth-section h2{font-family:var(--display-font);font-size:1.8rem;font-weight:700;color:var(--text);margin:0 0 8px}.auth-subtitle{color:var(--text-muted);font-size:.95rem;margin:0 0 32px}.form-group{margin-bottom:20px}.form-label{display:block;font-weight:600;color:var(--text);margin-bottom:8px;font-size:.95rem}.form-hint{display:block;color:var(--text-muted);font-size:.85rem;margin-top:6px}.form-input{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:1rem;color:var(--text);background:#fff;transition:border-color .2s,box-shadow .2s;outline:none}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0078d41a}.form-input::placeholder{color:var(--text-light)}textarea.form-input{min-height:200px;resize:vertical;font-family:Courier New,monospace;font-size:.9rem;line-height:1.5}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border-radius:var(--radius-md);border:1px solid transparent;font-weight:600;font-size:.95rem;cursor:pointer;transition:transform .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,opacity .18s ease;outline:none;text-decoration:none}.btn:hover{transform:translateY(-1px)}.btn:active{transform:scale(.97) translateY(0)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 2px 8px #0078d433}.btn-primary:hover:not(:disabled){background:var(--primary-hover);box-shadow:0 4px 12px #0078d44d}.btn-secondary{background:var(--bg-soft);color:var(--text);border-color:var(--border)}.btn-secondary:hover:not(:disabled){background:var(--panel-strong)}.btn-success{background:var(--success);color:#fff;border-color:var(--success)}.btn-success:hover:not(:disabled){background:#4a7830}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-danger:hover:not(:disabled){background:#b71c1c}.btn-ghost{background:transparent;color:var(--text-muted);border-color:transparent}.btn-ghost:hover:not(:disabled){background:var(--bg-soft);color:var(--text)}.btn-lg{min-height:52px;padding:0 32px;font-size:1.05rem}.btn-block{width:100%}.btn-sm{min-height:36px;padding:0 14px;font-size:.88rem}.alert{padding:14px 16px;border-radius:var(--radius-md);border:1px solid transparent;margin-bottom:20px;font-size:.95rem;line-height:1.5}.alert-info{background:#e8f4fd;border-color:#b8daef;color:#0c5fa3}.alert-success{background:#e8f5e9;border-color:#c8e6c9;color:#2e7d32}.alert-warning{background:#fff8e1;border-color:#ffe082;color:#e65100}.alert-danger{background:#ffebee;border-color:#ffcdd2;color:#c62828}.editor-section{max-width:var(--max-width);margin:32px auto;padding:0 24px}.file-selector{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.file-btn{padding:10px 18px;border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;color:var(--text-muted);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.file-btn:hover{border-color:var(--primary);color:var(--primary)}.file-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.editor-panel{background:var(--panel);border:1px solid var(--border-light);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:24px}.editor-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:var(--bg-soft);border-bottom:1px solid var(--border-light)}.editor-title{font-weight:700;color:var(--text);font-size:.95rem}.editor-status{font-size:.85rem;font-weight:600;padding:4px 10px;border-radius:12px}.editor-status.valid{background:#e8f5e9;color:#2e7d32}.editor-status.invalid{background:#ffebee;color:#c62828}.editor-body{padding:20px}.commit-section{background:var(--panel);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:24px}.commit-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.commit-actions{display:flex;gap:8px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:600}.badge-ready{background:#e8f5e9;color:#2e7d32}.badge-not-ready{background:var(--bg-soft);color:var(--text-muted)}.badge-connected{background:#e8f4fd;color:#0c5fa3}.repo-info{background:var(--panel);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:20px 24px;margin-bottom:24px}.repo-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.repo-info-item{display:flex;flex-direction:column;gap:4px}.repo-info-label{font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.repo-info-value{font-size:.95rem;color:var(--text);font-weight:600}.manual-section{background:var(--bg-soft);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:24px;margin-top:32px}.manual-title{font-family:var(--display-font);font-size:1.2rem;font-weight:700;color:var(--text);margin:0 0 12px}.manual-hint{color:var(--text-muted);font-size:.9rem;margin:0 0 16px}.manual-commands{background:#1e1e1e;border-radius:var(--radius-md);padding:16px;overflow-x:auto}.manual-commands pre{margin:0;color:#d4d4d4;font-family:Courier New,Courier,monospace;font-size:.88rem;line-height:1.6;white-space:pre-wrap;word-break:break-all}.manual-commands .comment{color:#6a9955}.site-footer{background:#fff;color:#2f3a42;padding:48px 24px 30px;border-top:1px solid #e9edf0}.footer-content{max-width:var(--max-width);margin:0 auto 32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:start;gap:40px}.footer-section{display:flex;flex-direction:column;gap:10px}.footer-title{font-family:var(--display-font);font-size:1rem;font-weight:700;margin:0 0 8px;color:#25313a}.footer-link{color:var(--accent-blue);font-size:.92rem;transition:color .18s ease}.footer-link:hover{color:var(--primary)}.footer-note{margin:0;color:#6f7d88;font-size:.9rem;line-height:1.65}.footer-bottom{max-width:var(--max-width);margin:0 auto;padding-top:24px;border-top:1px solid #e9edf0;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.footer-copyright{color:#6f7d88;font-size:.88rem;margin:0}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:32px}.feature-card{background:var(--panel);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:24px;transition:transform .18s ease,box-shadow .18s ease}.feature-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.feature-icon{width:52px;height:52px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--accent-blue) 0%,var(--primary) 100%);display:flex;align-items:center;justify-content:center;margin-bottom:16px;font-size:24px}.feature-card-title{font-family:var(--display-font);font-size:1.2rem;font-weight:700;color:var(--text);margin:0 0 10px}.feature-card-text{color:var(--text-muted);font-size:.92rem;line-height:1.6;margin:0}.pr-success{background:#e8f5e9;border:1px solid #c8e6c9;border-radius:var(--radius-lg);padding:24px;margin-top:20px}.pr-success h3{color:#2e7d32;margin:0 0 12px;font-size:1.1rem}.pr-link{display:inline-flex;align-items:center;gap:8px;color:var(--primary);font-weight:600;font-size:.95rem;text-decoration:none;padding:8px 16px;border-radius:var(--radius-md);background:#fff;border:1px solid var(--border);transition:all .2s}.pr-link:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.center{text-align:center}.mt-4{margin-top:16px}.mt-8{margin-top:32px}.mb-4{margin-bottom:16px}.mb-8{margin-bottom:32px}.flex{display:flex}.flex-wrap{flex-wrap:wrap}.gap-2{gap:8px}.gap-4{gap:16px}.gap-6{gap:24px}.text-muted{color:var(--text-muted)}.text-sm{font-size:.88rem}.lead{font-size:1.05rem;color:var(--text-muted);line-height:1.7}@media (max-width: 768px){.site-header{position:fixed;flex-direction:row;gap:12px;padding:12px 16px;min-height:68px;align-items:center;overflow:visible}.mobile-nav-toggle{display:inline-flex;flex-shrink:0}.site-nav{position:absolute;top:calc(100% + 1px);left:0;right:0;width:100%;padding:18px 16px 20px;background:#fff;border-bottom:1px solid #e7eaed;box-shadow:0 12px 24px #28364014;flex-direction:column;align-items:stretch;gap:10px;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease}.site-nav.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.site-nav a,.lang-dropdown,.lang-dropdown-trigger{width:100%}.site-nav a{display:flex;justify-content:center;text-align:center;padding:12px 16px}.lang-dropdown{margin:0}.lang-dropdown-menu{left:0;right:0;top:calc(100% + 6px);min-width:0;transform-origin:top center}.site-main{padding-top:68px}.site-nav .nav-cta{margin-left:0}.auth-section{margin:24px 16px;padding:28px 20px}.editor-section{padding:0 16px}.footer-content{grid-template-columns:1fr}.footer-bottom{flex-direction:column;text-align:center}.commit-header{flex-direction:column;align-items:flex-start}.commit-actions{width:100%}.commit-actions .btn{flex:1}}@media (max-width: 480px){.brand-name{font-size:1.1rem}.file-selector{flex-direction:column}.file-btn{text-align:center}.feature-grid{grid-template-columns:1fr}}.page-fade-enter-active{transition:opacity .4s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.4,0,.2,1)}.page-fade-leave-active{transition:opacity .05s linear}.page-fade-enter-from{opacity:0;transform:translateY(15px)}.page-fade-leave-to{opacity:0}@keyframes floatUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-float-up{animation:floatUp .6s cubic-bezier(.25,.8,.25,1) forwards}@keyframes pulseScale{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.animate-pulse{animation:pulseScale 2s infinite ease-in-out}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}button,.btn,.feature-card,.panel{transition:transform .25s cubic-bezier(.25,.8,.25,1),box-shadow .25s cubic-bezier(.25,.8,.25,1),background-color .25s ease,opacity .25s ease,border-color .25s ease}
