:root{font-family:Yu Gothic UI,Meiryo UI,Meiryo,system-ui,sans-serif;color:#302936;background:#f7f4fa;font-synthesis:none;text-rendering:optimizeLegibility}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}*{box-sizing:border-box}button,input,select{font:inherit}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{min-height:100vh;background:#f7f4fa;color:#302936}.web-header{display:flex;align-items:center;gap:12px;min-height:44px;padding:6px 14px;background:#ece8ef;border-bottom:1px solid #cfc7d4}.web-label{flex:0 0 auto;font-size:13px;font-weight:700;color:#6f6475}.address-bar{display:flex;align-items:center;flex:1;min-width:0;height:32px;padding:0 12px;background:#fff;border:1px solid #c9c2cd;border-radius:18px;box-shadow:inset 0 1px 2px #0000000d}.lock-mark{margin-right:8px;font-size:13px}.address-bar input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#5b5360;cursor:default}.main-content{padding:12px 16px}.title-area{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:10px}.title-area h1{margin:0 0 4px;font-size:24px}.title-area p{margin:0;color:#786d7d}.primary-button,.edit-button,.add-button,.save-button,.confirm-button,.cancel-button{padding:8px 14px;border-radius:9px;font-weight:700;cursor:pointer}.primary-button,.edit-button,.save-button,.confirm-button{border:1px solid #a56b96;background:#d69abc;color:#2f1d29}.edit-button{align-self:end;min-width:100px}.add-button{border:1px solid #b98aa6;background:#e6b9d1;color:#3c2734}.save-button{min-width:110px;background:#c982ad}.status-panel,.control-panel,.empty-editor,.editor-panel{margin-bottom:10px;background:#fff;border:1px solid #d8d0dc;border-radius:11px}.status-panel{display:grid;gap:6px;padding:9px 12px}.error-box{margin:6px 0 0;padding:10px;white-space:pre-wrap;color:#7e1f2b;background:#fff0f2;border:1px solid #e0a7af;border-radius:8px}.control-panel{display:flex;flex-wrap:wrap;align-items:end;gap:10px;padding:10px 12px}.control-group{display:flex;align-items:center;gap:12px;min-height:36px}.control-group label{display:flex;align-items:center;gap:5px}.control-label{font-weight:700}.field-label{display:grid;gap:5px;font-weight:700}.field-label input,.field-label select{min-width:190px;height:30px;padding:5px 9px;border:1px solid #c9c1cd;border-radius:7px;background:#fff}.wide-field input,.wide-field select{min-width:300px}.id-field input{min-width:120px;width:140px}.empty-editor{display:grid;min-height:400px;place-items:center;color:#837887}.editor-panel{overflow:hidden}.editor-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 12px;border-bottom:1px solid #ded7e2}.heading-buttons{display:flex;gap:10px}.mode-label{margin-bottom:3px;color:#8b4d73;font-weight:700}.editor-heading h2{margin:0;font-size:19px}.file-information{margin-top:5px;color:#786e7d;font-size:13px}.table-scroll{max-height:500px;overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{min-width:125px;padding:5px 7px;border-right:1px solid #ddd6e1;border-bottom:1px solid #ddd6e1;text-align:left;vertical-align:top}th{position:sticky;top:0;z-index:2;background:#eee5ec;font-weight:700}.row-number,.move-column,.unlimited-column,.delete-column{min-width:62px;width:62px;text-align:center}.error-column{min-width:250px;width:250px}.cell-input{width:100%;min-width:105px;height:30px;padding:5px 7px;border:1px solid #cfc7d2;border-radius:5px;background:#fff}.cell-input:disabled{color:#746a78;background:#e9e5eb}select.cell-input{cursor:pointer}.changed-cell{background:#fff1bd}.invalid-row{background:#fff7f7}.valid-mark{color:#26713b;font-weight:700}.row-errors{margin:0;padding-left:18px;color:#a12c3e;font-size:12px}.delete-button{padding:5px 9px;border:1px solid #c48791;border-radius:6px;background:#f8d9dd;cursor:pointer}.no-rows,.save-note{padding:10px;text-align:center}.save-note{color:#766b7a;background:#f4f0f5;border-top:1px solid #ded7e2}.privacy-note{color:#746a78;font-size:13px;text-align:right}.modal-backdrop{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:24px;background:#2a202a73}.confirm-dialog{width:min(520px,100%);padding:22px;background:#fff;border:1px solid #b9aebd;border-radius:14px;box-shadow:0 18px 50px #00000038}.confirm-dialog h2{margin:0 0 14px}.confirm-file{margin:12px 0;padding:12px;background:#f3edf2;border:1px solid #d7cad4;border-radius:8px;font-family:Consolas,monospace;font-weight:700}.confirm-extra{padding:10px;background:#fff5cf;border:1px solid #e1cf85;border-radius:8px}.dialog-buttons{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}.cancel-button{border:1px solid #aaa1ad;background:#f3f0f4;color:#3f3843}@media(max-width:950px){.title-area{align-items:stretch;flex-direction:column}.primary-button{align-self:flex-start}.wide-field{width:100%}.wide-field input,.wide-field select{width:100%;min-width:0}.editor-heading{align-items:flex-start;flex-direction:column}}.fixed-cell{color:#5f5664;background:#ece8ef;cursor:default;text-align:center;font-weight:700}.move-buttons{display:flex;justify-content:center;gap:5px}.move-button{width:30px;height:30px;padding:0;border:1px solid #b9aebd;border-radius:5px;background:#f3eef2;cursor:pointer}.date-field input{min-width:155px}.member-field select{min-width:180px}.main-tabs{display:flex;gap:8px;margin-bottom:14px;padding:0 4px;border-bottom:2px solid #d7cfd9}.main-tab{min-width:180px;padding:12px 18px;border:1px solid #c8bdca;border-bottom:0;border-radius:10px 10px 0 0;background:#eee9f0;color:#5f5664;font-weight:700;cursor:pointer}.main-tab.active{position:relative;top:2px;background:#fff;color:#7f3f67;border-color:#b884a4}.tab-content{min-width:0}.run-panel{min-height:430px;margin-bottom:16px;padding:18px;background:#fff;border:1px solid #d8d0dc;border-radius:11px}.run-panel-heading{padding-bottom:14px;border-bottom:1px solid #ded7e2}.run-panel-heading h2{margin:0 0 5px;font-size:24px}.run-panel-heading p{margin:0;color:#786d7d}.run-form{display:flex;flex-wrap:wrap;gap:18px;padding:22px 0}.run-field select{min-width:320px}.run-summary{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:14px}.run-summary>div{display:grid;gap:7px;padding:16px;background:#f5f0f4;border:1px solid #d9ced6;border-radius:10px}.run-summary span{color:#766c7a;font-size:13px}.run-summary strong{font-size:18px}.run-placeholder{margin-top:20px;padding:18px;color:#756b79;background:#faf7fa;border:1px dashed #cbbfca;border-radius:10px;text-align:center}@media(max-width:760px){.main-tab{flex:1;min-width:0}.run-field,.run-field select{width:100%;min-width:0}.run-summary{grid-template-columns:1fr}}.run-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.run-state{flex:0 0 auto;padding:8px 14px;border-radius:999px;font-weight:700}.state-unselected{background:#eee9f0;color:#6e6572}.state-gachaSelected{background:#e8d8f1;color:#633d77}.state-running{background:#f5cfe2;color:#8a315c}.run-step-panel{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;margin-top:16px;padding:10px 12px;background:#faf7fa;border:1px solid #ddd4df;border-radius:11px}.run-step-number{display:grid;width:36px;height:32px;place-items:center;border-radius:50%;background:#ca8fb3;color:#fff;font-size:18px;font-weight:700}.run-step-content{min-width:0}.run-control-row{display:flex;flex-wrap:wrap;align-items:end;gap:10px}.run-action-button,.run-secondary-button{min-width:110px;height:30px;padding:0 14px;border-radius:8px;font-weight:700;cursor:pointer}.run-action-button{border:1px solid #a56b96;background:#d69abc;color:#2f1d29}.run-secondary-button{border:1px solid #aaa1ad;background:#f0edf1;color:#453d48}.locked-display{display:flex;align-items:baseline;gap:12px;margin-top:10px;padding:9px 12px;background:#fff;border:1px solid #ddd5df;border-radius:8px}.locked-display span{color:#756b79;font-size:13px}.locked-display strong{font-size:17px}.run-data-grid{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(320px,1.25fr) minmax(260px,1fr);gap:10px;margin-top:16px}.run-data-panel{min-width:0;min-height:360px;padding:13px;border:1px solid #d9d0dc;border-radius:11px;background:#fff}.run-data-panel h3{margin:0 0 11px;font-size:18px}.weight-display-panel{background:#f1eef9}.item-display-panel{background:#edf5fb}.history-display-panel{background:#f8f0eb}.run-empty{display:grid;min-height:280px;place-items:center;color:#857b89;text-align:center}.weight-display-list,.item-display-list,.history-display-list{display:grid;gap:7px;max-height:430px;overflow:auto}.weight-display-row,.item-display-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:8px 9px;background:#ffffffbf;border:1px solid rgb(120 105 130 / 18%);border-radius:7px}.item-display-row{grid-template-columns:minmax(0,1fr) auto}.weight-display-row small{color:#716776}.item-display-row strong{font-size:12px;color:#625867}.rarity-9{color:#8d285f}.rarity-8{color:#bd3f4f}.rarity-7{color:#278149}.rarity-6{color:#8550a8}.rarity-5{color:#5554a7}.rarity-4{color:#3e72af}.rarity-3{color:#268b98}.rarity-2{color:#327f78}.rarity-1{color:#70584b}.run-controls-placeholder{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;padding:13px;background:#f3eef2;border:1px solid #dbd2dc;border-radius:10px}.run-controls-placeholder button,.run-controls-placeholder input{height:32px;padding:0 11px}.run-controls-placeholder span{color:#786e7c;font-size:13px}@media(max-width:1150px){.run-data-grid{grid-template-columns:1fr 1fr}.history-display-panel{grid-column:1 / -1}}@media(max-width:760px){.run-panel-heading{align-items:flex-start;flex-direction:column}.run-data-grid{grid-template-columns:1fr}.history-display-panel{grid-column:auto}}.message-slot{min-height:48px;margin:-6px 0 16px;padding:11px 14px;white-space:pre-wrap;color:transparent;border:1px solid transparent;border-radius:9px}.message-slot.has-error{color:#7e1f2b;background:#fff0f2;border-color:#e0a7af}.run-confirm-panel{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin-top:16px;padding:13px 14px;background:#fff8d8;border:1px solid #e2ce83;border-radius:10px}.run-confirm-title{font-weight:700;align-self:center}.run-confirm-panel select{min-width:320px;height:30px;padding:0 9px}.run-confirm-panel button{height:30px;padding:0 18px}.run-confirm-panel span{color:#756b62;font-size:13px;align-self:center}.history-block{display:grid;gap:3px;padding:9px;background:#ffffffb8;border:1px solid rgb(130 100 80 / 18%);border-radius:7px}.history-block strong{color:#9b5e86}.run-controls-placeholder>button:not(:disabled){border:1px solid #a56b96;background:#d69abc;color:#2f1d29;border-radius:7px;font-weight:700;cursor:pointer}.post-id-field{display:grid;gap:4px;color:#5f5664;font-size:12px;font-weight:700}.post-id-field input{min-width:230px}.title-area{margin-bottom:10px}.title-area h1{line-height:1.15}.title-area p{font-size:13px;line-height:1.25}.status-panel{min-height:72px;max-height:72px;overflow:auto}.error-box{max-height:42px;overflow:auto;margin-top:4px;padding:6px 8px;font-size:12px}.control-panel{row-gap:8px}.editor-heading{min-height:62px}.editor-heading h2,.run-panel-heading h2{line-height:1.15}.file-information,.mode-label{line-height:1.2}.main-tabs{margin-bottom:8px}.main-tab{padding:9px 14px}.run-panel{padding:12px}.run-panel-heading{padding-bottom:8px}.run-form{padding:10px 0}.run-summary>div{padding:10px 12px}.run-placeholder{margin-top:10px;padding:10px}.table-scroll{max-height:calc(100vh - 330px);min-height:240px}.privacy-note{margin-top:6px;line-height:1.2}.confirm-dialog{padding:16px}.confirm-dialog h2{margin-bottom:10px}.dialog-buttons{margin-top:12px}@media(max-height:820px){.web-header{min-height:40px}.main-content{padding-top:8px;padding-bottom:8px}.title-area{margin-bottom:8px}.title-area h1{font-size:22px}.status-panel{min-height:64px;max-height:64px}.control-panel{padding-top:8px;padding-bottom:8px}.editor-heading{min-height:56px;padding-top:8px;padding-bottom:8px}.table-scroll{max-height:calc(100vh - 300px)}.run-panel{min-height:320px}}.web-header,.address-bar,.web-label{display:none!important}.title-area{margin-bottom:4px}.csv-select-button{max-width:520px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.csv-select-button.selected{background:#c8e6c9;border-color:#79a97c;color:#214625}.compact-message-area{min-height:26px;max-height:26px;margin-bottom:4px;padding:4px 8px;overflow:auto;border:1px solid transparent;border-radius:6px;color:transparent;font-size:12px;line-height:16px}.compact-message-area.has-error{color:#7e1f2b;background:#fff0f2;border-color:#e0a7af}.status-panel{display:none!important}@media(max-width:900px){.title-area{gap:8px}.csv-select-button{width:100%;max-width:none}}.error-box{display:none!important}.compact-message-area{display:block}.message-slot{display:none!important}.run-action-row span{min-width:260px;color:#6f6475;font-size:12px}.run-field select,.run-top-row select,.run-member-row select{min-height:40px!important;height:40px!important;padding-top:7px!important;padding-bottom:7px!important;line-height:1.3!important}.run-field label,.run-top-row label,.run-member-row label{line-height:1.3}.compact-message-area{display:flex;align-items:center;gap:6px;min-height:34px;max-height:34px;padding:5px 10px;overflow:hidden;color:transparent;background:transparent;border:1px solid transparent}.compact-message-area.has-error{color:#7a101c;background:#ffe8eb;border-color:#d86775;box-shadow:0 0 0 2px #d867751f}.error-icon{flex:0 0 auto;font-size:18px}.error-dismiss-button{flex:0 0 auto;margin-left:auto;width:26px;height:24px;padding:0;border:1px solid #c88891;border-radius:5px;background:#fff5f6;color:#721521;line-height:1;cursor:pointer}.error-pulse{animation:error-attention .28s ease-out 2}@keyframes error-attention{0%{transform:translate(0)}25%{transform:translate(-3px)}50%{transform:translate(3px)}75%{transform:translate(-2px)}to{transform:translate(0)}}.history-save-button{position:relative;min-width:142px;cursor:pointer}.history-save-button[data-inactive=true]{opacity:.55;cursor:default}.history-save-button[data-inactive=true]:not(.saving){pointer-events:none}.history-save-button.saving{opacity:1;cursor:progress;background:#ece4f0;border-color:#a990b0}.history-save-toast{position:fixed;z-index:1200;right:22px;bottom:22px;max-width:min(420px,calc(100vw - 44px));padding:12px 18px;border:1px solid #6ea377;border-radius:10px;background:#e7f5e9;color:#1f5529;box-shadow:0 10px 30px #0000002e;font-weight:700;animation:save-toast-in .18s ease-out}@keyframes save-toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.app-background{position:relative;isolation:isolate}.app-background:before{content:"";position:fixed;z-index:-1;inset:0;background-image:url(/bgimg.png);background-repeat:no-repeat;background-position:center center;background-size:cover;opacity:.05;pointer-events:none}.control-panel,.editor-panel,.run-panel,.empty-editor,.status-panel{position:relative;background-color:#ffffffeb;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.title-area{margin-bottom:2px}.top-action-bar{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-height:40px;margin-bottom:4px}.top-action-label{color:#6f6475;font-size:13px;font-weight:700}.csv-select-button{min-width:150px;max-width:220px}.x-post-id-group{display:flex;align-items:center;gap:8px;height:38px;margin:0}.x-post-id-label{flex:0 0 auto;color:#5f5664;font-size:13px;font-weight:700;line-height:38px}.x-post-id-input{width:210px;height:38px;padding:6px 9px;border:1px solid #c9c1cd;border-radius:7px;background:#fff;line-height:1.2}.x-post-id-input:disabled{background:#ece8ef;color:#8a818e}.run-action-row,.run-footer-actions,.run-controls{align-items:center}@media(max-width:900px){.top-action-bar{justify-content:stretch}.csv-select-button{flex:1;max-width:none}.x-post-id-group{width:100%}.x-post-id-input{flex:1;width:auto}}.startup-setup-panel{width:min(720px,100%);margin:4px auto 8px;padding:10px 14px;background:#fffffff0;border:1px solid #d2c7d3;border-radius:12px;text-align:center;box-shadow:0 3px 12px #0000000f}.startup-setup-title{margin-bottom:8px;color:#5f5264;font-size:14px;font-weight:700}.startup-setup-buttons{display:flex;justify-content:center;gap:14px}.setup-select-button{min-width:210px;height:40px}.setup-select-button.selected{background:#c8e6c9;border-color:#79a97c;color:#214625}.startup-setup-status{min-height:20px;margin-top:7px;color:#746a78;font-size:12px;font-weight:700}.setup-required-panel{display:grid;min-height:360px;place-items:center;margin-bottom:16px;background:#ffffffe5;border:1px solid #d8d0dc;border-radius:11px;color:#756b79;font-size:18px;font-weight:700}.main-tab:disabled{opacity:.5;cursor:default}@media(max-width:760px){.startup-setup-buttons{flex-direction:column}.setup-select-button{width:100%;min-width:0}}.control-panel .field-label input,.control-panel .field-label select,.control-panel .id-field input,.control-panel .wide-field input,.control-panel .wide-field select,.control-panel .date-field input{min-height:40px!important;height:40px!important;padding-top:7px!important;padding-bottom:7px!important;line-height:1.3!important}.control-panel select{padding-right:30px!important}.run-panel{padding-top:12px}.run-state-label,.run-status-label,.run-phase-label{display:flex;justify-content:center;align-items:center;text-align:center;width:100%}.run-panel>.mode-label,.run-panel>.status-label{text-align:center;width:100%}.run-panel-heading-centered{display:flex!important;justify-content:center!important;align-items:center!important;min-height:44px;padding:6px 10px!important}.run-phase-center{display:flex!important;justify-content:center!important;align-items:center!important;width:100%!important;text-align:center!important;margin:0 auto!important}.tool-list-page{min-height:100vh;display:grid;place-items:center;padding:28px;background:linear-gradient(#f7f4fae5,#f7f4fae5),url(/bgimg.png) center / cover no-repeat fixed}.tool-list-card{width:min(760px,100%);padding:30px;background:#fffffff0;border:1px solid #d4c7d3;border-radius:18px;box-shadow:0 16px 44px #00000024;text-align:center}.tool-list-card h1{margin:0;font-size:30px;line-height:1.25}.tool-list-version{margin:6px 0 24px;color:#7b6f80;font-size:14px;font-weight:700}.tool-launch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.tool-launch-button{min-height:62px;padding:12px 18px;border-radius:12px;font-size:20px;font-weight:700}.tool-launch-button.active{border:1px solid #a56b96;background:#d69abc;color:#2f1d29;cursor:pointer;box-shadow:0 4px 12px #a56b963d}.tool-launch-button.active:hover{filter:brightness(1.04);transform:translateY(-1px)}.tool-launch-button.inactive{border:1px solid #cfc7d2;background:#ece8ef;color:#8d838f;opacity:.6;cursor:default;pointer-events:none}.tool-list-note{margin:20px 0 0;color:#746a78;font-size:13px}.back-to-tools-button{flex:0 0 auto;align-self:center;padding:8px 12px;border:1px solid #b9aebd;border-radius:8px;background:#f3eef2;color:#4d4351;font-weight:700;cursor:pointer}.back-to-tools-button:hover{background:#e9e1e7}@media(max-width:700px){.tool-list-card{padding:22px}.tool-list-card h1{font-size:24px}.tool-launch-grid{grid-template-columns:1fr}.title-area{align-items:stretch}.back-to-tools-button{align-self:flex-start}}.tool-launch-grid{display:flex!important;flex-direction:column!important;gap:12px!important;width:min(420px,100%);margin:0 auto}.tool-launch-button{width:100%}.gacha-title-block{flex:1;text-align:center}.gacha-title-block h1,.gacha-title-block p{text-align:center}.title-area{position:relative}.back-to-tools-button{position:absolute;left:0}@media(max-width:700px){.back-to-tools-button{position:static}.gacha-title-block{width:100%}}.tool-list-card h1{margin-bottom:1em}.panel-tool-page{min-height:100vh;padding:12px 16px 18px;background:#f7f4fa;color:#302936}.panel-tool-header{display:grid;grid-template-columns:170px minmax(0,1fr) 170px;align-items:center;gap:18px;margin-bottom:12px}.panel-title-block{min-width:0;text-align:center}.panel-tool-header h1{margin:0 0 2px;font-size:24px;text-align:center}.panel-tool-header p{margin:0;color:#786d7d;font-size:13px;text-align:center}.panel-header-spacer{width:170px}.panel-folder-bar{display:flex;align-items:center;gap:12px;margin-bottom:10px;padding:9px 12px;background:#fff;border:1px solid #d8d0dc;border-radius:11px}.panel-folder-bar span{min-width:0;overflow:hidden;color:#6f6475;text-overflow:ellipsis;white-space:nowrap}.panel-folder-button,.panel-mode-controls button{min-height:36px;padding:7px 13px;border:1px solid #a56b96;border-radius:9px;background:#e1afd0;color:#2f1d29;font-weight:700;cursor:pointer}.panel-start-menu{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;margin-bottom:10px;padding:12px;background:#b8bad6;border-radius:13px}.panel-start-menu button{min-height:52px;padding:9px 12px;border:2px solid transparent;border-radius:10px;background:#f8f3fa;color:#332b39;font-weight:700;cursor:pointer}.panel-start-menu button:nth-child(1){background:#fff3cf}.panel-start-menu button:nth-child(2){background:#eee3ff}.panel-start-menu button:nth-child(3),.panel-start-menu button:nth-child(4){background:#e3f2ff}.panel-start-menu button.selected{border-color:#c34f9a;box-shadow:0 0 0 2px #ffffffb3 inset}.panel-mode-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;padding:10px 12px;background:#fff;border:1px solid #d8d0dc;border-radius:11px}.panel-mode-controls strong{min-width:130px;color:#8b4d73}.panel-mode-controls label{display:flex;align-items:center;gap:7px;font-weight:700}.panel-mode-controls select{min-width:130px;height:34px;padding:4px 8px;border:1px solid #c9c1cd;border-radius:7px;background:#fff}.panel-json-select{flex:1;min-width:280px}.panel-json-select select{flex:1;min-width:220px}.panel-mode-controls .panel-clear-button{margin-left:auto;background:#d5d0d8;border-color:#aaa2af}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.panel-message{min-height:38px;margin-bottom:10px;padding:8px 11px;background:#f0edf2;border:1px solid #d7cfd9;border-radius:9px}.panel-message.error{color:#7e1f2b;background:#fff0f2;border-color:#e0a7af}.panel-preview-shell{min-width:0;min-height:520px;padding:12px;overflow:auto;background:#b8bad6;border:1px solid #9b9dbb;border-radius:12px}.panel-preview-empty{display:grid;min-height:490px;place-items:center;color:#59566d;background:#ffffff70;border:1px dashed #777993;border-radius:9px;font-weight:700}.panel-active-strip{display:flex;justify-content:center;gap:14px;margin-bottom:8px;color:#40384a;font-size:13px}.panel-active-strip span{max-width:60vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel-canvas-wrap{position:relative;width:min(100%,1024px);max-height:calc(100vh - 330px);margin:0 auto;overflow:hidden;background:#272631;box-shadow:0 8px 24px #14101e3d}.panel-canvas-wrap svg,.panel-image-placeholder{position:absolute;inset:0;width:100%;height:100%}.panel-canvas-wrap img{display:block;position:relative;width:100%;height:auto;object-fit:contain}.panel-canvas-wrap svg{z-index:2}.panel-image-placeholder{display:grid;place-items:center;padding:20px;color:#eee8f5;text-align:center;line-height:1.7}@media(max-width:900px){.panel-tool-header{grid-template-columns:auto 1fr}.panel-header-spacer{display:none}.panel-start-menu{grid-template-columns:repeat(2,1fr)}}.panel-tool-page{height:100vh;min-height:620px;overflow:hidden;padding:8px 12px 12px}.panel-tool-header{position:relative;display:flex;align-items:center;min-height:48px;margin-bottom:8px}.panel-tool-header .back-to-tools-button{position:relative;z-index:2}.panel-title-block{position:absolute;left:50%;top:50%;width:max-content;max-width:calc(100% - 360px);transform:translate(-50%,-50%);text-align:center}.panel-tool-header h1{font-size:23px;white-space:nowrap}.panel-header-spacer{display:none}.panel-main-grid{display:grid;grid-template-columns:minmax(430px,42%) minmax(620px,58%);gap:12px;height:calc(100vh - 76px);min-height:530px;overflow:hidden}.panel-control-column{min-width:0;height:100%;overflow-y:auto;padding-right:2px}.panel-image-column{min-width:620px;height:100%;overflow:hidden}.panel-folder-bar{align-items:flex-start;flex-direction:column;gap:6px;margin-bottom:8px;padding:8px 10px}.panel-folder-bar span{width:100%;font-size:12px}.panel-start-menu{grid-template-columns:repeat(2,minmax(170px,1fr));gap:8px;margin-bottom:8px;padding:10px}.panel-start-menu button{min-height:48px}.panel-mode-controls{align-items:stretch;flex-direction:column;gap:8px;margin-bottom:8px;padding:10px}.panel-mode-controls strong{min-width:0}.panel-mode-controls label{justify-content:space-between}.panel-mode-controls select,.panel-mode-controls input{min-width:0;width:62%;height:34px;padding:4px 8px;border:1px solid #c9c1cd;border-radius:7px;background:#fff}.panel-json-select{min-width:0;width:100%}.panel-json-select select{flex:0 1 62%;min-width:0}.panel-mode-controls .panel-clear-button{margin-left:0}.panel-message{margin-bottom:0;font-size:13px}.panel-preview-shell{display:flex;flex-direction:column;height:100%;min-height:0;padding:10px;overflow:hidden}.panel-preview-empty{min-height:0;height:100%}.panel-active-strip{flex:0 0 auto;min-height:22px;margin-bottom:6px}.panel-canvas-wrap{flex:0 0 auto;width:min(100%,1024px);max-width:100%;max-height:calc(100vh - 122px);margin:0 auto}@media(max-width:1100px){.panel-tool-page{overflow:auto}.panel-main-grid{grid-template-columns:minmax(380px,42%) minmax(560px,58%);min-width:960px}.panel-image-column{min-width:560px}}.panel-canvas-wrap{height:auto;aspect-ratio:auto!important}.panel-canvas-wrap>img{position:relative;inset:auto;width:100%;height:auto;max-height:none}.panel-canvas-wrap>svg{pointer-events:none}.panel-grid-line{stroke:#ffffffd1;stroke-width:1;vector-effect:non-scaling-stroke}.panel-preview-shell{overflow:auto}.panel-preview-shell{overflow:hidden}.panel-preview-stage{display:flex;flex:1 1 auto;min-width:0;min-height:0;align-items:center;justify-content:center;overflow:hidden}.panel-canvas-wrap{position:relative;flex:0 0 auto;max-width:none;max-height:none;margin:0;overflow:hidden;aspect-ratio:auto!important}.panel-canvas-wrap>img,.panel-canvas-wrap>svg,.panel-canvas-wrap>.panel-image-placeholder{position:absolute;inset:0;display:block;width:100%;height:100%}.panel-canvas-wrap>img{object-fit:fill}.panel-folder-bar{flex-direction:row;align-items:center;justify-content:space-between;gap:10px}.panel-folder-actions{display:flex;flex:0 0 auto;gap:8px}.panel-folder-bar>span,.panel-current-mode-label{min-width:0;margin-left:auto;overflow:hidden;color:#56485a;text-overflow:ellipsis;white-space:nowrap}.panel-current-mode-label{font-size:14px}.panel-switch-button{background:#d8cdec;border-color:#8f77aa}.panel-selected-file{overflow:hidden;padding:6px 8px;border-radius:7px;background:#f3eff5;color:#685c6c;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.panel-mode-controls .panel-start-button{min-height:42px;background:#9fc9ee;border-color:#6d9fc9;font-size:16px}.panel-mode-controls .panel-start-button:disabled{opacity:.48;cursor:default}.panel-active-strip{align-items:center;justify-content:center}.panel-active-strip strong,.panel-active-strip span{white-space:nowrap}.panel-edit-controls{display:grid;gap:7px;margin-bottom:8px;padding:10px;background:#fff;border:1px solid #d8d0dc;border-radius:11px}.panel-edit-controls>strong{color:#8b4d73}.panel-edit-controls p,.panel-edit-controls span{margin:0;font-size:12px;color:#655a69}.panel-edit-buttons{display:flex;flex-wrap:wrap;gap:6px}.panel-edit-buttons button{min-height:34px;padding:6px 9px;border:1px solid #a56b96;border-radius:8px;background:#ead2e1;color:#332633;font-weight:700;cursor:pointer}.panel-edit-buttons button:disabled{opacity:.45;cursor:default}.panel-canvas-wrap>svg{pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none}.panel-selected-cell{fill:#ffe600c2;stroke:#24180f;stroke-width:1.8;vector-effect:non-scaling-stroke}.panel-edit-boundary{stroke:#fff;stroke-width:3;vector-effect:non-scaling-stroke;pointer-events:none}.panel-edit-mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.panel-edit-mode-tabs button.selected{background:#dc8ac7;color:#fff;box-shadow:0 0 0 2px #ffffffd9 inset}.panel-edit-controls small{display:block;margin-top:8px;line-height:1.45}.panel-label-form{display:grid;gap:7px;margin-top:8px}.panel-label-form label{display:grid;grid-template-columns:7.5em minmax(0,1fr);align-items:center;gap:7px}.panel-label-form input:not([type=checkbox]),.panel-label-form select{min-width:0;width:100%;box-sizing:border-box}.panel-label-form .panel-checkbox-label{grid-template-columns:auto 1fr;justify-content:start}.panel-canvas-wrap svg.label-editing{cursor:pointer}.panel-label-layer.selected rect{stroke:#ff3ca6;stroke-width:4;stroke-dasharray:none}.panel-help-box{display:grid;gap:4px;margin-top:4px;padding:9px 10px;background:#f7f2f7;border:1px solid #ddd2df;border-radius:8px;color:#5f5363;font-size:12px;line-height:1.5}.panel-help-box strong{color:#8b4d73}.panel-label-layer{pointer-events:none}.panel-canvas-wrap svg.label-editing .panel-label-hit,.panel-canvas-wrap svg.label-editing .panel-label-resize{pointer-events:all}.panel-canvas-wrap svg.label-editing .panel-label-hit{cursor:move}.panel-label-selection{fill:none;stroke:#ff3ca6;stroke-width:3;vector-effect:non-scaling-stroke}.panel-label-resize{fill:#ff50ae;stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke;cursor:nwse-resize}.panel-run-colors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;margin-top:4px;padding-top:8px;border-top:1px solid #e2d9e4}.panel-run-colors label{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;font-size:12px;font-weight:700;color:#5f5363}.panel-run-colors input[type=color]{width:52px;height:30px;padding:2px;border:1px solid #bfb4c3;border-radius:6px;background:#fff}.panel-alpha-control{grid-column:1 / -1}.panel-alpha-control input[type=range]{flex:1;min-width:0}.panel-alpha-control strong{min-width:3em;text-align:right}.panel-tool-page.app-background{background:transparent}.panel-tool-page.app-background:before{opacity:.05}.panel-tool-page .panel-folder-bar,.panel-tool-page .panel-mode-controls,.panel-tool-page .panel-edit-controls{background-color:#ffffffeb;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.panel-fill-mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px}.panel-fill-mode-tabs button{min-height:34px;border:1px solid #bda9ba;border-radius:8px;background:#f3edf2;color:#584b59;font-weight:700;cursor:pointer}.panel-fill-mode-tabs button.selected{border-color:#bd669d;background:#e8b8d5;color:#3d2936;box-shadow:0 0 0 2px #ffffffbf inset}.panel-gradient-angle select{min-width:92px;height:30px;border:1px solid #bfb4c3;border-radius:6px;background:#fff}.panel-save-buttons button{flex:1 1 145px;min-height:42px;background:#cfe9d2;border-color:#72aa78;font-size:14px}.panel-x-post-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px 9px;padding-top:8px;border-top:1px solid #e2d9e4}.panel-x-post-row .x-post-id-group{min-width:0}.panel-x-post-row .x-post-id-input{min-width:0;width:100%}.panel-x-post-row small{grid-column:1 / -1;color:#706474}.panel-x-post-button{min-height:36px;padding:7px 13px;border:1px solid #7f6d86;border-radius:8px;background:#ece4f0;color:#3f3444;font-weight:700;cursor:pointer}.panel-save-toast{position:fixed;z-index:10000;left:50%;bottom:34px;width:min(720px,calc(100vw - 40px));padding:16px 22px;transform:translate(-50%);border:3px solid #4f9c5b;border-radius:14px;background:#e5f7e8;box-shadow:0 12px 36px #163d1d52;color:#214f29;font-size:17px;font-weight:800;text-align:center;animation:save-toast-in .18s ease-out}.panel-help-button{position:absolute;right:18px;top:50%;transform:translateY(-50%);border:1px solid rgba(127,72,133,.35);border-radius:10px;background:#ffffffe0;padding:8px 16px;font-weight:700}.panel-save-state{display:inline-flex;align-items:center;justify-content:center;min-width:150px;border-radius:999px;padding:5px 11px;font-size:12px;font-weight:800;white-space:nowrap}.panel-save-state.saving{background:#fff1bb;color:#6a5100}.panel-save-state.saved{background:#daf6df;color:#245d31}.panel-save-state.error{background:#ffd9df;color:#8b1e32}.panel-save-state.idle{background:#ece7ef;color:#5d5362}.panel-edit-top-actions{display:flex;justify-content:flex-end;margin-bottom:8px}.panel-edit-top-actions button,.panel-label-reset-buttons button{border:1px solid rgba(124,79,133,.28);border-radius:8px;background:#fff;padding:7px 12px;font-weight:700}.panel-label-reset-buttons{grid-column:1 / -1;display:flex;gap:8px;flex-wrap:wrap}.panel-preset-row{display:flex;align-items:center;margin:8px 0}.panel-preset-row label{display:flex;align-items:center;gap:8px;font-weight:700}.panel-preset-row select{min-width:160px;border:1px solid rgba(124,79,133,.3);border-radius:8px;background:#fff;padding:7px 10px}.panel-help-modal-backdrop{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:24px;background:#2d1e3580}.panel-help-modal{width:min(620px,92vw);max-height:82vh;overflow:auto;border:2px solid #d99bc6;border-radius:18px;background:#fff8fd;box-shadow:0 20px 60px #28143047;padding:24px 28px;color:#392d3e}.panel-help-modal h2{margin:0 0 14px;text-align:center;color:#b33f8c}.panel-help-modal li{margin:8px 0;line-height:1.5}.panel-help-modal p{border-radius:10px;background:#f5e8f2;padding:12px;line-height:1.55}.panel-help-modal button{display:block;min-width:130px;margin:18px auto 0;border:0;border-radius:10px;background:#c65b9f;color:#fff;padding:10px 18px;font-weight:800}.panel-folder-bar{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:6px}.panel-folder-row{display:flex;width:100%;min-width:0;align-items:center;gap:8px}.panel-folder-primary-row,.panel-folder-mode-row,.panel-folder-save-row,.panel-folder-info-row{justify-content:flex-start}.panel-folder-bar .panel-current-mode-label{flex:1 1 auto;min-width:0;margin-left:0;overflow:visible;text-overflow:clip;white-space:normal;line-height:1.35}.panel-folder-bar .panel-save-state{min-width:0;max-width:100%;margin-left:0}.panel-folder-bar .panel-folder-info-row>span{width:100%;margin-left:0}.member-manage-buttons{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.member-manage-buttons .run-secondary-button{min-width:68px;padding-inline:10px}.member-manage-buttons .member-delete-button{background:#ffe8ef;border-color:#e8a4b7;color:#8b2948}
