:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--color-teal: #1a9a9a;--color-teal-dark: #157f7f;--color-yellow: #f0a500;--color-red: #cc3333;--color-bg: #ffffff;--color-text: #111111;--color-border: #cccccc;--color-table-header: #e8e8e8;--color-table-row-alt: #f5f5f5;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--color-bg);color:var(--color-text)}*,*:before,*:after{box-sizing:border-box}.App{max-width:960px;margin:0 auto;padding:var(--spacing-lg);min-height:100vh}.App h1{text-align:center;margin:0 0 var(--spacing-lg);font-size:var(--font-size-2xl);font-weight:700;background:var(--color-teal);color:#fff;padding:var(--spacing-xl);border-radius:0}.main-layout{display:flex;gap:var(--spacing-lg);flex-wrap:wrap}.character-panel{flex:1;min-width:300px;background:var(--color-bg);border-radius:0;padding:var(--spacing-lg);border:1px solid var(--color-border)}.character-panel h2{margin-top:0;color:var(--color-teal);border-bottom:2px solid var(--color-border);padding-bottom:var(--spacing-sm);font-size:var(--font-size-lg)}.stat-group{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.stat-group:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.stat-pair-row{display:flex;align-items:center;gap:var(--spacing-lg);margin-bottom:var(--spacing-sm)}.stat-pair-row>.stat-row{flex:1 1 0;min-width:0}.stat-row{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.stat-row label{min-width:120px;font-weight:600;font-size:var(--font-size-sm);color:var(--color-text)}.stat-row input[type=number],.stat-row select{padding:.4rem .5rem;border:1px solid var(--color-border);border-radius:0;font-size:var(--font-size-sm);background-color:var(--color-bg);color:var(--color-text)}.stat-row input[type=number]:focus,.stat-row select:focus{outline:none;border-color:var(--color-teal)}.stat-row input[type=number]{width:80px}.stat-row select{min-width:140px}.current-value{font-size:var(--font-size-base);font-weight:700;color:var(--color-teal);padding:.25rem .5rem;background:var(--color-table-row-alt);border-radius:0;min-width:40px;text-align:center}.left-panel{flex:1;min-width:300px;display:flex;flex-direction:column;gap:var(--spacing-lg)}.right-panel{flex:1;min-width:260px;display:flex;flex-direction:column;gap:var(--spacing-lg)}.time-display{background:var(--color-bg);border-radius:0;padding:var(--spacing-lg);text-align:center;border:1px solid var(--color-border)}.time-display h2{margin-top:0;color:var(--color-teal);font-size:var(--font-size-lg)}.time-value{font-size:var(--font-size-xl);font-weight:700;color:var(--color-teal)}.time-raw{font-size:var(--font-size-xs);color:#666;margin-top:var(--spacing-xs)}.reset-timer-button{margin-top:var(--spacing-sm);padding:4px 12px;font-size:var(--font-size-xs);font-weight:600;background:#6c757d;color:#fff;border:none;border-radius:0;cursor:pointer}.reset-timer-button:hover{background:#5a6268}.resting-indicator{margin-top:var(--spacing-sm);font-size:var(--font-size-xs);font-weight:700;color:var(--color-red);background:#fee;border:1px solid var(--color-red);border-radius:0;padding:4px 8px}.magic-exhaustion-display{background:#fff8e6;border-radius:0;padding:var(--spacing-lg);text-align:center;border:1px solid var(--color-yellow)}.magic-exhaustion-display label{font-weight:600;display:block;margin-bottom:var(--spacing-sm);color:var(--color-yellow)}.magic-exhaustion-display span{font-size:var(--font-size-xl);font-weight:700;color:var(--color-yellow)}.warning-value{color:var(--color-red)!important}.action-button{padding:.875rem var(--spacing-lg);font-size:var(--font-size-lg);font-weight:700;background:var(--color-teal);color:#fff;border:none;border-radius:0;cursor:pointer}.action-button:hover{background:var(--color-teal-dark)}.action-button:active{opacity:.9}.fully-rested-button{padding:.625rem var(--spacing-lg);font-size:var(--font-size-sm);font-weight:700;background:var(--color-teal);color:#fff;border:none;border-radius:0;cursor:pointer}.fully-rested-button:hover{background:var(--color-teal-dark)}.characters-button{padding:.625rem var(--spacing-lg);font-size:var(--font-size-sm);font-weight:700;background:var(--color-yellow);color:var(--color-text);border:none;border-radius:0;cursor:pointer}.characters-button:hover{opacity:.9}.character-manager-dialog{max-width:750px}.character-form{margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.character-form h3{margin:0 0 var(--spacing-sm) 0;color:#666;font-size:var(--font-size-sm)}.character-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 24px}.dialog-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-md)}.dialog{background:var(--color-bg);border-radius:0;padding:var(--spacing-xl);max-width:500px;width:100%;max-height:85vh;overflow-y:auto;border:1px solid var(--color-border)}.dialog h2{margin-top:0;color:var(--color-teal);border-bottom:2px solid var(--color-border);padding-bottom:var(--spacing-sm);font-size:var(--font-size-lg)}.action-type-select{margin-bottom:var(--spacing-md)}.action-type-select label{font-weight:600;display:block;margin-bottom:var(--spacing-xs);color:var(--color-text)}.action-type-select select{width:100%;padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:0;font-size:var(--font-size-sm);background-color:var(--color-bg);color:var(--color-text)}.action-type-select select:focus{outline:none;border-color:var(--color-teal)}.dialog .stat-row{margin-bottom:var(--spacing-md)}.dialog .stat-row label{min-width:100px}.dialog .stat-row select{flex:1}.time-input-group{margin:var(--spacing-md) 0}.time-input-group>label{font-weight:600;display:block;margin-bottom:var(--spacing-sm);color:var(--color-text)}.time-inputs{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.time-inputs>div{display:flex;flex-direction:column;align-items:center}.time-inputs input{width:60px;padding:.4rem;border:1px solid var(--color-border);border-radius:0;text-align:center;font-size:var(--font-size-sm);background-color:var(--color-bg);color:var(--color-text)}.time-inputs input:focus{outline:none;border-color:var(--color-teal)}.time-inputs span{font-size:var(--font-size-xs);color:#666;margin-top:var(--spacing-xs)}.dialog-buttons{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-xl);justify-content:flex-end}.confirm-button{padding:.625rem var(--spacing-lg);background:var(--color-teal);color:#fff;border:none;border-radius:0;cursor:pointer;font-weight:600;font-size:var(--font-size-sm)}.confirm-button:hover{background:var(--color-teal-dark)}.cancel-button{padding:.625rem var(--spacing-lg);background:transparent;color:#666;border:1px solid var(--color-border);border-radius:0;cursor:pointer;font-weight:600;font-size:var(--font-size-sm)}.cancel-button:hover{border-color:#666;color:var(--color-text)}.warning-dialog{text-align:center}.warning-text{color:var(--color-red);font-size:var(--font-size-base);font-weight:600;padding:var(--spacing-md);background:#fee;border-radius:0;border:1px solid var(--color-red)}.status-message{text-align:center;padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-md);background:#f0faf5;color:#157f7f;border-radius:0;border:1px solid var(--color-teal);font-weight:600}.session-panel{background:var(--color-bg);border-radius:0;padding:var(--spacing-lg);border:1px solid var(--color-border)}.session-panel h2{margin-top:0;color:var(--color-teal);border-bottom:2px solid var(--color-border);padding-bottom:var(--spacing-sm);font-size:var(--font-size-lg)}.session-panel input[type=text]{padding:.4rem .5rem;border:1px solid var(--color-border);border-radius:0;font-size:var(--font-size-sm);flex:1;background-color:var(--color-bg);color:var(--color-text)}.session-panel input[type=text]:focus{outline:none;border-color:var(--color-teal)}.session-buttons{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-sm);flex-wrap:wrap}.save-button,.load-button,.history-button{padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:0;cursor:pointer;font-weight:600;font-size:var(--font-size-sm);color:#fff}.save-button:hover,.load-button:hover,.history-button:hover{opacity:.9}.save-button,.load-button{background:var(--color-teal)}.history-button{background:var(--color-teal-dark)}.load-session-button{padding:.25rem .625rem;background:var(--color-teal);color:#fff;border:none;border-radius:0;cursor:pointer;font-size:var(--font-size-xs)}.load-session-button:hover{opacity:.9}.delete-button{padding:4px 8px;background:var(--color-red);color:#fff;border:none;border-radius:0;cursor:pointer;font-size:var(--font-size-xs);font-weight:700}.delete-button:hover{opacity:.85}.row-pending-delete{background:#fee;outline:2px solid var(--color-red)}.session-list{margin-top:var(--spacing-md);background:var(--color-table-row-alt);border-radius:0;padding:var(--spacing-md);border:1px solid var(--color-border);overflow-x:auto;-webkit-overflow-scrolling:touch}.session-list h3{margin-top:0;margin-bottom:var(--spacing-sm);color:var(--color-text);font-size:var(--font-size-sm)}.session-list table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.session-list th,.session-list td{padding:.4rem .5rem;text-align:left;border-bottom:1px solid var(--color-border);white-space:nowrap}.session-list th{background:var(--color-table-header);font-weight:600;color:var(--color-text)}.time-segments-preview{font-size:var(--font-size-xs);color:#666;margin-left:4px;white-space:nowrap}.history-dialog{max-width:800px}.history-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.history-table th,.history-table td{padding:var(--spacing-sm);text-align:left;border-bottom:1px solid var(--color-border)}.history-table th{background:var(--color-table-header);font-weight:600;color:var(--color-text)}@media(max-width:768px){.App{padding:var(--spacing-md)}.App h1{font-size:var(--font-size-xl);padding:var(--spacing-lg)}.main-layout{flex-direction:column}.left-panel,.right-panel{min-width:0;width:100%}.stat-pair-row{gap:var(--spacing-md)}.stat-row label{min-width:100px}.dialog{padding:var(--spacing-lg)}.history-dialog{max-width:100%}}@media(max-width:480px){.App{padding:var(--spacing-sm)}.App h1{font-size:var(--font-size-lg);padding:var(--spacing-md)}.character-panel,.session-panel,.time-display{padding:var(--spacing-md)}.stat-pair-row{flex-direction:column;gap:0;align-items:flex-start}.stat-row{width:100%}.stat-row label{min-width:0;flex-shrink:0}.stat-row input[type=number],.stat-row select{flex:1;min-width:0;width:auto}.session-buttons{flex-direction:column}.save-button,.load-button,.history-button{width:100%;text-align:center}.dialog{padding:var(--spacing-md);margin:var(--spacing-sm)}.dialog-buttons{flex-direction:column-reverse;gap:var(--spacing-sm)}.confirm-button,.cancel-button{width:100%;text-align:center}.time-inputs{justify-content:space-between}.time-inputs>div{flex:1;min-width:0}.time-inputs input{width:100%}.action-button{font-size:var(--font-size-base);padding:var(--spacing-md)}}
