:root{--control-size:var(--app-top-control-size);--control-gap:10px;--control-step:calc(var(--control-size) + var(--control-gap));--controls-offset-top:var(--app-top-control-offset);--controls-offset-bottom:20px;--controls-offset-right:var(--app-shell-inline-right);--controls-offset-left:var(--app-shell-inline-left);--controls-mobile-offset-top:var(--app-top-control-offset);--controls-mobile-offset-right:var(--app-shell-inline-right);--controls-mobile-offset-left:var(--app-shell-inline-left);--back-to-top-bottom:var(--controls-offset-bottom);--back-to-top-right:var(--app-shell-inline-right);--controls-font-size:26px;--svg-icon-size:38px}.control-icon,.gear-icon,.theme-icon,.shuffle-icon,.font-size-icon,.go-up-icon{width:var(--svg-icon-size);height:var(--svg-icon-size);pointer-events:none;color:var(--color-light-theme-accent);flex-shrink:0;justify-content:center;align-items:center;line-height:0;display:flex}.dark-mode .control-btn,.dark-mode .gear-icon,.dark-mode .theme-icon,.dark-mode .shuffle-icon,.dark-mode .font-size-icon,.dark-mode .go-up-icon{color:var(--color-dark-theme-text-default)}.control-icon svg,.gear-icon svg,.theme-icon svg,.shuffle-icon svg,.font-size-icon svg,.go-up-icon svg{object-fit:contain;width:100%;height:100%;display:block;overflow:visible}.theme-icon svg,.gear-icon svg,.shuffle-icon svg,.font-size-icon svg,.go-up-icon svg{fill:currentColor}.gear-icon svg{transform:scale(.82)}.shuffle-icon svg,.font-size-icon svg,.theme-icon svg{transform:scale(.82)translateY(1px)}.go-up-icon svg{transform:scale(.92)}.theme-icon-in-dark-mode,.theme-icon-in-light-mode{justify-content:center;align-items:center;width:100%;height:100%}.theme-icon-in-dark-mode{display:none}.theme-icon-in-light-mode,body.dark-mode .theme-icon-in-dark-mode{display:flex}body.dark-mode .theme-icon-in-light-mode{display:none}button.font-size-toggle,button.kanji-toggle,button.furigana-toggle{font-size:var(--controls-font-size);white-space:nowrap;line-height:1}.control-btn{width:var(--control-size);height:var(--control-size);z-index:var(--z-index-floating-controls);-webkit-tap-highlight-color:#0000001a;color:var(--color-light-theme-accent);justify-content:center;align-items:center;padding:0;display:inline-flex}.controls-expander{z-index:var(--z-index-floating-controls-expanded);-webkit-tap-highlight-color:transparent;position:absolute;top:0;right:0}.controls-container{top:var(--controls-offset-top);right:var(--controls-offset-right);width:var(--control-size);height:var(--control-size);z-index:var(--z-index-floating-controls);position:fixed}.controls-container>.control-btn:not(.controls-expander){visibility:hidden;pointer-events:none;transition:top var(--transition-normal), right var(--transition-normal), visibility 0s linear var(--transition-normal), transform var(--transition-normal);position:absolute;top:0;right:0;transform:translateY(10px)}.expandable-control[aria-pressed=true]{border-color:var(--color-light-theme-accent);background-color:var(--color-light-theme-sunken);box-shadow:var(--shadow-light-strong)}.dark-mode .expandable-control[aria-pressed=true]{border-color:var(--color-dark-theme-accent);background-color:var(--color-dark-theme-surface);box-shadow:var(--shadow-dark-strong)}body>button.theme-toggle{top:var(--controls-offset-top);right:var(--controls-offset-right);visibility:visible;pointer-events:auto;position:fixed;transform:none}.back-to-top{bottom:max(var(--back-to-top-bottom), env(safe-area-inset-bottom));right:var(--back-to-top-right);opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--transition-normal), visibility var(--transition-normal), transform var(--transition-normal);padding:0;position:fixed;transform:translateY(10px)}.back-to-top.show{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.dark-mode .control-btn,.dark-mode .icon-button{background-color:var(--color-dark-theme-background-base);border-color:var(--color-dark-theme-border);color:var(--color-dark-theme-text-default);box-shadow:var(--shadow-dark-soft)}.control-btn:active,.icon-button:active{box-shadow:var(--shadow-light-strong);background-color:var(--color-light-theme-sunken);border-color:var(--color-light-theme-accent)}.dark-mode .control-btn:active,.dark-mode .icon-button:active{border-color:var(--color-dark-theme-accent);box-shadow:var(--shadow-dark-strong);background-color:var(--color-dark-theme-surface)}.control-btn:not(.hamburger-menu-toggle):active{transform:var(--transform-default)}.icon-button{border:var(--border-thin-accent-light-theme);border-radius:var(--border-radius-small);cursor:pointer;transition:all var(--transition-fast);background-color:var(--color-light-theme-surface);color:var(--color-light-theme-text-default);appearance:none;-webkit-touch-callout:none;user-select:none;touch-action:manipulation;flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.icon-button-icon{pointer-events:none;justify-content:center;align-items:center;line-height:0;display:inline-flex}.icon-button-icon svg{fill:currentColor;width:100%;height:100%;display:block}.icon-button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.controls-container.expanded>.control-btn:not(.controls-expander){visibility:visible;pointer-events:auto;transition-delay:0s;transform:translateY(0)}.controls-container.expanded .theme-toggle{right:var(--control-step);top:0}.controls-container.expanded .kanji-toggle{right:calc(var(--control-step) * 2);top:0}.controls-container.expanded .furigana-toggle{right:calc(var(--control-step) * 3);top:0}.controls-container.expanded .shuffle-toggle{top:var(--control-step);right:0}.controls-container.expanded .font-size-toggle{top:calc(var(--control-step) * 2);right:0}@media (hover:hover){.control-btn:hover,.icon-button:hover{box-shadow:var(--shadow-light-strong);background-color:var(--color-light-theme-sunken);border-color:var(--color-light-theme-accent)}.dark-mode .control-btn:hover,.dark-mode .icon-button:hover{border-color:var(--color-dark-theme-accent);box-shadow:var(--shadow-dark-strong);background-color:var(--color-dark-theme-surface)}.control-btn:not(.hamburger-menu-toggle):hover{transform:var(--transform-default)}}@media (width<=768px){:root{--controls-font-size:26px;--back-to-top-bottom:55px}body>button.theme-toggle,.controls-container{top:var(--controls-mobile-offset-top);right:var(--controls-mobile-offset-right)}}@media (width>=769px) and (width<=1024px){:root{--back-to-top-bottom:55px}body>button.theme-toggle,.controls-container{top:var(--controls-mobile-offset-top);right:var(--controls-mobile-offset-right)}}@media (width>=1025px){:root{--control-gap:12px;--controls-font-size:28px}}