.vibration-page{color:#172033}.vibration-heading{margin-bottom:28px}.vibration-eyebrow{margin:0 0 9px!important;color:#087f6d;font-size:14px!important;font-weight:800;letter-spacing:0}.vibration-heading h1{margin:0 0 16px;color:#111827;font-size:43px;line-height:1.2;letter-spacing:0}.vibration-heading>p:last-child{max-width:820px;margin:0;color:#526078;font-size:18px;line-height:1.75}.vibration-tool{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);overflow:hidden;border:1px solid #d6e0eb;border-radius:8px;background:#fff}.vibration-stage,.vibration-controls{min-width:0;padding:24px}.vibration-stage{border-right:1px solid #dce5ed;background:#f5f9f8}.vibration-stage>header,.preset-section>header,.custom-section>header,.history-section>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.vibration-stage h2,.preset-section h2,.custom-section h2{margin:2px 0 0;font-size:21px}.support-badge{padding:6px 9px;border-radius:5px;background:#e7edf3;color:#64748b;font-size:9px;font-weight:900}.support-badge.is-supported{background:#dff3ed;color:#087f6d}.support-badge.is-unsupported{background:#fce8e6;color:#b34d46}.phone-visual{position:relative;width:172px;height:268px;margin:22px auto 20px;border:7px solid #172033;border-radius:27px;background:#fff;box-shadow:0 15px 30px rgba(28,48,70,.13)}.phone-speaker{position:absolute;z-index:2;top:8px;left:50%;width:43px;height:5px;border-radius:5px;background:#314156;transform:translateX(-50%)}.phone-screen{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-direction:column;border-radius:20px;background:linear-gradient(160deg,#e9f7f3,#f7fafc)}.phone-screen span{color:#087f6d;font-size:9px;font-weight:900}.phone-screen strong{margin-top:7px;color:#172033;font-size:22px}.phone-screen i{position:absolute;width:80px;height:80px;border:1px solid rgba(8,127,109,.22);border-radius:50%;opacity:0}.phone-screen i:nth-of-type(2){width:120px;height:120px}.phone-screen i:nth-of-type(3){width:160px;height:160px}.phone-visual.is-vibrating{animation:phone-shake .1s linear infinite}.phone-visual.is-vibrating i{animation:vibration-wave 1.1s ease-out infinite}.phone-visual.is-vibrating i:nth-of-type(2){animation-delay:.2s}.phone-visual.is-vibrating i:nth-of-type(3){animation-delay:.4s}@keyframes phone-shake{0%,100%{transform:translateX(0) rotate(0)}25%{transform:translateX(-2px) rotate(-.4deg)}75%{transform:translateX(2px) rotate(.4deg)}}@keyframes vibration-wave{0%{opacity:.55;transform:scale(.45)}100%{opacity:0;transform:scale(1.08)}}.live-status{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px;border:1px solid #d7e2ea;border-radius:7px;background:#fff}.live-status>span{width:11px;height:11px;border:3px solid #aab7c5;border-radius:50%}.live-status.is-active>span{border-color:#087f6d;background:#087f6d;box-shadow:0 0 0 4px #dff3ed}.live-status strong,.live-status p{display:block}.live-status strong{font-size:11px}.live-status p{margin:3px 0 0;color:#7c899a;font-size:8px;line-height:1.5}.live-status>b{font-size:10px}.stop-button,.run-custom{width:100%;min-height:48px;margin-top:12px;border:0;border-radius:7px;background:#172033;color:#fff;box-shadow:none;font-size:12px;font-weight:900}.stop-button:disabled{opacity:.4}.device-note{margin:12px 0 0;color:#7e8b9c;font-size:9px;line-height:1.65}.vibration-controls{padding:0}.preset-section,.custom-section{padding:24px}.preset-section{border-bottom:1px solid #dce5ed}.preset-section>header span,.custom-section>header span{color:#087f6d;font-size:9px;font-weight:900}.preset-section>header>p{margin:0;color:#8793a3;font-size:9px}.preset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:17px}.preset-grid button{min-width:0;min-height:82px;margin:0;padding:12px;border:1px solid #d6e1eb;border-radius:7px;background:#f8fafc;color:#172033;box-shadow:none;text-align:left}.preset-grid button:hover{border-color:#83c6b9;background:#edf8f5}.preset-grid span,.preset-grid strong,.preset-grid small{display:block}.preset-grid span{color:#087f6d;font-size:8px;font-weight:900}.preset-grid strong{margin-top:4px;font-size:11px}.preset-grid small{margin-top:3px;color:#8390a1;font-size:8px}.custom-section>header>button,.history-section>header>button{min-height:36px;margin:0;padding:0 12px;border:1px solid #cbd8e4;border-radius:6px;background:#fff;color:#42536a;box-shadow:none;font-size:9px;font-weight:900}.custom-section>p{margin:9px 0 0;color:#748296;font-size:9px;line-height:1.6}.pattern-steps{display:grid;gap:7px;margin-top:15px}.pattern-step{display:grid;grid-template-columns:54px minmax(0,1fr) 64px 28px;align-items:center;gap:8px;padding:9px;border:1px solid #dbe4ec;border-radius:7px;background:#f8fafc}.pattern-step>span{font-size:9px;font-weight:900}.pattern-step input{width:100%;height:7px;margin:0;padding:0;border:0;background:transparent;accent-color:#087f6d}.pattern-step output{color:#405067;font-size:9px;font-weight:800;text-align:right}.pattern-step button{width:28px;height:28px;margin:0;padding:0;border:0;border-radius:5px;background:#e8eef4;color:#596a80;box-shadow:none;font-size:13px}.pattern-step button:disabled{opacity:.35}.repeat-setting{display:flex;align-items:center;justify-content:space-between;margin-top:13px;padding:10px 12px;border:1px solid #dbe4ec;border-radius:7px}.repeat-setting>label{margin:0;font-size:10px;font-weight:900}.repeat-setting>div{display:flex;align-items:center;gap:8px}.repeat-setting button{width:31px;height:31px;margin:0;padding:0;border:1px solid #d1dce6;border-radius:6px;background:#fff;color:#33445a;box-shadow:none}.repeat-setting strong{min-width:35px;font-size:10px;text-align:center}.pattern-preview{margin-top:12px;padding:12px;border-left:4px solid #087f6d;background:#edf8f5}.pattern-preview span,.pattern-preview strong,.pattern-preview small{display:block}.pattern-preview span{color:#087f6d;font-size:8px;font-weight:900}.pattern-preview strong{overflow:hidden;margin-top:3px;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.pattern-preview small{margin-top:4px;color:#738094;font-size:8px}.run-custom{background:#087f6d}.history-section,.vibration-guide{margin-top:24px;padding:24px;border:1px solid #d6e0eb;border-radius:8px;background:#fff}.history-section h2{margin:0;font-size:22px}.history-list{display:grid;gap:7px;margin-top:15px}.history-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 13px;border:1px solid #dbe4ed;border-radius:7px;background:#f9fbfc}.history-item>span{display:grid;width:30px;height:30px;place-items:center;border-radius:6px;background:#e3f3ef;color:#087f6d;font-size:9px;font-weight:900}.history-item strong,.history-item small{display:block}.history-item strong{font-size:10px}.history-item small{margin-top:2px;color:#8491a2;font-size:8px}.history-item time{color:#728095;font-size:8px}.history-empty{margin:0;padding:18px;border:1px dashed #cbd7e2;border-radius:7px;color:#8491a2;font-size:10px;text-align:center}.vibration-guide{padding:28px}.vibration-guide>header h2{margin:0 0 12px;font-size:28px}.vibration-guide>header>p:last-child{margin:0;color:#58677c;font-size:14px;line-height:1.8}.guide-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:24px}.guide-steps article{padding:15px;border:1px solid #dbe4ed;border-radius:7px}.guide-steps span{color:#087f6d;font-size:10px;font-weight:900}.guide-steps h3{margin:8px 0 5px;font-size:13px}.guide-steps p,.guide-grid p,.compatibility-table p{margin:0;color:#657489;font-size:10px;line-height:1.7}.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:22px}.guide-grid article{padding:18px;border-top:3px solid #9ccfc4;background:#f8fafc}.guide-grid h3,.compatibility-table h3{margin:0 0 7px;font-size:15px}.compatibility-table{margin-top:23px}.compatibility-table>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.compatibility-table article{padding:15px;border:1px solid #dbe4ed;border-radius:7px}.compatibility-table strong,.compatibility-table span{display:block}.compatibility-table strong{font-size:13px}.compatibility-table span{margin:3px 0 6px;color:#087f6d;font-size:9px;font-weight:800}.guide-note{margin:20px 0 0;padding:15px 17px;border-left:4px solid #087f6d;background:#edf8f5;color:#4d5d71;font-size:10px;line-height:1.7}
@media screen and (max-width:980px){.vibration-tool{grid-template-columns:1fr}.vibration-stage{border-right:0;border-bottom:1px solid #dce5ed}.phone-visual{width:158px;height:240px}}
@media screen and (max-width:640px){.vibration-heading h1{font-size:33px}.vibration-heading>p:last-child{font-size:16px}.vibration-stage,.preset-section,.custom-section,.history-section,.vibration-guide{padding:19px 16px}.preset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pattern-step{grid-template-columns:46px minmax(0,1fr) 58px 28px}.guide-steps,.guide-grid,.compatibility-table>div{grid-template-columns:1fr}.vibration-guide>header h2{font-size:24px}.history-item{grid-template-columns:auto minmax(0,1fr)}.history-item time{grid-column:2}}
