#turtle-soup-tool-app{--ts-primary:#46757e;--ts-primary-hover:#3b656d;--ts-primary-active:#31565d;--ts-primary-deep:#27474d;--ts-primary-light:#e8f0f1;--ts-primary-soft:#f3f7f7;--ts-primary-faint:#f8fafa;--ts-text:#243236;--ts-text-strong:#18272b;--ts-text-muted:#67787c;--ts-text-light:#8a999c;--ts-surface:#fff;--ts-surface-subtle:#f7f9f9;--ts-background:#eef3f3;--ts-border:#d5e0e2;--ts-border-strong:#beced1;--ts-border-light:#e7edee;--ts-success:#3e735f;--ts-success-hover:#315f4d;--ts-success-soft:#edf6f1;--ts-danger:#a04b4b;--ts-danger-soft:#fff2f2;--ts-warning:#87662b;--ts-warning-soft:#fff8e8;--ts-shadow-xs:0 1px 2px rgba(31,63,69,.05);--ts-shadow-sm:0 6px 18px rgba(31,63,69,.08);--ts-shadow-md:0 18px 48px rgba(31,63,69,.11);--ts-radius-xl:24px;--ts-radius-lg:18px;--ts-radius-md:12px;--ts-radius-sm:9px;--ts-transition:180ms ease}#turtle-soup-tool-app,#turtle-soup-tool-app *,#turtle-soup-tool-app *::before,#turtle-soup-tool-app *::after{box-sizing:border-box}#turtle-soup-tool-app button,#turtle-soup-tool-app input,#turtle-soup-tool-app select,#turtle-soup-tool-app textarea{margin:0;font:inherit}#turtle-soup-tool-app button{-webkit-tap-highlight-color:transparent}#turtle-soup-tool-app .ts-hidden{display:none!important}.ts-app{width:min(calc(100% - 32px),860px);margin:28px auto;padding:clamp(24px,4vw,40px);color:var(--ts-text);background:linear-gradient(180deg,rgba(232,240,241,.42) 0,rgba(255,255,255,0) 150px) , var(--ts-surface);border:1px solid var(--ts-border-light);border-radius:var(--ts-radius-xl);box-shadow:var(--ts-shadow-md);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;line-height:1.6}.ts-heading{position:relative;margin-bottom:30px;padding-bottom:24px}.ts-heading::after{content:"";position:absolute;bottom:0;left:0;width:48px;height:3px;background:var(--ts-primary);border-radius:999px}.ts-eyebrow{margin:0 0 7px;color:var(--ts-primary);font-size:11px;font-weight:800;letter-spacing:.18em;line-height:1.4}.ts-title{margin:0;color:var(--ts-text-strong);font-size:clamp(26px,4.5vw,38px);font-weight:800;letter-spacing:-.025em;line-height:1.28}.ts-description{max-width:700px;margin:12px 0 0;color:var(--ts-text-muted);font-size:14px;line-height:1.85}.ts-game-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.ts-game-title{margin:0;color:var(--ts-text-strong);font-size:clamp(20px,3vw,27px);font-weight:800;letter-spacing:-.02em;line-height:1.35}.ts-game-status{display:inline-flex;flex-shrink:0;align-items:center;min-height:30px;padding:6px 12px;border:1px solid transparent;border-radius:999px;font-size:12px;font-weight:800;line-height:1}.ts-game-status.status-waiting{color:var(--ts-primary-deep);background:var(--ts-primary-light);border-color:#d3e1e3}.ts-game-status.status-playing{color:var(--ts-success);background:var(--ts-success-soft);border-color:#cee2d8}.ts-game-status.status-solved{color:var(--ts-warning);background:var(--ts-warning-soft);border-color:#eaddbb}.ts-panel{padding:clamp(20px,3.4vw,28px);background:var(--ts-primary-faint);border:1px solid var(--ts-border);border-radius:var(--ts-radius-lg);box-shadow:var(--ts-shadow-xs)}.ts-panel-title{margin:0 0 18px;color:var(--ts-text-strong);font-size:17px;font-weight:800;line-height:1.45}.ts-entry-panel{margin-bottom:22px}.ts-howto{margin-bottom:27px;padding-bottom:27px;border-bottom:1px solid var(--ts-border)}.ts-howto-eyebrow{margin:0 0 6px;color:var(--ts-primary);font-size:10px;font-weight:850;letter-spacing:.16em;line-height:1.4}.ts-howto-title{margin:0;color:var(--ts-text-strong);font-size:clamp(19px,3vw,23px);font-weight:850;letter-spacing:-.015em;line-height:1.4}.ts-howto-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 0;padding:0;list-style:none}.ts-howto-item{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:start;gap:11px;min-width:0;padding:15px;background:var(--ts-surface);border:1px solid var(--ts-border-light);border-radius:var(--ts-radius-md);box-shadow:var(--ts-shadow-xs)}.ts-howto-number{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;color:#fff;background:var(--ts-primary);border-radius:50%;font-size:14px;font-weight:850;line-height:1}.ts-howto-content{min-width:0}.ts-howto-step-title{display:block;margin:1px 0 0;color:var(--ts-text-strong);font-size:14px;font-weight:850;line-height:1.55}.ts-howto-step-text{margin:5px 0 0;color:var(--ts-text-muted);font-size:12px;line-height:1.75}.ts-howto-note{margin:14px 0 0;padding:11px 13px;color:var(--ts-primary-deep);background:var(--ts-primary-light);border:1px solid #d3e1e3;border-radius:var(--ts-radius-sm);font-size:12px;line-height:1.7}.ts-howto-note strong{font-weight:850}.ts-entry-area>.ts-panel-title{margin-bottom:18px}.ts-room-panel{margin-bottom:28px;background:var(--ts-surface)}.ts-game-main{padding-top:2px}.ts-setup-panel{margin-bottom:18px}.ts-entry-form{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(190px,1.2fr) auto;align-items:end;gap:12px}.ts-form-field{display:grid;gap:7px;min-width:0}.ts-form-label,.ts-meta-label{margin:0;color:var(--ts-text-muted);font-size:12px;font-weight:750;letter-spacing:.035em;line-height:1.5}.ts-form-input{width:100%;min-width:0;min-height:46px;padding:10px 13px;color:var(--ts-text-strong);background:var(--ts-surface);border:1px solid var(--ts-border-strong);border-radius:var(--ts-radius-sm);outline:none;box-shadow:inset 0 1px 2px rgba(31,63,69,.025);transition:border-color var(--ts-transition) , box-shadow var(--ts-transition) , background-color var(--ts-transition)}.ts-form-input:hover{border-color:#afc3c6}.ts-form-input::placeholder{color:var(--ts-text-light);opacity:1}.ts-form-input:focus{background:#fff;border-color:var(--ts-primary);box-shadow:0 0 0 4px rgba(70,117,126,.13)}.ts-room-code-input{text-transform:uppercase;font-weight:800;letter-spacing:.14em}.ts-select{cursor:pointer}.ts-textarea{min-height:104px;line-height:1.75;resize:vertical}.ts-form-help{margin:9px 0 0;color:var(--ts-text-muted);font-size:12px;line-height:1.7}.ts-character-count{color:var(--ts-text-light);font-size:12px;font-variant-numeric:tabular-nums;text-align:right}.ts-random-filter-card{padding:17px;background:var(--ts-primary-soft);border:1px solid var(--ts-border-light);border-radius:var(--ts-radius-md)}.ts-random-filter-title{margin:0 0 13px;color:var(--ts-primary-deep);font-size:13px;font-weight:800;line-height:1.5}.ts-random-filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ts-random-match-count{margin:11px 0 0;color:var(--ts-primary-deep);font-size:12px;font-weight:700;line-height:1.6}.ts-random-match-count.is-empty{color:var(--ts-danger)}.ts-catalog-puzzle-field{margin-top:16px}.ts-custom-grid{display:grid;grid-template-columns:1.4fr .8fr .7fr;gap:12px;margin-bottom:16px}.ts-source-panel{margin-top:18px}.ts-primary-btn,.ts-success-btn,.ts-secondary-btn,.ts-danger-outline-btn,.ts-source-tab,.ts-answer-btn,.ts-transfer-host-btn{border:0;cursor:pointer;user-select:none;transition:transform var(--ts-transition) , background-color var(--ts-transition) , border-color var(--ts-transition) , color var(--ts-transition) , box-shadow var(--ts-transition) , opacity var(--ts-transition)}.ts-primary-btn,.ts-success-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 19px;border-radius:var(--ts-radius-sm);color:#fff;font-weight:800;line-height:1.35}.ts-primary-btn{background:var(--ts-primary);box-shadow:0 6px 16px rgba(70,117,126,.20)}.ts-primary-btn:hover{background:var(--ts-primary-hover);box-shadow:0 8px 20px rgba(70,117,126,.24);transform:translateY(-1px)}.ts-primary-btn:active{background:var(--ts-primary-active);box-shadow:0 3px 9px rgba(70,117,126,.18);transform:translateY(0)}.ts-create-room-btn{width:100%;min-height:50px;border-radius:var(--ts-radius-md)}.ts-join-room-btn{min-width:150px;white-space:nowrap}.ts-start-game-btn{width:min(100%,320px);min-height:50px;margin-top:22px;border-radius:999px}.ts-submit-question-btn{min-width:124px}.ts-secondary-btn,.ts-danger-outline-btn{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 13px;background:var(--ts-surface);border:1px solid var(--ts-border-strong);border-radius:999px;font-size:12px;font-weight:750;line-height:1.3;white-space:nowrap}.ts-secondary-btn{color:var(--ts-primary-deep)}.ts-secondary-btn:hover{color:var(--ts-primary-active);background:var(--ts-primary-light);border-color:#afc6ca}.ts-danger-outline-btn{color:var(--ts-danger)}.ts-danger-outline-btn:hover{background:var(--ts-danger-soft);border-color:#dfbbbb}.ts-success-btn{background:var(--ts-success);border-radius:999px;box-shadow:0 6px 16px rgba(62,115,95,.18)}.ts-success-btn:hover{background:var(--ts-success-hover);box-shadow:0 8px 20px rgba(62,115,95,.22);transform:translateY(-1px)}.ts-primary-btn:disabled,.ts-success-btn:disabled,.ts-secondary-btn:disabled,.ts-danger-outline-btn:disabled,.ts-source-tab:disabled,.ts-answer-btn:disabled,.ts-transfer-host-btn:disabled{cursor:not-allowed;opacity:.52;box-shadow:none;transform:none}.ts-divider{display:flex;align-items:center;gap:14px;margin:22px 0;color:var(--ts-text-light);font-size:12px}.ts-divider::before,.ts-divider::after{content:"";flex:1;height:1px;background:var(--ts-border)}.ts-status-message{min-height:1.5em;margin:13px 0 0;font-size:13px;font-weight:600;line-height:1.65}.ts-status-message:empty{min-height:0;margin-top:0}.ts-status-message.is-error{color:var(--ts-danger)}.ts-status-message.is-success{color:var(--ts-success)}.ts-status-message.is-info{color:var(--ts-primary-deep)}.ts-room-top,.ts-room-code-row,.ts-section-header,.ts-form-actions,.ts-host-actions{display:flex;align-items:center}.ts-room-top,.ts-section-header{justify-content:space-between;gap:14px}.ts-room-code-row{flex-wrap:wrap;gap:9px;margin-top:5px}.ts-current-room-code{color:var(--ts-primary-deep);font-size:clamp(21px,4vw,25px);font-weight:850;letter-spacing:.16em;line-height:1.3;overflow-wrap:anywhere}.ts-members-area{margin-top:21px;padding-top:19px;border-top:1px solid var(--ts-border-light)}.ts-count-badge{flex-shrink:0;padding:4px 8px;color:var(--ts-primary-deep);background:var(--ts-primary-light);border-radius:999px;font-size:11px;font-weight:800;line-height:1.3}.ts-member-list{display:flex;flex-wrap:wrap;gap:8px;margin:11px 0 0;padding:0;list-style:none}.ts-member-item{display:inline-flex;align-items:center;gap:7px;max-width:100%;min-height:38px;padding:5px 11px 5px 6px;background:var(--ts-surface-subtle);border:1px solid var(--ts-border-light);border-radius:999px;box-shadow:var(--ts-shadow-xs);font-size:13px}.ts-member-avatar{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:27px;height:27px;color:#fff;background:var(--ts-primary);border-radius:50%;font-size:11px;font-weight:800;line-height:1}.ts-member-name{max-width:170px;overflow:hidden;color:var(--ts-text-strong);font-weight:650;text-overflow:ellipsis;white-space:nowrap}.ts-host-badge,.ts-me-badge{flex-shrink:0;padding:3px 7px;border-radius:999px;font-size:10px;font-weight:800;line-height:1.2}.ts-host-badge{color:var(--ts-warning);background:var(--ts-warning-soft)}.ts-me-badge{color:var(--ts-primary-deep);background:var(--ts-primary-light)}.ts-transfer-host-btn{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;min-height:28px;margin-left:2px;padding:4px 9px;color:var(--ts-primary-deep);background:var(--ts-surface);border:1px solid var(--ts-border-strong);border-radius:999px;font-size:10px;font-weight:800;line-height:1.2;white-space:nowrap}.ts-transfer-host-btn:hover{color:#fff;background:var(--ts-primary);border-color:var(--ts-primary)}.ts-source-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:5px;background:var(--ts-background);border:1px solid var(--ts-border-light);border-radius:var(--ts-radius-md)}.ts-source-tab{min-height:42px;padding:8px 13px;color:var(--ts-text-muted);background:transparent;border-radius:var(--ts-radius-sm);font-size:13px;font-weight:800}.ts-source-tab:hover{color:var(--ts-primary-deep);background:rgba(255,255,255,.72)}.ts-source-tab.active{color:#fff;background:var(--ts-primary);box-shadow:var(--ts-shadow-sm)}.ts-waiting-box{padding:32px 22px;background:var(--ts-surface);border:1px dashed var(--ts-border-strong);border-radius:var(--ts-radius-md);text-align:center}.ts-waiting-title{margin:0;color:var(--ts-text-strong);font-size:16px;font-weight:800}.ts-waiting-text{margin:8px 0 0;color:var(--ts-text-muted);font-size:13px;line-height:1.75}.ts-problem-card{position:relative;padding:clamp(24px,4vw,32px);overflow:hidden;background:radial-gradient(circle at 95% 10%,rgba(70,117,126,.12),transparent 32%) , linear-gradient(145deg,#f4f8f8 0%,#fff 72%);border:1px solid var(--ts-border);border-radius:var(--ts-radius-lg);box-shadow:var(--ts-shadow-sm)}.ts-problem-card::before{content:"?";position:absolute;top:-28px;right:13px;color:rgba(70,117,126,.055);font-size:160px;font-weight:900;line-height:1;pointer-events:none}.ts-problem-card::after{content:"";position:absolute;top:0;left:0;width:5px;height:100%;background:var(--ts-primary)}.ts-problem-meta{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.ts-meta-chip{padding:5px 9px;color:var(--ts-primary-deep);background:var(--ts-primary-light);border:1px solid #d2e0e2;border-radius:999px;font-size:11px;font-weight:800;line-height:1.25}.ts-problem-title{position:relative;z-index:1;margin:0;color:var(--ts-text-strong);font-size:clamp(21px,3.4vw,29px);font-weight:850;letter-spacing:-.02em;line-height:1.45}.ts-problem-text{position:relative;z-index:1;margin:17px 0 0;color:var(--ts-text);font-size:16px;font-weight:600;line-height:2;overflow-wrap:anywhere;white-space:pre-wrap}.ts-answer-panel{margin-top:16px;padding:21px 23px;background:var(--ts-warning-soft);border:1px solid #e8d9af;border-left:4px solid var(--ts-warning);border-radius:var(--ts-radius-md)}.ts-answer-label{margin:0;color:var(--ts-warning);font-size:12px;font-weight:850;letter-spacing:.06em;line-height:1.4}.ts-answer-text{margin:9px 0 0;color:#4c422e;font-size:14px;line-height:1.9;overflow-wrap:anywhere;white-space:pre-wrap}.ts-question-form-panel{margin-top:18px;background:var(--ts-primary-soft)}.ts-form-actions{justify-content:space-between;gap:14px;margin-top:12px}.ts-question-log-panel{margin-top:18px;background:var(--ts-surface)}.ts-log-title{margin-bottom:0}.ts-question-list{display:grid;gap:12px;margin:17px 0 0;padding:0;list-style:none}.ts-question-empty{padding:26px 18px;color:var(--ts-text-muted);background:var(--ts-surface-subtle);border:1px dashed var(--ts-border-strong);border-radius:var(--ts-radius-md);font-size:13px;line-height:1.75;text-align:center}.ts-question-item{position:relative;padding:17px 18px;background:var(--ts-surface-subtle);border:1px solid var(--ts-border-light);border-left:4px solid var(--ts-border-strong);border-radius:var(--ts-radius-md);box-shadow:var(--ts-shadow-xs)}.ts-question-item.is-important{background:var(--ts-warning-soft);border-color:#e8d9af;border-left-color:var(--ts-warning)}.ts-question-header{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.ts-question-number{color:var(--ts-primary-deep);font-size:12px;font-weight:850}.ts-question-author{color:var(--ts-text-muted);font-size:12px;font-weight:700}.ts-important-badge{padding:3px 7px;color:var(--ts-warning);background:rgba(255,255,255,.78);border:1px solid #e8d9af;border-radius:999px;font-size:10px;font-weight:850;line-height:1.2}.ts-question-text{margin:10px 0 0;color:var(--ts-text-strong);font-size:14px;font-weight:650;line-height:1.8;overflow-wrap:anywhere;white-space:pre-wrap}.ts-question-answer{display:inline-flex;align-items:center;min-height:29px;margin-top:12px;padding:5px 11px;border:1px solid transparent;border-radius:999px;font-size:12px;font-weight:850;line-height:1.25}.ts-question-answer.answer-pending{color:var(--ts-text-muted);background:#eef2f2;border-color:#dee7e8}.ts-question-answer.answer-yes{color:var(--ts-success);background:var(--ts-success-soft);border-color:#cee2d8}.ts-question-answer.answer-no{color:var(--ts-danger);background:var(--ts-danger-soft);border-color:#e6c3c3}.ts-question-answer.answer-irrelevant{color:var(--ts-primary-deep);background:var(--ts-primary-light);border-color:#d0e0e2}.ts-answer-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:15px;padding-top:14px;border-top:1px solid var(--ts-border)}.ts-important-check{display:inline-flex;align-items:center;gap:7px;margin-right:auto;color:var(--ts-text-muted);cursor:pointer;font-size:12px;font-weight:700}.ts-important-check input{width:16px;height:16px;accent-color:var(--ts-warning)}.ts-answer-btn{min-height:36px;padding:7px 13px;border:1px solid transparent;border-radius:999px;font-size:12px;font-weight:850;line-height:1.25}.ts-answer-btn:hover{transform:translateY(-1px)}.ts-answer-btn.answer-btn-yes{color:var(--ts-success);background:var(--ts-success-soft);border-color:#bdd8ca}.ts-answer-btn.answer-btn-yes:hover{background:#e0f0e8}.ts-answer-btn.answer-btn-no{color:var(--ts-danger);background:var(--ts-danger-soft);border-color:#e2bcbc}.ts-answer-btn.answer-btn-no:hover{background:#fbe6e6}.ts-answer-btn.answer-btn-irrelevant{color:var(--ts-primary-deep);background:var(--ts-primary-light);border-color:#bdd1d4}.ts-answer-btn.answer-btn-irrelevant:hover{background:#dce9ea}.ts-host-actions{justify-content:center;flex-wrap:wrap;gap:10px;margin-top:20px}#turtle-soup-tool-app button:focus-visible,#turtle-soup-tool-app input:focus-visible,#turtle-soup-tool-app select:focus-visible,#turtle-soup-tool-app textarea:focus-visible{outline:3px solid rgba(70,117,126,.25);outline-offset:3px}@media (hover:hover){.ts-member-item:hover{border-color:var(--ts-border-strong);box-shadow:var(--ts-shadow-sm)}.ts-question-item:hover{border-color:var(--ts-border)}}@media (max-width:760px){.ts-app{width:calc(100% - 28px);margin:14px auto;padding:26px;border-radius:20px}.ts-entry-form{grid-template-columns:1fr 1fr}.ts-join-room-btn{grid-column: 1 / -1;width:100%}.ts-custom-grid{grid-template-columns:1fr 1fr}.ts-custom-title-field{grid-column: 1 / -1}}@media (max-width:480px){.ts-app{width:calc(100% - 16px);margin:8px auto;padding:20px 15px;border-radius:16px;box-shadow:0 10px 30px rgba(31,63,69,.09)}.ts-heading{margin-bottom:23px;padding-bottom:19px}.ts-heading::after{width:40px}.ts-title{font-size:25px}.ts-description{font-size:13px;line-height:1.75}.ts-panel{padding:18px;border-radius:14px}.ts-howto{margin-bottom:22px;padding-bottom:22px}.ts-howto-list{grid-template-columns:1fr;gap:9px;margin-top:15px}.ts-howto-item{grid-template-columns:31px minmax(0,1fr);gap:10px;padding:13px}.ts-howto-number{width:31px;height:31px;font-size:13px}.ts-howto-step-title{font-size:13px}.ts-howto-step-text,.ts-howto-note{font-size:11px}.ts-entry-form,.ts-custom-grid,.ts-random-filter-grid{grid-template-columns:1fr}.ts-join-room-btn,.ts-custom-title-field{grid-column:auto}.ts-room-top,.ts-game-heading,.ts-section-header{align-items:flex-start;flex-wrap:wrap}.ts-game-status{margin-top:2px}.ts-current-room-code{font-size:20px}.ts-member-name{max-width:120px}.ts-source-tabs{grid-template-columns:1fr}.ts-problem-card{padding:22px 18px 22px 21px}.ts-problem-card::before{right:-2px;font-size:130px}.ts-problem-title{font-size:20px}.ts-problem-text{font-size:15px;line-height:1.9}.ts-answer-panel{padding:18px}.ts-form-actions{align-items:stretch;flex-direction:column}.ts-character-count{text-align:left}.ts-submit-question-btn,.ts-start-game-btn{width:100%}.ts-answer-controls{align-items:stretch;flex-direction:column}.ts-important-check{margin-right:0}.ts-answer-btn{width:100%;min-height:42px}.ts-host-actions{align-items:stretch;flex-direction:column}.ts-host-actions .ts-success-btn,.ts-host-actions .ts-secondary-btn{width:100%;min-height:44px}}@media (max-width:360px){.ts-app{width:calc(100% - 10px);margin:5px auto;padding:17px 11px}.ts-panel{padding:15px}.ts-title{font-size:23px}.ts-member-item{width:100%}.ts-member-name{max-width:none;flex:1}.ts-transfer-host-btn{margin-left:auto}}@media (prefers-reduced-motion:reduce){#turtle-soup-tool-app *,#turtle-soup-tool-app *::before,#turtle-soup-tool-app *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}