.practice-room{height:100dvh;min-height:480px;max-width:1000px;margin:auto;display:flex;flex-direction:column;position:relative;background:#f7f5ef;color:#233f37;isolation:isolate;padding-top:env(safe-area-inset-top)}.take-name{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px}.take-name h3{flex:1 1 180px;min-width:0;font-size:18px;line-height:1.6;overflow-wrap:anywhere}.take-name .button{flex-shrink:0;min-height:44px}.take-name-form{display:grid;gap:12px;margin-bottom:16px;padding:14px;background:#eef2e7;border-radius:8px}.take-name-form label{display:grid;gap:8px;font-size:15px}.take-name-form input{width:100%;font-size:16px;min-height:46px}.take-name-form .practice-message{margin:0}.take-name-form .button{min-height:44px}.practice-header{display:flex;align-items:center;gap:12px;padding:13px 22px;border-bottom:1px solid #e0e4d9;flex-shrink:0}.practice-header h1{font-family:var(--serif);font-size:24px;font-weight:500;letter-spacing:.12em;line-height:1.4}.practice-kicker{font-size:11px;letter-spacing:.16em;color:#6f7d6f}.practice-header>div{flex:1}.practice-small{display:flex;gap:6px;align-items:center;min-height:44px;font-size:14px}.practice-small b{font-size:12px;background:#e5eadd;border-radius:50%;padding:3px 7px}.practice-status{display:flex;gap:7px;align-items:center;justify-content:center;font-size:13px;min-height:34px;color:#6c786c;flex-shrink:0}.practice-dot{width:5px;height:5px;border-radius:50%;background:#9a9f85}.practice-status.is-recording{color:#a53c32;font-weight:700;font-variant-numeric:tabular-nums;background:#faeee7}.is-recording i{width:8px;height:8px;border-radius:50%;background:#bc4438}.poem-stage{flex:1;min-height:100px;position:relative;overflow:hidden;margin:0 22px;background:#fffefa;border:1px solid #e5dfd0;border-radius:5px;box-shadow:0 3px 18px #263f3210}.poem-empty{width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:13px;background:radial-gradient(ellipse at center,#fffefa,#f0eee3)}.poem-emblem{color:#a18b60;border:1px solid #d4ccb5;padding:20px;border-radius:50%;margin-bottom:5px}.poem-empty strong{font-family:var(--serif);font-size:25px;font-weight:500;letter-spacing:.12em}.poem-empty>span:not(.poem-emblem):not(.photo-pick){font-size:14px;color:#6e7764}.poem-empty small{font-size:12px;color:#6e7764}.photo-pick{display:flex;align-items:center;gap:9px;padding:12px 20px;background:#234f42;color:#fff9ee;border-radius:7px;margin-top:7px}.poem-scroll{width:100%;height:100%;overflow:auto;touch-action:pan-x pan-y pinch-zoom}.poem-image-wrap{min-height:100%;display:flex;align-items:center;justify-content:center}.poem-image-wrap img{width:100%;height:100%;object-fit:contain}.poem-tools{position:absolute;right:8px;bottom:8px;display:flex;align-items:center;border:1px solid #dddccc;border-radius:8px;background:#fffdf3ed;box-shadow:0 2px 10px #0001}.poem-tools button{min-width:40px;min-height:42px;display:grid;place-items:center;font-size:13px;padding:5px 9px}.practice-controls{padding:14px 22px calc(12px + env(safe-area-inset-bottom));flex-shrink:0}.practice-sound-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:12px;align-items:end}.practice-sound-row label{display:flex;align-items:center;gap:8px;font-size:14px}.practice-room select{font-size:16px!important;margin:0;min-height:46px;padding:8px 10px;background:#fffefa;border:1px solid #d8ddce;border-radius:7px}.practice-sound-row select{width:100%;min-width:0}.practice-play{min-height:46px;display:flex;align-items:center;justify-content:center;gap:6px;background:#eeefe5;border:1px solid #d9ddce;border-radius:7px;font-size:16px;white-space:nowrap}.practice-play.selected{background:#dce8d8;border-color:#75916e}.practice-record-row{display:grid;grid-template-columns:1fr 1.3fr;gap:12px;align-items:end}.practice-record-row label{display:flex;flex-direction:column;gap:5px}.practice-record-row label>span{font-size:12px;color:#66745e}.practice-record-row select{width:100%}.practice-record{display:flex;align-items:center;justify-content:center;gap:10px;min-height:65px;border-radius:10px;background:#234f42;color:#fff9ec;font-size:19px;font-weight:600;box-shadow:0 3px 6px #1d402e15}.practice-record.recording{background:#a43d33}.practice-footnote{font-size:11px;display:flex;justify-content:space-between;gap:8px;color:#66745e;margin-top:10px}.practice-message{font-size:13px;padding:7px 10px;background:#edf0e2;border-radius:5px;margin:0 0 8px;line-height:1.5}.practice-message.error{background:#fae8df;color:#8d362d}.practice-drawer{position:absolute;z-index:5;inset:85px 14px 14px;background:#fffdf6;border:1px solid #d7ddcc;border-radius:13px;box-shadow:0 15px 70px #173e3650;overflow:auto;overscroll-behavior:contain;padding:18px 22px calc(20px + env(safe-area-inset-bottom))}.practice-drawer-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid #e0e4d7;padding-bottom:12px;margin-bottom:20px}.practice-drawer-heading h2{font-family:var(--serif);font-size:23px;font-weight:500}.practice-settings{display:grid;gap:22px}.practice-settings label{display:grid;gap:9px;font-size:16px}.practice-settings p{font-size:14px;line-height:1.85;color:#63715f}.practice-settings input[type=range]{width:100%;min-height:35px;margin:0;accent-color:#234f42}.practice-backing{display:grid;gap:10px;padding:18px;background:#f0f2e8;border-radius:8px;overflow-wrap:anywhere}.practice-backing small{font-size:12px;line-height:1.7}.practice-backing .button{justify-self:start}.practice-takes article{padding:0 0 22px;margin-bottom:22px;border-bottom:1px solid #dfe4d6}.take-heading{display:flex;justify-content:space-between;gap:12px;font-size:16px}.take-heading span{font-size:14px}.practice-takes article>p{font-size:12px;color:#6a7764;margin:8px 0}.practice-takes audio{width:100%;margin:8px 0 12px}.take-actions{display:flex;flex-wrap:wrap;gap:8px}.practice-entry{margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px 20px;border:1px solid #cbd7bf;border-radius:10px;background:#edf1e5;width:100%;text-align:left}.practice-entry strong{font-family:var(--serif);font-size:21px;font-weight:500}.practice-entry small{display:block;margin-top:6px;font-size:13px;color:#67765e}@media(min-width:761px){.practice-room{padding:12px 36px 0;border-left:1px solid #e1e4d8;border-right:1px solid #e1e4d8}.practice-controls{max-width:650px;width:100%;margin:auto}.poem-stage{margin:0 35px}.practice-drawer{max-width:620px;left:50%;right:auto;width:calc(100% - 50px);transform:translate(-50%)}}@media(max-width:420px){.practice-header{padding:9px 10px;gap:6px}.practice-header h1{font-size:21px}.practice-small{font-size:12px}.poem-stage{margin:0 12px}.practice-controls{padding:10px 12px calc(10px + env(safe-area-inset-bottom))}.practice-sound-row{gap:7px}.practice-sound-row label{gap:4px;font-size:12px}.practice-play{font-size:14px;gap:4px}.practice-footnote{font-size:10px;flex-wrap:wrap}.practice-record{font-size:17px}.poem-empty strong{font-size:22px}.practice-drawer{padding:16px}}@media(max-height:690px){.poem-emblem{display:none}.poem-empty{gap:8px}.poem-empty strong{font-size:20px}.poem-empty small{display:none}.practice-header{padding-top:6px;padding-bottom:6px}.practice-status{min-height:28px}.practice-record{min-height:54px}.practice-controls{padding-top:8px}.practice-sound-row{margin-bottom:8px}.practice-footnote{margin-top:6px}}@media(orientation:landscape)and (max-height:600px){.practice-room{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-template-rows:58px 28px minmax(0,1fr);max-width:none;min-height:300px}.practice-header,.practice-status{grid-column:1 / -1}.poem-stage{grid-column:1;grid-row:3;margin:0 8px 10px 12px}.practice-controls{grid-column:2;grid-row:3;align-self:center}.practice-sound-row{grid-template-columns:1fr 1fr}.practice-sound-row label{grid-column:1 / -1}.practice-record-row{grid-template-columns:1fr;gap:8px}.practice-record-row label{flex-direction:row;align-items:center}.practice-record-row label>span{min-width:75px}.practice-footnote{flex-wrap:wrap}.practice-drawer{top:65px}}:root{font-family:Yu Gothic UI,Hiragino Kaku Gothic ProN,Meiryo,sans-serif;color:#233f37;background:#f7f5ef;font-synthesis:none;font-size:16px;--green:#234f42;--deep:#173e36;--line:#e3e5dc;--serif:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif}*{box-sizing:border-box}body{margin:0}html,body{max-width:100%;overflow-x:clip;overscroll-behavior-x:none;-webkit-text-size-adjust:100%;text-size-adjust:100%}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit;border:0;background:none}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b79042;outline-offset:3px}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif)}h3{font-size:1.05rem;line-height:1.7}p{line-height:1.9}svg{flex-shrink:0}input,select{min-width:0;max-width:100%}input:not([type=range]),select{border:1px solid #dce1d6;background:#fffefa;border-radius:8px;color:#263f35;padding:12px 14px;min-height:46px;width:100%;font-size:16px}input::placeholder{color:#939b94}input[type=range]{accent-color:var(--green);width:100%;min-height:24px;cursor:pointer}label{display:block;font-size:.9rem;font-weight:500}label>input,label>select{display:block;margin-top:9px}select{cursor:pointer}.button{min-height:46px;padding:11px 20px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:.92rem;font-weight:600;border:1px solid transparent}.button.primary{background:var(--green);color:#fffdf3}.button.secondary{background:#fffef9;border-color:#d4dccf}.button.small{font-size:.85rem;padding:8px 13px;min-height:40px;border-color:var(--line)}.icon-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;border-radius:50%}.icon-button:hover{background:#e8ece3}.error{color:#963d2e}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.practice-install-note{padding:14px 16px;background:#f0f2e8;border-radius:8px}.practice-install-note h3{margin-bottom:5px}.practice-app-mark{width:35px;height:40px;flex-shrink:0}.practice-share-app{width:100%;min-height:46px}.practice-settings .practice-share-status{font-size:13px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition:none!important}}
