:root{--bg:#e9eef6;--panel:#fff;--text:#182232;--muted:#5f6c80;--border:#d3dbe8;--btn:#cbd5e1;--btn-hover:#b8c5da;--danger:#dc2626;--accent:#7f9fc6;--accent-soft:#d3e0f2;--ring:#7f9fc652}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);background-image:radial-gradient(circle at 100% 0,#d8e2f1 0%,#0000 42%),radial-gradient(circle at 0 100%,#edf2f9 0%,#0000 46%);margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,Apple Color Emoji,Segoe UI Emoji}.container{max-width:1080px;margin:30px auto;padding:0 14px}.grid{grid-template-columns:380px 1fr;gap:16px;display:grid}@media (width<=860px){.grid{grid-template-columns:1fr}}.card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:18px;box-shadow:0 10px 28px #14243814}.row{align-items:center;gap:12px;display:flex}.col{flex-direction:column;gap:10px;display:flex}label{color:var(--muted);font-size:12px}input,textarea{border:1px solid var(--border);width:100%;color:var(--text);background:#fbfcff;border-radius:10px;padding:10px 12px;transition:border-color .15s,box-shadow .15s}input:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring);outline:none}textarea{resize:vertical;min-height:72px}button{background:var(--btn);color:#0b1220;cursor:pointer;border:1px solid #00000005;border-radius:10px;padding:10px 12px;font-weight:600;transition:transform .12s,background-color .12s,box-shadow .12s}button:hover{background:var(--btn-hover);transform:translateY(-1px);box-shadow:0 6px 16px #1f293724}button:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:#acc0df}.btn-primary:hover{background:#9bb3d7}.btn-danger{background:#fca5a5}.btn-danger:hover{background:#f87171}.hint{color:var(--muted);font-size:12px}.status{color:var(--muted);font-size:13px}.error{color:var(--danger);white-space:pre-wrap;font-size:13px}.field-error{color:var(--danger);margin-top:-4px;font-size:12px;line-height:1.35}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.puzzle-display{letter-spacing:2px;background:#f4f8ff;border:1px dashed #bfd0e6;border-radius:10px;padding:14px 16px;font-size:26px;line-height:1.35}.badge{text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--border);color:#3d526f;background:#eef3fb;border-radius:999px;justify-content:center;align-items:center;min-width:80px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.title{letter-spacing:.01em;font-size:22px;font-weight:800}.app-header{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffb8;border:1px solid #d7dfeb;border-radius:14px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;padding:12px;display:flex}.brand-wrap{align-items:center;gap:10px;display:flex}.logo-dot{background:linear-gradient(135deg,#6f8bb2,#a8bfdc);border-radius:999px;width:14px;height:14px;box-shadow:0 0 0 5px #a8bfdc33}.nav-tabs{align-items:center;gap:8px;display:flex}.nav-tab{color:#2d3f58;background:#e7edf7;border:1px solid #d4deed;width:auto}.nav-tab.active{background:#abc0df;border-color:#97b0d4}a,button{font:inherit}.modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:999;background:#161e2b7a;justify-content:center;align-items:center;padding:14px;display:flex;position:fixed;inset:0}.modal-shell{background:#f5f8fd;border:1px solid #d7e1ef;border-radius:16px;width:min(680px,100%);max-height:calc(100vh - 28px);padding:14px;overflow:auto;box-shadow:0 24px 70px #0e1b2d59}@media (width<=768px){.container{margin:16px auto;padding:0 10px}.card{border-radius:12px;padding:12px}.topbar,.section-head{flex-direction:column;align-items:stretch;gap:10px}.app-header{flex-direction:column;align-items:stretch;padding:10px}.brand-wrap{width:100%}.user-row,.filter-row,.open-row,.action-row,.puzzle-list-row,.nav-tabs{flex-direction:column;align-items:stretch;width:100%}.user-row{min-width:0!important}button{width:100%}.puzzle-display{letter-spacing:1.5px;word-break:break-word;font-size:20px}.mono{word-break:break-all}.modal-shell{border-radius:12px;padding:10px}}
