.rotation-builder{text-align:center;width:100%;margin:0 auto;padding:0}.rotation-builder.is-resizing,.rotation-builder.is-resizing *{cursor:ew-resize!important;user-select:none!important}.rotation-builder .rotation-controls{justify-content:center;align-items:center;gap:15px;margin:20px 0;display:flex}@media (max-width:768px){.rotation-builder .rotation-controls{flex-direction:column;align-items:stretch;gap:10px}}.rotation-builder .rotation-controls button,.rotation-builder .rotation-controls a.pw-btn-open-builder{cursor:pointer;border:none;border-radius:4px;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;text-decoration:none;transition:all .3s;display:flex}.rotation-builder .rotation-controls button svg,.rotation-builder .rotation-controls a.pw-btn-open-builder svg{width:16px;height:16px}.rotation-builder .rotation-controls .pw-btn-primary{background-color:var(--color-brand-primary);color:#fff}.rotation-builder .rotation-controls .pw-btn-primary:hover{background-color:var(--color-brand-primary-hover)}.rotation-builder .rotation-controls .pw-btn-secondary{color:#fff;background-color:#e74c3c}.rotation-builder .rotation-controls .pw-btn-secondary:hover{background-color:#c0392b}.rotation-builder .rotation-controls a.pw-btn-open-builder{color:#111;background-color:#2ecc71}.rotation-builder .rotation-controls a.pw-btn-open-builder:hover{color:#111;background-color:#27ae60}.rotation-builder .rotation-controls .view-only-badge{color:#aaa;background-color:#ffffff12;border:1px solid #ffffff26;border-radius:4px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:600;display:flex}.rotation-builder .rotation-controls .view-only-badge svg{width:13px;height:13px}.rotation-builder .rotation-canvas-container{background-color:var(--color-surface-menu);border:1px solid var(--color-border-default);min-height:500px}.rotation-builder .canvas-wrapper{flex-direction:column;height:100%;display:flex}.rotation-builder .timeline-header{background-color:var(--color-surface-secondary);border-bottom:1px solid var(--color-border-default);height:40px;display:flex}.rotation-builder .timeline-header .timeline-header-spacer{border-right:1px solid var(--color-border-default);flex-shrink:0;width:140px}@media (max-width:992px){.rotation-builder .timeline-header .timeline-header-spacer{display:none}}.rotation-builder .timeline-header .timeline-scroll-inner{flex:1;position:relative;overflow-x:hidden}.rotation-builder .timeline-header .timeline-seconds{min-width:3000px;height:100%;position:relative}.rotation-builder .timeline-header .timeline-second-marker{color:#888;border-left:2px solid #444;align-items:center;height:100%;padding-left:5px;font-size:12px;font-weight:600;display:flex;position:absolute;top:0}.rotation-builder .timeline-header .timeline-second-marker:nth-child(5n){color:#aaa;border-left-color:#666}.rotation-builder .canvas-content{flex:1;display:flex;overflow:hidden}@media (max-width:992px){.rotation-builder .canvas-content{flex-direction:column}}.rotation-builder .character-column{background-color:var(--color-surface-secondary);border-right:1px solid var(--color-border-default);flex-direction:column;flex-shrink:0;width:140px;display:flex}@media (max-width:992px){.rotation-builder .character-column{border-right:none;border-bottom:1px solid var(--color-border-default);flex-direction:row;width:100%}}@media (max-width:768px){.rotation-builder .character-column{grid-template-columns:repeat(2,1fr);display:grid}}.rotation-builder .character-row-header{border-bottom:1px solid var(--color-border-default);flex-direction:column;justify-content:center;align-items:center;height:125px;padding:15px 10px;display:flex}@media (max-width:992px){.rotation-builder .character-row-header{border-bottom:none;border-right:1px solid var(--color-border-default);height:auto;min-height:120px}}.rotation-builder .character-row-header:last-child{border-bottom:none}@media (max-width:992px){.rotation-builder .character-row-header:last-child{border-right:none}}.rotation-builder .character-portrait{cursor:pointer;width:80px;height:80px;transition:all .3s;position:relative}.rotation-builder .character-portrait:hover{transform:scale(1.05)}.rotation-builder .character-portrait.no-click{cursor:default;pointer-events:none}.rotation-builder .character-portrait.no-click:hover{transform:none}.rotation-builder .character-portrait .empty-portrait{background-color:var(--color-surface-default);color:#888;border:2px dashed #444;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;transition:border-color .3s;display:flex}.rotation-builder .character-portrait .empty-portrait:hover{border-color:var(--color-brand-primary)}.rotation-builder .character-portrait .empty-portrait svg{width:24px;height:24px;margin-bottom:5px}.rotation-builder .character-portrait .empty-portrait span{font-size:12px;font-weight:600}.rotation-builder .character-portrait a[href]{pointer-events:none!important;text-decoration:none!important}.rotation-builder .character-portrait .emp-name,.rotation-builder .character-portrait .character-name,.rotation-builder .character-portrait p{display:none!important}.rotation-builder .canvas-scroll-area{flex:1;position:relative;overflow:auto hidden}.rotation-builder .canvas-scroll-area::-webkit-scrollbar{height:10px}.rotation-builder .canvas-scroll-area::-webkit-scrollbar-track{background:var(--color-surface-secondary)}.rotation-builder .canvas-scroll-area::-webkit-scrollbar-thumb{background:#555;border-radius:5px}.rotation-builder .canvas-scroll-area::-webkit-scrollbar-thumb:hover{background:#666}.rotation-builder .canvas-timeline{flex-direction:column;min-width:100%;height:100%;display:flex}.rotation-builder .timeline-row{border-bottom:1px solid var(--color-border-default);background-image:repeating-linear-gradient(90deg,#0000,#0000 99px,#2a2a2a 99px 100px),repeating-linear-gradient(90deg,#0000,#0000 499px,#444 499px 500px);min-width:3000px;height:125px;position:relative}@media (max-width:992px){.rotation-builder .timeline-row{height:120px}}.rotation-builder .timeline-row:last-child{border-bottom:none}.rotation-builder .timeline-row:hover{background-color:#ffffff05}.rotation-builder .action-block{cursor:move;border:2px solid #ffffff4d;border-radius:4px;justify-content:center;align-items:center;min-width:50px;height:60px;transition:all .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 2px 4px #0000004d}.rotation-builder .action-block:hover{z-index:10;transform:translateY(-50%)scale(1.03);box-shadow:0 4px 8px #00000080}.rotation-builder .action-block.selected{z-index:5;border-width:3px;border-color:gold;box-shadow:0 0 15px #ffd70080}.rotation-builder .action-block.drag-preview{opacity:.5;cursor:default;pointer-events:none;border-style:dashed;border-width:3px}.rotation-builder .action-block.drag-preview .action-delete{display:none}.rotation-builder .action-block .resize-handle{cursor:ew-resize;z-index:15;justify-content:center;align-items:center;width:10px;display:flex;position:absolute;top:0;bottom:0}.rotation-builder .action-block .resize-handle:after{content:"";background-color:#fff6;border-radius:1px;width:2px;height:55%;transition:background-color .15s}.rotation-builder .action-block .resize-handle:hover:after{background-color:#ffffffe6}.rotation-builder .action-block .resize-handle.resize-handle-left{left:0}.rotation-builder .action-block .resize-handle.resize-handle-right{right:0}.rotation-builder .action-block .action-label{color:#fff;text-align:center;text-shadow:0 1px 2px #00000080;word-wrap:break-word;white-space:nowrap;text-overflow:ellipsis;padding:0 15px;font-size:11px;font-weight:700;overflow:hidden}.rotation-builder .action-block .action-delete{color:#fff;cursor:pointer;z-index:20;background-color:#e74c3c;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:14px;font-weight:700;transition:all .2s;display:flex;position:absolute;top:-8px;right:-8px}.rotation-builder .action-block .action-delete:hover{background-color:#c0392b;transform:scale(1.1)}.rotation-builder.view-only .action-block{cursor:default}.rotation-builder.view-only .action-block:hover{z-index:auto;transform:translateY(-50%);box-shadow:0 2px 4px #0000004d}.rotation-builder .bottom-panel{background-color:var(--color-surface-menu);border:1px solid var(--color-border-default);border-radius:4px;min-height:200px;margin-top:20px;position:relative}.rotation-builder .actions-panel-always{padding:20px}.rotation-builder .actions-panel-always h3{text-align:center;text-transform:uppercase;margin-bottom:15px;font-size:18px;font-weight:600}.rotation-builder .actions-panel-always .action-types{flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:15px;display:flex}@media (max-width:768px){.rotation-builder .actions-panel-always .action-types{gap:8px}}.rotation-builder .actions-panel-always .action-type-button{color:#fff;cursor:move;text-align:center;border:2px solid #ffffff4d;border-radius:4px;min-width:120px;padding:12px 20px;font-size:14px;font-weight:700;transition:all .3s}@media (max-width:768px){.rotation-builder .actions-panel-always .action-type-button{min-width:100px;padding:10px 15px;font-size:12px}}.rotation-builder .actions-panel-always .action-type-button:hover{transform:scale(1.05);box-shadow:0 4px 8px #0000004d}.rotation-builder .actions-panel-always .action-type-button:active{opacity:.7;transform:scale(.98)}.rotation-builder .actions-panel-always .help-text{text-align:center;color:#888;margin:0;font-size:13px}.rotation-builder .action-details-panel{backdrop-filter:blur(5px);z-index:10;background-color:#1c1d21fa;border-radius:4px;padding:20px;position:absolute;inset:0}.rotation-builder .action-details-panel .panel-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.rotation-builder .action-details-panel .panel-header h3{text-transform:uppercase;margin:0;font-size:18px;font-weight:600}.rotation-builder .action-details-panel .panel-header .close-button{color:#fff;cursor:pointer;background-color:#e74c3c;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:20px;font-weight:700;transition:all .2s;display:flex}.rotation-builder .action-details-panel .panel-header .close-button:hover{background-color:#c0392b;transform:scale(1.1)}.rotation-builder .action-details-panel .action-details-content{text-align:left;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;display:grid}@media (max-width:768px){.rotation-builder .action-details-panel .action-details-content{grid-template-columns:1fr}}.rotation-builder .action-details-panel .detail-row{flex-direction:column;gap:8px;display:flex}.rotation-builder .action-details-panel .detail-row label{color:#aaa;text-transform:uppercase;font-size:13px;font-weight:600}.rotation-builder .action-details-panel .detail-row .detail-value{color:#fff;font-size:16px;font-weight:500}.rotation-builder .action-details-panel .detail-row .pw-input-group{align-items:center;gap:8px;display:flex}.rotation-builder .action-details-panel .detail-row .pw-input-group input[type=number]{background-color:var(--color-surface-secondary);border:1px solid var(--color-border-default);color:#fff;border-radius:4px;flex:1;padding:8px 12px;font-size:14px;font-weight:500}.rotation-builder .action-details-panel .detail-row .pw-input-group input[type=number]:focus{border-color:var(--color-brand-primary);outline:none}.rotation-builder .action-details-panel .detail-row .pw-input-group .input-suffix{color:#888;font-size:14px;font-weight:500}.rotation-builder .action-details-panel .detail-row select{background-color:var(--color-surface-secondary);border:1px solid var(--color-border-default);color:#fff;cursor:pointer;border-radius:4px;padding:8px 12px;font-size:14px;font-weight:500}.rotation-builder .action-details-panel .detail-row select:focus{border-color:var(--color-brand-primary);outline:none}.rotation-builder .action-details-panel .detail-row select option:disabled{color:#666}.rotation-builder .pw-modal-overlay{z-index:1000;background-color:#000c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.rotation-builder .pw-modal-content{background-color:var(--color-surface-menu);border:1px solid var(--color-border-default);border-radius:8px;width:100%;max-width:900px;max-height:90vh;padding:30px;position:relative;overflow-y:auto}@media (max-width:768px){.rotation-builder .pw-modal-content{padding:20px}}.rotation-builder .pw-modal-content h2{text-align:center;text-transform:uppercase;margin-bottom:20px;font-size:22px;font-weight:600}@media (max-width:768px){.rotation-builder .pw-modal-content h2{font-size:18px}}.rotation-builder .pw-modal-content .pw-modal-close{color:#fff;cursor:pointer;background-color:#e74c3c;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:24px;font-weight:700;transition:all .2s;display:flex;position:absolute;top:15px;right:15px}.rotation-builder .pw-modal-content .pw-modal-close:hover{background-color:#c0392b;transform:scale(1.1)}.rotation-builder .pw-modal-content::-webkit-scrollbar{width:8px}.rotation-builder .pw-modal-content::-webkit-scrollbar-track{background:var(--color-surface-secondary);border-radius:4px}.rotation-builder .pw-modal-content::-webkit-scrollbar-thumb{background:#555;border-radius:4px}.rotation-builder .pw-modal-content::-webkit-scrollbar-thumb:hover{background:#666}.rotation-builder .character-grid{grid-gap:15px;grid-template-columns:repeat(auto-fill,90px);justify-content:center;margin-top:20px;display:grid}@media (max-width:768px){.rotation-builder .character-grid{grid-gap:10px;grid-template-columns:repeat(auto-fill,80px)}}.rotation-builder .character-option{cursor:pointer;width:90px;height:90px;transition:all .3s;position:relative}@media (max-width:768px){.rotation-builder .character-option{width:80px;height:80px}}.rotation-builder .character-option:hover{transform:scale(1.1)}.rotation-builder .character-option.dimmed{opacity:.4}.rotation-builder .character-option.dimmed:after{content:"";pointer-events:none;background-color:#00000080;border-radius:4px;position:absolute;inset:0}.rotation-builder .character-option .selected-badge{background-color:var(--color-brand-primary);color:#fff;white-space:nowrap;pointer-events:none;border-radius:3px;padding:2px 8px;font-size:10px;font-weight:600;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)}.rotation-builder .character-option a[href]{pointer-events:none!important;text-decoration:none!important}.rotation-builder .character-option .emp-name,.rotation-builder .character-option .character-name,.rotation-builder .character-option p{display:none!important}