.upload-btn.svelte-ux1wx1{align-items:center;background:var(--color-slate-50);border:2px dashed var(--color-slate-300);border-radius:var(--radius-md);color:var(--color-slate-500);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:var(--space-2);justify-content:center;padding:var(--space-3) var(--space-4);transition:all var(--duration-normal) var(--ease-out);width:100%}.upload-btn.svelte-ux1wx1:hover{background:var(--color-primary-50);border-color:var(--color-primary-400);border-style:solid;color:var(--color-primary-600)}.upload-btn.svelte-ux1wx1:focus-visible{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-50);outline:none}.upload-btn.svelte-ux1wx1:active{transform:scale(.98)}.upload-btn.svelte-ux1wx1 svg:where(.svelte-ux1wx1){height:18px;opacity:.6;transition:all var(--duration-fast) var(--ease-out);width:18px}.upload-btn.svelte-ux1wx1:hover svg:where(.svelte-ux1wx1){opacity:1;transform:translateY(-1px)}.board-wrapper.svelte-lwwfpb{animation:scaleIn var(--duration-slow) var(--ease-out);background:linear-gradient(145deg,var(--color-slate-50),var(--color-slate-100));border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg),0 0 0 1px var(--color-slate-200);max-width:540px;padding:var(--space-4);width:100%}.board.svelte-lwwfpb{aspect-ratio:1;background:#fff;border:2px solid var(--color-slate-700);border-radius:var(--radius-lg);display:grid;grid-template-columns:repeat(9,1fr);overflow:hidden;width:100%}.cell.svelte-lwwfpb{align-items:center;aspect-ratio:1;background:#fff;border:1px solid var(--color-slate-200);display:flex;justify-content:center;position:relative;transition:background var(--duration-fast) var(--ease-out)}.cell.svelte-lwwfpb:hover{background:var(--color-slate-50)}.box-bottom.svelte-lwwfpb{border-bottom:2px solid var(--color-slate-600)}.box-right.svelte-lwwfpb{border-right:2px solid var(--color-slate-600)}.given.svelte-lwwfpb,.given.svelte-lwwfpb:hover{background:var(--color-slate-100)}.given.svelte-lwwfpb .cell-value:where(.svelte-lwwfpb){color:var(--color-slate-800);font-weight:700}.solved.svelte-lwwfpb .cell-input:where(.svelte-lwwfpb),.solved.svelte-lwwfpb .cell-value:where(.svelte-lwwfpb){color:var(--color-success-600);font-weight:600}.user-input.svelte-lwwfpb .cell-input:where(.svelte-lwwfpb),.user-input.svelte-lwwfpb .cell-value:where(.svelte-lwwfpb){color:var(--color-primary-600);font-weight:600}.cell-value.svelte-lwwfpb{color:var(--color-slate-600);font-size:clamp(1.125rem,4.5vw,1.75rem);font-variant-numeric:tabular-nums;font-weight:500;line-height:1;user-select:none}.cell-input.svelte-lwwfpb{background:transparent;border:none;caret-color:var(--color-primary-500);color:var(--color-primary-600);font-size:clamp(1.125rem,4.5vw,1.75rem);font-variant-numeric:tabular-nums;font-weight:600;height:100%;line-height:1;outline:none;text-align:center;transition:background var(--duration-fast) var(--ease-out);width:100%}.cell-input.svelte-lwwfpb:focus{background:var(--color-primary-50)}.cell-input.svelte-lwwfpb::placeholder{color:var(--color-slate-300)}.cell-input.svelte-lwwfpb::selection{background:var(--color-primary-100)}.verify-result.svelte-1t4du62{align-items:center;animation:scaleIn var(--duration-slow) var(--ease-spring);border-radius:var(--radius-xl);display:flex;flex:1;flex-direction:column;justify-content:center;margin-top:var(--space-3);min-height:0;padding:var(--space-5);text-align:center}.verify-result.valid.svelte-1t4du62{background:linear-gradient(145deg,#f0fdf4,#dcfce7);border:1px solid #86efac}.verify-result.invalid.svelte-1t4du62{background:linear-gradient(145deg,var(--color-primary-50) 0%,var(--color-primary-100) 100%);border:1px solid var(--color-primary-200)}.result-icon.svelte-1t4du62{align-items:center;animation:scaleIn var(--duration-slow) var(--ease-spring) 80ms backwards;border-radius:var(--radius-full);display:flex;height:48px;justify-content:center;margin-bottom:var(--space-3);width:48px}.verify-result.valid.svelte-1t4du62 .result-icon:where(.svelte-1t4du62){background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 6px 16px #22c55e59;color:#fff}.verify-result.invalid.svelte-1t4du62 .result-icon:where(.svelte-1t4du62){background:linear-gradient(135deg,var(--color-primary-400) 0%,var(--color-primary-500) 100%);box-shadow:0 6px 16px #ee4c2c4d;color:#fff}.result-icon.svelte-1t4du62 svg:where(.svelte-1t4du62){height:24px;width:24px}.result-title.svelte-1t4du62{animation:slideUp var(--duration-normal) var(--ease-out) .12s backwards;font-size:1.125rem;font-weight:600;letter-spacing:-.02em;margin:0 0 var(--space-1)}.verify-result.valid.svelte-1t4du62 .result-title:where(.svelte-1t4du62){color:#166534}.verify-result.invalid.svelte-1t4du62 .result-title:where(.svelte-1t4du62){color:var(--color-primary-700)}.result-desc.svelte-1t4du62{animation:slideUp var(--duration-normal) var(--ease-out) .16s backwards;color:var(--color-slate-500);font-size:.8125rem;line-height:1.5;margin:0 0 var(--space-4);max-width:240px}.result-meta.svelte-1t4du62{animation:slideUp var(--duration-normal) var(--ease-out) .2s backwards;display:flex;gap:var(--space-2)}.meta-tag.svelte-1t4du62{background:#fffc;border-radius:var(--radius-full);color:var(--color-slate-600);font-family:var(--font-mono);font-size:.6875rem;font-weight:500;padding:var(--space-1) var(--space-3)}.verify-result.valid.svelte-1t4du62 .meta-tag:where(.svelte-1t4du62){background:#ffffffe6;border:1px solid #bbf7d0}.verify-result.invalid.svelte-1t4du62 .meta-tag:where(.svelte-1t4du62){background:#ffffffe6;border:1px solid var(--color-primary-200)}.container.svelte-1uha8ag{animation:fadeIn var(--duration-slow) var(--ease-out);margin:0 auto;max-width:1000px;min-height:100vh;padding:var(--space-10) var(--space-6)}header.svelte-1uha8ag{margin-bottom:var(--space-10);text-align:center}.title-row.svelte-1uha8ag{align-items:center;display:flex;gap:var(--space-3);justify-content:center}.github-link.svelte-1uha8ag{color:var(--color-slate-400);display:flex;transition:color var(--duration-fast) var(--ease-out)}.github-link.svelte-1uha8ag:hover{color:var(--color-slate-700)}.github-link.svelte-1uha8ag svg:where(.svelte-1uha8ag){height:28px;width:28px}h1.svelte-1uha8ag{background:var(--gradient-hero);background-clip:text;font-size:clamp(2rem,5vw,2.75rem);font-weight:800;letter-spacing:-.03em;line-height:1.1;margin:0;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.subtitle.svelte-1uha8ag{color:var(--color-slate-500);font-size:1.125rem;font-weight:500;margin:var(--space-3) 0 0}.mode-tabs.svelte-1uha8ag{animation:slideUp var(--duration-slow) var(--ease-out) .1s backwards;background:#fff;border:1px solid var(--color-slate-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);display:flex;gap:var(--space-2);justify-content:center;margin:0 auto var(--space-10);padding:var(--space-2);width:fit-content}.mode-tabs.svelte-1uha8ag button:where(.svelte-1uha8ag){background:transparent;border:none;border-radius:var(--radius-lg);color:var(--color-slate-500);cursor:pointer;font-size:.9375rem;font-weight:600;padding:var(--space-3) var(--space-6);position:relative;transition:all var(--duration-normal) var(--ease-out)}.mode-tabs.svelte-1uha8ag button:where(.svelte-1uha8ag):hover:not(.active){background:var(--color-slate-100);color:var(--color-slate-700)}.mode-tabs.svelte-1uha8ag button.active:where(.svelte-1uha8ag){background:var(--gradient-primary);box-shadow:var(--shadow-primary);color:#fff}.content.svelte-1uha8ag{align-items:center;animation:slideUp var(--duration-slow) var(--ease-out) .2s backwards;display:flex;flex-direction:column;gap:var(--space-10)}@media(min-width:900px){.content.svelte-1uha8ag{align-items:stretch;flex-direction:row;gap:var(--space-12);justify-content:center}.board-container.svelte-1uha8ag{display:flex}.controls.svelte-1uha8ag{max-height:572px}}.board-container.svelte-1uha8ag{flex:0 0 auto;max-width:540px;width:100%}.controls.svelte-1uha8ag{display:flex;flex:0 0 auto;flex-direction:column;gap:var(--space-3);max-width:320px;width:100%}.control-group.svelte-1uha8ag{animation:scaleIn var(--duration-slow) var(--ease-out);background:#fff;border:1px solid var(--color-slate-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--space-6)}.control-group.svelte-1uha8ag h3:where(.svelte-1uha8ag){color:var(--color-slate-800);font-size:1.125rem;font-weight:700;letter-spacing:-.01em;margin:0 0 var(--space-5)}.difficulty-selector.svelte-1uha8ag{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-5)}.difficulty-selector.svelte-1uha8ag label:where(.svelte-1uha8ag){color:var(--color-slate-500);font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.difficulty-selector.svelte-1uha8ag select:where(.svelte-1uha8ag){appearance:none;background:var(--color-slate-50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") no-repeat right 12px center;border:1px solid var(--color-slate-200);border-radius:var(--radius-md);color:var(--color-slate-800);cursor:pointer;font-size:.9375rem;font-weight:500;padding:var(--space-3) var(--space-10) var(--space-3) var(--space-4);transition:all var(--duration-fast) var(--ease-out)}.difficulty-selector.svelte-1uha8ag select:where(.svelte-1uha8ag):hover{border-color:var(--color-slate-300)}.difficulty-selector.svelte-1uha8ag select:where(.svelte-1uha8ag):focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-50);outline:none}.primary-btn.svelte-1uha8ag{background:var(--gradient-primary);border:none;border-radius:var(--radius-lg);color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:var(--space-4) var(--space-5);transition:all var(--duration-normal) var(--ease-out);width:100%}.primary-btn.svelte-1uha8ag:hover:not(:disabled){box-shadow:var(--shadow-primary-lg);filter:brightness(1.05);transform:translateY(-2px)}.primary-btn.svelte-1uha8ag:active:not(:disabled){transform:translateY(0)}.primary-btn.svelte-1uha8ag:disabled{cursor:not-allowed;opacity:.5}.secondary-btn.svelte-1uha8ag{background:var(--color-slate-100);border:1px solid var(--color-slate-200);border-radius:var(--radius-md);color:var(--color-slate-600);cursor:pointer;font-size:.9375rem;font-weight:600;margin-top:var(--space-3);padding:var(--space-3) var(--space-4);transition:all var(--duration-fast) var(--ease-out);width:100%}.secondary-btn.svelte-1uha8ag:hover{background:var(--color-slate-200);border-color:var(--color-slate-300);color:var(--color-slate-700)}.download-group.svelte-1uha8ag{border-top:1px solid var(--color-slate-200);display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-5);padding-top:var(--space-5)}.download-btn.svelte-1uha8ag{align-items:center;background:#fff;border:1px solid var(--color-slate-200);border-radius:var(--radius-md);color:var(--color-slate-600);cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:var(--space-2);justify-content:center;padding:var(--space-3) var(--space-4);transition:all var(--duration-fast) var(--ease-out);width:100%}.download-btn.svelte-1uha8ag:hover{background:var(--color-slate-50);border-color:var(--color-primary-400);color:var(--color-primary-600)}.upload-group.svelte-1uha8ag{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-5)}.hint.svelte-1uha8ag{color:var(--color-slate-500);font-size:.875rem;line-height:1.5;margin:0 0 var(--space-4)}.success-action.svelte-1uha8ag{animation:slideUp var(--duration-normal) var(--ease-spring);border-top:1px solid var(--color-slate-200);margin-top:var(--space-5);padding-top:var(--space-5)}.success-btn.svelte-1uha8ag{background:var(--gradient-success);border:none;border-radius:var(--radius-lg);color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:var(--space-4) var(--space-5);transition:all var(--duration-normal) var(--ease-out);width:100%}.success-btn.svelte-1uha8ag:hover{box-shadow:var(--shadow-success);transform:translateY(-2px)}.success-btn.svelte-1uha8ag:active{transform:translateY(0)}.message.svelte-1uha8ag{animation:slideUp var(--duration-normal) var(--ease-spring);border-radius:var(--radius-lg);font-size:.875rem;font-weight:600;margin-top:var(--space-5);padding:var(--space-4) var(--space-5);text-align:center}.message.error.svelte-1uha8ag{background:var(--color-error-50);border:1px solid var(--color-error-100);color:var(--color-error-600)}.message.info.svelte-1uha8ag{background:var(--color-primary-50);border:1px solid var(--color-primary-100);color:var(--color-primary-600)}.message.success.svelte-1uha8ag{background:var(--color-success-50);border:1px solid var(--color-success-100);color:var(--color-success-600)}
