:root{--bg-color: #f0e6d2;--panel-bg: #e6dac3;--accent-color: #800020;--text-color: #2c2c2c;--dial-bg: #fdfbf7;--dial-border: #dcd0c0;--shadow-color: rgba(0, 0, 0, .2);--highlight-color: rgba(255, 255, 255, .8);--font-main: "Courier New", Courier, monospace}*{box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}body{margin:0;padding:0;font-family:var(--font-main);background-color:var(--bg-color);color:var(--text-color);display:flex;justify-content:center;align-items:center;min-height:100vh;overflow-x:hidden}#root{width:100%;max-width:1200px;padding:20px;display:flex;flex-direction:column;align-items:center}h1{color:var(--accent-color);text-transform:uppercase;letter-spacing:2px;text-shadow:1px 1px 0px var(--highlight-color);margin-bottom:2rem;text-align:center}.dial-container{display:flex;flex-direction:column;align-items:center;margin:20px;cursor:pointer;position:relative;--dial-size: 200px;--wheel-size: 180px;--dial-radius: 75px;--divider-radius: 80px;--dial-font-size: 1.1rem;--label-font-size: 1.2rem}.dial-frame{width:var(--dial-size);height:var(--dial-size);border-radius:50%;background:linear-gradient(145deg,#dcd0c0,#f0e6d2);box-shadow:5px 5px 10px var(--shadow-color),-5px -5px 10px var(--highlight-color),inset 2px 2px 5px #0000001a;display:flex;justify-content:center;align-items:center;position:relative;border:4px solid #dcd0c0}.dial-wheel{width:var(--wheel-size);height:var(--wheel-size);border-radius:50%;background:var(--dial-bg);position:relative;box-shadow:inset 0 0 10px #0000001a;background-image:radial-gradient(circle at center,transparent 0%,rgba(0,0,0,.02) 100%)}.dial-number{position:absolute;top:50%;left:50%;width:30px;height:30px;margin-left:-15px;margin-top:-15px;display:flex;justify-content:center;align-items:center;font-weight:700;color:var(--text-color);font-size:var(--dial-font-size)}.dial-divider{position:absolute;top:50%;left:50%;width:1px;height:20px;background-color:#8000204d;margin-left:-.5px;margin-top:-10px}.dial-center-cap{position:absolute;width:40px;height:40px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#f0e6d2,#dcd0c0);box-shadow:2px 2px 5px #0003;z-index:10;border:1px solid #ccc}.dial-indicator{position:absolute;top:0;left:50%;transform:translate(-50%);width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:15px solid var(--accent-color);z-index:5;filter:drop-shadow(0 2px 2px rgba(0,0,0,.3))}.dial-label{margin-top:10px;font-weight:700;color:var(--accent-color);font-size:var(--label-font-size)}.dial-result{margin-top:5px;font-size:1.5rem;font-weight:700;color:var(--accent-color);min-height:1.5em}@media(max-width:768px){.dial-container{margin:10px;--dial-size: 110px;--wheel-size: 90px;--dial-radius: 35px;--divider-radius: 40px;--dial-font-size: .9rem;--label-font-size: 1rem}.dial-center-cap{width:25px;height:25px}.dial-indicator{border-left-width:6px;border-right-width:6px;border-top-width:10px}}.simple-die{width:80px;height:80px;background-color:#fdfbf7;border:2px solid #dcd0c0;border-radius:12px;display:flex;justify-content:center;align-items:center;font-size:2rem;font-weight:700;color:var(--accent-color);cursor:pointer;box-shadow:3px 3px 8px #0000001a;transition:transform .1s,background-color .2s;-webkit-user-select:none;user-select:none}.simple-die:active{transform:scale(.95)}.simple-die.rolling{background-color:#f0e6d2;color:#888}.simple-die-label{position:absolute;bottom:-20px;font-size:.8rem;color:#666;width:100%;text-align:center}.simple-die-container{position:relative;display:flex;flex-direction:column;align-items:center;margin:10px}.dice-panel{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;width:100%;padding:20px;background-color:var(--panel-bg);border-radius:20px;box-shadow:inset 5px 5px 15px #0000001a,inset -5px -5px 15px #ffffff80;border:1px solid rgba(0,0,0,.05)}@media(max-width:768px){.dice-panel{gap:10px;padding:10px}}.history-panel{width:100%;background:#fdfbf7;border:1px solid #dcd0c0;border-radius:8px;padding:15px;margin-top:20px;box-shadow:inset 0 0 10px #0000000d;font-family:var(--font-main);max-height:300px;display:flex;flex-direction:column}.history-header{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #e6dac3;padding-bottom:10px;margin-bottom:10px}.history-header h3{margin:0;color:var(--accent-color);font-size:1.1rem;text-transform:uppercase}.clear-btn{background:none;border:none;cursor:pointer;font-size:1.2rem;opacity:.6;transition:opacity .2s}.clear-btn:hover{opacity:1}.history-list{overflow-y:auto;flex-grow:1;display:flex;flex-direction:column-reverse}.history-empty{text-align:center;color:#999;font-style:italic;padding:20px}.history-item{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px dashed #eee;font-size:.9rem}.history-time{color:#888;font-size:.8rem}.history-type{font-weight:700;color:#555}.history-value{font-weight:700;color:var(--accent-color);font-size:1rem}.editor-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;z-index:200;display:flex;justify-content:center;align-items:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.editor-modal{background:var(--bg-color);border:2px solid #dcd0c0;border-radius:15px;width:90%;max-width:500px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 10px 30px #00000080;padding:20px;font-family:var(--font-main)}.editor-modal h2{margin-top:0;color:var(--accent-color);text-align:center;border-bottom:2px solid #e6dac3;padding-bottom:10px}.editor-content{flex-grow:1;overflow-y:auto;display:flex;flex-direction:column;gap:20px;padding:10px 0}.available-dice h3,.current-config h3{margin:0 0 10px;font-size:1rem;color:#555}.dice-buttons{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.add-die-btn{background:#fdfbf7;border:1px solid var(--accent-color);color:var(--accent-color);padding:8px 15px;border-radius:5px;cursor:pointer;font-weight:700;transition:all .2s}.add-die-btn:hover{background:var(--accent-color);color:#fff}.current-config{background:#f0e6d2;padding:10px;border-radius:8px;min-height:150px}.config-list{display:flex;flex-wrap:wrap;gap:10px}.config-item{background:#fff;border:1px solid #ccc;border-radius:20px;padding:5px 10px;display:flex;align-items:center;gap:8px;box-shadow:1px 1px 3px #0000001a}.die-type{font-weight:700;color:#333}.remove-btn{background:#fcc;border:none;color:#c00;width:20px;height:20px;border-radius:50%;display:flex;justify-content:center;align-items:center;cursor:pointer;font-size:1.2rem;line-height:1;padding:0}.remove-btn:hover{background:#faa}.empty-msg{text-align:center;color:#888;font-style:italic;margin-top:40px}.editor-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;border-top:1px solid #e6dac3;padding-top:15px}.cancel-btn{background:#ccc;border:none;padding:10px 20px;border-radius:5px;cursor:pointer;font-weight:700}.save-btn{background:var(--accent-color);color:#fff;border:none;padding:10px 20px;border-radius:5px;cursor:pointer;font-weight:700}.save-btn:hover{background:#600018}.app-header{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:800px;padding:10px 20px;margin-bottom:20px}h1{margin:0;font-size:1.5rem;text-align:left}.header-controls{display:flex;gap:10px;align-items:center}.panel-switcher{display:flex;background:#e6dac3;border-radius:20px;padding:2px;margin-right:10px}.switch-btn{background:transparent;border:none;padding:5px 12px;border-radius:18px;cursor:pointer;font-weight:700;color:#666;font-size:.9rem;transition:all .2s}.switch-btn.active{background:var(--accent-color);color:#fff;box-shadow:0 2px 5px #0003}.icon-btn{background:transparent;border:2px solid var(--accent-color);color:var(--accent-color);width:40px;height:40px;border-radius:50%;display:flex;justify-content:center;align-items:center;cursor:pointer;transition:all .2s}.icon-btn:hover{background:var(--accent-color);color:var(--bg-color)}.icon-btn:active{transform:scale(.95)}.main-layout{display:flex;flex-direction:column;align-items:center;width:100%;position:relative}.dice-container{display:flex;flex-direction:column;align-items:center;width:100%;padding-bottom:20px}.custom-controls{display:flex;gap:15px;margin-bottom:20px;width:100%;max-width:600px;justify-content:center}.edit-btn{display:flex;align-items:center;gap:5px;background:#fdfbf7;border:1px solid #ccc;padding:8px 15px;border-radius:20px;cursor:pointer;font-weight:700;color:#555;transition:all .2s}.edit-btn:hover{background:#eee;color:#333}.roll-all-btn{background:var(--accent-color);color:#fff;border:none;padding:8px 25px;border-radius:20px;font-weight:700;cursor:pointer;box-shadow:0 4px 10px #8000204d;transition:transform .1s}.roll-all-btn:active{transform:translateY(2px)}.empty-panel-msg{text-align:center;margin-top:50px;color:#888}.empty-panel-msg button{margin-top:10px;background:var(--accent-color);color:#fff;border:none;padding:10px 20px;border-radius:5px;cursor:pointer}.history-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:100;display:flex;justify-content:center;align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.history-modal{background:var(--bg-color);padding:20px;border-radius:15px;width:90%;max-width:400px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 10px 25px #00000080;border:2px solid #dcd0c0}.history-modal h3{margin-top:0;color:var(--accent-color);text-align:center;border-bottom:1px solid #e6dac3;padding-bottom:10px}.close-history-btn{margin-top:15px;padding:10px;background:#ccc;border:none;border-radius:5px;cursor:pointer;font-weight:700}@media(max-width:768px){h1{display:none}.app-header{justify-content:flex-end}}.simple-mode-btn{display:none;background:transparent;border:2px solid var(--accent-color);color:var(--accent-color);padding:5px 10px;border-radius:15px;font-weight:700;cursor:pointer;margin-right:auto}.simple-mode-btn.active{background:var(--accent-color);color:#fff}@media(max-width:768px){.simple-mode-btn{display:block}}.roll-summary{background:#fdfbf7;border:1px solid #dcd0c0;padding:10px 20px;border-radius:10px;margin-top:15px;font-weight:700;color:var(--accent-color);box-shadow:0 2px 5px #0000001a;text-align:center;width:90%;max-width:400px}
