.pt-wrap{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem;}
.pt-session{background:var(--surface,#fff);border:1px solid var(--border,rgba(0,0,0,.08));border-radius:20px;padding:1.5rem;box-shadow:var(--shadow-soft,0 2px 12px rgba(0,0,0,.04));}
@media (min-width:480px){.pt-session{padding:2rem;}}
.pt-timer-wrap{text-align:center;margin-bottom:1rem;}
.pt-timer-label{font-size:0.75rem;font-weight:600;color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;margin:0 0 0.5rem;}
.pt-timer{font-size:clamp(2rem,8vw,3.5rem);font-weight:700;font-variant-numeric:tabular-nums;color:var(--primary,#0d6efd);line-height:1.1;letter-spacing:-0.02em;}
.pt-task-row{margin-bottom:1.25rem;}
.pt-task-input{width:100%;padding:0.875rem 1rem;font-size:1rem;line-height:1.4;color:var(--text-main,#111);background:var(--surface,#fff);border:1px solid var(--border,rgba(0,0,0,.12));border-radius:12px;transition:border-color .2s ease,box-shadow .2s ease;-webkit-appearance:none;appearance:none;}
.pt-task-input:hover{border-color:var(--border,rgba(0,0,0,.2));}
.pt-task-input:focus{border-color:var(--primary,#0d6efd);box-shadow:0 0 0 3px rgba(13,110,253,.12);outline:none;}
.pt-task-input::placeholder{color:var(--text-muted);opacity:.85;}
.pt-task-input:disabled{opacity:.7;cursor:not-allowed;}
.pt-actions{display:flex;flex-wrap:wrap;gap:0.75rem;justify-content:center;}
.pt-btn{padding:0.75rem 1.5rem;font-size:0.9375rem;font-weight:600;border-radius:12px;cursor:pointer;transition:transform .15s ease,background .15s ease,border-color .15s ease,opacity .15s ease;-webkit-tap-highlight-color:transparent;border:1px solid transparent;}
.pt-btn:disabled{opacity:.5;cursor:not-allowed;}
.pt-btn:not(:disabled):active{transform:scale(0.98);}
.pt-btn-start{color:#fff;background:#198754;border-color:#198754;}
.pt-btn-start:not(:disabled):hover{filter:brightness(1.08);}
.pt-btn-pause{color:#000;background:#ffc107;border-color:#ffc107;}
.pt-btn-pause:not(:disabled):hover{filter:brightness(1.06);}
.pt-btn-stop{color:#fff;background:#dc3545;border-color:#dc3545;}
.pt-btn-stop:not(:disabled):hover{filter:brightness(1.08);}
.pt-btn-ghost{color:var(--text-muted);background:transparent;border-color:var(--border,rgba(0,0,0,.12));}
.pt-btn-ghost:hover{background:var(--surface-muted,rgba(0,0,0,.04));border-color:var(--border,rgba(0,0,0,.2));}
.pt-today{display:grid;grid-template-columns:repeat(2,1fr);gap:0.75rem;background:var(--surface-muted,rgba(0,0,0,.02));border:1px solid var(--border,rgba(0,0,0,.06));border-radius:16px;padding:1rem;}
@media (min-width:480px){.pt-today{grid-template-columns:repeat(4,1fr);gap:1rem;padding:1.25rem;}}
.pt-today-item{display:flex;flex-direction:column;gap:0.25rem;padding:0.5rem 0;}
.pt-today-label{font-size:0.75rem;font-weight:600;color:var(--text-muted);letter-spacing:.03em;}
.pt-today-value{font-size:1.125rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-main,#111);}
.pt-today-score{color:#198754;}
.pt-log-section{background:var(--surface,#fff);border:1px solid var(--border,rgba(0,0,0,.08));border-radius:20px;overflow:hidden;box-shadow:var(--shadow-soft,0 2px 12px rgba(0,0,0,.04));}
.pt-log-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border,rgba(0,0,0,.06));}
@media (min-width:480px){.pt-log-head{padding:1.25rem 1.5rem;}}
.pt-log-title{font-size:1.125rem;font-weight:700;margin:0;color:var(--text-main,#111);}
.pt-log-controls{display:flex;flex-wrap:wrap;align-items:center;gap:0.5rem;}
.pt-select{padding:0.5rem 2rem 0.5rem 0.75rem;font-size:0.875rem;line-height:1.4;color:var(--text-main,#111);background:var(--surface,#fff);border:1px solid var(--border,rgba(0,0,0,.12));border-radius:10px;cursor:pointer;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;}
.pt-select:focus{border-color:var(--primary,#0d6efd);outline:none;}
.pt-sessions-list{max-height:320px;overflow-y:auto;padding:1rem 1.25rem;}
@media (min-width:480px){.pt-sessions-list{max-height:380px;padding:1.25rem 1.5rem;}}
.pt-empty{text-align:center;padding:2rem 1rem;border:2px dashed var(--border,rgba(0,0,0,.12));border-radius:12px;background:var(--surface-muted,rgba(0,0,0,.02));}
.pt-empty-icon{display:block;width:48px;height:48px;margin:0 auto 1rem;background:var(--border,rgba(0,0,0,.12));border-radius:50%;}
.pt-empty-title{font-size:1rem;font-weight:600;color:var(--text-muted);margin:0 0 0.25rem;}
.pt-empty-desc{font-size:0.875rem;color:var(--text-muted);margin:0;}
.pt-empty.hidden{display:none;}
.pt-session-item{display:flex;align-items:flex-start;justify-content:space-between;gap:0.75rem;padding:1rem;background:var(--surface-muted,rgba(0,0,0,.02));border:1px solid var(--border,rgba(0,0,0,.06));border-radius:12px;margin-bottom:0.75rem;border-left:4px solid var(--primary,#0d6efd);}
.pt-session-item:last-child{margin-bottom:0;}
.pt-session-item-content{flex:1;min-width:0;}
.pt-session-item-task{font-size:1rem;font-weight:600;color:var(--text-main,#111);margin:0 0 0.25rem;}
.pt-session-item-meta{font-size:0.8125rem;color:var(--text-muted);margin:0;}
.pt-session-item-delete{padding:0.375rem;color:var(--text-muted);background:transparent;border:none;border-radius:8px;cursor:pointer;transition:color .15s ease,background .15s ease;-webkit-tap-highlight-color:transparent;}
.pt-session-item-delete:hover{color:#dc3545;background:rgba(220,53,69,.08);}
.pt-analytics{background:var(--surface,#fff);border:1px solid var(--border,rgba(0,0,0,.08));border-radius:20px;padding:1.25rem;box-shadow:var(--shadow-soft,0 2px 12px rgba(0,0,0,.04));}
@media (min-width:480px){.pt-analytics{padding:1.5rem;}}
.pt-analytics-title{font-size:1.125rem;font-weight:700;margin:0 0 1rem;color:var(--text-main,#111);}
.pt-analytics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0.75rem;}
@media (min-width:480px){.pt-analytics-grid{grid-template-columns:repeat(4,1fr);gap:1rem;}}
.pt-stat{display:flex;flex-direction:column;gap:0.25rem;padding:1rem;background:var(--surface-muted,rgba(0,0,0,.03));border-radius:12px;border:1px solid var(--border,rgba(0,0,0,.06));}
.pt-stat-label{font-size:0.75rem;font-weight:600;color:var(--text-muted);letter-spacing:.03em;}
.pt-stat-value{font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-main,#111);}
.pt-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
