:root{--color-rio: #4A90D9;--color-jaya: #4CAF50;--color-nana: #E91E8C;--color-baba: #FFC107;--color-primary: #FF6B35;--color-primary-light: #FF8F65;--color-success: #4CAF50;--color-danger: #EF4444;--color-warning: #FFC107;--color-info: #3B82F6;--color-bg: #F5F5F7;--color-surface: #FFFFFF;--color-surface-hover: #F0F0F2;--color-border: #E5E5E7;--color-text: #1D1D1F;--color-text-secondary: #6E6E73;--color-text-muted: #AEAEB2;--color-disabled: #D1D1D6;--color-overdue: #FEE2E2;--color-overdue-text: #DC2626;--color-due-soon: #FEF3C7;--color-due-soon-text: #D97706;--color-done: #D1FAE5;--color-done-text: #059669;--color-timer: #DBEAFE;--color-timer-text: #2563EB;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 24px;--spacing-2xl: 32px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-full: 999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 2px 8px rgba(0, 0, 0, .08);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .12);--shadow-drag: 0 8px 24px rgba(0, 0, 0, .18);--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-size-xs: .7rem;--font-size-sm: .8rem;--font-size-md: .9rem;--font-size-lg: 1.1rem;--font-size-xl: 1.3rem;--font-size-2xl: 1.6rem;--header-height: 52px;--nav-height: 56px;--safe-bottom: env(safe-area-inset-bottom, 0px)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-family);font-size:var(--font-size-md);color:var(--color-text);background-color:var(--color-bg);line-height:1.4;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.no-overscroll{overscroll-behavior-y:none}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none;color:inherit}input{font-family:inherit;font-size:inherit}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.board-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:3px;height:calc(100vh - var(--header-height) - var(--nav-height) - var(--safe-bottom));height:calc(100dvh - var(--header-height) - var(--nav-height) - var(--safe-bottom));padding:3px;background-color:var(--color-border)}.quadrant{background-color:var(--color-bg);overflow-y:auto;overflow-x:hidden;padding:var(--spacing-sm);display:flex;flex-direction:column;gap:var(--spacing-xs);-webkit-overflow-scrolling:touch;min-height:0}.quadrant-header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) 0;position:sticky;top:0;background-color:var(--color-bg);z-index:1}.quadrant-header .user-badge{font-size:var(--font-size-sm);font-weight:700;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);color:#fff;white-space:nowrap}.card{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);box-shadow:var(--shadow-sm);border-left:3px solid transparent;transition:box-shadow .15s ease,transform .15s ease;position:relative;touch-action:manipulation;user-select:none;-webkit-user-select:none}.card:active{transform:scale(.98)}.card.dragging{box-shadow:var(--shadow-drag);opacity:.9;z-index:100}.card .card-title{font-size:var(--font-size-sm);font-weight:600;line-height:1.2;margin-bottom:2px}.card .card-meta{font-size:var(--font-size-xs);color:var(--color-text-secondary);display:flex;align-items:center;gap:var(--spacing-xs)}.card .card-actions{display:flex;gap:var(--spacing-xs);margin-top:var(--spacing-xs)}.card.status-overdue{background-color:var(--color-overdue);border-left-color:var(--color-danger)}.card.status-done{background-color:var(--color-done);border-left-color:var(--color-success);opacity:.7}.card.status-disabled{opacity:.45}.card.status-timer-running{background-color:var(--color-timer);border-left-color:var(--color-info)}.card.status-enabled{border-left-color:var(--color-primary)}.card-type-icon{font-size:var(--font-size-xs);margin-right:2px}.timer-progress{height:3px;background-color:var(--color-border);border-radius:2px;margin-top:var(--spacing-xs);overflow:hidden}.timer-progress-bar{height:100%;background-color:var(--color-info);border-radius:2px;transition:width 1s linear}.status-badge{font-size:var(--font-size-xs);font-weight:600;padding:1px 6px;border-radius:var(--radius-full);display:inline-flex;align-items:center}.status-badge.overdue{background-color:var(--color-overdue);color:var(--color-overdue-text)}.status-badge.done{background-color:var(--color-done);color:var(--color-done-text)}.status-badge.timer{background-color:var(--color-timer);color:var(--color-timer-text)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);font-weight:600;font-size:var(--font-size-sm);transition:background-color .15s ease,transform .1s ease}.btn:active{transform:scale(.96)}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-primary-light)}.btn-success{background-color:var(--color-success);color:#fff}.btn-danger{background-color:var(--color-danger);color:#fff}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.btn-ghost:hover{background-color:var(--color-surface-hover)}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);border-radius:var(--radius-sm)}.btn-icon{width:28px;height:28px;padding:0;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center}.fab{position:fixed;bottom:calc(var(--nav-height) + var(--safe-bottom) + var(--spacing-lg));right:var(--spacing-lg);width:52px;height:52px;border-radius:50%;background-color:var(--color-primary);color:#fff;font-size:24px;box-shadow:var(--shadow-lg);z-index:50;display:flex;align-items:center;justify-content:center}.fab:active{transform:scale(.92)}.header{height:var(--header-height);background-color:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;padding:0 var(--spacing-lg);position:sticky;top:0;z-index:100}.header-title{font-size:var(--font-size-lg);font-weight:700;color:var(--color-primary)}.header-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.lang-toggle{font-size:var(--font-size-xs);font-weight:700;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);background-color:var(--color-surface-hover);color:var(--color-text-secondary)}.lang-toggle.active{background-color:var(--color-primary);color:#fff}.user-indicator{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:var(--font-size-xs)}.user-menu-container{position:relative}.user-dropdown{position:absolute;top:calc(100% + var(--spacing-xs));right:0;min-width:160px;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:200;overflow:hidden;animation:fadeIn .1s ease}.dropdown-item{width:100%;padding:var(--spacing-sm) var(--spacing-lg);text-align:left;font-size:var(--font-size-sm);font-weight:500;color:var(--color-text);background:none;border:none;cursor:pointer;display:block}.dropdown-item:hover{background-color:var(--color-surface-hover)}.dropdown-item-danger{color:var(--color-danger)}.dropdown-divider{height:1px;background-color:var(--color-border);margin:var(--spacing-xs) 0}.color-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--spacing-sm)}.color-swatch{width:36px;height:36px;border-radius:50%;border:3px solid transparent;cursor:pointer;transition:transform .1s ease}.color-swatch:hover{transform:scale(1.15)}.color-swatch.selected{border-color:var(--color-text);transform:scale(1.15)}.emoji-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--spacing-xs)}.emoji-option{width:40px;height:40px;font-size:20px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);border:2px solid transparent;cursor:pointer;transition:transform .1s ease,background-color .1s ease;background:none}.emoji-option:hover{background-color:var(--color-surface-hover);transform:scale(1.1)}.emoji-option.selected{border-color:var(--color-primary);background-color:#ff6b351a;transform:scale(1.1)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:calc(var(--nav-height) + var(--safe-bottom));padding-bottom:var(--safe-bottom);background-color:var(--color-surface);border-top:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-around;z-index:100}.nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--spacing-xs) var(--spacing-md);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:500;text-decoration:none;transition:color .15s ease}.nav-item.active{color:var(--color-primary)}.nav-item .nav-icon{font-size:20px}.pin-screen{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);background-color:var(--color-bg)}.pin-screen .logo{font-size:var(--font-size-2xl);font-weight:800;color:var(--color-primary);margin-bottom:var(--spacing-xs)}.pin-screen .tagline{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-2xl)}.user-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl);width:100%;max-width:280px}.user-avatar{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-lg);border-radius:var(--radius-lg);background-color:var(--color-surface);box-shadow:var(--shadow-sm);transition:transform .15s ease,box-shadow .15s ease;cursor:pointer}.user-avatar:active{transform:scale(.95)}.user-avatar.selected{box-shadow:var(--shadow-md);transform:scale(1.05)}.user-avatar .avatar-circle{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:var(--font-size-xl)}.user-avatar .avatar-name{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}.pin-input-group{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg);width:100%;max-width:240px}.pin-dots{display:flex;gap:var(--spacing-md)}.pin-dot{width:14px;height:14px;border-radius:50%;background-color:var(--color-border);transition:background-color .15s ease}.pin-dot.filled{background-color:var(--color-primary)}.pin-dot.error{background-color:var(--color-danger)}.numpad{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-sm);width:100%;max-width:240px}.numpad-btn{width:64px;height:64px;border-radius:50%;background-color:var(--color-surface);font-size:var(--font-size-xl);font-weight:600;display:flex;align-items:center;justify-content:center;margin:0 auto;box-shadow:var(--shadow-sm);transition:background-color .1s ease,transform .1s ease}.numpad-btn:active{background-color:var(--color-surface-hover);transform:scale(.92)}.numpad-btn.delete{background:none;box-shadow:none;font-size:var(--font-size-lg);color:var(--color-text-secondary)}.pin-error{color:var(--color-danger);font-size:var(--font-size-sm);font-weight:500;min-height:20px}.modal-overlay{position:fixed;inset:0;background-color:#0006;display:flex;align-items:flex-end;justify-content:center;z-index:200;animation:fadeIn .15s ease}.modal-content{background-color:var(--color-surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--spacing-xl);width:100%;max-width:500px;max-height:85vh;overflow-y:auto;animation:slideUp .2s ease}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg)}.modal-title{font-size:var(--font-size-lg);font-weight:700}.form-group{margin-bottom:var(--spacing-lg)}.form-label{display:block;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary);margin-bottom:var(--spacing-xs)}.form-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-md);background-color:var(--color-surface);color:var(--color-text);transition:border-color .15s ease}.form-input:focus{outline:none;border-color:var(--color-primary)}.form-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;margin-top:var(--spacing-xl)}.drag-overlay{opacity:.85;transform:rotate(3deg) scale(1.05);box-shadow:var(--shadow-drag)}.droppable-active{background-color:#ff6b350d;outline:2px dashed var(--color-primary);outline-offset:-2px;border-radius:var(--radius-md)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media(min-width:768px){:root{--font-size-xs: .75rem;--font-size-sm: .85rem;--font-size-md: 1rem}.board-grid{gap:6px;padding:6px}.quadrant{padding:var(--spacing-md);gap:var(--spacing-sm)}.card{padding:var(--spacing-md) var(--spacing-lg)}.modal-overlay{align-items:center}.modal-content{border-radius:var(--radius-lg);max-height:80vh}}@media(min-width:1024px){.board-grid{max-width:1200px;margin:0 auto;gap:12px;padding:var(--spacing-lg)}.quadrant{padding:var(--spacing-lg)}}@media(max-width:375px){:root{--font-size-xs: .65rem;--font-size-sm: .75rem;--font-size-md: .85rem}.board-grid{gap:2px;padding:2px}.quadrant{padding:var(--spacing-xs)}.card{padding:var(--spacing-xs) var(--spacing-sm);border-left-width:2px}.numpad-btn{width:56px;height:56px}}
