html{color:var(--text);background-color:var(--bg)}body{margin:0}a{color:var(--link)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}html{font-family:var(--font-sans);font-size:var(--fs-md);line-height:var(--lh-body);font-variant-numeric:tabular-nums}button,input,select,textarea{font-family:inherit;font-size:var(--fs-md);color:var(--text);background-color:var(--surface);border-color:var(--border-strong);accent-color:var(--primary)}input:not([type]),input[type=text],input[type=password],input[type=number],input[type=search],input[type=url],select,textarea{box-sizing:border-box;border:1px solid var(--border-strong);border-radius:var(--r-sm);min-height:44px;padding:0 var(--sp-3)}input:not([type]),input[type=text],input[type=password],input[type=number],input[type=search],input[type=url],select{height:44px}textarea{padding:var(--sp-2) var(--sp-3)}::placeholder{color:var(--text-sub);opacity:1}:is(input,select,textarea)[aria-invalid=true]{border:2px solid var(--danger)}button:disabled,input:disabled,select:disabled,textarea:disabled{opacity:.4;cursor:not-allowed}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.btn{box-sizing:border-box;min-width:44px;min-height:44px;padding:0 var(--sp-4);justify-content:center;align-items:center;gap:var(--sp-1);font-size:var(--fs-md);font-weight:var(--fw-medium);line-height:var(--lh-tight);border-radius:var(--r-md);cursor:pointer;background-color:var(--surface);color:var(--text);border:1px solid var(--border-strong);text-decoration:none;display:inline-flex}.btn-secondary:hover:not(:disabled){background-color:var(--surface-sunken)}.btn-primary{background-color:var(--primary);color:var(--on-primary);border:0}.btn-primary:hover:not(:disabled){background-color:var(--primary-hover)}.btn-text{color:var(--link);padding:0 var(--sp-2);background-color:#0000;border:0}.btn-text:hover:not(:disabled){text-decoration:underline}.btn-danger,.btn-danger-outline{background-color:var(--surface);color:var(--danger);border:1px solid var(--danger)}.btn-danger:hover:not(:disabled),.btn-danger-outline:hover:not(:disabled){background-color:var(--surface-sunken);text-decoration:none}.btn-danger-solid{background-color:var(--danger);color:var(--on-primary);border:0}.btn-danger-solid:hover:not(:disabled){background-color:var(--danger-hover)}.dialog-backdrop{background:var(--backdrop);z-index:100;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{box-sizing:border-box;background:var(--surface);color:var(--text);width:calc(100% - 32px);max-width:560px;max-height:90vh;padding:var(--sp-5);border-radius:var(--r-lg);box-shadow:var(--sh-3);position:relative;overflow:auto}.dialog>h2{font-size:var(--fs-xl);font-weight:var(--fw-medium);line-height:var(--lh-tight);margin:0 0 var(--sp-4)}.dialog fieldset{margin:0 0 var(--sp-3);border:0;padding:0}.dialog legend{font-weight:var(--fw-medium);padding:0}.dialog label{margin:var(--sp-2) 0;display:block}.dialog-hint{margin-left:var(--sp-5);font-size:var(--fs-sm);color:var(--text-sub);display:block}.dialog-note{font-size:var(--fs-sm)}.dialog-actions{justify-content:space-between;gap:var(--sp-3);margin-top:var(--sp-4);display:flex}.dialog-x{top:var(--sp-2);right:var(--sp-2);position:absolute}.dialog.dialog-confirm{max-width:480px}.dialog.dialog-wide{max-width:880px}.dialog.display-menu{border-radius:var(--r-md)}.display-menu label{align-items:center;gap:var(--sp-2);min-height:44px;margin:0;display:flex}@media (width<=599px){.dialog-backdrop{align-items:flex-end}.dialog{border-radius:var(--r-lg) var(--r-lg) 0 0;width:100%;max-width:none}.dialog.dialog-confirm{max-width:none}.dialog.dialog-wide{border-radius:0;max-width:none;height:100vh;max-height:100vh}}thead th{background-color:var(--surface-sunken);color:var(--text-sub);font-size:var(--fs-sm);font-weight:var(--fw-medium)}.toast{background:var(--toast-bg);color:var(--on-primary);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);box-shadow:var(--sh-3);gap:var(--sp-3);z-index:90;align-items:center;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.toast .btn{color:var(--on-primary);background-color:#0000;border-color:#0000;text-decoration:underline}.toast :focus-visible{outline-color:var(--focus-on-dark)}
