/*! Vedic Expressions Puzzle — © 2026 Maharishi International University. All rights reserved. */
@font-face{font-family:Raja;src:url('../fonts/Raja.woff') format('woff');font-weight:400;font-style:normal}*,::after,::before{box-sizing:border-box}body{font-family:Georgia,'Times New Roman',serif;margin:0;display:flex;justify-content:center;align-items:flex-start;min-height:100vh;background:#eef5fc}#wrapper{width:100%;max-width:1000px}#main-container{width:100%;min-height:100vh;display:flex;flex-direction:column;background:var(--interface-bg);border:5px solid var(--border-gold);position:relative;box-shadow:0 10px 30px rgba(0,0,0,.1)}#fs-wrapper{position:absolute;bottom:0;width:100%;height:7%;z-index:1000}#play-pause-btn:has(#fs-wrapper:hover){background:rgba(255,255,255,.1);color:#40c4ff}#fullscreen-toggle{position:absolute;bottom:0;width:100%;background:0 0;border:none;color:#40c4ff;cursor:pointer;padding:0;z-index:20}#fullscreen-toggle:hover{color:#00c}#fullscreen-toggle svg{width:80%;height:80%}#fullscreen-wrapper:fullscreen{display:flex;align-items:center;justify-content:center;background-color:#f0f8ff;width:100vw;height:100vh}#fullscreen-wrapper:fullscreen #main-container{width:100%;max-width:1000px;border:5px solid var(--border-gold);background:var(--interface-bg);position:relative;max-height:100vh;box-sizing:border-box;overflow-y:auto}#fullscreen-wrapper::backdrop{background-color:#f0f8ff}.btn-side{position:absolute;top:0;height:100%;width:var(--pillar);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;color:#40c4ff;user-select:none;background:rgba(255,255,255,.1);z-index:10}#left-pillar{left:0;border-right:1px solid rgba(0,0,0,.05);flex-direction:column;justify-content:stretch;padding:0}#play-pause-btn{right:0;border-left:1px solid rgba(0,0,0,.05)}.btn-half{display:flex;flex:1;width:100%;cursor:pointer;overflow:hidden;transition:background .15s;align-items:center;justify-content:center;flex-direction:column}.btn-half:first-child{justify-content:flex-end;padding-bottom:20px;border-bottom:3px solid #40c4ff}.btn-half:last-child{justify-content:flex-start;padding-top:20px}.btn-half:hover{background:rgba(255,255,255,.2)}#play-pause-btn:hover{background:radial-gradient(circle at center,rgba(255,255,255,.45) 0,rgba(255,255,255,0) 75%)}#left-pillar:hover{background:0 0}#main-container.mode-game:not(.solved) #left-pillar .btn-half,#main-container.mode-game:not(.solved) #play-pause-btn #pause-label,#main-container.mode-game:not(.solved) #play-pause-btn #play-label{display:none!important}.label-strip{width:1ch;word-wrap:break-word;text-align:center;font-size:clamp(14px, 2.8vw, 28px);font-weight:700;line-height:1.7}#top-title{text-align:center;color:var(--primary-blue);font-size:clamp(18px, 3.5vw, 26px);padding:10px 0 6px}.controls{display:flex;justify-content:center;margin-left:var(--pillar);margin-right:var(--pillar);padding:4px 0 6px}.control-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-rows:auto auto;align-items:start;justify-items:center;width:100%;column-gap:10px}#mode-toggle{grid-column:1;grid-row:1}.control-label-mode{grid-column:1;grid-row:2}#hint-toggle{grid-column:2;grid-row:1}.control-label-hint{grid-column:2;grid-row:2}#set-toggle{grid-column:3;grid-row:1}.control-label-sets{grid-column:3;grid-row:2}.control-group{display:contents}.control-label{font-size:clamp(10px, 1.4vw, 13px);font-weight:700;color:var(--primary-blue);text-transform:uppercase;text-align:center;white-space:nowrap;margin-bottom:10px;margin-top:5px}@media (max-width:769px){.control-label{margin-top:0}}.rect-toggle{font-size:clamp(12px, 1.6vw, 15px);display:flex;border:1px solid var(--primary-blue);border-radius:4px;overflow:hidden;box-shadow:0 2px 4px rgba(0,0,0,.16)}.rect-toggle.disabled{opacity:.45;pointer-events:none}#puzzle-content.mode-settings #mistakes-counter,#puzzle-content.mode-study #mistakes-counter{display:none}.rect-btn{font-family:inherit;font-size:inherit;white-space:nowrap;font-weight:700;color:var(--primary-blue);background:#fff;border:none;border-right:1px solid var(--primary-blue);padding:6px 10px;cursor:pointer;transition:background .15s,color .15s}.rect-btn:last-child{border-right:none}.control-row{--side-toggle-w:calc(10.4em + 62px)}#mode-toggle,#set-toggle{width:var(--side-toggle-w);font-size:clamp(12px, 1.6vw, 15px)}#mode-toggle .rect-btn{flex:1 1 auto}#set-toggle .rect-btn{flex:1 1 0}.rect-btn:hover{background:#f0f4ff}.rect-btn.active{background:var(--primary-blue);color:#fff}#mistakes-counter{color:var(--primary-blue);text-align:center;margin-bottom:-10px}.mistakes-title{font-size:clamp(10px, 1.4vw, 13px);font-weight:700;text-transform:uppercase;margin-bottom:2px}.mistakes-line{font-size:clamp(11px, calc(2.5vw + 3px), 16px);white-space:nowrap}.mistakes-number{font-weight:700}@media (max-width:359px){.mistakes-line{letter-spacing:-.2px}}.mistakes-item.current{text-decoration:underline;text-underline-offset:3px}#puzzle-content{position:relative;margin-left:var(--pillar);margin-right:var(--pillar);margin-top:auto;margin-bottom:auto;padding:10px 12px 16px;display:flex;flex-direction:column;gap:20px}.puzzle-section{background:#eef5fc;border-radius:6px;padding:8px 14px 16px;display:flex;flex-direction:column;align-items:center;justify-content:center}.section-title{font-weight:700;font-size:clamp(10px, 1.4vw, 13px);letter-spacing:.06em;text-transform:uppercase;color:var(--primary-blue);text-align:center;margin-bottom:8px}#puzzle-content.mode-study #hint-section{display:none}#puzzle-content.mode-study #tile-store-section{display:none}#puzzle-content.mode-study #solution-section .section-title{display:none}#main-container.mode-game.solved #hint-section,#main-container.mode-game.solved #tile-store-section{display:none}#hint-area{display:flex;justify-content:center;align-items:center;min-height:60px;width:100%}.hint-box{display:flex;align-items:center;justify-content:center}.sound-btn{border:2px solid var(--primary-blue);background:#fff;color:var(--primary-blue);border-radius:50%;width:56px;height:56px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 4px rgba(0,0,0,.16);transition:background .15s}.sound-btn:hover{background:#f0f4ff}.hint-word.para-text{max-width:600px;font-size:clamp(14px, 2vw, 18px);color:var(--primary-blue);text-align:justify;display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.word.devanagari.hint-word,.word.roman.hint-word{color:var(--primary-blue)}#expression-display{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;touch-action:none}.puzzle-line{display:grid;grid-auto-flow:column;grid-template-rows:auto auto;column-gap:14px;row-gap:2px;justify-content:center;align-items:center}.slot-d{grid-row:1}.slot-r{grid-row:2}.puzzle-line.para-line{display:flex;justify-content:center;width:100%}.word-slot-pair{display:contents}.slot{display:flex;align-items:center;justify-content:center;transition:background-color 80ms ease,border-color .15s ease}.slot.empty{border:2px dashed rgba(0,68,204,.35);border-radius:6px;background:rgba(255,255,255,.4);color:transparent}.slot.empty::before{content:attr(placeholder);color:rgba(0,68,204,.45);font-family:Georgia,serif;font-style:italic;font-size:16px;pointer-events:none}.slot-d.empty,.slot-d.wrong{min-width:170px;height:46px}.slot-r.empty,.slot-r.wrong{min-width:170px;height:31px}.slot-para.empty,.slot-para.wrong{width:100%;max-width:300px;min-height:60px;margin:4px auto 0}.slot-para.empty::before{content:attr(placeholder);font-size:22px}.slot.drag-over{border-color:var(--colorA);background:rgba(252,194,37,.25)}.slot.drag-ready{transition:width .12s ease,height .12s ease;border:3px solid var(--colorA);background:rgba(252,194,37,.35)}.word.devanagari{font-family:Raja,serif;font-size:clamp(26px, 4.5vw, 50px);line-height:1;color:var(--primary-blue);position:relative;cursor:pointer}.word.roman{font-family:Georgia,serif;font-size:clamp(13px, 2vw, 20px);line-height:1;color:#2a4a6a;font-style:italic}.slot.solved{border:none;background:0 0}.slot.wrong{border:1px solid #c84b2f;border-radius:6px;background:rgba(200,75,47,.1)}.tile.wrong-placed{position:relative;border-color:#c84b2f;width:100%;height:100%;max-width:none;box-sizing:border-box;overflow-wrap:break-word;cursor:default}:root{--hand-cursor:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAEl0lEQVR4nJ2WXWwUVRTHf/fuzky3lLbbWujiEorxoWTDi9UaTBNCxESCiumLrzWN+OKDicH4YOCFB19MfFJDUhMImkagmKUhUQkQQ1YaFggUsJoAdVm+WrV2Q9cynTvHh51dprv0A/7JTeaee875n6+ZO7A0VNW+CTgECHADeK9Kt1r/qZDQWn+std4FfA38t2bNmiMNDQ1ZYNKyrI179uyJLhLkslA2Wg2cBm4CFwBpa2s7JiKnxsbGhoHrSqnLwBlgP9AR2OlgzUONoPpMa70D2JDJZM4Wi8XzwLnm5maAnpUrVz4HzDqOE+/u7h63bXsb8Flg7wdr2YRlrAb+SaVSL8disVeAW8YYC3ggIh7g7dy58/zIyMjGvr6+U8Br0Wj0B+AIsCPkRy2XUICI67qzwAxgBTKtlFLAXENDQz3wfGNjowYaRaQTSFEq8aYnJQRAa60CfQkFAqA8zxNg1nVdG7h56dKlq/l8fhSY1VpvCROGJ6siDDlbDJVJLCWKEpEIML1u3bou27YBHvi+74SNwoSa+U1+2vdJe573MAjCqjkMOfeTyWQskUg8E8i8pyREBXhsNAGZADvy+fwvd+/ezSqlDlCaznBQZWdorcN7P7xnicqUh2AD8GVLS0ukq6vrVxF5S2v9VaBjQk58EdHFYrFsJyJiua5bcqa1ikQiUhXAvHnQAJZlbQJMJpPJZ7PZF/fu3Tvk+/7rjuN8QGnSlO/7PtDa2dl5q7u7+zZQZ9u2amtr+2Pt2rVFQBcKBc8Yo4wxvoiU/bs1aTqO8ypwZ9++fUekhOubN28+CNyxbTsLjE5MTIwEZzkRuRM8PxSR30XkbxExx48fH+7v7z/qum5+cnLyMpADPgxoIhXCRCJRD5yLx+M/isiFwNnZ9vb2o0C+t7d3ICBaCp6IPBARGR8fPw3c1lqXb5NKnXWQ5fvARDqdPiQiRkQkl8udSKfTB0XkduDQDy0REQnKV9l7niciItls9ntgvK6u7p1qQgWopqamuFLqWjKZ/FlErhhjqqP3qwWPTdHzjIjI4ODgt8CNFStWbAkTlqdNTU9PT9m2/UU+n39hYGDgvNbaMyX4ZZ2a5tdCdGlEH168eNEGtOM49x+nqACVTCZjWuuM4zhnjDGng5LVpLoIylW4t3379mFgtL29vS3EUUNKfX39NmCmr6/vgIhMBXzLKmfQTxGR31pbW4eBEyKiFiKsCCORyEHgz7Gxse/CfVkOoe/7UigUTgKjSqnPw/2b9xBGNBr9VCnl9/T0tABnI5GIpvTFWRQiglJKDh8+fA9YFYvFTi5lUwnCtu03gJmtW7cOSunlLmfqGWOql/E8by4o/7VkMvkTcDUejzctVk5ChzrI9CNgpre3d788+iAsOjRDQ0PfAH9Fo9Fd4QTCzhciBZBoNLrb87xPOjo6TqbTabN+/XrHGGOCPwAAfN8Xy7J0LpebSKVSL4nIv83NzdumpqYKZT9LEYbPxbKsd+fm5nZTurDvL2DnAQlgDngbGOXR1bdkhjWIxWLP+r7/poisYv6VFYZxXfcYcIXaP4hlo9LTJ8CC+v8DUB5Tvlj7S84AAAAASUVORK5CYII=") 14 14,grab}.word-slot-pair:has(.slot.empty) .tile.wrong-placed{cursor:var(--hand-cursor)}.tile.wrong-placed:not(.tile-para){display:flex;align-items:center;justify-content:center;text-align:center}.wrong-remove-btn{position:absolute;top:0;right:0;width:25px;height:100%;background:0 0;border:none;padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2}.wrong-remove-circle{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:#c84b2f;color:#fff;font-family:sans-serif;font-size:10px;line-height:1;font-weight:700;pointer-events:none}.wrong-remove-btn:hover .wrong-remove-circle{background:#8b1a08}.word.devanagari.active{background-color:var(--colorA)!important}.word.devanagari.selected-range{background-color:var(--colorB)}.para-text{font-family:Georgia,serif;font-size:clamp(14px, 1.8vw, 18px);color:#2a4a6a;line-height:1.5}.tile-para .para-text{display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.para-ref{font-family:Georgia,serif;font-size:clamp(12px, 1.5vw, 15px);color:#7a6a4a;text-align:right;margin-top:4px}.slot-para.solved{display:block;max-width:600px;margin:15px 0 0 0;padding:8px 10px;border-radius:6px}#puzzle-toolbar{display:flex;justify-content:space-between;align-items:center;min-height:40px}#forward-btn-row{margin-left:auto}@media (max-width:520px){#main-container.mode-study #forward-btn-row{display:none}}#expression-select{display:none}#puzzle-content.mode-study #expression-select{display:inline-block;padding:8px 20px;font-family:inherit;font-weight:700;font-size:15px;color:#fff;background:var(--primary-blue);border:none;border-radius:20px;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.2)}#puzzle-content.mode-study #expression-select:hover{background:#002f8f}.control-btn{display:inline-block;margin:0;padding:8px 20px;font-family:inherit;font-weight:700;font-size:15px;color:#fff;background:var(--primary-blue);border:none;border-radius:20px;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.2)}.control-btn:hover{background:#002f8f}#tile-pile{width:100%}.devanagari-tile-row,.roman-tile-row{display:flex;flex-wrap:wrap;align-items:stretch;gap:10px;justify-content:center}.devanagari-tile-row .tile{min-height:46px}.roman-tile-row .tile{min-height:31px}.roman-tile-row+.devanagari-tile-row{margin-top:10px;padding-top:10px;border-top:1px dashed rgba(0,68,204,.15)}.para-choice-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:10px}.para-choice-row+.para-choice-row{margin-top:10px;padding-top:10px;border-top:1px dashed rgba(0,68,204,.18)}.tile{cursor:var(--hand-cursor);padding:6px 10px;background:#fff;border:1px solid rgba(0,68,204,.3);border-radius:6px;box-shadow:0 2px 4px rgba(0,0,0,.12);user-select:none;line-height:1.15;max-width:220px;overflow-wrap:break-word}.tile.picked{outline:3px solid var(--colorA)}.tile-para{flex:1 1 0;min-width:0;max-width:none;overflow-wrap:break-word}.tile.wrong-shake{animation:shake .4s}.tile.word.devanagari,.tile.word.roman{line-height:.85}.tile.word.devanagari:not(.wrong-placed),.tile.word.roman:not(.wrong-placed){cursor:var(--hand-cursor)}@keyframes shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}}#app-footer{margin-left:var(--pillar);margin-right:var(--pillar);margin-top:6px;margin-bottom:8px;text-align:center;font-size:clamp(10px, 1.6vw, 13px);color:var(--primary-blue);opacity:.7;border-top:1px solid rgba(0,0,204,.1);line-height:1.6}#app-footer a{color:var(--primary-blue)}#settings-panel{display:none}#main-container.mode-settings #hint-toggle,#main-container.mode-settings .control-label-hint,#main-container.mode-study #hint-toggle,#main-container.mode-study .control-label-hint{visibility:hidden}#puzzle-content.mode-settings #hint-section,#puzzle-content.mode-settings #puzzle-toolbar,#puzzle-content.mode-settings #tile-store-section{display:none}#puzzle-content.mode-settings #settings-panel{display:flex;align-self:center;width:100%;max-width:700px}#puzzle-content.mode-settings #solution-section{align-self:center;width:100%;max-width:700px}#settings-count{font-weight:400;letter-spacing:0;text-transform:none}#preset-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;width:100%;margin-bottom:14px}#expr-toggle-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;width:100%}@media (max-width:399px){#expr-toggle-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}}@media (max-width:339px){#expr-toggle-grid .expr-toggle-btn{font-size:11px}}.expr-toggle-btn,.preset-btn{font-family:inherit;font-size:clamp(12px, 1.6vw, 15px);font-weight:700;color:#00c;background:#fff;border:1px solid #00c;border-radius:4px;padding:6px 1px;cursor:pointer;box-shadow:0 2px 4px rgba(0,0,0,.16);transition:background .15s,color .15s}.preset-btn{min-width:76px}.expr-toggle-btn:hover,.preset-btn:hover{background:#f0f4ff}.expr-toggle-btn.active{background:#00c;color:#fff}.expr-toggle-btn:focus-visible,.preset-btn:focus-visible{outline:3px solid var(--colorA);outline-offset:2px}#set-toggle .rect-btn.editing,#set-toggle .rect-btn.editing:hover{background:var(--colorA);color:var(--primary-blue)}#mode-subtitle{text-align:center;color:var(--primary-blue);font-size:clamp(15px, 2.6vw, 20px);font-weight:700;margin:15px 0}.settings-preview-empty{font-family:Georgia,serif;font-size:15px;color:#2a4a6a;padding:14px 0;text-align:center}.dialog-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(0,0,60,.35)}.dialog-backdrop[hidden]{display:none}.dialog-card{width:100%;max-width:360px;padding:20px 24px 18px;text-align:center;background:var(--interface-bg);border:5px solid var(--border-gold);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.25)}#app-dialog-text{margin:0 0 16px;font-size:17px;font-weight:700;color:var(--primary-blue)}.dialog-actions{display:flex;justify-content:center;gap:12px}.dialog-btn-secondary{padding:8px 20px;font-family:inherit;font-weight:700;font-size:15px;color:var(--primary-blue);background:#fff;border:1px solid var(--primary-blue);border-radius:20px;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.2)}.dialog-btn-secondary:hover{background:#f0f4ff}@media (max-width:800px){:root{--pillar:40px}h1#book-name{font-size:30px}}@media (max-width:769px){.control-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto auto auto;column-gap:10px;row-gap:4px}#mode-toggle{grid-column:1;grid-row:1}.control-label-mode{grid-column:1;grid-row:2}#set-toggle{grid-column:2;grid-row:1}.control-label-sets{grid-column:2;grid-row:2}#hint-toggle{grid-column:1/3;grid-row:3}.control-label-hint{grid-column:1/3;grid-row:4}}@media (max-width:469px){.rect-btn{padding:6px 6px}.control-row{--side-toggle-w:calc(10.4em + 38px)}}@media (max-width:399px){.control-row{grid-template-columns:1fr;grid-template-rows:repeat(6,auto)}#mode-toggle{grid-column:1;grid-row:1}.control-label-mode{grid-column:1;grid-row:2}#set-toggle{grid-column:1;grid-row:3}.control-label-sets{grid-column:1;grid-row:4}#hint-toggle{grid-column:1;grid-row:5}.control-label-hint{grid-column:1;grid-row:6}}@media (max-width:560px){:root{--pillar:30px}h1#book-name{font-size:24px}#puzzle-content{padding:6px 8px 12px}}@media (max-width:420px){:root{--pillar:24px}h1#book-name{font-size:20px}.word.devanagari{font-size:clamp(18px, 6vw, 30px)}.word.roman{font-size:clamp(12px, 3vw, 14px)}}
